From 746e62c61358f2a45eef413b6cf7ebc828c7ccc5 Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Sat, 6 Jul 2024 20:40:05 +0800 Subject: Fix paths to LibVLC media plugin dependencies Somehow fixup_bundle misses fixing the plugins. These fixes are in effect when MacPorts is used, though it wouldn't hurt if you're using HomeBrew, it's just you'd need to add the references to the HomeBrew libraries just like the MacPorts ones. --- indra/media_plugins/libvlc/CMakeLists.txt | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/indra/media_plugins/libvlc/CMakeLists.txt b/indra/media_plugins/libvlc/CMakeLists.txt index 2c70db1141..a398f11824 100644 --- a/indra/media_plugins/libvlc/CMakeLists.txt +++ b/indra/media_plugins/libvlc/CMakeLists.txt @@ -54,6 +54,36 @@ if (DARWIN) LINK_FLAGS "-exported_symbols_list ${CMAKE_CURRENT_SOURCE_DIR}/../base/media_plugin_base.exp" ) + add_custom_command(TARGET ${PROJECT_NAME} + POST_BUILD COMMAND ${CMAKE_INSTALL_NAME_TOOL} + -change "/opt/local/lib/libopenjp2.7.dylib" "@loader_path/../../Frameworks/libopenjp2.7.dylib" + -change "/opt/local/lib/libpng16.16.dylib" "@loader_path/../../Frameworks/libpng16.16.dylib" + -change "/opt/local/lib/libjpeg.8.dylib" "@loader_path/../../Frameworks/libjpeg.8.dylib" + -change "/opt/local/lib/libfreetype.6.dylib" "@loader_path/../../Frameworks/libfreetype.6.dylib" + -change "@rpath/libmeshoptimizer.dylib" "@loader_path/../../Frameworks/libmeshoptimizer.dylib" + -change "/opt/local/lib/libaprutil-1.0.dylib" "@loader_path/../../Frameworks/libaprutil-1.0.dylib" + -change "/opt/local/lib/libiconv.2.dylib" "@loader_path/../../Frameworks/libiconv.2.dylib" + -change "/opt/local/lib/libapr-1.0.dylib" "@loader_path/../../Frameworks/libapr-1.0.dylib" + -change "/opt/local/lib/libexpat.1.dylib" "@loader_path/../../Frameworks/libexpat.1.dylib" + -change "/opt/local/lib/libjsoncpp.25.dylib" "@loader_path/../../Frameworks/libjsoncpp.25.dylib" + -change "/opt/local/lib/libz.1.dylib" "@loader_path/../../Frameworks/libz.1.dylib" + -change "/opt/local/libexec/boost/1.76/lib/libboost_context-mt.dylib" "@loader_path/../../Frameworks/libboost_context-mt.dylib" + -change "/opt/local/libexec/boost/1.76/lib/libboost_fiber-mt.dylib" "@loader_path/../../Frameworks/libboost_fiber-mt.dylib" + -change "/opt/local/libexec/boost/1.76/lib/libboost_filesystem-mt.dylib" "@loader_path/../../Frameworks/libboost_filesystem-mt.dylib" + -change "/opt/local/libexec/boost/1.76/lib/libboost_program_options-mt.dylib" "@loader_path/../../Frameworks/libboost_program_options-mt.dylib" + -change "/opt/local/libexec/boost/1.76/lib/libboost_regex-mt.dylib" "@loader_path/../../Frameworks/libboost_regex-mt.dylib" + -change "/opt/local/libexec/boost/1.76/lib/libboost_system-mt.dylib" "@loader_path/../../Frameworks/libboost_system-mt.dylib" + -change "/opt/local/libexec/boost/1.76/lib/libboost_thread-mt.dylib" "@loader_path/../../Frameworks/libboost_thread-mt.dylib" + -change "/opt/local/lib/liburiparser.1.dylib" "@loader_path/../../Frameworks/liburiparser.1.dylib" + -change "/opt/local/lib/libnghttp2.14.dylib" "@loader_path/../../Frameworks/libnghttp2.14.dylib" + -change "/usr/local/lib/libxmlrpc-epi.0.dylib" "@loader_path/../../Frameworks/libxmlrpc-epi.0.dylib" + -change "@rpath/libvlc.dylib" "@loader_path/lib/libvlc.dylib" + -change "@rpath/libvlccore.dylib" "@loader_path/lib/libvlccore.dylib" + "$" + VERBATIM + COMMENT "Fixing paths to LibVLC media plugin dependencies" + ) + endif (DARWIN) if (INSTALL) -- cgit v1.2.3 From f21febb5dd73f79f9d412429110ddfb8ca0ac57b Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Sat, 6 Jul 2024 20:53:04 +0800 Subject: Fix paths to CEF media plugin dependencies Explanation just like previous commit. There's a reference fix that doesn't seem to be valid any more. First of all, the path leading to CEF framework would be wrong, and secondly, the plugin doesn't seem to link to CEF. --- indra/media_plugins/cef/CMakeLists.txt | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/indra/media_plugins/cef/CMakeLists.txt b/indra/media_plugins/cef/CMakeLists.txt index 5fb0158aa3..c7937741ff 100644 --- a/indra/media_plugins/cef/CMakeLists.txt +++ b/indra/media_plugins/cef/CMakeLists.txt @@ -85,6 +85,27 @@ if (DARWIN) add_custom_command(TARGET media_plugin_cef POST_BUILD COMMAND ${CMAKE_INSTALL_NAME_TOOL} -change "@executable_path/Chromium Embedded Framework" "@executable_path/../../../../Frameworks/Chromium Embedded Framework.framework/Chromium Embedded Framework" + -change "/opt/local/lib/libopenjp2.7.dylib" "@loader_path/../../Frameworks/libopenjp2.7.dylib" + -change "/opt/local/lib/libpng16.16.dylib" "@loader_path/../../Frameworks/libpng16.16.dylib" + -change "/opt/local/lib/libjpeg.8.dylib" "@loader_path/../../Frameworks/libjpeg.8.dylib" + -change "/opt/local/lib/libfreetype.6.dylib" "@loader_path/../../Frameworks/libfreetype.6.dylib" + -change "@rpath/libmeshoptimizer.dylib" "@loader_path/../../Frameworks/libmeshoptimizer.dylib" + -change "/opt/local/lib/libaprutil-1.0.dylib" "@loader_path/../../Frameworks/libaprutil-1.0.dylib" + -change "/opt/local/lib/libiconv.2.dylib" "@loader_path/../../Frameworks/libiconv.2.dylib" + -change "/opt/local/lib/libapr-1.0.dylib" "@loader_path/../../Frameworks/libapr-1.0.dylib" + -change "/opt/local/lib/libexpat.1.dylib" "@loader_path/../../Frameworks/libexpat.1.dylib" + -change "/opt/local/lib/libjsoncpp.25.dylib" "@loader_path/../../Frameworks/libjsoncpp.25.dylib" + -change "/opt/local/lib/libz.1.dylib" "@loader_path/../../Frameworks/libz.1.dylib" + -change "/opt/local/libexec/boost/1.76/lib/libboost_context-mt.dylib" "@loader_path/../../Frameworks/libboost_context-mt.dylib" + -change "/opt/local/libexec/boost/1.76/lib/libboost_fiber-mt.dylib" "@loader_path/../../Frameworks/libboost_fiber-mt.dylib" + -change "/opt/local/libexec/boost/1.76/lib/libboost_filesystem-mt.dylib" "@loader_path/../../Frameworks/libboost_filesystem-mt.dylib" + -change "/opt/local/libexec/boost/1.76/lib/libboost_program_options-mt.dylib" "@loader_path/../../Frameworks/libboost_program_options-mt.dylib" + -change "/opt/local/libexec/boost/1.76/lib/libboost_regex-mt.dylib" "@loader_path/../../Frameworks/libboost_regex-mt.dylib" + -change "/opt/local/libexec/boost/1.76/lib/libboost_system-mt.dylib" "@loader_path/../../Frameworks/libboost_system-mt.dylib" + -change "/opt/local/libexec/boost/1.76/lib/libboost_thread-mt.dylib" "@loader_path/../../Frameworks/libboost_thread-mt.dylib" + -change "/opt/local/lib/liburiparser.1.dylib" "@loader_path/../../Frameworks/liburiparser.1.dylib" + -change "/opt/local/lib/libnghttp2.14.dylib" "@loader_path/../../Frameworks/libnghttp2.14.dylib" + -change "/usr/local/lib/libxmlrpc-epi.0.dylib" "@loader_path/../../Frameworks/libxmlrpc-epi.0.dylib" "$" VERBATIM COMMENT "Fixing path to CEF Framework" -- cgit v1.2.3 From d9a4a04b4f3eb43095cb9398b68cd73c957ab804 Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Sat, 6 Jul 2024 22:05:07 +0800 Subject: Fill SLPlugin.app Frameworks directory with links Adding custom command to fix SLPlugin's references wouldn't have any effect because fixup_bundle will overwrite them in install stage. --- indra/llplugin/slplugin/CMakeLists.txt | 30 +++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/indra/llplugin/slplugin/CMakeLists.txt b/indra/llplugin/slplugin/CMakeLists.txt index c3752a4705..64fe90238f 100644 --- a/indra/llplugin/slplugin/CMakeLists.txt +++ b/indra/llplugin/slplugin/CMakeLists.txt @@ -56,8 +56,36 @@ if (DARWIN) COMMAND mkdir ARGS -p - ${CMAKE_CURRENT_BINARY_DIR}/$,$,>/SLPlugin.app/Contents/Resources + ${CMAKE_CURRENT_BINARY_DIR}/$,$,>/SLPlugin.app/Contents/Frameworks ) + set(frameworks ${CMAKE_CURRENT_BINARY_DIR}/SLPlugin.app/Contents/Frameworks) + file(CREATE_LINK "../../../../Frameworks/libnghttp2.14.dylib" "${frameworks}/libnghttp2.14.dylib" SYMBOLIC) + file(CREATE_LINK "../../../../Frameworks/libxmlrpc-epi.0.dylib" "${frameworks}/libxmlrpc-epi.0.dylib" SYMBOLIC) + file(CREATE_LINK "../../../../Frameworks/libopenjp2.7.dylib" "${frameworks}/libopenjp2.7.dylib" SYMBOLIC) + file(CREATE_LINK "../../../../Frameworks/libpng16.16.dylib" "${frameworks}/libpng16.16.dylib" SYMBOLIC) + file(CREATE_LINK "../../../../Frameworks/libjpeg.8.dylib" "${frameworks}/libjpeg.8.dylib" SYMBOLIC) + file(CREATE_LINK "../../../../Frameworks/libmeshoptimizer.dylib" "${frameworks}/libmeshoptimizer.dylib" SYMBOLIC) + file(CREATE_LINK "../../../../Frameworks/libaprutil-1.0.dylib" "${frameworks}/libaprutil-1.0.dylib" SYMBOLIC) + file(CREATE_LINK "../../../../Frameworks/libiconv.2.dylib" "${frameworks}/libiconv.2.dylib" SYMBOLIC) + file(CREATE_LINK "../../../../Frameworks/libapr-1.0.dylib" "${frameworks}/libapr-1.0.dylib" SYMBOLIC) + file(CREATE_LINK "../../../../Frameworks/libjsoncpp.25.dylib" "${frameworks}/libjsoncpp.25.dylib" SYMBOLIC) + file(CREATE_LINK "../../../../Frameworks/libz.1.dylib" "${frameworks}/libz.1.dylib" SYMBOLIC) + file(CREATE_LINK "../../../../Frameworks/libboost_context-mt.dylib" "${frameworks}/libboost_context-mt.dylib" SYMBOLIC) + file(CREATE_LINK "../../../../Frameworks/libboost_fiber-mt.dylib" "${frameworks}/libboost_fiber-mt.dylib" SYMBOLIC) + file(CREATE_LINK "../../../../Frameworks/libboost_filesystem-mt.dylib" "${frameworks}/libboost_filesystem-mt.dylib" SYMBOLIC) + file(CREATE_LINK "../../../../Frameworks/libboost_program_options-mt.dylib" "${frameworks}/libboost_program_options-mt.dylib" SYMBOLIC) + file(CREATE_LINK "../../../../Frameworks/libboost_regex-mt.dylib" "${frameworks}/libboost_regex-mt.dylib" SYMBOLIC) + file(CREATE_LINK "../../../../Frameworks/libboost_system-mt.dylib" "${frameworks}/libboost_system-mt.dylib" SYMBOLIC) + file(CREATE_LINK "../../../../Frameworks/libboost_thread-mt.dylib" "${frameworks}/libboost_thread-mt.dylib" SYMBOLIC) + file(CREATE_LINK "../../../../Frameworks/liburiparser.1.dylib" "${frameworks}/liburiparser.1.dylib" SYMBOLIC) + file(CREATE_LINK "../../../../Frameworks/libexpat.1.dylib" "${frameworks}/libexpat.1.dylib" SYMBOLIC) + file(CREATE_LINK "../../../../Frameworks/libfreetype.6.dylib" "${frameworks}/libfreetype.6.dylib" SYMBOLIC) + file(CREATE_LINK "../../../../Frameworks/libicudata.74.dylib" "${frameworks}/libicudata.74.dylib" SYMBOLIC) + file(CREATE_LINK "../../../../Frameworks/libicui18n.74.dylib" "${frameworks}/libicui18n.74.dylib" SYMBOLIC) + file(CREATE_LINK "../../../../Frameworks/libicuuc.74.dylib" "${frameworks}/libicuuc.74.dylib" SYMBOLIC) + file(CREATE_LINK "../../../../Frameworks/libbz2.1.0.dylib" "${frameworks}/libbz2.1.0.dylib" SYMBOLIC) + file(CREATE_LINK "../../../../Frameworks/libbrotlidec.1.1.0.dylib" "${frameworks}/libbrotlidec.1.1.0.dylib" SYMBOLIC) + file(CREATE_LINK "../../../../Frameworks/libbrotlicommon.1.dylib" "${frameworks}/libbrotlicommon.1.dylib" SYMBOLIC) endif (DARWIN) if (BUILD_SHARED_LIBS) -- cgit v1.2.3 From 7003f8c4c5d9e8b1126ac6aa351f14d326d0fdec Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Sun, 7 Jul 2024 09:23:36 +0800 Subject: Fix paths to LibVLC files, they're in Frameworks Must have been residues before, they really were in llplugin/lib when I was doing the media plugin before. --- indra/media_plugins/libvlc/CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/indra/media_plugins/libvlc/CMakeLists.txt b/indra/media_plugins/libvlc/CMakeLists.txt index a398f11824..8beec985d5 100644 --- a/indra/media_plugins/libvlc/CMakeLists.txt +++ b/indra/media_plugins/libvlc/CMakeLists.txt @@ -77,8 +77,8 @@ if (DARWIN) -change "/opt/local/lib/liburiparser.1.dylib" "@loader_path/../../Frameworks/liburiparser.1.dylib" -change "/opt/local/lib/libnghttp2.14.dylib" "@loader_path/../../Frameworks/libnghttp2.14.dylib" -change "/usr/local/lib/libxmlrpc-epi.0.dylib" "@loader_path/../../Frameworks/libxmlrpc-epi.0.dylib" - -change "@rpath/libvlc.dylib" "@loader_path/lib/libvlc.dylib" - -change "@rpath/libvlccore.dylib" "@loader_path/lib/libvlccore.dylib" + -change "@rpath/libvlc.dylib" "@loader_path/../../Frameworks/libvlc.dylib" + -change "@rpath/libvlccore.dylib" "@loader_path/../../Frameworks/libvlccore.dylib" "$" VERBATIM COMMENT "Fixing paths to LibVLC media plugin dependencies" -- cgit v1.2.3 From 37f31d98f3a96a3f086f0c0bef515080b6ebeaab Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Sun, 7 Jul 2024 10:12:29 +0800 Subject: `make install` on macOS installs CEF & Dullahan Using file(CHMOD ... PERMISSIONS .._EXECUTE) somehow didn't work, so I had to set it to reinstall the Dullahan executables, and they are the only files that are required to be executable (CEF framework and the .dylibs aren't). --- indra/newview/ViewerInstall.cmake | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/indra/newview/ViewerInstall.cmake b/indra/newview/ViewerInstall.cmake index 7d9f160467..3103dcb6ce 100644 --- a/indra/newview/ViewerInstall.cmake +++ b/indra/newview/ViewerInstall.cmake @@ -52,6 +52,35 @@ if (DARWIN) ) install(SCRIPT ${CMAKE_CURRENT_BINARY_DIR}/FixBundle.cmake) + install(DIRECTORY + "${AUTOBUILD_INSTALL_DIR}/lib/release/Chromium Embedded Framework.framework" + DESTINATION ${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Frameworks + ) + + file(CREATE_LINK "../../../../Frameworks/Chromium Embedded Framework.framework" "${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/SLPlugin.app/Contents/Frameworks/Chromium Embedded Framework.framework" SYMBOLIC) + install(DIRECTORY + "${AUTOBUILD_INSTALL_DIR}/lib/release/DullahanHelper.app" + "${AUTOBUILD_INSTALL_DIR}/lib/release/DullahanHelper (GPU).app" + "${AUTOBUILD_INSTALL_DIR}/lib/release/DullahanHelper (Plugin).app" + "${AUTOBUILD_INSTALL_DIR}/lib/release/DullahanHelper (Renderer).app" + DESTINATION ${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/SLPlugin.app/Contents/Frameworks + ) + install(PROGRAMS + "${AUTOBUILD_INSTALL_DIR}/lib/release/DullahanHelper.app/Contents/MacOS/DullahanHelper" + DESTINATION "${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/SLPlugin.app/Contents/Frameworks/DullahanHelper.app/Contents/MacOS" + ) + install(PROGRAMS + "${AUTOBUILD_INSTALL_DIR}/lib/release/DullahanHelper (GPU).app/Contents/MacOS/DullahanHelper (GPU)" + DESTINATION "${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/SLPlugin.app/Contents/Frameworks/DullahanHelper (GPU).app/Contents/MacOS" + ) + install(PROGRAMS + "${AUTOBUILD_INSTALL_DIR}/lib/release/DullahanHelper (Plugin).app/Contents/MacOS/DullahanHelper (Plugin)" + DESTINATION "${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/SLPlugin.app/Contents/Frameworks/DullahanHelper (Plugin).app/Contents/MacOS" + ) + install(PROGRAMS + "${AUTOBUILD_INSTALL_DIR}/lib/release/DullahanHelper (Renderer).app/Contents/MacOS/DullahanHelper (Renderer)" + DESTINATION "${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/SLPlugin.app/Contents/Frameworks/DullahanHelper (Renderer).app/Contents/MacOS" + ) else (DARWIN) install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/${VIEWER_BINARY_NAME} -- cgit v1.2.3 From dedf76e3f1eaebd053f193e92d6ffa3824a92c95 Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Sun, 7 Jul 2024 12:01:37 +0800 Subject: macOS install DESTINATIONs are relative paths now but set CMAKE_INSTALL_PREFIX to newview/Megapahit.app/Contents. --- indra/llplugin/slplugin/CMakeLists.txt | 3 +-- indra/media_plugins/cef/CMakeLists.txt | 2 +- indra/media_plugins/libvlc/CMakeLists.txt | 2 +- indra/newview/ViewerInstall.cmake | 12 ++++++------ 4 files changed, 9 insertions(+), 10 deletions(-) diff --git a/indra/llplugin/slplugin/CMakeLists.txt b/indra/llplugin/slplugin/CMakeLists.txt index 64fe90238f..687bcb73cc 100644 --- a/indra/llplugin/slplugin/CMakeLists.txt +++ b/indra/llplugin/slplugin/CMakeLists.txt @@ -95,8 +95,7 @@ endif () if (INSTALL) if (DARWIN) - install(TARGETS ${PROJECT_NAME} - DESTINATION ${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources) + install(TARGETS ${PROJECT_NAME} DESTINATION Resources) else (DARWIN) install(TARGETS ${PROJECT_NAME} DESTINATION libexec/${VIEWER_BINARY_NAME}) endif (DARWIN) diff --git a/indra/media_plugins/cef/CMakeLists.txt b/indra/media_plugins/cef/CMakeLists.txt index c7937741ff..b739017a9b 100644 --- a/indra/media_plugins/cef/CMakeLists.txt +++ b/indra/media_plugins/cef/CMakeLists.txt @@ -115,7 +115,7 @@ endif (DARWIN) if (INSTALL) if (DARWIN) - set(_LIB ${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/llplugin) + set(_LIB Resources/llplugin) elseif (EXISTS ${CMAKE_SYSROOT}/usr/lib/${ARCH}-linux-gnu) set(_LIB lib/${ARCH}-linux-gnu) elseif (EXISTS /lib64) diff --git a/indra/media_plugins/libvlc/CMakeLists.txt b/indra/media_plugins/libvlc/CMakeLists.txt index 8beec985d5..795920ebfc 100644 --- a/indra/media_plugins/libvlc/CMakeLists.txt +++ b/indra/media_plugins/libvlc/CMakeLists.txt @@ -88,7 +88,7 @@ endif (DARWIN) if (INSTALL) if (DARWIN) - set(_LIB ${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/llplugin) + set(_LIB Resources/llplugin) elseif (EXISTS ${CMAKE_SYSROOT}/usr/lib/${ARCH}-linux-gnu) set(_LIB lib/${ARCH}-linux-gnu) elseif (EXISTS /lib64) diff --git a/indra/newview/ViewerInstall.cmake b/indra/newview/ViewerInstall.cmake index 3103dcb6ce..8d91e2fc58 100644 --- a/indra/newview/ViewerInstall.cmake +++ b/indra/newview/ViewerInstall.cmake @@ -22,7 +22,7 @@ if (DARWIN) skins tr.lproj zh-Hans.lproj - DESTINATION ${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources + DESTINATION Resources ) install(FILES @@ -31,19 +31,19 @@ if (DARWIN) cube.dae featuretable_mac.txt secondlife.icns - DESTINATION ${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources + DESTINATION Resources ) install(FILES licenses-mac.txt RENAME licenses.txt - DESTINATION ${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources + DESTINATION Resources ) install(FILES ${SCRIPTS_DIR}/messages/message_template.msg ${SCRIPTS_DIR}/../etc/message.xml - DESTINATION ${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/app_settings + DESTINATION Resources/app_settings ) configure_file( @@ -54,7 +54,7 @@ if (DARWIN) install(DIRECTORY "${AUTOBUILD_INSTALL_DIR}/lib/release/Chromium Embedded Framework.framework" - DESTINATION ${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Frameworks + DESTINATION Frameworks ) file(CREATE_LINK "../../../../Frameworks/Chromium Embedded Framework.framework" "${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/SLPlugin.app/Contents/Frameworks/Chromium Embedded Framework.framework" SYMBOLIC) @@ -63,7 +63,7 @@ if (DARWIN) "${AUTOBUILD_INSTALL_DIR}/lib/release/DullahanHelper (GPU).app" "${AUTOBUILD_INSTALL_DIR}/lib/release/DullahanHelper (Plugin).app" "${AUTOBUILD_INSTALL_DIR}/lib/release/DullahanHelper (Renderer).app" - DESTINATION ${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/SLPlugin.app/Contents/Frameworks + DESTINATION Resources/SLPlugin.app/Contents/Frameworks ) install(PROGRAMS "${AUTOBUILD_INSTALL_DIR}/lib/release/DullahanHelper.app/Contents/MacOS/DullahanHelper" -- cgit v1.2.3 From faa8e3bc698ed3eb2ff21d08b8a3d093ab12ff6c Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Sun, 7 Jul 2024 12:05:00 +0800 Subject: Link CEF & chmod a+x Dullahan execs after install otherwise fixup_bundle would try to fix DullahanHelper executables when otool -L somehow can't find files that contain spaces in their names. By postponing the chmod until after fixup_bundle is called, fixup_bundle will ignore the DullahanHelper apps since they contain no executables yet by that time. Apart from that, trying to link to CEF would fail before installation cause SLPlugin's Frameworks directory wouldn't exist yet. --- indra/newview/FixBundle.cmake.in | 12 ++++++++++++ indra/newview/ViewerInstall.cmake | 28 ++++++---------------------- 2 files changed, 18 insertions(+), 22 deletions(-) diff --git a/indra/newview/FixBundle.cmake.in b/indra/newview/FixBundle.cmake.in index 73806642e4..08da5f5c0a 100644 --- a/indra/newview/FixBundle.cmake.in +++ b/indra/newview/FixBundle.cmake.in @@ -5,3 +5,15 @@ set(dirs ) fixup_bundle(${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app "" "${dirs}") + +file(CREATE_LINK + "../../../../Frameworks/Chromium Embedded Framework.framework" + "${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/SLPlugin.app/Contents/Frameworks/Chromium Embedded Framework.framework" SYMBOLIC) + +file(CHMOD + "${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/SLPlugin.app/Contents/Frameworks/DullahanHelper.app/Contents/MacOS/DullahanHelper" + "${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/SLPlugin.app/Contents/Frameworks/DullahanHelper (GPU).app/Contents/MacOS/DullahanHelper (GPU)" + "${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/SLPlugin.app/Contents/Frameworks/DullahanHelper (Plugin).app/Contents/MacOS/DullahanHelper (Plugin)" + "${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/SLPlugin.app/Contents/Frameworks/DullahanHelper (Renderer).app/Contents/MacOS/DullahanHelper (Renderer)" + PERMISSIONS OWNER_EXECUTE GROUP_EXECUTE WORLD_EXECUTE + ) diff --git a/indra/newview/ViewerInstall.cmake b/indra/newview/ViewerInstall.cmake index 8d91e2fc58..b6f5569061 100644 --- a/indra/newview/ViewerInstall.cmake +++ b/indra/newview/ViewerInstall.cmake @@ -46,18 +46,11 @@ if (DARWIN) DESTINATION Resources/app_settings ) - configure_file( - ${CMAKE_CURRENT_SOURCE_DIR}/FixBundle.cmake.in - ${CMAKE_CURRENT_BINARY_DIR}/FixBundle.cmake - ) - install(SCRIPT ${CMAKE_CURRENT_BINARY_DIR}/FixBundle.cmake) - install(DIRECTORY "${AUTOBUILD_INSTALL_DIR}/lib/release/Chromium Embedded Framework.framework" DESTINATION Frameworks ) - file(CREATE_LINK "../../../../Frameworks/Chromium Embedded Framework.framework" "${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/SLPlugin.app/Contents/Frameworks/Chromium Embedded Framework.framework" SYMBOLIC) install(DIRECTORY "${AUTOBUILD_INSTALL_DIR}/lib/release/DullahanHelper.app" "${AUTOBUILD_INSTALL_DIR}/lib/release/DullahanHelper (GPU).app" @@ -65,22 +58,13 @@ if (DARWIN) "${AUTOBUILD_INSTALL_DIR}/lib/release/DullahanHelper (Renderer).app" DESTINATION Resources/SLPlugin.app/Contents/Frameworks ) - install(PROGRAMS - "${AUTOBUILD_INSTALL_DIR}/lib/release/DullahanHelper.app/Contents/MacOS/DullahanHelper" - DESTINATION "${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/SLPlugin.app/Contents/Frameworks/DullahanHelper.app/Contents/MacOS" - ) - install(PROGRAMS - "${AUTOBUILD_INSTALL_DIR}/lib/release/DullahanHelper (GPU).app/Contents/MacOS/DullahanHelper (GPU)" - DESTINATION "${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/SLPlugin.app/Contents/Frameworks/DullahanHelper (GPU).app/Contents/MacOS" - ) - install(PROGRAMS - "${AUTOBUILD_INSTALL_DIR}/lib/release/DullahanHelper (Plugin).app/Contents/MacOS/DullahanHelper (Plugin)" - DESTINATION "${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/SLPlugin.app/Contents/Frameworks/DullahanHelper (Plugin).app/Contents/MacOS" - ) - install(PROGRAMS - "${AUTOBUILD_INSTALL_DIR}/lib/release/DullahanHelper (Renderer).app/Contents/MacOS/DullahanHelper (Renderer)" - DESTINATION "${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/SLPlugin.app/Contents/Frameworks/DullahanHelper (Renderer).app/Contents/MacOS" + + configure_file( + ${CMAKE_CURRENT_SOURCE_DIR}/FixBundle.cmake.in + ${CMAKE_CURRENT_BINARY_DIR}/FixBundle.cmake ) + install(SCRIPT ${CMAKE_CURRENT_BINARY_DIR}/FixBundle.cmake) + else (DARWIN) install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/${VIEWER_BINARY_NAME} -- cgit v1.2.3 From a09b7d7679ba34482e267f9a5b39a79fd3866af4 Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Sun, 7 Jul 2024 13:33:02 +0800 Subject: Not override CMAKE_OSX_ARCHITECTURES to one arch Now you can pass -DCMAKE_OSX_ARCHITECTURES:STRING=`uname -m` or -DCMAKE_OSX_ARCHITECTURES:STRING="arm64;x86_64" and it will build as intended. --- indra/cmake/Variables.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/indra/cmake/Variables.cmake b/indra/cmake/Variables.cmake index 59725ecc65..f1a4d43f90 100644 --- a/indra/cmake/Variables.cmake +++ b/indra/cmake/Variables.cmake @@ -204,7 +204,7 @@ if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin") set(CMAKE_XCODE_ATTRIBUTE_CODE_SIGN_ENTITLEMENTS "") set(CMAKE_XCODE_ATTRIBUTE_DISABLE_MANUAL_TARGET_ORDER_BUILD_WARNING YES) set(CMAKE_XCODE_ATTRIBUTE_GCC_WARN_64_TO_32_BIT_CONVERSION NO) - set(CMAKE_OSX_ARCHITECTURES "${ARCH}") + #set(CMAKE_OSX_ARCHITECTURES "${ARCH}") string(REPLACE "i686" "i386" CMAKE_OSX_ARCHITECTURES "${CMAKE_OSX_ARCHITECTURES}") string(REPLACE "AMD64" "x86_64" CMAKE_OSX_ARCHITECTURES "${CMAKE_OSX_ARCHITECTURES}") endif (${CMAKE_SYSTEM_NAME} MATCHES "Darwin") -- cgit v1.2.3 From e09c241ce61975306cab3804f2ac76e46f357b7a Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Sun, 7 Jul 2024 14:24:22 +0800 Subject: Links to SLPlugin's dependencies after install cause SLPlugin's Frameworks wouldn't exist yet before installation. --- indra/llplugin/slplugin/CMakeLists.txt | 28 ---------------------------- indra/newview/FixBundle.cmake.in | 29 +++++++++++++++++++++++++++++ 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/indra/llplugin/slplugin/CMakeLists.txt b/indra/llplugin/slplugin/CMakeLists.txt index 687bcb73cc..46e63e473c 100644 --- a/indra/llplugin/slplugin/CMakeLists.txt +++ b/indra/llplugin/slplugin/CMakeLists.txt @@ -58,34 +58,6 @@ if (DARWIN) -p ${CMAKE_CURRENT_BINARY_DIR}/$,$,>/SLPlugin.app/Contents/Frameworks ) - set(frameworks ${CMAKE_CURRENT_BINARY_DIR}/SLPlugin.app/Contents/Frameworks) - file(CREATE_LINK "../../../../Frameworks/libnghttp2.14.dylib" "${frameworks}/libnghttp2.14.dylib" SYMBOLIC) - file(CREATE_LINK "../../../../Frameworks/libxmlrpc-epi.0.dylib" "${frameworks}/libxmlrpc-epi.0.dylib" SYMBOLIC) - file(CREATE_LINK "../../../../Frameworks/libopenjp2.7.dylib" "${frameworks}/libopenjp2.7.dylib" SYMBOLIC) - file(CREATE_LINK "../../../../Frameworks/libpng16.16.dylib" "${frameworks}/libpng16.16.dylib" SYMBOLIC) - file(CREATE_LINK "../../../../Frameworks/libjpeg.8.dylib" "${frameworks}/libjpeg.8.dylib" SYMBOLIC) - file(CREATE_LINK "../../../../Frameworks/libmeshoptimizer.dylib" "${frameworks}/libmeshoptimizer.dylib" SYMBOLIC) - file(CREATE_LINK "../../../../Frameworks/libaprutil-1.0.dylib" "${frameworks}/libaprutil-1.0.dylib" SYMBOLIC) - file(CREATE_LINK "../../../../Frameworks/libiconv.2.dylib" "${frameworks}/libiconv.2.dylib" SYMBOLIC) - file(CREATE_LINK "../../../../Frameworks/libapr-1.0.dylib" "${frameworks}/libapr-1.0.dylib" SYMBOLIC) - file(CREATE_LINK "../../../../Frameworks/libjsoncpp.25.dylib" "${frameworks}/libjsoncpp.25.dylib" SYMBOLIC) - file(CREATE_LINK "../../../../Frameworks/libz.1.dylib" "${frameworks}/libz.1.dylib" SYMBOLIC) - file(CREATE_LINK "../../../../Frameworks/libboost_context-mt.dylib" "${frameworks}/libboost_context-mt.dylib" SYMBOLIC) - file(CREATE_LINK "../../../../Frameworks/libboost_fiber-mt.dylib" "${frameworks}/libboost_fiber-mt.dylib" SYMBOLIC) - file(CREATE_LINK "../../../../Frameworks/libboost_filesystem-mt.dylib" "${frameworks}/libboost_filesystem-mt.dylib" SYMBOLIC) - file(CREATE_LINK "../../../../Frameworks/libboost_program_options-mt.dylib" "${frameworks}/libboost_program_options-mt.dylib" SYMBOLIC) - file(CREATE_LINK "../../../../Frameworks/libboost_regex-mt.dylib" "${frameworks}/libboost_regex-mt.dylib" SYMBOLIC) - file(CREATE_LINK "../../../../Frameworks/libboost_system-mt.dylib" "${frameworks}/libboost_system-mt.dylib" SYMBOLIC) - file(CREATE_LINK "../../../../Frameworks/libboost_thread-mt.dylib" "${frameworks}/libboost_thread-mt.dylib" SYMBOLIC) - file(CREATE_LINK "../../../../Frameworks/liburiparser.1.dylib" "${frameworks}/liburiparser.1.dylib" SYMBOLIC) - file(CREATE_LINK "../../../../Frameworks/libexpat.1.dylib" "${frameworks}/libexpat.1.dylib" SYMBOLIC) - file(CREATE_LINK "../../../../Frameworks/libfreetype.6.dylib" "${frameworks}/libfreetype.6.dylib" SYMBOLIC) - file(CREATE_LINK "../../../../Frameworks/libicudata.74.dylib" "${frameworks}/libicudata.74.dylib" SYMBOLIC) - file(CREATE_LINK "../../../../Frameworks/libicui18n.74.dylib" "${frameworks}/libicui18n.74.dylib" SYMBOLIC) - file(CREATE_LINK "../../../../Frameworks/libicuuc.74.dylib" "${frameworks}/libicuuc.74.dylib" SYMBOLIC) - file(CREATE_LINK "../../../../Frameworks/libbz2.1.0.dylib" "${frameworks}/libbz2.1.0.dylib" SYMBOLIC) - file(CREATE_LINK "../../../../Frameworks/libbrotlidec.1.1.0.dylib" "${frameworks}/libbrotlidec.1.1.0.dylib" SYMBOLIC) - file(CREATE_LINK "../../../../Frameworks/libbrotlicommon.1.dylib" "${frameworks}/libbrotlicommon.1.dylib" SYMBOLIC) endif (DARWIN) if (BUILD_SHARED_LIBS) diff --git a/indra/newview/FixBundle.cmake.in b/indra/newview/FixBundle.cmake.in index 08da5f5c0a..5e87e17736 100644 --- a/indra/newview/FixBundle.cmake.in +++ b/indra/newview/FixBundle.cmake.in @@ -6,6 +6,35 @@ set(dirs fixup_bundle(${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app "" "${dirs}") +set(frameworks ${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/SLPlugin.app/Contents/Frameworks) +file(CREATE_LINK "../../../../Frameworks/libnghttp2.14.dylib" "${frameworks}/libnghttp2.14.dylib" SYMBOLIC) +file(CREATE_LINK "../../../../Frameworks/libxmlrpc-epi.0.dylib" "${frameworks}/libxmlrpc-epi.0.dylib" SYMBOLIC) +file(CREATE_LINK "../../../../Frameworks/libopenjp2.7.dylib" "${frameworks}/libopenjp2.7.dylib" SYMBOLIC) +file(CREATE_LINK "../../../../Frameworks/libpng16.16.dylib" "${frameworks}/libpng16.16.dylib" SYMBOLIC) +file(CREATE_LINK "../../../../Frameworks/libjpeg.8.dylib" "${frameworks}/libjpeg.8.dylib" SYMBOLIC) +file(CREATE_LINK "../../../../Frameworks/libmeshoptimizer.dylib" "${frameworks}/libmeshoptimizer.dylib" SYMBOLIC) +file(CREATE_LINK "../../../../Frameworks/libaprutil-1.0.dylib" "${frameworks}/libaprutil-1.0.dylib" SYMBOLIC) +file(CREATE_LINK "../../../../Frameworks/libiconv.2.dylib" "${frameworks}/libiconv.2.dylib" SYMBOLIC) +file(CREATE_LINK "../../../../Frameworks/libapr-1.0.dylib" "${frameworks}/libapr-1.0.dylib" SYMBOLIC) +file(CREATE_LINK "../../../../Frameworks/libjsoncpp.25.dylib" "${frameworks}/libjsoncpp.25.dylib" SYMBOLIC) +file(CREATE_LINK "../../../../Frameworks/libz.1.dylib" "${frameworks}/libz.1.dylib" SYMBOLIC) +file(CREATE_LINK "../../../../Frameworks/libboost_context-mt.dylib" "${frameworks}/libboost_context-mt.dylib" SYMBOLIC) +file(CREATE_LINK "../../../../Frameworks/libboost_fiber-mt.dylib" "${frameworks}/libboost_fiber-mt.dylib" SYMBOLIC) +file(CREATE_LINK "../../../../Frameworks/libboost_filesystem-mt.dylib" "${frameworks}/libboost_filesystem-mt.dylib" SYMBOLIC) +file(CREATE_LINK "../../../../Frameworks/libboost_program_options-mt.dylib" "${frameworks}/libboost_program_options-mt.dylib" SYMBOLIC) +file(CREATE_LINK "../../../../Frameworks/libboost_regex-mt.dylib" "${frameworks}/libboost_regex-mt.dylib" SYMBOLIC) +file(CREATE_LINK "../../../../Frameworks/libboost_system-mt.dylib" "${frameworks}/libboost_system-mt.dylib" SYMBOLIC) +file(CREATE_LINK "../../../../Frameworks/libboost_thread-mt.dylib" "${frameworks}/libboost_thread-mt.dylib" SYMBOLIC) +file(CREATE_LINK "../../../../Frameworks/liburiparser.1.dylib" "${frameworks}/liburiparser.1.dylib" SYMBOLIC) +file(CREATE_LINK "../../../../Frameworks/libexpat.1.dylib" "${frameworks}/libexpat.1.dylib" SYMBOLIC) +file(CREATE_LINK "../../../../Frameworks/libfreetype.6.dylib" "${frameworks}/libfreetype.6.dylib" SYMBOLIC) +file(CREATE_LINK "../../../../Frameworks/libicudata.74.dylib" "${frameworks}/libicudata.74.dylib" SYMBOLIC) +file(CREATE_LINK "../../../../Frameworks/libicui18n.74.dylib" "${frameworks}/libicui18n.74.dylib" SYMBOLIC) +file(CREATE_LINK "../../../../Frameworks/libicuuc.74.dylib" "${frameworks}/libicuuc.74.dylib" SYMBOLIC) +file(CREATE_LINK "../../../../Frameworks/libbz2.1.0.dylib" "${frameworks}/libbz2.1.0.dylib" SYMBOLIC) +file(CREATE_LINK "../../../../Frameworks/libbrotlidec.1.1.0.dylib" "${frameworks}/libbrotlidec.1.1.0.dylib" SYMBOLIC) +file(CREATE_LINK "../../../../Frameworks/libbrotlicommon.1.dylib" "${frameworks}/libbrotlicommon.1.dylib" SYMBOLIC) + file(CREATE_LINK "../../../../Frameworks/Chromium Embedded Framework.framework" "${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/SLPlugin.app/Contents/Frameworks/Chromium Embedded Framework.framework" SYMBOLIC) -- cgit v1.2.3 From 81f8c7f5f8e497d18701022422b587235dfae4c5 Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Sun, 7 Jul 2024 15:07:59 +0800 Subject: Not set var to shorten paths in install script Somehow it wouldn't work. --- indra/newview/FixBundle.cmake.in | 173 ++++++++++++++++++++++++++++++++------- 1 file changed, 143 insertions(+), 30 deletions(-) diff --git a/indra/newview/FixBundle.cmake.in b/indra/newview/FixBundle.cmake.in index 5e87e17736..0cc1569890 100644 --- a/indra/newview/FixBundle.cmake.in +++ b/indra/newview/FixBundle.cmake.in @@ -6,38 +6,151 @@ set(dirs fixup_bundle(${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app "" "${dirs}") -set(frameworks ${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/SLPlugin.app/Contents/Frameworks) -file(CREATE_LINK "../../../../Frameworks/libnghttp2.14.dylib" "${frameworks}/libnghttp2.14.dylib" SYMBOLIC) -file(CREATE_LINK "../../../../Frameworks/libxmlrpc-epi.0.dylib" "${frameworks}/libxmlrpc-epi.0.dylib" SYMBOLIC) -file(CREATE_LINK "../../../../Frameworks/libopenjp2.7.dylib" "${frameworks}/libopenjp2.7.dylib" SYMBOLIC) -file(CREATE_LINK "../../../../Frameworks/libpng16.16.dylib" "${frameworks}/libpng16.16.dylib" SYMBOLIC) -file(CREATE_LINK "../../../../Frameworks/libjpeg.8.dylib" "${frameworks}/libjpeg.8.dylib" SYMBOLIC) -file(CREATE_LINK "../../../../Frameworks/libmeshoptimizer.dylib" "${frameworks}/libmeshoptimizer.dylib" SYMBOLIC) -file(CREATE_LINK "../../../../Frameworks/libaprutil-1.0.dylib" "${frameworks}/libaprutil-1.0.dylib" SYMBOLIC) -file(CREATE_LINK "../../../../Frameworks/libiconv.2.dylib" "${frameworks}/libiconv.2.dylib" SYMBOLIC) -file(CREATE_LINK "../../../../Frameworks/libapr-1.0.dylib" "${frameworks}/libapr-1.0.dylib" SYMBOLIC) -file(CREATE_LINK "../../../../Frameworks/libjsoncpp.25.dylib" "${frameworks}/libjsoncpp.25.dylib" SYMBOLIC) -file(CREATE_LINK "../../../../Frameworks/libz.1.dylib" "${frameworks}/libz.1.dylib" SYMBOLIC) -file(CREATE_LINK "../../../../Frameworks/libboost_context-mt.dylib" "${frameworks}/libboost_context-mt.dylib" SYMBOLIC) -file(CREATE_LINK "../../../../Frameworks/libboost_fiber-mt.dylib" "${frameworks}/libboost_fiber-mt.dylib" SYMBOLIC) -file(CREATE_LINK "../../../../Frameworks/libboost_filesystem-mt.dylib" "${frameworks}/libboost_filesystem-mt.dylib" SYMBOLIC) -file(CREATE_LINK "../../../../Frameworks/libboost_program_options-mt.dylib" "${frameworks}/libboost_program_options-mt.dylib" SYMBOLIC) -file(CREATE_LINK "../../../../Frameworks/libboost_regex-mt.dylib" "${frameworks}/libboost_regex-mt.dylib" SYMBOLIC) -file(CREATE_LINK "../../../../Frameworks/libboost_system-mt.dylib" "${frameworks}/libboost_system-mt.dylib" SYMBOLIC) -file(CREATE_LINK "../../../../Frameworks/libboost_thread-mt.dylib" "${frameworks}/libboost_thread-mt.dylib" SYMBOLIC) -file(CREATE_LINK "../../../../Frameworks/liburiparser.1.dylib" "${frameworks}/liburiparser.1.dylib" SYMBOLIC) -file(CREATE_LINK "../../../../Frameworks/libexpat.1.dylib" "${frameworks}/libexpat.1.dylib" SYMBOLIC) -file(CREATE_LINK "../../../../Frameworks/libfreetype.6.dylib" "${frameworks}/libfreetype.6.dylib" SYMBOLIC) -file(CREATE_LINK "../../../../Frameworks/libicudata.74.dylib" "${frameworks}/libicudata.74.dylib" SYMBOLIC) -file(CREATE_LINK "../../../../Frameworks/libicui18n.74.dylib" "${frameworks}/libicui18n.74.dylib" SYMBOLIC) -file(CREATE_LINK "../../../../Frameworks/libicuuc.74.dylib" "${frameworks}/libicuuc.74.dylib" SYMBOLIC) -file(CREATE_LINK "../../../../Frameworks/libbz2.1.0.dylib" "${frameworks}/libbz2.1.0.dylib" SYMBOLIC) -file(CREATE_LINK "../../../../Frameworks/libbrotlidec.1.1.0.dylib" "${frameworks}/libbrotlidec.1.1.0.dylib" SYMBOLIC) -file(CREATE_LINK "../../../../Frameworks/libbrotlicommon.1.dylib" "${frameworks}/libbrotlicommon.1.dylib" SYMBOLIC) - +file(CREATE_LINK + "../../../../Frameworks/libnghttp2.14.dylib" + "${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/SLPlugin.app/Contents/Frameworks/libnghttp2.14.dylib" + SYMBOLIC + ) +file(CREATE_LINK + "../../../../Frameworks/libxmlrpc-epi.0.dylib" + "${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/SLPlugin.app/Contents/Frameworks/libxmlrpc-epi.0.dylib" + SYMBOLIC + ) +file(CREATE_LINK + "../../../../Frameworks/libopenjp2.7.dylib" + "${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/SLPlugin.app/Contents/Frameworks/libopenjp2.7.dylib" + SYMBOLIC + ) +file(CREATE_LINK + "../../../../Frameworks/libpng16.16.dylib" + "${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/SLPlugin.app/Contents/Frameworks/libpng16.16.dylib" + SYMBOLIC + ) +file(CREATE_LINK + "../../../../Frameworks/libjpeg.8.dylib" + "${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/SLPlugin.app/Contents/Frameworks/libjpeg.8.dylib" + SYMBOLIC + ) +file(CREATE_LINK + "../../../../Frameworks/libmeshoptimizer.dylib" + "${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/SLPlugin.app/Contents/Frameworks/libmeshoptimizer.dylib" + SYMBOLIC + ) +file(CREATE_LINK + "../../../../Frameworks/libaprutil-1.0.dylib" + "${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/SLPlugin.app/Contents/Frameworks/libaprutil-1.0.dylib" + SYMBOLIC + ) +file(CREATE_LINK + "../../../../Frameworks/libiconv.2.dylib" + "${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/SLPlugin.app/Contents/Frameworks/libiconv.2.dylib" + SYMBOLIC + ) +file(CREATE_LINK + "../../../../Frameworks/libapr-1.0.dylib" + "${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/SLPlugin.app/Contents/Frameworks/libapr-1.0.dylib" + SYMBOLIC + ) +file(CREATE_LINK + "../../../../Frameworks/libjsoncpp.25.dylib" + "${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/SLPlugin.app/Contents/Frameworks/libjsoncpp.25.dylib" + SYMBOLIC + ) +file(CREATE_LINK + "../../../../Frameworks/libz.1.dylib" + "${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/SLPlugin.app/Contents/Frameworks/libz.1.dylib" + SYMBOLIC + ) +file(CREATE_LINK + "../../../../Frameworks/libboost_context-mt.dylib" + "${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/SLPlugin.app/Contents/Frameworks/libboost_context-mt.dylib" + SYMBOLIC + ) +file(CREATE_LINK + "../../../../Frameworks/libboost_fiber-mt.dylib" + "${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/SLPlugin.app/Contents/Frameworks/libboost_fiber-mt.dylib" + SYMBOLIC + ) +file(CREATE_LINK + "../../../../Frameworks/libboost_filesystem-mt.dylib" + "${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/SLPlugin.app/Contents/Frameworks/libboost_filesystem-mt.dylib" + SYMBOLIC + ) +file(CREATE_LINK + "../../../../Frameworks/libboost_program_options-mt.dylib" + "${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/SLPlugin.app/Contents/Frameworks/libboost_program_options-mt.dylib" + SYMBOLIC + ) +file(CREATE_LINK + "../../../../Frameworks/libboost_regex-mt.dylib" + "${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/SLPlugin.app/Contents/Frameworks/libboost_regex-mt.dylib" + SYMBOLIC + ) +file(CREATE_LINK + "../../../../Frameworks/libboost_system-mt.dylib" + "${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/SLPlugin.app/Contents/Frameworks/libboost_system-mt.dylib" + SYMBOLIC + ) +file(CREATE_LINK + "../../../../Frameworks/libboost_thread-mt.dylib" + "${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/SLPlugin.app/Contents/Frameworks/libboost_thread-mt.dylib" + SYMBOLIC + ) +file(CREATE_LINK + "../../../../Frameworks/liburiparser.1.dylib" + "${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/SLPlugin.app/Contents/Frameworks/liburiparser.1.dylib" + SYMBOLIC + ) +file(CREATE_LINK + "../../../../Frameworks/libexpat.1.dylib" + "${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/SLPlugin.app/Contents/Frameworks/libexpat.1.dylib" + SYMBOLIC + ) +file(CREATE_LINK + "../../../../Frameworks/libfreetype.6.dylib" + "${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/SLPlugin.app/Contents/Frameworks/libfreetype.6.dylib" + SYMBOLIC + ) +file(CREATE_LINK + "../../../../Frameworks/libicudata.74.dylib" + "${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/SLPlugin.app/Contents/Frameworks/libicudata.74.dylib" + SYMBOLIC + ) +file(CREATE_LINK + "../../../../Frameworks/libicui18n.74.dylib" + "${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/SLPlugin.app/Contents/Frameworks/libicui18n.74.dylib" + SYMBOLIC + ) +file(CREATE_LINK + "../../../../Frameworks/libicuuc.74.dylib" + "${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/SLPlugin.app/Contents/Frameworks/libicuuc.74.dylib" + SYMBOLIC + ) +file(CREATE_LINK + "../../../../Frameworks/libbz2.1.0.dylib" + "${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/SLPlugin.app/Contents/Frameworks/libbz2.1.0.dylib" + SYMBOLIC + ) +file(CREATE_LINK + "../../../../Frameworks/libbrotlidec.1.1.0.dylib" + "${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/SLPlugin.app/Contents/Frameworks/libbrotlidec.1.1.0.dylib" + SYMBOLIC + ) +file(CREATE_LINK + "../../../../Frameworks/libbrotlidec.1.dylib" + "${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/SLPlugin.app/Contents/Frameworks/libbrotlidec.1.dylib" + SYMBOLIC + ) +file(CREATE_LINK + "../../../../Frameworks/libbrotlicommon.1.dylib" + "${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/SLPlugin.app/Contents/Frameworks/libbrotlicommon.1.dylib" + SYMBOLIC + ) file(CREATE_LINK "../../../../Frameworks/Chromium Embedded Framework.framework" - "${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/SLPlugin.app/Contents/Frameworks/Chromium Embedded Framework.framework" SYMBOLIC) + "${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/SLPlugin.app/Contents/Frameworks/Chromium Embedded Framework.framework" + SYMBOLIC + ) file(CHMOD "${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/SLPlugin.app/Contents/Frameworks/DullahanHelper.app/Contents/MacOS/DullahanHelper" -- cgit v1.2.3 From f69ce54e880038d349c5b5c9879504d2311725be Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Mon, 8 Jul 2024 12:19:40 +0800 Subject: Update README.md up to `make install` and `cpack` Remove Example section too since it's not so representative at this moment. Remove Windows instruction link too, we will have our own. --- README.md | 82 ++++++++++++++++++++++++++++++++++++++------------------ doc/freebsd.jpg | Bin 200607 -> 0 bytes 2 files changed, 56 insertions(+), 26 deletions(-) delete mode 100644 doc/freebsd.jpg diff --git a/README.md b/README.md index 60dbf24fed..554193955d 100644 --- a/README.md +++ b/README.md @@ -26,57 +26,87 @@ Third party maintained forks, which include Linux compatible builds, are indexed ## Build Instructions -[Windows](https://wiki.secondlife.com/wiki/Build_the_Viewer_on_Windows) +### Common + +``` +$ cd viewer +$ git remote add megapahit git://megapahit.org/viewer.git +$ git fetch megapahit +$ git checkout megapahit/main +$ git switch -c megapahit +``` ### macOS ``` -# port install git cmake pkgconfig freealut +universal apr-util +universal boost +universal collada-dom +universal hunspell +universal jsoncpp +universal openjpeg +universal libsdl2 +universal uriparser +universal -$ export LL_BUILD="-O3 -gdwarf-2 -stdlib=libc++ -iwithsysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk -std=c++17 -fPIC -DLL_RELEASE=1 -DLL_RELEASE_FOR_DOWNLOAD=1 -DNDEBUG -DPIC -DLL_DARWIN=1 -arch arm64" +$ mkdir -p build/universal-apple-darwin`uname -r` +$ cd build/universal-apple-darwin`uname -r` +$ export LL_BUILD="-O3 -gdwarf-2 -stdlib=libc++ -iwithsysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk -std=c++17 -fPIC -DLL_RELEASE=1 -DLL_RELEASE_FOR_DOWNLOAD=1 -DNDEBUG -DPIC -DLL_DARWIN=1" +# port install cmake pkgconfig freealut +universal apr-util +universal boost +universal collada-dom +universal hunspell +universal jsoncpp +universal openjpeg +universal libsdl2 +universal uriparser +universal +$ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_INSTALL_PREFIX:PATH=newview/Megapahit.app/Contents -DCMAKE_OSX_ARCHITECTURES:STRING="arm64;x86_64" -DADDRESS_SIZE:INTERNAL=64 -DUSESYSTEMLIBS:BOOL=ON -DUSE_OPENAL:BOOL=ON -DLL_TESTS:BOOL=OFF -DNDOF:BOOL=OFF -DVIEWER_CHANNEL:STRING=Megapahit -DVIEWER_BINARY_NAME:STRING=megapahit -DBUILD_SHARED_LIBS:BOOL=OFF -DINSTALL:BOOL=ON -DPACKAGE:BOOL=OFF ../../indra +$ make -j`gnproc` +$ make install +$ open newview/Megapahit.app ``` -### Debian/Ubuntu +### GNU/Linux ``` -# apt install git cmake pkg-config libalut-dev libaprutil1-dev libboost-fiber-dev libboost-program-options-dev libboost-regex-dev libcollada-dom-dev libcurl4-openssl-dev libexpat1-dev libglu1-mesa-dev libgtk2.0-dev libhunspell-dev libjsoncpp-dev libmeshoptimizer-dev libnanosvg-dev libnghttp2-dev libsdl2-dev libssl-dev liburiparser-dev libvlc-dev libvlccore-dev libvorbis-dev libxmlrpc-epi-dev libxxhash-dev +$ mkdir -p build/`uname -m`-linux-gnu +$ cd build/`uname -m`-linux-gnu $ export LL_BUILD="-O3 -std=c++17 -fPIC -DLL_LINUX=1" ``` -### Fedora +#### Debian 12.5 ``` -# dnf install git cmake gcc-c++ SDL2-devel apr-util-devel boost-devel collada-dom-devel expat-devel freealut-devel gtk2-devel hunspell-devel jsoncpp-devel libcurl-devel libnghttp2-devel libvorbis-devel mesa-libGLU-devel nanosvg-devel openjpeg2-devel openssl-devel uriparser-devel vlc-devel xmlrpc-epi-devel xxhash-devel zstd -$ export LL_BUILD="-O3 -std=c++17 -fPIC -DLL_LINUX=1" +# apt install cmake pkg-config libalut-dev libaprutil1-dev libboost-fiber-dev libboost-program-options-dev libboost-regex-dev libcollada-dom-dev libexpat1-dev libglu1-mesa-dev libgtk2.0-dev libhunspell-dev libjsoncpp-dev libmeshoptimizer-dev libnghttp2-dev libsdl2-dev liburiparser-dev libvlc-dev libvlccore-dev libvorbis-dev libxmlrpc-epi-dev libxxhash-dev +$ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_INSTALL_PREFIX:PATH=/usr -DADDRESS_SIZE:INTERNAL=64 -DUSESYSTEMLIBS:BOOL=ON -DUSE_OPENAL:BOOL=ON -DLL_TESTS:BOOL=OFF -DNDOF:BOOL=OFF -DVIEWER_CHANNEL:STRING=Megapahit -DVIEWER_BINARY_NAME:STRING=megapahit -DBUILD_SHARED_LIBS:BOOL=OFF -DINSTALL:BOOL=ON -DPACKAGE:BOOL=ON -DCPACK_PACKAGE_NAME:STRING=megapahit -DCPACK_BINARY_STGZ:BOOL=OFF -DCPACK_BINARY_TGZ:BOOL=OFF -DCPACK_BINARY_TZ:BOOL=OFF -DCPACK_BINARY_DEB:BOOL=ON -DCPACK_DEBIAN_PACKAGE_ARCHITECTURE:STRING=amd64 -DCPACK_DEBIAN_PACKAGE_DESCRIPTION:STRING="A fork of the Second Life viewer" -DCPACK_DEBIAN_PACKAGE_MAINTAINER:STRING=$USER@$HOST -DCPACK_DEBIAN_PACKAGE_SECTION:STRING=net -DCPACK_DEBIAN_PACKAGE_DEPENDES:STRING="libalut0, libaprutil1, libboost-fiber1.74.0 | libboost-fiber1.81.0, libboost-program-options1.74.0 | libboost-program-options1.81.0, libboost-regex1.74.0 | libboost-regex1.81.0, libboost-thread1.74.0 | libboost-thread1.81.0, libcollada-dom2.5-dp0, libexpat1, libgtk2.0-0, libglu1-mesa, libhunspell-1.7-0, libjsoncpp25, libmeshoptimizer2d (>= 0.18), libnghttp2-14, libsdl2-2.0-0, liburiparser1, libvlc5, libvorbisenc2, libvorbisfile3, libxmlrpc-epi0, vlc-plugin-base" ../../indra +$ cmake ../../indra +$ make -j`nproc` +$ cpack -G DEB +# apt install megapahit-`cat newview/viewer_version.txt`-Linux.deb +$ megapahit ``` -### FreeBSD +#### Ubuntu 24.04 ``` -# portmaster devel/git devel/cmake devel/pkgconf devel/apr1 devel/collada-dom devel/sdl20 devel/xxhash audio/freealut audio/libvorbis graphics/nanosvg graphics/openjpeg misc/meshoptimizer multimedia/vlc net/uriparser net/xmlrpc-epi textproc/hunspell x11-toolkits/gtk20 -$ setenv LL_BUILD "-O3 -std=c++17 -fPIC" +# apt install cmake pkg-config libalut-dev libaprutil1-dev libboost-fiber-dev libboost-program-options-dev libboost-regex-dev libcollada-dom-dev libexpat1-dev libglu1-mesa-dev libgtk2.0-dev libhunspell-dev libjsoncpp-dev libmeshoptimizer-dev libnanosvg-dev libnghttp2-dev libsdl2-dev liburiparser-dev libvlc-dev libvlccore-dev libvorbis-dev libxmlrpc-epi-dev libxxhash-dev +$ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_INSTALL_PREFIX:PATH=/usr -DADDRESS_SIZE:INTERNAL=64 -DUSESYSTEMLIBS:BOOL=ON -DUSE_OPENAL:BOOL=ON -DLL_TESTS:BOOL=OFF -DNDOF:BOOL=OFF -DVIEWER_CHANNEL:STRING=Megapahit -DVIEWER_BINARY_NAME:STRING=megapahit -DBUILD_SHARED_LIBS:BOOL=OFF -DINSTALL:BOOL=ON -DPACKAGE:BOOL=ON -DCPACK_PACKAGE_NAME:STRING=megapahit -DCPACK_BINARY_STGZ:BOOL=OFF -DCPACK_BINARY_TGZ:BOOL=OFF -DCPACK_BINARY_TZ:BOOL=OFF -DCPACK_BINARY_DEB:BOOL=ON -DCPACK_DEBIAN_PACKAGE_ARCHITECTURE:STRING=amd64 -DCPACK_DEBIAN_PACKAGE_DESCRIPTION:STRING="A fork of the Second Life viewer" -DCPACK_DEBIAN_PACKAGE_MAINTAINER:STRING=$USER@$HOST -DCPACK_DEBIAN_PACKAGE_SECTION:STRING=net -DCPACK_DEBIAN_PACKAGE_DEPENDES:STRING="libalut0, libaprutil1t64, libboost-fiber1.83.0, libboost-program-options1.83.0, libboost-regex1.83.0, libboost-thread1.83.0, libcollada-dom2.5-dp0, libexpat1, libgtk2.0-0t64, libglu1-mesa, libhunspell-1.7-0, libjsoncpp25, libmeshoptimizer2d, libnghttp2-14, libsdl2-2.0-0, liburiparser1, libvlc5, libvorbisenc2, libvorbisfile3, libxmlrpc-epi0t64, vlc-plugin-base" ../../indra +$ cmake ../../indra +$ make -j`nproc` +$ cpack -G DEB +# apt install megapahit-`cat newview/viewer_version.txt`-Linux.deb +$ megapahit ``` -### Common +#### Fedora ``` -$ cd viewer -$ git remote add megapahit git://megapahit.org/viewer.git -$ git fetch megapahit -$ git checkout megapahit/main -$ git switch -c megapahit -$ mkdir -p build -$ cd build -$ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DADDRESS_SIZE:INTERNAL=64 -DUSESYSTEMLIBS:BOOL=ON -DUSE_OPENAL:BOOL=ON -DLL_TESTS:BOOL=OFF -DNDOF:BOOL=OFF -DVIEWER_CHANNEL:STRING=Megapahit -DVIEWER_BINARY_NAME:STRING=megapahit -DBUILD_SHARED_LIBS:BOOL=OFF -DPACKAGE:BOOL=OFF -DINSTALL:BOOL=ON ../indra -$ make -j12 -$ sudo make install +# dnf install cmake gcc-c++ freealut-devel apr-util-devel boost-devel collada-dom-devel expat-devel mesa-libGLU-devel gtk2-devel hunspell-devel jsoncpp-devel libnghttp2-devel nanosvg-devel openjpeg2-devel SDL2-devel uriparser-devel vlc-devel libvorbis-devel xmlrpc-epi-devel xxhash-devel zstd +$ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_INSTALL_PREFIX:PATH=/usr -DADDRESS_SIZE:INTERNAL=64 -DUSESYSTEMLIBS:BOOL=ON -DUSE_OPENAL:BOOL=ON -DLL_TESTS:BOOL=OFF -DNDOF:BOOL=OFF -DVIEWER_CHANNEL:STRING=Megapahit -DVIEWER_BINARY_NAME:STRING=megapahit -DBUILD_SHARED_LIBS:BOOL=OFF -DINSTALL:BOOL=ON -DPACKAGE:BOOL=ON -DCPACK_PACKAGE_NAME:STRING=megapahit -DCPACK_BINARY_STGZ:BOOL=OFF -DCPACK_BINARY_TGZ:BOOL=OFF -DCPACK_BINARY_TZ:BOOL=OFF -DCPACK_BINARY_RPM:BOOL=ON -DCPACK_RPM_PACKAGE_SUMMARY:STRING="A fork of the Second Life viewer" -DCPACK_RPM_PACKAGE_ARCHITECTURE:STRING=`uname -m` -DCPACK_RPM_PACKAGE_LICENSE:STRING=LGPL-2.1-only -DCPACK_RPM_PACKAGE_VENDOR:STRING=Megapahit -DCPACK_RPM_PACKAGE_URL:STRING=https://megapahit.net -DCPACK_RPM_PACKAGE_DESCRIPTION:STRING="An entrance to virtual empires in only megabytes. A shelter for the metaverse refugess, especially those from less supported operating systems." -DCPACK_RPM_PACKAGE_REQUIRES:STRING="freealut, apr-util, boost-fiber, boost-program-options, boost-regex, boost-thread, collada-dom, expat, mesa-libGLU, gtk2, hunspell, jsoncpp, libnghttp2, openjpeg2, SDL2, uriparser, vlc-libs, vlc-plugins-base, libvorbis, xmlrpc-epi" ../../indra +$ cmake ../../indra +$ make -j`nproc` +$ cpack -G RPM +# rpm -i megapahit-`cat newview/viewer_version.txt`-Linux.rpm $ megapahit ``` -## Example - -![FreeBSD](doc/freebsd.jpg) +### FreeBSD -Running natively on FreeBSD (not with Linux binary compatibility). +``` +$ mkdir -p build/`uname -m`-unknown-freebsd14.1 +$ cd build/`uname -m`-unknown-freebsd14.1 +$ setenv LL_BUILD "-O3 -std=c++17 -fPIC" +# portmaster devel/cmake devel/pkgconf audio/freealut devel/apr1 devel/collada-dom textproc/hunspell x11-toolkits/gtk20 misc/meshoptimizer graphics/nanosvg graphics/openjpeg devel/sdl20 net/uriparser multimedia/vlc audio/libvorbis net/xmlrpc-epi devel/xxhash +$ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DADDRESS_SIZE:INTERNAL=64 -DUSESYSTEMLIBS:BOOL=ON -DUSE_OPENAL:BOOL=ON -DLL_TESTS:BOOL=OFF -DNDOF:BOOL=OFF -DVIEWER_CHANNEL:STRING=Megapahit -DVIEWER_BINARY_NAME:STRING=megapahit -DBUILD_SHARED_LIBS:BOOL=OFF -DINSTALL:BOOL=ON -DPACKAGE:BOOL=ON -DCPACK_PACKAGE_NAME:STRING=megapahit -DCPACK_BINARY_STGZ:BOOL=OFF -DCPACK_BINARY_TGZ:BOOL=OFF -DCPACK_BINARY_TZ:BOOL=OFF -DCPACK_BINARY_FREEBSD:BOOL=ON -DCPACK_FREEBSD_PACKAGE_COMMENT:STRING="A fork of the Second Life viewer" -DCPACK_FREEBSD_PACKAGE_DESCRIPTION:STRING="An entrance to virtual empires in only megabytes. A shelter for the metaverse refugess, especially those from less supported operating systems." -DCPACK_FREEBSD_PACKAGE_WWW:STRING=https://megapahit.net -DCPACK_FREEBSD_PACKAGE_LICENSE:STRING=LGPL21 -DCPACK_FREEBSD_PACKAGE_MAINTAINER:STRING=$USER@$HOST -DCPACK_FREEBSD_PACKAGE_ORIGIN:STRING=net/megapahit -DCPACK_FREEBSD_PACKAGE_DEPS:STRING="audio/freealut;devel/collada-dom;graphics/libGLU;textproc/hunspell;misc/meshoptimizer;www/libnghttp2;graphics/openjpeg;net/uriparser;multimedia/vlc;audio/libvorbis;net/xmlrpc-epi" ../../indra +$ cmake ../../indra +$ make -j`nproc` +# cpack -G FREEBSD +# pkg add megapahit-`cat newview/viewer_version.txt`-FreeBSD.pkg +$ megapahit +``` ## Contribute diff --git a/doc/freebsd.jpg b/doc/freebsd.jpg deleted file mode 100644 index 85872b6886..0000000000 Binary files a/doc/freebsd.jpg and /dev/null differ -- cgit v1.2.3 From d9b2248211028454da6395b8bcad4915649d6ea8 Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Mon, 8 Jul 2024 13:31:42 +0800 Subject: Adjust CONTRIBUTING.md & change SL to MP in README --- CONTRIBUTING.md | 49 +++++++++++++++++++++---------------------------- README.md | 12 ++++++------ 2 files changed, 27 insertions(+), 34 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 6bd8a2b74c..99876c8119 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,8 +1,8 @@ # Contributor guidelines -Thanks for your interest in contributing to Second Life! This document +Thanks for your interest in contributing to Megapahit! This document summarizes some of the most important points for people looking to contribute -to the platform especially those looking to provide bug reports and code +to the project especially those looking to provide bug reports and code changes. ## Table of contents @@ -13,46 +13,39 @@ changes. ## Communication -Second Life has multiple channels for communication. Some of these channels are +Megapahit has multiple channels for communication. Some of these channels are more end-user focused, while others are more tailored for developer-to-developer or support. -- [feedback.secondlife.com][] is Second Life's primary community engagement +- [Bugzilla][] is Megapahit's primary community engagement forum. Ideas and bug reports should be placed here unless they relate to ongoing development issues and developer-to-developer communication. -- [Public user groups][slug] are held on a regular basis, including those for - discussing open source development, content creation, server topics and more. +- [IRC][] is publishing updates on a regular basis, including those for + announcing Git commit logs, nightly build URLs and more. - [Github issues][] provide a means for staff to organize their work and collaborate with other developers. By default most user-facing - discussions should happen on [feedback.secondlife.com][] so that they are + discussions should happen on [Bugzilla][] so that they are visible to more people, can build consensus, and be placed onto our public roadmap. Github issues are useful for collaboration between viewer forks and the official upstream and when engineering-specific and technical collaboration is beneficial. -- [Official forums][] exist for many topics including content creation, - scripting, social topics and more. -- The [opensource-dev mailing list][] is useful for announcements and +- The [In-world group][] and [Discord][] exist for many topics including content creation, + scripting, social topics and more, and are useful for announcements and discussion between viewer maintainers. ## Reporting bugs and requesting features -Report bugs and provide ideas for features using the respective board on Second -Life's feedback portal: +Report bugs and provide ideas for features using the respective board on Megapahit's +feedback portal: -- [Features](https://feedback.secondlife.com/feature-requests) -- [Scripting bugs](https://feedback.secondlife.com/scripting-bugs) -- [Scripting features](https://feedback.secondlife.com/scripting-features) -- [Server bugs](https://feedback.secondlife.com/scripting-bugs) -- [Viewer bugs](https://feedback.secondlife.com/bug-reports) -- [Web/Marketplace bugs](https://feedback.secondlife.com/web-bugs) -- [Web/Marketplace features](https://feedback.secondlife.com/web-features) +- [Viewer bugs and features](https://megapahit.com/enter_bug.cgi) -Creating posts on feedback.secondlife.com is important as it allows the greatest -exposure and input from Second Life users. It also allows Linden Lab staff to +Creating posts on Bugzilla is important as it allows the greatest +exposure and input from Second Life users. It also allows Megapahit staff to place work on a single public roadmap. -Issues created on feedback.secondlife.com are imported onto Github after they +Issues created on Github or Discord are imported onto Bugzilla after they have been reviewed by staff and accepted. ## Contributing pull requests @@ -60,7 +53,7 @@ have been reviewed by staff and accepted. If you wish to contribute a new pull request, please ensure that: - You talk to other developers about how best to implement the work. -- The functionality is desired. Be sure to talk to users and Second Life staff to ensure +- The functionality is desired. Be sure to talk to users and Megapahit staff to ensure the work is a good idea and will be accepted. - The work is high quality and the PR follows [PR etiquette][] - You have tested the work locally @@ -68,9 +61,9 @@ If you wish to contribute a new pull request, please ensure that: The [Git Style Guide](https://github.com/agis/git-style-guide) is also a good reference for best git practices. -[feedback.secondlife.com]: https://feedback.secondlife.com -[slug]: https://community.secondlife.com/blogs/entry/6509-introducing-the-second-life-public-calendar/ +[Bugzilla]: https://megapahit.com +[IRC]: irc://megapahit.net/#viewer [PR etiquette]: https://gist.github.com/mikepea/863f63d6e37281e329f8 -[Github issues]: https://github.com/secondlife/viewer/issues -[Official forums]: https://community.secondlife.com/forums/ -[opensource-dev mailing list]: https://wiki.secondlife.com/wiki/OpenSource-Dev +[Github issues]: https://github.com/megapahit/viewer/issues +[In-world group]: https://world.secondlife.com/group/1142646c-5fb2-162c-ecf8-c5e422ab5c6d +[Discord]: https://discord.gg/jpt33HPVEK diff --git a/README.md b/README.md index 554193955d..63d5ec12d7 100644 --- a/README.md +++ b/README.md @@ -16,13 +16,13 @@ Lab's open source history and projects. ## Download -Most people use a pre-built viewer release to access Second Life. Windows and macOS builds are +Most people use a pre-built viewer release to access Second Life. macOS, GNU/Linux, and FreeBSD builds are [published on the official website][download]. More experimental viewers, such as release candidates and -project viewers, are detailed on the [Alternate Viewers page](https://releasenotes.secondlife.com/viewer.html). +project viewers, are detailed on the same page. -### Third Party Viewers +### Third Party Viewer -Third party maintained forks, which include Linux compatible builds, are indexed in the [Third Party Viewer Directory][tpv]. +As a third party maintained fork, which include Apple Silicon native builds, Megapahit viewer is indexed in the [Third Party Viewer Directory][tpv]. ## Build Instructions @@ -110,11 +110,11 @@ $ megapahit ## Contribute -Help make Second Life better! You can get involved with improvements by filing bugs, suggesting enhancements, submitting +Help make Megapahit better! You can get involved with improvements by filing bugs, suggesting enhancements, submitting pull requests and more. See the [CONTRIBUTING][] and the [open source portal][] for details. [Second Life]: https://secondlife.com/ -[download]: https://secondlife.com/support/downloads/ +[download]: https://megapahit.net [tpv]: http://wiki.secondlife.com/wiki/Third_Party_Viewer_Directory [open source portal]: http://wiki.secondlife.com/wiki/Open_Source_Portal [contributing]: https://github.com/secondlife/viewer/blob/main/CONTRIBUTING.md -- cgit v1.2.3 From ed459057c49ada1c8e55eedd48b146a67a008f97 Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Mon, 8 Jul 2024 13:55:22 +0800 Subject: Fix CONTRIBUTING.md link --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 63d5ec12d7..0c58cce049 100644 --- a/README.md +++ b/README.md @@ -117,4 +117,4 @@ pull requests and more. See the [CONTRIBUTING][] and the [open source portal][] [download]: https://megapahit.net [tpv]: http://wiki.secondlife.com/wiki/Third_Party_Viewer_Directory [open source portal]: http://wiki.secondlife.com/wiki/Open_Source_Portal -[contributing]: https://github.com/secondlife/viewer/blob/main/CONTRIBUTING.md +[contributing]: https://megapahit.org/viewer.git/tree/CONTRIBUTING.md -- cgit v1.2.3 From b9ffde7bbee828376d1667e24de467ad445283ce Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Mon, 8 Jul 2024 14:04:19 +0800 Subject: Fix typo and link to TPVD is directly to Megapahit --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 0c58cce049..297296b31c 100644 --- a/README.md +++ b/README.md @@ -22,7 +22,7 @@ project viewers, are detailed on the same page. ### Third Party Viewer -As a third party maintained fork, which include Apple Silicon native builds, Megapahit viewer is indexed in the [Third Party Viewer Directory][tpv]. +As a third party maintained fork, which includes Apple Silicon native builds, Megapahit viewer is indexed in the [Third Party Viewer Directory][tpv]. ## Build Instructions @@ -115,6 +115,6 @@ pull requests and more. See the [CONTRIBUTING][] and the [open source portal][] [Second Life]: https://secondlife.com/ [download]: https://megapahit.net -[tpv]: http://wiki.secondlife.com/wiki/Third_Party_Viewer_Directory +[tpv]: http://wiki.secondlife.com/wiki/Third_Party_Viewer_Directory/Megapahit [open source portal]: http://wiki.secondlife.com/wiki/Open_Source_Portal [contributing]: https://megapahit.org/viewer.git/tree/CONTRIBUTING.md -- cgit v1.2.3 From 9d088bea3cc29dde6290db9e6da5dafd4f3ec524 Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Mon, 8 Jul 2024 16:15:09 +0800 Subject: GLH and Mikktspace can be untarred in packages now They're custom anyway so very unlikely to be reused in other projects. TinyGLTF.cmake changes here just to minimise diff, the include directory setting does not have any effect (just like in TinyEXR.cmake). --- indra/cmake/GLH.cmake | 5 ++--- indra/cmake/TinyGLTF.cmake | 4 +--- indra/llmath/CMakeLists.txt | 2 ++ 3 files changed, 5 insertions(+), 6 deletions(-) diff --git a/indra/cmake/GLH.cmake b/indra/cmake/GLH.cmake index 09f7d568be..bdd8bc4836 100644 --- a/indra/cmake/GLH.cmake +++ b/indra/cmake/GLH.cmake @@ -4,9 +4,8 @@ include(Prebuilt) add_library( ll::glh_linear INTERFACE IMPORTED ) if (USESYSTEMLIBS) - target_include_directories(ll::glh_linear SYSTEM INTERFACE - ${CMAKE_SYSROOT}/usr/local/include) - return () + target_include_directories( ll::glh_linear SYSTEM INTERFACE ${LIBS_PREBUILT_DIR}/include) + return () endif () use_system_binary( glh_linear ) diff --git a/indra/cmake/TinyGLTF.cmake b/indra/cmake/TinyGLTF.cmake index b20a2a41de..7e74089208 100644 --- a/indra/cmake/TinyGLTF.cmake +++ b/indra/cmake/TinyGLTF.cmake @@ -2,10 +2,8 @@ include(Prebuilt) if (NOT USESYSTEMLIBS) - use_prebuilt_binary(tinygltf) +endif (NOT USESYSTEMLIBS) set(TINYGLTF_INCLUDE_DIR ${LIBS_PREBUILT_DIR}/include/tinygltf) -endif (NOT USESYSTEMLIBS) - diff --git a/indra/llmath/CMakeLists.txt b/indra/llmath/CMakeLists.txt index c85d9c75c7..c0a62ad225 100644 --- a/indra/llmath/CMakeLists.txt +++ b/indra/llmath/CMakeLists.txt @@ -98,6 +98,8 @@ set(llmath_HEADER_FILES list(APPEND llmath_SOURCE_FILES ${llmath_HEADER_FILES}) +include_directories(${LIBS_PREBUILT_DIR}/include) + add_library (llmath ${llmath_SOURCE_FILES}) target_link_libraries(llmath llcommon llmeshoptimizer) -- cgit v1.2.3 From 58e81b10f9a65596383794f7a42b2bd158bdda39 Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Mon, 8 Jul 2024 16:37:19 +0800 Subject: LL packages download and untar instructions plus some tidying up the README.md. --- README.md | 58 +++++++++++++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 49 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 297296b31c..88d0855c3f 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,7 @@ Lab's open source history and projects. ## Download -Most people use a pre-built viewer release to access Second Life. macOS, GNU/Linux, and FreeBSD builds are +Most people use a pre-built viewer release to access Second Life. macOS, GNU/Linux and FreeBSD builds are [published on the official website][download]. More experimental viewers, such as release candidates and project viewers, are detailed on the same page. @@ -26,8 +26,6 @@ As a third party maintained fork, which includes Apple Silicon native builds, Me ## Build Instructions -### Common - ``` $ cd viewer $ git remote add megapahit git://megapahit.org/viewer.git @@ -39,8 +37,23 @@ $ git switch -c megapahit ### macOS ``` -$ mkdir -p build/universal-apple-darwin`uname -r` -$ cd build/universal-apple-darwin`uname -r` +$ mkdir -p build/universal-apple-darwin`uname -r`/packages +$ cd ~/Downloads +$ curl -OL https://github.com/secondlife/3p-curl/releases/download/v7.54.1-513145c/curl-7.54.1-513145c-darwin64-513145c.tar.zst -OL https://megapahit.net/downloads/dullahan-1.14.0.202312131437_118.7.1_g99817d2_chromium-118.0.5993.119-darwinuniversal-233471337.tar.bz2 -OL https://github.com/secondlife/3p-emoji-shortcodes/releases/download/v6.1.0.5413f58/emoji_shortcodes-6.1.0.5413f58-darwin64-5413f58.tar.zst -OL https://github.com/secondlife/3p-glh_linear/releases/download/v1.0.1-dev4-984c397/glh_linear-1.0.1-dev4-common-984c397.tar.zst -OL https://github.com/secondlife/llca/releases/download/v202402012004.0-0f5d9c3/llca-202402012004.0-common-0f5d9c3.tar.zst -OL https://github.com/secondlife/3p-mikktspace/releases/download/v2-e967e1b/mikktspace-1-darwin64-8756084692.tar.zst -OL https://github.com/secondlife/3p-openssl/releases/download/v1.1.1q.de53f55/openssl-1.1.1q.de53f55-darwin64-de53f55.tar.zst -OL https://github.com/secondlife/3p-tinyexr/releases/download/v1.0.8-ba4bc64/tinyexr-v1.0.8-common-9373975608.tar.zst -OL https://github.com/secondlife/3p-tinygltf/releases/download/v2.5.0-1ae57fd/tinygltf-v2.5.0-common-1ae57fd.tar.zst -OL https://github.com/secondlife/3p-viewer-fonts/releases/download/v1.0.0-r1/viewer_fonts-1.0.0.8512067490-common-8512067490.tar.zst +$ cd - +$ cd indra/newview +$ tar xf ~/Downloads/viewer_fonts-1.0.0.8512067490-common-8512067490.tar.zst +$ cd ../../build/universal-apple-darwin`uname -r`/packages +$ tar xf ~/Downloads/curl-7.54.1-513145c-darwin64-513145c.tar.zst +$ tar xf ~/Downloads/dullahan-1.14.0.202312131437_118.7.1_g99817d2_chromium-118.0.5993.119-darwinuniversal-233471337.tar.bz2 +$ tar xf ~/Downloads/emoji_shortcodes-6.1.0.5413f58-darwin64-5413f58.tar.zst +$ tar xf ~/Downloads/glh_linear-1.0.1-dev4-common-984c397.tar.zst +$ tar xf ~/Downloads/llca-202402012004.0-common-0f5d9c3.tar.zst +$ tar xf ~/Downloads/mikktspace-1-darwin64-8756084692.tar.zst +$ tar xf ~/Downloads/openssl-1.1.1q.de53f55-darwin64-de53f55.tar.zst +$ tar xf ~/Downloads/tinyexr-v1.0.8-common-9373975608.tar.zst +$ tar xf ~/Downloads/tinygltf-v2.5.0-common-1ae57fd.tar.zst +$ cd .. $ export LL_BUILD="-O3 -gdwarf-2 -stdlib=libc++ -iwithsysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk -std=c++17 -fPIC -DLL_RELEASE=1 -DLL_RELEASE_FOR_DOWNLOAD=1 -DNDEBUG -DPIC -DLL_DARWIN=1" # port install cmake pkgconfig freealut +universal apr-util +universal boost +universal collada-dom +universal hunspell +universal jsoncpp +universal openjpeg +universal libsdl2 +universal uriparser +universal $ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_INSTALL_PREFIX:PATH=newview/Megapahit.app/Contents -DCMAKE_OSX_ARCHITECTURES:STRING="arm64;x86_64" -DADDRESS_SIZE:INTERNAL=64 -DUSESYSTEMLIBS:BOOL=ON -DUSE_OPENAL:BOOL=ON -DLL_TESTS:BOOL=OFF -DNDOF:BOOL=OFF -DVIEWER_CHANNEL:STRING=Megapahit -DVIEWER_BINARY_NAME:STRING=megapahit -DBUILD_SHARED_LIBS:BOOL=OFF -DINSTALL:BOOL=ON -DPACKAGE:BOOL=OFF ../../indra @@ -52,8 +65,23 @@ $ open newview/Megapahit.app ### GNU/Linux ``` -$ mkdir -p build/`uname -m`-linux-gnu -$ cd build/`uname -m`-linux-gnu +$ mkdir -p build/`uname -m`-linux-gnu/packages +$ cd ~/Downloads +$ curl -OL https://github.com/secondlife/3p-curl/releases/download/v7.54.1-513145c/curl-7.54.1-513145c-linux64-513145c.tar.zst -OL https://megapahit.net/downloads/dullahan-1.14.0.202401180326_118.7.1_g99817d2_chromium-118.0.5993.119-linux64-240180325.tar.bz2 -OL https://github.com/secondlife/3p-emoji-shortcodes/releases/download/v6.1.0.5413f58/emoji_shortcodes-6.1.0.5413f58-linux64-5413f58.tar.zst -OL https://github.com/secondlife/3p-glh_linear/releases/download/v1.0.1-dev4-984c397/glh_linear-1.0.1-dev4-common-984c397.tar.zst -OL https://github.com/secondlife/llca/releases/download/v202402012004.0-0f5d9c3/llca-202402012004.0-common-0f5d9c3.tar.zst -OL https://github.com/secondlife/3p-mikktspace/releases/download/v2-e967e1b/mikktspace-1-linux64-8756084692.tar.zst -OL https://github.com/secondlife/3p-openssl/releases/download/v1.1.1q.de53f55/openssl-1.1.1q.de53f55-linux64-de53f55.tar.zst -OL https://github.com/secondlife/3p-tinyexr/releases/download/v1.0.8-ba4bc64/tinyexr-v1.0.8-common-9373975608.tar.zst -OL https://github.com/secondlife/3p-tinygltf/releases/download/v2.5.0-1ae57fd/tinygltf-v2.5.0-common-1ae57fd.tar.zst -OL https://github.com/secondlife/3p-viewer-fonts/releases/download/v1.0.0-r1/viewer_fonts-1.0.0.8512067490-common-8512067490.tar.zst +$ cd - +$ cd indra/newview +$ tar xf ~/Downloads/viewer_fonts-1.0.0.8512067490-common-8512067490.tar.zst +$ cd ../../build/`uname -m`-linux-gnu/packages +$ tar xf ~/Downloads/curl-7.54.1-513145c-linux64-513145c.tar.zst +$ tar xf ~/Downloads/dullahan-1.14.0.202401180326_118.7.1_g99817d2_chromium-118.0.5993.119-linux64-240180325.tar.bz2 +$ tar xf ~/Downloads/emoji_shortcodes-6.1.0.5413f58-linux64-5413f58.tar.zst +$ tar xf ~/Downloads/glh_linear-1.0.1-dev4-common-984c397.tar.zst +$ tar xf ~/Downloads/llca-202402012004.0-common-0f5d9c3.tar.zst +$ tar xf ~/Downloads/mikktspace-1-linux64-8756084692.tar.zst +$ tar xf ~/Downloads/openssl-1.1.1q.de53f55-linux64-de53f55.tar.zst +$ tar xf ~/Downloads/tinyexr-v1.0.8-common-9373975608.tar.zst +$ tar xf ~/Downloads/tinygltf-v2.5.0-common-1ae57fd.tar.zst +$ cd .. $ export LL_BUILD="-O3 -std=c++17 -fPIC -DLL_LINUX=1" ``` @@ -96,8 +124,20 @@ $ megapahit ### FreeBSD ``` -$ mkdir -p build/`uname -m`-unknown-freebsd14.1 -$ cd build/`uname -m`-unknown-freebsd14.1 +$ mkdir -p build/`uname -m`-unknown-freebsd14.1/packages +$ cd ~/Downloads +$ curl -OL https://github.com/secondlife/3p-emoji-shortcodes/releases/download/v6.1.0.5413f58/emoji_shortcodes-6.1.0.5413f58-linux64-5413f58.tar.zst -OL https://github.com/secondlife/3p-glh_linear/releases/download/v1.0.1-dev4-984c397/glh_linear-1.0.1-dev4-common-984c397.tar.zst -OL https://github.com/secondlife/llca/releases/download/v202402012004.0-0f5d9c3/llca-202402012004.0-common-0f5d9c3.tar.zst -OL https://github.com/secondlife/3p-mikktspace/releases/download/v2-e967e1b/mikktspace-1-linux64-8756084692.tar.zst -OL https://github.com/secondlife/3p-tinyexr/releases/download/v1.0.8-ba4bc64/tinyexr-v1.0.8-common-9373975608.tar.zst -OL https://github.com/secondlife/3p-tinygltf/releases/download/v2.5.0-1ae57fd/tinygltf-v2.5.0-common-1ae57fd.tar.zst -OL https://github.com/secondlife/3p-viewer-fonts/releases/download/v1.0.0-r1/viewer_fonts-1.0.0.8512067490-common-8512067490.tar.zst +$ cd - +$ cd indra/newview +$ tar xf ~/Downloads/viewer_fonts-1.0.0.8512067490-common-8512067490.tar.zst +$ cd ../../build/`uname -m`-unknown-freebsd14.1/packages +$ tar xf ~/Downloads/emoji_shortcodes-6.1.0.5413f58-linux64-5413f58.tar.zst +$ tar xf ~/Downloads/glh_linear-1.0.1-dev4-common-984c397.tar.zst +$ tar xf ~/Downloads/llca-202402012004.0-common-0f5d9c3.tar.zst +$ tar xf ~/Downloads/mikktspace-1-linux64-8756084692.tar.zst +$ tar xf ~/Downloads/tinyexr-v1.0.8-common-9373975608.tar.zst +$ tar xf ~/Downloads/tinygltf-v2.5.0-common-1ae57fd.tar.zst +$ cd .. $ setenv LL_BUILD "-O3 -std=c++17 -fPIC" # portmaster devel/cmake devel/pkgconf audio/freealut devel/apr1 devel/collada-dom textproc/hunspell x11-toolkits/gtk20 misc/meshoptimizer graphics/nanosvg graphics/openjpeg devel/sdl20 net/uriparser multimedia/vlc audio/libvorbis net/xmlrpc-epi devel/xxhash $ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DADDRESS_SIZE:INTERNAL=64 -DUSESYSTEMLIBS:BOOL=ON -DUSE_OPENAL:BOOL=ON -DLL_TESTS:BOOL=OFF -DNDOF:BOOL=OFF -DVIEWER_CHANNEL:STRING=Megapahit -DVIEWER_BINARY_NAME:STRING=megapahit -DBUILD_SHARED_LIBS:BOOL=OFF -DINSTALL:BOOL=ON -DPACKAGE:BOOL=ON -DCPACK_PACKAGE_NAME:STRING=megapahit -DCPACK_BINARY_STGZ:BOOL=OFF -DCPACK_BINARY_TGZ:BOOL=OFF -DCPACK_BINARY_TZ:BOOL=OFF -DCPACK_BINARY_FREEBSD:BOOL=ON -DCPACK_FREEBSD_PACKAGE_COMMENT:STRING="A fork of the Second Life viewer" -DCPACK_FREEBSD_PACKAGE_DESCRIPTION:STRING="An entrance to virtual empires in only megabytes. A shelter for the metaverse refugess, especially those from less supported operating systems." -DCPACK_FREEBSD_PACKAGE_WWW:STRING=https://megapahit.net -DCPACK_FREEBSD_PACKAGE_LICENSE:STRING=LGPL21 -DCPACK_FREEBSD_PACKAGE_MAINTAINER:STRING=$USER@$HOST -DCPACK_FREEBSD_PACKAGE_ORIGIN:STRING=net/megapahit -DCPACK_FREEBSD_PACKAGE_DEPS:STRING="audio/freealut;devel/collada-dom;graphics/libGLU;textproc/hunspell;misc/meshoptimizer;www/libnghttp2;graphics/openjpeg;net/uriparser;multimedia/vlc;audio/libvorbis;net/xmlrpc-epi" ../../indra -- cgit v1.2.3 From 0b2d53b0071e3127820c20629e0e89663133a2f1 Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Mon, 8 Jul 2024 17:27:37 +0800 Subject: NanoSVG install instructions for macOS & Debian --- README.md | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 88d0855c3f..d715452cd0 100644 --- a/README.md +++ b/README.md @@ -39,7 +39,7 @@ $ git switch -c megapahit ``` $ mkdir -p build/universal-apple-darwin`uname -r`/packages $ cd ~/Downloads -$ curl -OL https://github.com/secondlife/3p-curl/releases/download/v7.54.1-513145c/curl-7.54.1-513145c-darwin64-513145c.tar.zst -OL https://megapahit.net/downloads/dullahan-1.14.0.202312131437_118.7.1_g99817d2_chromium-118.0.5993.119-darwinuniversal-233471337.tar.bz2 -OL https://github.com/secondlife/3p-emoji-shortcodes/releases/download/v6.1.0.5413f58/emoji_shortcodes-6.1.0.5413f58-darwin64-5413f58.tar.zst -OL https://github.com/secondlife/3p-glh_linear/releases/download/v1.0.1-dev4-984c397/glh_linear-1.0.1-dev4-common-984c397.tar.zst -OL https://github.com/secondlife/llca/releases/download/v202402012004.0-0f5d9c3/llca-202402012004.0-common-0f5d9c3.tar.zst -OL https://github.com/secondlife/3p-mikktspace/releases/download/v2-e967e1b/mikktspace-1-darwin64-8756084692.tar.zst -OL https://github.com/secondlife/3p-openssl/releases/download/v1.1.1q.de53f55/openssl-1.1.1q.de53f55-darwin64-de53f55.tar.zst -OL https://github.com/secondlife/3p-tinyexr/releases/download/v1.0.8-ba4bc64/tinyexr-v1.0.8-common-9373975608.tar.zst -OL https://github.com/secondlife/3p-tinygltf/releases/download/v2.5.0-1ae57fd/tinygltf-v2.5.0-common-1ae57fd.tar.zst -OL https://github.com/secondlife/3p-viewer-fonts/releases/download/v1.0.0-r1/viewer_fonts-1.0.0.8512067490-common-8512067490.tar.zst +$ curl -OL https://github.com/secondlife/3p-curl/releases/download/v7.54.1-513145c/curl-7.54.1-513145c-darwin64-513145c.tar.zst -OL https://megapahit.net/downloads/dullahan-1.14.0.202312131437_118.7.1_g99817d2_chromium-118.0.5993.119-darwinuniversal-233471337.tar.bz2 -OL https://github.com/secondlife/3p-emoji-shortcodes/releases/download/v6.1.0.5413f58/emoji_shortcodes-6.1.0.5413f58-darwin64-5413f58.tar.zst -OL https://github.com/secondlife/3p-glh_linear/releases/download/v1.0.1-dev4-984c397/glh_linear-1.0.1-dev4-common-984c397.tar.zst -OL https://github.com/secondlife/llca/releases/download/v202402012004.0-0f5d9c3/llca-202402012004.0-common-0f5d9c3.tar.zst -OL https://github.com/secondlife/3p-mikktspace/releases/download/v2-e967e1b/mikktspace-1-darwin64-8756084692.tar.zst -OL https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/115452/994130/nanosvg-2022.09.27-darwin64-580364.tar.bz2 -OL https://github.com/secondlife/3p-openssl/releases/download/v1.1.1q.de53f55/openssl-1.1.1q.de53f55-darwin64-de53f55.tar.zst -OL https://github.com/secondlife/3p-tinyexr/releases/download/v1.0.8-ba4bc64/tinyexr-v1.0.8-common-9373975608.tar.zst -OL https://github.com/secondlife/3p-tinygltf/releases/download/v2.5.0-1ae57fd/tinygltf-v2.5.0-common-1ae57fd.tar.zst -OL https://github.com/secondlife/3p-viewer-fonts/releases/download/v1.0.0-r1/viewer_fonts-1.0.0.8512067490-common-8512067490.tar.zst -OL https://sourceforge.net/projects/xmlrpc-epi/files/xmlrpc-epi-base/0.54.2/xmlrpc-epi-0.54.2.tar.bz2 $ cd - $ cd indra/newview $ tar xf ~/Downloads/viewer_fonts-1.0.0.8512067490-common-8512067490.tar.zst @@ -50,6 +50,7 @@ $ tar xf ~/Downloads/emoji_shortcodes-6.1.0.5413f58-darwin64-5413f58.tar.zst $ tar xf ~/Downloads/glh_linear-1.0.1-dev4-common-984c397.tar.zst $ tar xf ~/Downloads/llca-202402012004.0-common-0f5d9c3.tar.zst $ tar xf ~/Downloads/mikktspace-1-darwin64-8756084692.tar.zst +$ tar xf ~/Downloads/nanosvg-2022.09.27-darwin64-580364.tar.bz2 $ tar xf ~/Downloads/openssl-1.1.1q.de53f55-darwin64-de53f55.tar.zst $ tar xf ~/Downloads/tinyexr-v1.0.8-common-9373975608.tar.zst $ tar xf ~/Downloads/tinygltf-v2.5.0-common-1ae57fd.tar.zst @@ -88,6 +89,12 @@ $ export LL_BUILD="-O3 -std=c++17 -fPIC -DLL_LINUX=1" #### Debian 12.5 ``` +$ cd ~/Downloads +$ curl -OL https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/115397/993664/nanosvg-2022.09.27-linux-580337.tar.bz2 +$ cd - +$ cd ../../build/`uname -m`-linux-gnu/packages +$ tar xf ~/Downloads/nanosvg-2022.09.27-linux-580337.tar.bz2 +$ cd .. # apt install cmake pkg-config libalut-dev libaprutil1-dev libboost-fiber-dev libboost-program-options-dev libboost-regex-dev libcollada-dom-dev libexpat1-dev libglu1-mesa-dev libgtk2.0-dev libhunspell-dev libjsoncpp-dev libmeshoptimizer-dev libnghttp2-dev libsdl2-dev liburiparser-dev libvlc-dev libvlccore-dev libvorbis-dev libxmlrpc-epi-dev libxxhash-dev $ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_INSTALL_PREFIX:PATH=/usr -DADDRESS_SIZE:INTERNAL=64 -DUSESYSTEMLIBS:BOOL=ON -DUSE_OPENAL:BOOL=ON -DLL_TESTS:BOOL=OFF -DNDOF:BOOL=OFF -DVIEWER_CHANNEL:STRING=Megapahit -DVIEWER_BINARY_NAME:STRING=megapahit -DBUILD_SHARED_LIBS:BOOL=OFF -DINSTALL:BOOL=ON -DPACKAGE:BOOL=ON -DCPACK_PACKAGE_NAME:STRING=megapahit -DCPACK_BINARY_STGZ:BOOL=OFF -DCPACK_BINARY_TGZ:BOOL=OFF -DCPACK_BINARY_TZ:BOOL=OFF -DCPACK_BINARY_DEB:BOOL=ON -DCPACK_DEBIAN_PACKAGE_ARCHITECTURE:STRING=amd64 -DCPACK_DEBIAN_PACKAGE_DESCRIPTION:STRING="A fork of the Second Life viewer" -DCPACK_DEBIAN_PACKAGE_MAINTAINER:STRING=$USER@$HOST -DCPACK_DEBIAN_PACKAGE_SECTION:STRING=net -DCPACK_DEBIAN_PACKAGE_DEPENDES:STRING="libalut0, libaprutil1, libboost-fiber1.74.0 | libboost-fiber1.81.0, libboost-program-options1.74.0 | libboost-program-options1.81.0, libboost-regex1.74.0 | libboost-regex1.81.0, libboost-thread1.74.0 | libboost-thread1.81.0, libcollada-dom2.5-dp0, libexpat1, libgtk2.0-0, libglu1-mesa, libhunspell-1.7-0, libjsoncpp25, libmeshoptimizer2d (>= 0.18), libnghttp2-14, libsdl2-2.0-0, liburiparser1, libvlc5, libvorbisenc2, libvorbisfile3, libxmlrpc-epi0, vlc-plugin-base" ../../indra $ cmake ../../indra -- cgit v1.2.3 From d0095fb79908c14d89aed92c0b3194850b42d9f6 Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Mon, 8 Jul 2024 17:36:30 +0800 Subject: Replace root commands with sudo ones in README.md and set the runtime dependencies as automatically installed on FBSD. --- README.md | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index d715452cd0..6fac74677b 100644 --- a/README.md +++ b/README.md @@ -56,7 +56,7 @@ $ tar xf ~/Downloads/tinyexr-v1.0.8-common-9373975608.tar.zst $ tar xf ~/Downloads/tinygltf-v2.5.0-common-1ae57fd.tar.zst $ cd .. $ export LL_BUILD="-O3 -gdwarf-2 -stdlib=libc++ -iwithsysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk -std=c++17 -fPIC -DLL_RELEASE=1 -DLL_RELEASE_FOR_DOWNLOAD=1 -DNDEBUG -DPIC -DLL_DARWIN=1" -# port install cmake pkgconfig freealut +universal apr-util +universal boost +universal collada-dom +universal hunspell +universal jsoncpp +universal openjpeg +universal libsdl2 +universal uriparser +universal +$ sudo port install cmake pkgconfig freealut +universal apr-util +universal boost +universal collada-dom +universal hunspell +universal jsoncpp +universal openjpeg +universal libsdl2 +universal uriparser +universal $ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_INSTALL_PREFIX:PATH=newview/Megapahit.app/Contents -DCMAKE_OSX_ARCHITECTURES:STRING="arm64;x86_64" -DADDRESS_SIZE:INTERNAL=64 -DUSESYSTEMLIBS:BOOL=ON -DUSE_OPENAL:BOOL=ON -DLL_TESTS:BOOL=OFF -DNDOF:BOOL=OFF -DVIEWER_CHANNEL:STRING=Megapahit -DVIEWER_BINARY_NAME:STRING=megapahit -DBUILD_SHARED_LIBS:BOOL=OFF -DINSTALL:BOOL=ON -DPACKAGE:BOOL=OFF ../../indra $ make -j`gnproc` $ make install @@ -95,36 +95,36 @@ $ cd - $ cd ../../build/`uname -m`-linux-gnu/packages $ tar xf ~/Downloads/nanosvg-2022.09.27-linux-580337.tar.bz2 $ cd .. -# apt install cmake pkg-config libalut-dev libaprutil1-dev libboost-fiber-dev libboost-program-options-dev libboost-regex-dev libcollada-dom-dev libexpat1-dev libglu1-mesa-dev libgtk2.0-dev libhunspell-dev libjsoncpp-dev libmeshoptimizer-dev libnghttp2-dev libsdl2-dev liburiparser-dev libvlc-dev libvlccore-dev libvorbis-dev libxmlrpc-epi-dev libxxhash-dev +$ sudo apt install cmake pkg-config libalut-dev libaprutil1-dev libboost-fiber-dev libboost-program-options-dev libboost-regex-dev libcollada-dom-dev libexpat1-dev libglu1-mesa-dev libgtk2.0-dev libhunspell-dev libjsoncpp-dev libmeshoptimizer-dev libnghttp2-dev libsdl2-dev liburiparser-dev libvlc-dev libvlccore-dev libvorbis-dev libxmlrpc-epi-dev libxxhash-dev $ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_INSTALL_PREFIX:PATH=/usr -DADDRESS_SIZE:INTERNAL=64 -DUSESYSTEMLIBS:BOOL=ON -DUSE_OPENAL:BOOL=ON -DLL_TESTS:BOOL=OFF -DNDOF:BOOL=OFF -DVIEWER_CHANNEL:STRING=Megapahit -DVIEWER_BINARY_NAME:STRING=megapahit -DBUILD_SHARED_LIBS:BOOL=OFF -DINSTALL:BOOL=ON -DPACKAGE:BOOL=ON -DCPACK_PACKAGE_NAME:STRING=megapahit -DCPACK_BINARY_STGZ:BOOL=OFF -DCPACK_BINARY_TGZ:BOOL=OFF -DCPACK_BINARY_TZ:BOOL=OFF -DCPACK_BINARY_DEB:BOOL=ON -DCPACK_DEBIAN_PACKAGE_ARCHITECTURE:STRING=amd64 -DCPACK_DEBIAN_PACKAGE_DESCRIPTION:STRING="A fork of the Second Life viewer" -DCPACK_DEBIAN_PACKAGE_MAINTAINER:STRING=$USER@$HOST -DCPACK_DEBIAN_PACKAGE_SECTION:STRING=net -DCPACK_DEBIAN_PACKAGE_DEPENDES:STRING="libalut0, libaprutil1, libboost-fiber1.74.0 | libboost-fiber1.81.0, libboost-program-options1.74.0 | libboost-program-options1.81.0, libboost-regex1.74.0 | libboost-regex1.81.0, libboost-thread1.74.0 | libboost-thread1.81.0, libcollada-dom2.5-dp0, libexpat1, libgtk2.0-0, libglu1-mesa, libhunspell-1.7-0, libjsoncpp25, libmeshoptimizer2d (>= 0.18), libnghttp2-14, libsdl2-2.0-0, liburiparser1, libvlc5, libvorbisenc2, libvorbisfile3, libxmlrpc-epi0, vlc-plugin-base" ../../indra $ cmake ../../indra $ make -j`nproc` $ cpack -G DEB -# apt install megapahit-`cat newview/viewer_version.txt`-Linux.deb +$ sudo apt install megapahit-`cat newview/viewer_version.txt`-Linux.deb $ megapahit ``` #### Ubuntu 24.04 ``` -# apt install cmake pkg-config libalut-dev libaprutil1-dev libboost-fiber-dev libboost-program-options-dev libboost-regex-dev libcollada-dom-dev libexpat1-dev libglu1-mesa-dev libgtk2.0-dev libhunspell-dev libjsoncpp-dev libmeshoptimizer-dev libnanosvg-dev libnghttp2-dev libsdl2-dev liburiparser-dev libvlc-dev libvlccore-dev libvorbis-dev libxmlrpc-epi-dev libxxhash-dev +$ sudo apt install cmake pkg-config libalut-dev libaprutil1-dev libboost-fiber-dev libboost-program-options-dev libboost-regex-dev libcollada-dom-dev libexpat1-dev libglu1-mesa-dev libgtk2.0-dev libhunspell-dev libjsoncpp-dev libmeshoptimizer-dev libnanosvg-dev libnghttp2-dev libsdl2-dev liburiparser-dev libvlc-dev libvlccore-dev libvorbis-dev libxmlrpc-epi-dev libxxhash-dev $ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_INSTALL_PREFIX:PATH=/usr -DADDRESS_SIZE:INTERNAL=64 -DUSESYSTEMLIBS:BOOL=ON -DUSE_OPENAL:BOOL=ON -DLL_TESTS:BOOL=OFF -DNDOF:BOOL=OFF -DVIEWER_CHANNEL:STRING=Megapahit -DVIEWER_BINARY_NAME:STRING=megapahit -DBUILD_SHARED_LIBS:BOOL=OFF -DINSTALL:BOOL=ON -DPACKAGE:BOOL=ON -DCPACK_PACKAGE_NAME:STRING=megapahit -DCPACK_BINARY_STGZ:BOOL=OFF -DCPACK_BINARY_TGZ:BOOL=OFF -DCPACK_BINARY_TZ:BOOL=OFF -DCPACK_BINARY_DEB:BOOL=ON -DCPACK_DEBIAN_PACKAGE_ARCHITECTURE:STRING=amd64 -DCPACK_DEBIAN_PACKAGE_DESCRIPTION:STRING="A fork of the Second Life viewer" -DCPACK_DEBIAN_PACKAGE_MAINTAINER:STRING=$USER@$HOST -DCPACK_DEBIAN_PACKAGE_SECTION:STRING=net -DCPACK_DEBIAN_PACKAGE_DEPENDES:STRING="libalut0, libaprutil1t64, libboost-fiber1.83.0, libboost-program-options1.83.0, libboost-regex1.83.0, libboost-thread1.83.0, libcollada-dom2.5-dp0, libexpat1, libgtk2.0-0t64, libglu1-mesa, libhunspell-1.7-0, libjsoncpp25, libmeshoptimizer2d, libnghttp2-14, libsdl2-2.0-0, liburiparser1, libvlc5, libvorbisenc2, libvorbisfile3, libxmlrpc-epi0t64, vlc-plugin-base" ../../indra $ cmake ../../indra $ make -j`nproc` $ cpack -G DEB -# apt install megapahit-`cat newview/viewer_version.txt`-Linux.deb +$ sudo apt install megapahit-`cat newview/viewer_version.txt`-Linux.deb $ megapahit ``` #### Fedora ``` -# dnf install cmake gcc-c++ freealut-devel apr-util-devel boost-devel collada-dom-devel expat-devel mesa-libGLU-devel gtk2-devel hunspell-devel jsoncpp-devel libnghttp2-devel nanosvg-devel openjpeg2-devel SDL2-devel uriparser-devel vlc-devel libvorbis-devel xmlrpc-epi-devel xxhash-devel zstd +$ sudo dnf install cmake gcc-c++ freealut-devel apr-util-devel boost-devel collada-dom-devel expat-devel mesa-libGLU-devel gtk2-devel hunspell-devel jsoncpp-devel libnghttp2-devel nanosvg-devel openjpeg2-devel SDL2-devel uriparser-devel vlc-devel libvorbis-devel xmlrpc-epi-devel xxhash-devel zstd $ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_INSTALL_PREFIX:PATH=/usr -DADDRESS_SIZE:INTERNAL=64 -DUSESYSTEMLIBS:BOOL=ON -DUSE_OPENAL:BOOL=ON -DLL_TESTS:BOOL=OFF -DNDOF:BOOL=OFF -DVIEWER_CHANNEL:STRING=Megapahit -DVIEWER_BINARY_NAME:STRING=megapahit -DBUILD_SHARED_LIBS:BOOL=OFF -DINSTALL:BOOL=ON -DPACKAGE:BOOL=ON -DCPACK_PACKAGE_NAME:STRING=megapahit -DCPACK_BINARY_STGZ:BOOL=OFF -DCPACK_BINARY_TGZ:BOOL=OFF -DCPACK_BINARY_TZ:BOOL=OFF -DCPACK_BINARY_RPM:BOOL=ON -DCPACK_RPM_PACKAGE_SUMMARY:STRING="A fork of the Second Life viewer" -DCPACK_RPM_PACKAGE_ARCHITECTURE:STRING=`uname -m` -DCPACK_RPM_PACKAGE_LICENSE:STRING=LGPL-2.1-only -DCPACK_RPM_PACKAGE_VENDOR:STRING=Megapahit -DCPACK_RPM_PACKAGE_URL:STRING=https://megapahit.net -DCPACK_RPM_PACKAGE_DESCRIPTION:STRING="An entrance to virtual empires in only megabytes. A shelter for the metaverse refugess, especially those from less supported operating systems." -DCPACK_RPM_PACKAGE_REQUIRES:STRING="freealut, apr-util, boost-fiber, boost-program-options, boost-regex, boost-thread, collada-dom, expat, mesa-libGLU, gtk2, hunspell, jsoncpp, libnghttp2, openjpeg2, SDL2, uriparser, vlc-libs, vlc-plugins-base, libvorbis, xmlrpc-epi" ../../indra $ cmake ../../indra $ make -j`nproc` $ cpack -G RPM -# rpm -i megapahit-`cat newview/viewer_version.txt`-Linux.rpm +$ sudo rpm -i megapahit-`cat newview/viewer_version.txt`-Linux.rpm $ megapahit ``` @@ -146,12 +146,15 @@ $ tar xf ~/Downloads/tinyexr-v1.0.8-common-9373975608.tar.zst $ tar xf ~/Downloads/tinygltf-v2.5.0-common-1ae57fd.tar.zst $ cd .. $ setenv LL_BUILD "-O3 -std=c++17 -fPIC" +$ sudo su - # portmaster devel/cmake devel/pkgconf audio/freealut devel/apr1 devel/collada-dom textproc/hunspell x11-toolkits/gtk20 misc/meshoptimizer graphics/nanosvg graphics/openjpeg devel/sdl20 net/uriparser multimedia/vlc audio/libvorbis net/xmlrpc-epi devel/xxhash +# exit $ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DADDRESS_SIZE:INTERNAL=64 -DUSESYSTEMLIBS:BOOL=ON -DUSE_OPENAL:BOOL=ON -DLL_TESTS:BOOL=OFF -DNDOF:BOOL=OFF -DVIEWER_CHANNEL:STRING=Megapahit -DVIEWER_BINARY_NAME:STRING=megapahit -DBUILD_SHARED_LIBS:BOOL=OFF -DINSTALL:BOOL=ON -DPACKAGE:BOOL=ON -DCPACK_PACKAGE_NAME:STRING=megapahit -DCPACK_BINARY_STGZ:BOOL=OFF -DCPACK_BINARY_TGZ:BOOL=OFF -DCPACK_BINARY_TZ:BOOL=OFF -DCPACK_BINARY_FREEBSD:BOOL=ON -DCPACK_FREEBSD_PACKAGE_COMMENT:STRING="A fork of the Second Life viewer" -DCPACK_FREEBSD_PACKAGE_DESCRIPTION:STRING="An entrance to virtual empires in only megabytes. A shelter for the metaverse refugess, especially those from less supported operating systems." -DCPACK_FREEBSD_PACKAGE_WWW:STRING=https://megapahit.net -DCPACK_FREEBSD_PACKAGE_LICENSE:STRING=LGPL21 -DCPACK_FREEBSD_PACKAGE_MAINTAINER:STRING=$USER@$HOST -DCPACK_FREEBSD_PACKAGE_ORIGIN:STRING=net/megapahit -DCPACK_FREEBSD_PACKAGE_DEPS:STRING="audio/freealut;devel/collada-dom;graphics/libGLU;textproc/hunspell;misc/meshoptimizer;www/libnghttp2;graphics/openjpeg;net/uriparser;multimedia/vlc;audio/libvorbis;net/xmlrpc-epi" ../../indra $ cmake ../../indra $ make -j`nproc` -# cpack -G FREEBSD -# pkg add megapahit-`cat newview/viewer_version.txt`-FreeBSD.pkg +$ sudo cpack -G FREEBSD +$ sudo pkg add megapahit-`cat newview/viewer_version.txt`-FreeBSD.pkg +$ sudo pkg set -yA 1 freealut apr1 collada-dom hunspell gtk20 meshoptimizer nanosvg openjpeg sdl20 uriparser vlc libvorbis xmlrpc-epi $ megapahit ``` -- cgit v1.2.3 From d751e15b17f779b0f76f82426d00a02f42c4b9ab Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Mon, 8 Jul 2024 18:21:56 +0800 Subject: macOS & Fedora meshoptimizer install instructions --- README.md | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 6fac74677b..7345ec2df4 100644 --- a/README.md +++ b/README.md @@ -39,9 +39,17 @@ $ git switch -c megapahit ``` $ mkdir -p build/universal-apple-darwin`uname -r`/packages $ cd ~/Downloads -$ curl -OL https://github.com/secondlife/3p-curl/releases/download/v7.54.1-513145c/curl-7.54.1-513145c-darwin64-513145c.tar.zst -OL https://megapahit.net/downloads/dullahan-1.14.0.202312131437_118.7.1_g99817d2_chromium-118.0.5993.119-darwinuniversal-233471337.tar.bz2 -OL https://github.com/secondlife/3p-emoji-shortcodes/releases/download/v6.1.0.5413f58/emoji_shortcodes-6.1.0.5413f58-darwin64-5413f58.tar.zst -OL https://github.com/secondlife/3p-glh_linear/releases/download/v1.0.1-dev4-984c397/glh_linear-1.0.1-dev4-common-984c397.tar.zst -OL https://github.com/secondlife/llca/releases/download/v202402012004.0-0f5d9c3/llca-202402012004.0-common-0f5d9c3.tar.zst -OL https://github.com/secondlife/3p-mikktspace/releases/download/v2-e967e1b/mikktspace-1-darwin64-8756084692.tar.zst -OL https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/115452/994130/nanosvg-2022.09.27-darwin64-580364.tar.bz2 -OL https://github.com/secondlife/3p-openssl/releases/download/v1.1.1q.de53f55/openssl-1.1.1q.de53f55-darwin64-de53f55.tar.zst -OL https://github.com/secondlife/3p-tinyexr/releases/download/v1.0.8-ba4bc64/tinyexr-v1.0.8-common-9373975608.tar.zst -OL https://github.com/secondlife/3p-tinygltf/releases/download/v2.5.0-1ae57fd/tinygltf-v2.5.0-common-1ae57fd.tar.zst -OL https://github.com/secondlife/3p-viewer-fonts/releases/download/v1.0.0-r1/viewer_fonts-1.0.0.8512067490-common-8512067490.tar.zst -OL https://sourceforge.net/projects/xmlrpc-epi/files/xmlrpc-epi-base/0.54.2/xmlrpc-epi-0.54.2.tar.bz2 +$ curl -OL https://github.com/secondlife/3p-curl/releases/download/v7.54.1-513145c/curl-7.54.1-513145c-darwin64-513145c.tar.zst -OL https://megapahit.net/downloads/dullahan-1.14.0.202312131437_118.7.1_g99817d2_chromium-118.0.5993.119-darwinuniversal-233471337.tar.bz2 -OL https://github.com/secondlife/3p-emoji-shortcodes/releases/download/v6.1.0.5413f58/emoji_shortcodes-6.1.0.5413f58-darwin64-5413f58.tar.zst -OL https://github.com/secondlife/3p-glh_linear/releases/download/v1.0.1-dev4-984c397/glh_linear-1.0.1-dev4-common-984c397.tar.zst -OL https://github.com/secondlife/llca/releases/download/v202402012004.0-0f5d9c3/llca-202402012004.0-common-0f5d9c3.tar.zst -L https://github.com/zeux/meshoptimizer/archive/refs/tags/v0.21.tar.gz -o meshoptimizer-0.21.tar.gz -OL https://github.com/secondlife/3p-mikktspace/releases/download/v2-e967e1b/mikktspace-1-darwin64-8756084692.tar.zst -OL https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/115452/994130/nanosvg-2022.09.27-darwin64-580364.tar.bz2 -OL https://github.com/secondlife/3p-openssl/releases/download/v1.1.1q.de53f55/openssl-1.1.1q.de53f55-darwin64-de53f55.tar.zst -OL https://github.com/secondlife/3p-tinyexr/releases/download/v1.0.8-ba4bc64/tinyexr-v1.0.8-common-9373975608.tar.zst -OL https://github.com/secondlife/3p-tinygltf/releases/download/v2.5.0-1ae57fd/tinygltf-v2.5.0-common-1ae57fd.tar.zst -OL https://github.com/secondlife/3p-viewer-fonts/releases/download/v1.0.0-r1/viewer_fonts-1.0.0.8512067490-common-8512067490.tar.zst -OL https://sourceforge.net/projects/xmlrpc-epi/files/xmlrpc-epi-base/0.54.2/xmlrpc-epi-0.54.2.tar.bz2 $ cd - -$ cd indra/newview +$ cd .. +$ tar xf ~/Downloads/meshoptimizer-0.21.tar.gz +$ cd meshoptimizer-0.21 +$ mkdir -p build/universal-apple-darwin`uname -r` +$ cd build/universal-apple-darwin`uname -r` +$ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_OSX_ARCHITECTURES:STRING="arm64;x86_64" -DCMAKE_OSX_DEPLOYMENT_TARGET:STRING=12.0 -DMESHOPT_BUILD_SHARED_LIBS:BOOL=ON ../.. +$ make -j`gnproc` +$ sudo make install +$ cd ../../../viewer/indra/newview $ tar xf ~/Downloads/viewer_fonts-1.0.0.8512067490-common-8512067490.tar.zst $ cd ../../build/universal-apple-darwin`uname -r`/packages $ tar xf ~/Downloads/curl-7.54.1-513145c-darwin64-513145c.tar.zst @@ -119,6 +127,18 @@ $ megapahit #### Fedora ``` +$ cd ~/Downloads +$ curl -L https://github.com/zeux/meshoptimizer/archive/refs/tags/v0.21.tar.gz -o meshoptimizer-0.21.tar.gz +$ cd - +$ cd .. +$ tar xf ~/Downloads/meshoptimizer-0.21.tar.gz +$ cd meshoptimizer-0.21 +$ mkdir -p build/`uname -m`-linux-gnu +$ cd build/`uname -m`-linux-gnu +$ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DMESHOPT_BUILD_SHARED_LIBS:BOOL=ON ../.. +$ make -j`nproc` +$ sudo make install +$ cd ../../../viewer/build/`uname -m`-linux-gnu $ sudo dnf install cmake gcc-c++ freealut-devel apr-util-devel boost-devel collada-dom-devel expat-devel mesa-libGLU-devel gtk2-devel hunspell-devel jsoncpp-devel libnghttp2-devel nanosvg-devel openjpeg2-devel SDL2-devel uriparser-devel vlc-devel libvorbis-devel xmlrpc-epi-devel xxhash-devel zstd $ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_INSTALL_PREFIX:PATH=/usr -DADDRESS_SIZE:INTERNAL=64 -DUSESYSTEMLIBS:BOOL=ON -DUSE_OPENAL:BOOL=ON -DLL_TESTS:BOOL=OFF -DNDOF:BOOL=OFF -DVIEWER_CHANNEL:STRING=Megapahit -DVIEWER_BINARY_NAME:STRING=megapahit -DBUILD_SHARED_LIBS:BOOL=OFF -DINSTALL:BOOL=ON -DPACKAGE:BOOL=ON -DCPACK_PACKAGE_NAME:STRING=megapahit -DCPACK_BINARY_STGZ:BOOL=OFF -DCPACK_BINARY_TGZ:BOOL=OFF -DCPACK_BINARY_TZ:BOOL=OFF -DCPACK_BINARY_RPM:BOOL=ON -DCPACK_RPM_PACKAGE_SUMMARY:STRING="A fork of the Second Life viewer" -DCPACK_RPM_PACKAGE_ARCHITECTURE:STRING=`uname -m` -DCPACK_RPM_PACKAGE_LICENSE:STRING=LGPL-2.1-only -DCPACK_RPM_PACKAGE_VENDOR:STRING=Megapahit -DCPACK_RPM_PACKAGE_URL:STRING=https://megapahit.net -DCPACK_RPM_PACKAGE_DESCRIPTION:STRING="An entrance to virtual empires in only megabytes. A shelter for the metaverse refugess, especially those from less supported operating systems." -DCPACK_RPM_PACKAGE_REQUIRES:STRING="freealut, apr-util, boost-fiber, boost-program-options, boost-regex, boost-thread, collada-dom, expat, mesa-libGLU, gtk2, hunspell, jsoncpp, libnghttp2, openjpeg2, SDL2, uriparser, vlc-libs, vlc-plugins-base, libvorbis, xmlrpc-epi" ../../indra $ cmake ../../indra -- cgit v1.2.3 From b4fd04420d75ceb4add3c78d7984672fa8fab7ef Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Mon, 8 Jul 2024 19:13:19 +0800 Subject: meshoptimizer shouldn't be dynamic on Fedora since we don't bundle 3rd-party libraries in RPMs. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 7345ec2df4..ada84fefa0 100644 --- a/README.md +++ b/README.md @@ -135,7 +135,7 @@ $ tar xf ~/Downloads/meshoptimizer-0.21.tar.gz $ cd meshoptimizer-0.21 $ mkdir -p build/`uname -m`-linux-gnu $ cd build/`uname -m`-linux-gnu -$ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DMESHOPT_BUILD_SHARED_LIBS:BOOL=ON ../.. +$ cmake -DCMAKE_BUILD_TYPE:STRING=Release ../.. $ make -j`nproc` $ sudo make install $ cd ../../../viewer/build/`uname -m`-linux-gnu -- cgit v1.2.3 From 48c6f170a8852d8b7b82218b167e4ea636abbf52 Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Mon, 8 Jul 2024 21:02:25 +0800 Subject: XMLRPC-EPI install instructions for macOS --- README.md | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/README.md b/README.md index ada84fefa0..195b7c52df 100644 --- a/README.md +++ b/README.md @@ -43,12 +43,32 @@ $ curl -OL https://github.com/secondlife/3p-curl/releases/download/v7.54.1-51314 $ cd - $ cd .. $ tar xf ~/Downloads/meshoptimizer-0.21.tar.gz +$ tar xf ~/Downloads/xmlrpc-epi-0.54.2.tar.bz2 $ cd meshoptimizer-0.21 $ mkdir -p build/universal-apple-darwin`uname -r` $ cd build/universal-apple-darwin`uname -r` $ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_OSX_ARCHITECTURES:STRING="arm64;x86_64" -DCMAKE_OSX_DEPLOYMENT_TARGET:STRING=12.0 -DMESHOPT_BUILD_SHARED_LIBS:BOOL=ON ../.. $ make -j`gnproc` $ sudo make install +$ cd ../../../xmlrpc-epi-0.54.2 +$ rm -f config.sub missing +$ autoreconf -is +$ mkdir -p build/x86_64-apple-darwin`uname -r` +$ cd build/x86_64-apple-darwin`uname -r` +$ export CFLAGS="-arch x86_64" +$ ../../configure --host=x86_64-apple-darwin`uname -r` +$ make -j`gnproc` +$ sudo make install +$ cd - +$ sed -i '' -e 's/XMLRPC_VALUE find_named_value/__attribute__((always_inline)) XMLRPC_VALUE find_named_value/g' src/xmlrpc_introspection.c +$ sed -i '' -e 's/void describe_method/__attribute__((always_inline)) void describe_method/g' src/xmlrpc_introspection.c +$ mkdir -p build/aarch64-apple-darwin`uname -r` +$ cd build/aarch64-apple-darwin`uname -r` +$ export CFLAGS="-arch arm64" +$ ../../configure --host=aarch64-apple-darwin`uname -r` +$ make -j`gnproc` +$ sudo lipo src/.libs/libxmlrpc-epi.a /usr/local/lib/libxmlrpc-epi.a -create -output /usr/local/lib/libxmlrpc-epi.a +$ sudo lipo src/.libs/libxmlrpc-epi.0.dylib /usr/local/lib/libxmlrpc-epi.0.dylib -create -output /usr/local/lib/libxmlrpc-epi.0.dylib $ cd ../../../viewer/indra/newview $ tar xf ~/Downloads/viewer_fonts-1.0.0.8512067490-common-8512067490.tar.zst $ cd ../../build/universal-apple-darwin`uname -r`/packages -- cgit v1.2.3 From df882b8a1a84089f4415a0dce329b2feef96081b Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Mon, 8 Jul 2024 23:58:04 +0800 Subject: Explicit on every permission desired for Dullahan otherwise those executables couldn't be read and therefore couldn't be copied for bundle preparation, for example. --- indra/newview/FixBundle.cmake.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/indra/newview/FixBundle.cmake.in b/indra/newview/FixBundle.cmake.in index 0cc1569890..b2957cd9b5 100644 --- a/indra/newview/FixBundle.cmake.in +++ b/indra/newview/FixBundle.cmake.in @@ -157,5 +157,5 @@ file(CHMOD "${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/SLPlugin.app/Contents/Frameworks/DullahanHelper (GPU).app/Contents/MacOS/DullahanHelper (GPU)" "${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/SLPlugin.app/Contents/Frameworks/DullahanHelper (Plugin).app/Contents/MacOS/DullahanHelper (Plugin)" "${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/SLPlugin.app/Contents/Frameworks/DullahanHelper (Renderer).app/Contents/MacOS/DullahanHelper (Renderer)" - PERMISSIONS OWNER_EXECUTE GROUP_EXECUTE WORLD_EXECUTE + PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE ) -- cgit v1.2.3 From e44ccd4f19146c3313ecc67f813547a8c37b5c0f Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Tue, 9 Jul 2024 00:07:24 +0800 Subject: NDOF can be enabled for Space Navigator support --- indra/cmake/NDOF.cmake | 2 ++ indra/newview/ViewerInstall.cmake | 7 +++++++ 2 files changed, 9 insertions(+) diff --git a/indra/cmake/NDOF.cmake b/indra/cmake/NDOF.cmake index b88fbccf2a..aa0f0d042c 100644 --- a/indra/cmake/NDOF.cmake +++ b/indra/cmake/NDOF.cmake @@ -7,11 +7,13 @@ include_guard() add_library( ll::ndof INTERFACE IMPORTED ) if (NDOF) + if (NOT USESYSTEMLIBS) if (WINDOWS OR DARWIN) use_prebuilt_binary(libndofdev) elseif (LINUX) use_prebuilt_binary(open-libndofdev) endif (WINDOWS OR DARWIN) + endif (NOT USESYSTEMLIBS) if (WINDOWS) target_link_libraries( ll::ndof INTERFACE libndofdev) diff --git a/indra/newview/ViewerInstall.cmake b/indra/newview/ViewerInstall.cmake index b6f5569061..b6e670d09b 100644 --- a/indra/newview/ViewerInstall.cmake +++ b/indra/newview/ViewerInstall.cmake @@ -59,6 +59,13 @@ if (DARWIN) DESTINATION Resources/SLPlugin.app/Contents/Frameworks ) + if (NDOF) + install(FILES + "${AUTOBUILD_INSTALL_DIR}/lib/release/libndofdev.dylib" + DESTINATION Resources + ) + endif () + configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/FixBundle.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/FixBundle.cmake -- cgit v1.2.3 From ec4a26a4169c7a0d1f5bf11586889843db47475b Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Tue, 9 Jul 2024 12:02:53 +0800 Subject: OpenSSL & libcurl install instructions for macOS --- README.md | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 195b7c52df..12507dc390 100644 --- a/README.md +++ b/README.md @@ -44,6 +44,8 @@ $ cd - $ cd .. $ tar xf ~/Downloads/meshoptimizer-0.21.tar.gz $ tar xf ~/Downloads/xmlrpc-epi-0.54.2.tar.bz2 +$ git clone https://github.com/secondlife/3p-openssl +$ git clone https://github.com/secondlife/3p-curl $ cd meshoptimizer-0.21 $ mkdir -p build/universal-apple-darwin`uname -r` $ cd build/universal-apple-darwin`uname -r` @@ -69,7 +71,22 @@ $ ../../configure --host=aarch64-apple-darwin`uname -r` $ make -j`gnproc` $ sudo lipo src/.libs/libxmlrpc-epi.a /usr/local/lib/libxmlrpc-epi.a -create -output /usr/local/lib/libxmlrpc-epi.a $ sudo lipo src/.libs/libxmlrpc-epi.0.dylib /usr/local/lib/libxmlrpc-epi.0.dylib -create -output /usr/local/lib/libxmlrpc-epi.0.dylib -$ cd ../../../viewer/indra/newview +$ unset CFLAGS +$ cd ../../../../3p-openssl/openssl +$ mkdir -p build/aarch64-apple-darwin`uname -r` +$ cd build/aarch64-apple-darwin`uname -r` +$ ../../Configure no-shared darwin64-arm64-cc +$ make -j`gnproc` +$ cd ../../../../3p-curl/curl +$ mkdir -p build/aarch64-apple-darwin`uname -r` +$ cd build/aarch64-apple-darwin`uname -r` +$ export CFLAGS="-arch arm64 -mmacosx-version-min=12.0" +$ sudo port deactivate openssl3 +$ ../../configure --host=aarch64-apple-darwin`uname -r` --disable-alt-svc --disable-dict --disable-doh --disable-file --disable-gopher --disable-headers-api --disable-hsts --disable-imap --disable-ldap --disable-ldaps --disable-libcurl-option --disable-manual --disable-mqtt --disable-ntlm --disable-ntlm-wb --disable-pop3 --disable-rtsp --disable-shared --disable-smb --disable-smtp --disable-sspi --disable-telnet --disable-tftp --disable-tls-srp --disable-unix-sockets --disable-verbose --disable-versioned-symbols --enable-threaded-resolver --with-ssl=/opt/local/libexec/openssl11 --with-nghttp2=/opt/local --without-libidn2 --without-libpsl +$ make -j`gnproc` +$ sudo port activate openssl3 +$ unset CFLAGS +$ cd ../../../../viewer/indra/newview $ tar xf ~/Downloads/viewer_fonts-1.0.0.8512067490-common-8512067490.tar.zst $ cd ../../build/universal-apple-darwin`uname -r`/packages $ tar xf ~/Downloads/curl-7.54.1-513145c-darwin64-513145c.tar.zst @@ -82,7 +99,11 @@ $ tar xf ~/Downloads/nanosvg-2022.09.27-darwin64-580364.tar.bz2 $ tar xf ~/Downloads/openssl-1.1.1q.de53f55-darwin64-de53f55.tar.zst $ tar xf ~/Downloads/tinyexr-v1.0.8-common-9373975608.tar.zst $ tar xf ~/Downloads/tinygltf-v2.5.0-common-1ae57fd.tar.zst -$ cd .. +$ cd lib/release +$ lipo ../../../../../../3p-openssl/openssl/build/aarch64-apple-darwin`uname -r`/libcrypto.a libcrypto.a -create -output libcrypto.a +$ lipo ../../../../../../3p-openssl/openssl/build/aarch64-apple-darwin`uname -r`/libssl.a libssl.a -create -output libssl.a +$ lipo ../../../../../../3p-curl/curl/build/aarch64-apple-darwin`uname -r`/lib/.libs/libcurl.a libcurl.a -create -output libcurl.a +$ cd ../../.. $ export LL_BUILD="-O3 -gdwarf-2 -stdlib=libc++ -iwithsysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk -std=c++17 -fPIC -DLL_RELEASE=1 -DLL_RELEASE_FOR_DOWNLOAD=1 -DNDEBUG -DPIC -DLL_DARWIN=1" $ sudo port install cmake pkgconfig freealut +universal apr-util +universal boost +universal collada-dom +universal hunspell +universal jsoncpp +universal openjpeg +universal libsdl2 +universal uriparser +universal $ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_INSTALL_PREFIX:PATH=newview/Megapahit.app/Contents -DCMAKE_OSX_ARCHITECTURES:STRING="arm64;x86_64" -DADDRESS_SIZE:INTERNAL=64 -DUSESYSTEMLIBS:BOOL=ON -DUSE_OPENAL:BOOL=ON -DLL_TESTS:BOOL=OFF -DNDOF:BOOL=OFF -DVIEWER_CHANNEL:STRING=Megapahit -DVIEWER_BINARY_NAME:STRING=megapahit -DBUILD_SHARED_LIBS:BOOL=OFF -DINSTALL:BOOL=ON -DPACKAGE:BOOL=OFF ../../indra -- cgit v1.2.3 From 7dd6d44466121593e7c5b0d183ea562b16b6ce8d Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Tue, 9 Jul 2024 13:47:47 +0800 Subject: OpenJPEG installation instruction for macOS --- README.md | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 12507dc390..f09ecec546 100644 --- a/README.md +++ b/README.md @@ -37,12 +37,14 @@ $ git switch -c megapahit ### macOS ``` +$ sudo port install cmake pkgconfig freealut +universal apr-util +universal boost +universal collada-dom +universal hunspell +universal jsoncpp +universal openjpeg +universal libsdl2 +universal uriparser +universal $ mkdir -p build/universal-apple-darwin`uname -r`/packages $ cd ~/Downloads -$ curl -OL https://github.com/secondlife/3p-curl/releases/download/v7.54.1-513145c/curl-7.54.1-513145c-darwin64-513145c.tar.zst -OL https://megapahit.net/downloads/dullahan-1.14.0.202312131437_118.7.1_g99817d2_chromium-118.0.5993.119-darwinuniversal-233471337.tar.bz2 -OL https://github.com/secondlife/3p-emoji-shortcodes/releases/download/v6.1.0.5413f58/emoji_shortcodes-6.1.0.5413f58-darwin64-5413f58.tar.zst -OL https://github.com/secondlife/3p-glh_linear/releases/download/v1.0.1-dev4-984c397/glh_linear-1.0.1-dev4-common-984c397.tar.zst -OL https://github.com/secondlife/llca/releases/download/v202402012004.0-0f5d9c3/llca-202402012004.0-common-0f5d9c3.tar.zst -L https://github.com/zeux/meshoptimizer/archive/refs/tags/v0.21.tar.gz -o meshoptimizer-0.21.tar.gz -OL https://github.com/secondlife/3p-mikktspace/releases/download/v2-e967e1b/mikktspace-1-darwin64-8756084692.tar.zst -OL https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/115452/994130/nanosvg-2022.09.27-darwin64-580364.tar.bz2 -OL https://github.com/secondlife/3p-openssl/releases/download/v1.1.1q.de53f55/openssl-1.1.1q.de53f55-darwin64-de53f55.tar.zst -OL https://github.com/secondlife/3p-tinyexr/releases/download/v1.0.8-ba4bc64/tinyexr-v1.0.8-common-9373975608.tar.zst -OL https://github.com/secondlife/3p-tinygltf/releases/download/v2.5.0-1ae57fd/tinygltf-v2.5.0-common-1ae57fd.tar.zst -OL https://github.com/secondlife/3p-viewer-fonts/releases/download/v1.0.0-r1/viewer_fonts-1.0.0.8512067490-common-8512067490.tar.zst -OL https://sourceforge.net/projects/xmlrpc-epi/files/xmlrpc-epi-base/0.54.2/xmlrpc-epi-0.54.2.tar.bz2 +$ curl -OL https://github.com/secondlife/3p-curl/releases/download/v7.54.1-513145c/curl-7.54.1-513145c-darwin64-513145c.tar.zst -OL https://megapahit.net/downloads/dullahan-1.14.0.202312131437_118.7.1_g99817d2_chromium-118.0.5993.119-darwinuniversal-233471337.tar.bz2 -OL https://github.com/secondlife/3p-emoji-shortcodes/releases/download/v6.1.0.5413f58/emoji_shortcodes-6.1.0.5413f58-darwin64-5413f58.tar.zst -OL https://github.com/secondlife/3p-glh_linear/releases/download/v1.0.1-dev4-984c397/glh_linear-1.0.1-dev4-common-984c397.tar.zst -OL https://github.com/secondlife/llca/releases/download/v202402012004.0-0f5d9c3/llca-202402012004.0-common-0f5d9c3.tar.zst -L https://github.com/zeux/meshoptimizer/archive/refs/tags/v0.21.tar.gz -o meshoptimizer-0.21.tar.gz -OL https://github.com/secondlife/3p-mikktspace/releases/download/v2-e967e1b/mikktspace-1-darwin64-8756084692.tar.zst -OL https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/115452/994130/nanosvg-2022.09.27-darwin64-580364.tar.bz2 -L https://github.com/uclouvain/openjpeg/archive/refs/tags/v2.5.2.tar.gz -o openjpeg-2.5.2.tar.gz -OL https://github.com/secondlife/3p-openssl/releases/download/v1.1.1q.de53f55/openssl-1.1.1q.de53f55-darwin64-de53f55.tar.zst -OL https://github.com/secondlife/3p-tinyexr/releases/download/v1.0.8-ba4bc64/tinyexr-v1.0.8-common-9373975608.tar.zst -OL https://github.com/secondlife/3p-tinygltf/releases/download/v2.5.0-1ae57fd/tinygltf-v2.5.0-common-1ae57fd.tar.zst -OL https://github.com/secondlife/3p-viewer-fonts/releases/download/v1.0.0-r1/viewer_fonts-1.0.0.8512067490-common-8512067490.tar.zst -OL https://sourceforge.net/projects/xmlrpc-epi/files/xmlrpc-epi-base/0.54.2/xmlrpc-epi-0.54.2.tar.bz2 $ cd - $ cd .. $ tar xf ~/Downloads/meshoptimizer-0.21.tar.gz +$ tar xf ~/Downloads/openjpeg-2.5.2.tar.gz $ tar xf ~/Downloads/xmlrpc-epi-0.54.2.tar.bz2 $ git clone https://github.com/secondlife/3p-openssl $ git clone https://github.com/secondlife/3p-curl @@ -52,6 +54,12 @@ $ cd build/universal-apple-darwin`uname -r` $ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_OSX_ARCHITECTURES:STRING="arm64;x86_64" -DCMAKE_OSX_DEPLOYMENT_TARGET:STRING=12.0 -DMESHOPT_BUILD_SHARED_LIBS:BOOL=ON ../.. $ make -j`gnproc` $ sudo make install +$ cd ../../../openjpeg-2.5.2 +$ sudo cp src/lib/openjp2/cio.h src/lib/openjp2/event.h /opt/local/include/openjpeg-2.5/ +$ mkdir -p build/`uname -m`-apple-darwin`uname -r` +$ cd build/`uname -m`-apple-darwin`uname -r` +$ cmake -DCMAKE_BUILD_TYPE:STRING=Release ../.. +$ sudo cp src/lib/openjp2/opj_config_private.h /opt/local/include/openjpeg-2.5/ $ cd ../../../xmlrpc-epi-0.54.2 $ rm -f config.sub missing $ autoreconf -is @@ -105,7 +113,6 @@ $ lipo ../../../../../../3p-openssl/openssl/build/aarch64-apple-darwin`uname -r` $ lipo ../../../../../../3p-curl/curl/build/aarch64-apple-darwin`uname -r`/lib/.libs/libcurl.a libcurl.a -create -output libcurl.a $ cd ../../.. $ export LL_BUILD="-O3 -gdwarf-2 -stdlib=libc++ -iwithsysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk -std=c++17 -fPIC -DLL_RELEASE=1 -DLL_RELEASE_FOR_DOWNLOAD=1 -DNDEBUG -DPIC -DLL_DARWIN=1" -$ sudo port install cmake pkgconfig freealut +universal apr-util +universal boost +universal collada-dom +universal hunspell +universal jsoncpp +universal openjpeg +universal libsdl2 +universal uriparser +universal $ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_INSTALL_PREFIX:PATH=newview/Megapahit.app/Contents -DCMAKE_OSX_ARCHITECTURES:STRING="arm64;x86_64" -DADDRESS_SIZE:INTERNAL=64 -DUSESYSTEMLIBS:BOOL=ON -DUSE_OPENAL:BOOL=ON -DLL_TESTS:BOOL=OFF -DNDOF:BOOL=OFF -DVIEWER_CHANNEL:STRING=Megapahit -DVIEWER_BINARY_NAME:STRING=megapahit -DBUILD_SHARED_LIBS:BOOL=OFF -DINSTALL:BOOL=ON -DPACKAGE:BOOL=OFF ../../indra $ make -j`gnproc` $ make install -- cgit v1.2.3 From 9b1312c179c0bf79c08812c68d5f6c67e768eb9d Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Tue, 9 Jul 2024 13:53:59 +0800 Subject: sse2neon installation instruction for macOS arm64 --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index f09ecec546..cc837e8e68 100644 --- a/README.md +++ b/README.md @@ -112,6 +112,9 @@ $ lipo ../../../../../../3p-openssl/openssl/build/aarch64-apple-darwin`uname -r` $ lipo ../../../../../../3p-openssl/openssl/build/aarch64-apple-darwin`uname -r`/libssl.a libssl.a -create -output libssl.a $ lipo ../../../../../../3p-curl/curl/build/aarch64-apple-darwin`uname -r`/lib/.libs/libcurl.a libcurl.a -create -output libcurl.a $ cd ../../.. +$ cd /opt/local/include +$ sudo curl -OL https://raw.githubusercontent.com/DLTcollab/sse2neon/master/sse2neon.h +$ cd - $ export LL_BUILD="-O3 -gdwarf-2 -stdlib=libc++ -iwithsysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk -std=c++17 -fPIC -DLL_RELEASE=1 -DLL_RELEASE_FOR_DOWNLOAD=1 -DNDEBUG -DPIC -DLL_DARWIN=1" $ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_INSTALL_PREFIX:PATH=newview/Megapahit.app/Contents -DCMAKE_OSX_ARCHITECTURES:STRING="arm64;x86_64" -DADDRESS_SIZE:INTERNAL=64 -DUSESYSTEMLIBS:BOOL=ON -DUSE_OPENAL:BOOL=ON -DLL_TESTS:BOOL=OFF -DNDOF:BOOL=OFF -DVIEWER_CHANNEL:STRING=Megapahit -DVIEWER_BINARY_NAME:STRING=megapahit -DBUILD_SHARED_LIBS:BOOL=OFF -DINSTALL:BOOL=ON -DPACKAGE:BOOL=OFF ../../indra $ make -j`gnproc` -- cgit v1.2.3 From 723262ac50558b0b55ac6b37eed95895064b85b7 Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Tue, 9 Jul 2024 20:45:54 +0800 Subject: Remove code that'll never be reached by non macOS which would be to determine which media plugins should be added as dependencies. Plus minimise diff from SLv code. --- indra/newview/CMakeLists.txt | 22 +++++++++------------- 1 file changed, 9 insertions(+), 13 deletions(-) diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index 2b85a1d89a..f86e2cb2fb 100644 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -1417,7 +1417,7 @@ file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/viewer_version.txt" "${VIEWER_SHORT_VERSION}.${VIEWER_VERSION_REVISION}\n") set_source_files_properties( - llversioninfo.cpp tests/llversioninfo_test.cpp + llversioninfo.cpp tests/llversioninfo_test.cpp PROPERTIES COMPILE_DEFINITIONS "${VIEWER_CHANNEL_VERSION_DEFINES}" # see BuildVersion.cmake ) @@ -1624,7 +1624,7 @@ endif (WINDOWS) file(GLOB_RECURSE viewer_XUI_FILES LIST_DIRECTORIES FALSE ${CMAKE_CURRENT_SOURCE_DIR}/skins/*.xml) source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR}/skins PREFIX "XUI Files" FILES ${viewer_XUI_FILES}) -set_source_files_properties(${viewer_XUI_FILES} +set_source_files_properties(${viewer_XUI_FILES} PROPERTIES HEADER_FILE_ONLY TRUE) list(APPEND viewer_SOURCE_FILES ${viewer_XUI_FILES}) @@ -1632,7 +1632,7 @@ list(APPEND viewer_SOURCE_FILES ${viewer_XUI_FILES}) file(GLOB_RECURSE viewer_SHADER_FILES LIST_DIRECTORIES FALSE ${CMAKE_CURRENT_SOURCE_DIR}/app_settings/shaders/*.glsl) source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR}/app_settings/shaders PREFIX "Shaders" FILES ${viewer_SHADER_FILES}) -set_source_files_properties(${viewer_SHADER_FILES} +set_source_files_properties(${viewer_SHADER_FILES} PROPERTIES HEADER_FILE_ONLY TRUE) list(APPEND viewer_SOURCE_FILES ${viewer_SHADER_FILES}) @@ -1924,7 +1924,7 @@ endif (WINDOWS) # one of these being libz where you can find four or more versions in play # at once. On Linux, libz can be found at link and run time via a number # of paths: -# +# # => -lfreetype # => libz.so.1 (on install machine, not build) # => -lSDL @@ -2041,7 +2041,7 @@ foreach(elem ${country_codes}) set(emoji_mapping_src_file "${emoji_mapping_src_folder}/${elem}/emoji_characters.xml") set(emoji_mapping_dst_file - "${emoji_mapping_dst_folder}/${elem}/emoji_characters.xml") + "${emoji_mapping_dst_folder}/${elem}/emoji_characters.xml") configure_file(${emoji_mapping_src_file} ${emoji_mapping_dst_file} COPYONLY) endforeach() @@ -2145,7 +2145,7 @@ if (DARWIN) # https://blog.kitware.com/upcoming-in-cmake-2-8-12-osx-rpath-support/ set(CMAKE_MACOSX_RPATH 1) - + set_target_properties( ${VIEWER_BINARY_NAME} PROPERTIES @@ -2197,11 +2197,7 @@ if (DARWIN) endif (NOT INSTALL) if (ENABLE_MEDIA_PLUGINS) - if (DARWIN OR LINUX) add_dependencies(${VIEWER_BINARY_NAME} SLPlugin media_plugin_libvlc media_plugin_cef) - else (DARWIN) - add_dependencies(${VIEWER_BINARY_NAME} SLPlugin media_plugin_libvlc) - endif (DARWIN OR LINUX) else (ENABLE_MEDIA_PLUGINS) add_dependencies(${VIEWER_BINARY_NAME} SLPlugin) endif (ENABLE_MEDIA_PLUGINS) @@ -2333,7 +2329,7 @@ if (LL_TESTS) # llremoteparcelrequest.cpp llviewerhelputil.cpp llversioninfo.cpp -# llvocache.cpp +# llvocache.cpp llworldmap.cpp llworldmipmap.cpp ) @@ -2342,7 +2338,7 @@ if (LL_TESTS) llworldmap.cpp llworldmipmap.cpp PROPERTIES - LL_TEST_ADDITIONAL_SOURCE_FILES + LL_TEST_ADDITIONAL_SOURCE_FILES tests/llviewertexture_stub.cpp #llviewertexturelist.cpp ) @@ -2376,7 +2372,7 @@ if (LL_TESTS) llworldmap.cpp llworldmipmap.cpp PROPERTIES - LL_TEST_ADDITIONAL_SOURCE_FILES + LL_TEST_ADDITIONAL_SOURCE_FILES tests/llviewertexture_stub.cpp ) -- cgit v1.2.3 From ecdbdc8ea6fbd9a918584be1191e012af4b38af3 Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Tue, 9 Jul 2024 20:55:02 +0800 Subject: Fix the variable used for macOS bundle identifier --- indra/newview/Info-SecondLife.plist | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/indra/newview/Info-SecondLife.plist b/indra/newview/Info-SecondLife.plist index cc8edfadb8..82f63519db 100644 --- a/indra/newview/Info-SecondLife.plist +++ b/indra/newview/Info-SecondLife.plist @@ -11,7 +11,7 @@ CFBundleIconFile ${MACOSX_BUNDLE_ICON_FILE} CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) + ${MACOSX_BUNDLE_GUI_IDENTIFIER} CFBundleInfoDictionaryVersion 6.0 CFBundleLongVersionString -- cgit v1.2.3