When will we start browsing normally?

  1. You need to build test_app_server with TARGET_PLATFORM=libbe_test jam -q -j4 install-test-apps note that test_app_server do not support cross build tools, system compiler should be used. Creating additional generated folder may be needed. test_app_server is located at <generated folder>/tests/libbe_test/x86_64/apps. To start test_app_server you need to run test_registrar first. test_app_server window will be not displayed until some application will be started.

  2. Add AddSubDirSupportedPlatforms libbe_test ; to src/kits/network/libnetapi/Jamfile, build libbnetapi with HAIKU_BUILD_FEATURE_SSL=1 TARGET_PLATFORM=libbe_test jam -q libbnetapi.so, copy result to test_app_server lib folder.

  3. Create symlink for libbe_test.so in /boot/system/non-packaged/lib and /boot/system/non-packaged/develop/lib

  4. Apply this patch to WebKit:

From 34cea99abc9be7f8135b30d32a61b1f5076ead14 Mon Sep 17 00:00:00 2001
From: X512 <danger_mail@list.ru>
Date: Mon, 18 May 2020 23:14:54 +0900
Subject: Haiku: enable libbe_test.so

---
 CMakeLists.txt                                  | 2 +-
 Source/JavaScriptCore/shell/PlatformHaiku.cmake | 2 +-
 Source/WTF/wtf/PlatformHaiku.cmake              | 2 +-
 Source/WebCore/PlatformHaiku.cmake              | 2 +-
 Source/WebKitLegacy/PlatformHaiku.cmake         | 2 +-
 Tools/HaikuLauncher/CMakeLists.txt              | 2 +-
 6 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index d5c83e9a7a1..9e8ac0a3c8c 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -193,7 +193,7 @@ if ("${PORT}" STREQUAL "GTK" OR "${PORT}" STREQUAL "WPE")
         add_subdirectory(PerformanceTests)
     endif ()
 else ()
-    add_subdirectory(PerformanceTests)
+#    add_subdirectory(PerformanceTests)
 endif ()
 
 # -----------------------------------------------------------------------------
diff --git a/Source/JavaScriptCore/shell/PlatformHaiku.cmake b/Source/JavaScriptCore/shell/PlatformHaiku.cmake
index 67bb792a813..908834dd9f5 100644
--- a/Source/JavaScriptCore/shell/PlatformHaiku.cmake
+++ b/Source/JavaScriptCore/shell/PlatformHaiku.cmake
@@ -1,4 +1,4 @@
 LIST(APPEND JSC_LIBRARIES
     ${CMAKE_DL_LIBS}
-    be execinfo
+    be_test execinfo
 )
diff --git a/Source/WTF/wtf/PlatformHaiku.cmake b/Source/WTF/wtf/PlatformHaiku.cmake
index 1098068dc84..536c8bd440f 100644
--- a/Source/WTF/wtf/PlatformHaiku.cmake
+++ b/Source/WTF/wtf/PlatformHaiku.cmake
@@ -23,7 +23,7 @@ LIST(APPEND WTF_SOURCES
 
 LIST(APPEND WTF_LIBRARIES
     ${ZLIB_LIBRARIES}
-    be execinfo
+    be_test execinfo
 )
 
 list(APPEND WTF_INCLUDE_DIRECTORIES
diff --git a/Source/WebCore/PlatformHaiku.cmake b/Source/WebCore/PlatformHaiku.cmake
index e021494c376..0a0bc6be985 100644
--- a/Source/WebCore/PlatformHaiku.cmake
+++ b/Source/WebCore/PlatformHaiku.cmake
@@ -217,7 +217,7 @@ list(APPEND WebCore_LIBRARIES
   ${SQLITE_LIBRARIES}
   ${WEBP_LIBRARIES}
   ${ZLIB_LIBRARIES}
-  be bsd network bnetapi textencoding translation execinfo
+  be_test bsd network bnetapi textencoding translation execinfo
 )
 
 list(APPEND WebCore_SYSTEM_INCLUDE_DIRECTORIES
diff --git a/Source/WebKitLegacy/PlatformHaiku.cmake b/Source/WebKitLegacy/PlatformHaiku.cmake
index 0fafdf233e5..d065220846a 100644
--- a/Source/WebKitLegacy/PlatformHaiku.cmake
+++ b/Source/WebKitLegacy/PlatformHaiku.cmake
@@ -116,7 +116,7 @@ LIST(APPEND WebKitLegacy_LIBRARIES
     ${PNG_LIBRARY}
     ${JPEG_LIBRARY}
     ${CMAKE_DL_LIBS}
-    be bnetapi shared translation tracker
+    be_test bnetapi shared translation tracker
     WebCore
 )
 
diff --git a/Tools/HaikuLauncher/CMakeLists.txt b/Tools/HaikuLauncher/CMakeLists.txt
index b2c675783d0..a7aba08b477 100644
--- a/Tools/HaikuLauncher/CMakeLists.txt
+++ b/Tools/HaikuLauncher/CMakeLists.txt
@@ -13,7 +13,7 @@ SET(HaikuLauncher_LIBRARIES
     ${SQLITE_LIBRARIES}
     ${ICU_I18N_LIBRARIES}
     ${ICU_LIBRARIES}
-    be bsd network stdc++ translation tracker
+    be_test bsd network stdc++ translation tracker
 )
 
 INCLUDE_DIRECTORIES("${WEBKITLEGACY_DIR}/haiku/API")
-- 
2.26.0
  1. Create symlinks for libtracker.so, libtranslation.so, libbnetapi.so inside test_app_server lib folder and put it in WebKit build lib folder.

  2. If you want to run WebPositive instead of HaikuLauncher then add AddSubDirSupportedPlatforms libbe_test ; to src/apps/webpositive/Jamfile, build it with TARGET_PLATFORM=libbe_test jam -q WebPositive and copy to WebKit build folder. If WebPositive crash at start in BKeymap related code of BrowserWindow.cpp, disable that code and rebuild (#16074).

9 Likes