summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorErik Kundiman <erik@megapahit.org>2026-07-30 06:42:44 +0800
committerErik Kundiman <erik@megapahit.org>2026-07-30 06:42:44 +0800
commit561bb7148f7da8dcedae8da8fb3d1edc9a1cbf08 (patch)
treee6834f36ba62199fea647513c224a70051546559
parent1a3f04276e981473023d379cae1a792ae8a11a47 (diff)
parentbb748f993bbdd3be537558d5ba1941e7d20e3b35 (diff)
Merge branch 'main' into 26.3
-rw-r--r--README.md21
-rw-r--r--indra/cmake/CEFPlugin.cmake26
-rw-r--r--indra/cmake/Discord.cmake2
-rw-r--r--indra/media_plugins/cef/CMakeLists.txt10
-rw-r--r--indra/newview/CMakeLists.txt5
-rw-r--r--indra/newview/PKGBUILD.in2
6 files changed, 45 insertions, 21 deletions
diff --git a/README.md b/README.md
index 6e15ce8036..6529075bbe 100644
--- a/README.md
+++ b/README.md
@@ -17,14 +17,27 @@ $ mkdir build-`uname -s|tr '[:upper:]' '[:lower:]'`-`uname -m`
$ cd build-`uname -s|tr '[:upper:]' '[:lower:]'`-`uname -m`
```
-### Arch
+### Arch ARM
```
-$ sudo pacman -S cmake base-devel patchelf python freealut apr-util boost cef fltk glm glu hunspell minizip nanosvg libnghttp2 openjpeg2 libpipewire sdl2 vlc libvorbis xxhash
+$ sudo pacman -S cmake base-devel patchelf python freealut apr-util boost fltk glm glu hunspell minizip nanosvg libnghttp2 openjpeg2 libpipewire sdl2 vlc libvorbis xxhash
+$ export LL_BUILD="-O3 -std=c++20 -fPIC -DLL_LINUX=1"
+$ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DADDRESS_SIZE:STRING=64 -DUSE_OPENAL:BOOL=ON -DUSE_FMODSTUDIO:BOOL=OFF -DENABLE_MEDIA_PLUGINS:BOOL=ON -DLL_TESTS:BOOL=OFF -DNDOF:BOOL=ON -DROOT_PROJECT_NAME:STRING=Megapahit -DVIEWER_CHANNEL:STRING=Megapahit -DVIEWER_BINARY_NAME:STRING=megapahit -DBUILD_SHARED_LIBS:BOOL=OFF -DINSTALL:BOOL=ON -DPACKAGE:BOOL=ON -DCMAKE_INSTALL_PREFIX=/usr ../indra
+$ make -j`nproc`
+$ makepkg -R
+$ sudo pacman -U megapahit-`cat newview/viewer_version.txt|sed 's/\(.*\)\./\1-/'`-`uname -m`.pkg.tar.xz
+$ sudo pacman -D --asdeps freealut apr-util fltk glu hunspell minizip libnghttp2 openjpeg2 sdl2 vlc libvorbis
+$ megapahit
+```
+
+### Arch x86-64
+```
+$ sudo pacman -S cmake base-devel patchelf python freealut apr-util boost cef fltk glm glu hunspell nanosvg libnghttp2 openjpeg2 libpipewire sdl2 vlc libvorbis xxhash
$ export LL_BUILD="-O3 -std=c++20 -fPIC -DLL_LINUX=1"
$ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DADDRESS_SIZE:STRING=64 -DUSE_OPENAL:BOOL=ON -DUSE_FMODSTUDIO:BOOL=OFF -DENABLE_MEDIA_PLUGINS:BOOL=ON -DLL_TESTS:BOOL=OFF -DNDOF:BOOL=ON -DROOT_PROJECT_NAME:STRING=Megapahit -DVIEWER_CHANNEL:STRING=Megapahit -DVIEWER_BINARY_NAME:STRING=megapahit -DBUILD_SHARED_LIBS:BOOL=OFF -DINSTALL:BOOL=ON -DPACKAGE:BOOL=ON -DCMAKE_INSTALL_PREFIX=/usr ../indra
$ make -j`nproc`
$ makepkg -R
$ sudo pacman -U megapahit-`cat newview/viewer_version.txt|sed 's/\(.*\)\./\1-/'`-`uname -m`.pkg.tar.zst
+$ sudo pacman -D --asdeps freealut apr-util cef fltk glu hunspell libnghttp2 openjpeg2 sdl2 vlc libvorbis
$ megapahit
```
@@ -140,7 +153,7 @@ $ megapahit
$ vcpkg install python3 freealut apr-util boost curl freetype hunspell libjpeg-turbo meshoptimizer minizip nanosvg nghttp2 openjpeg sse2neon libvorbis libxml2[tools] xxhash
$ vcpkg install --allow-unsupported boost-fiber
$ export LL_BUILD="/MD /O2 /Ob2 /std:c++20 /Zc:wchar_t- /Zi /GR /DLL_RELEASE=1 /DLL_RELEASE_FOR_DOWNLOAD=1 /DNDEBUG /D_SECURE_STL=0 /D_HAS_ITERATOR_DEBUGGING=0 /DWIN32 /D_WINDOWS /DLL_WINDOWS=1 /DUNICODE /D_UNICODE /DWINVER=0x0602 /D_WIN32_WINNT=0x0602 /Zc:preprocessor"
-$ export PATH="$VCPKG_ROOT/downloads/tools/cmake-4.3.3-windows/cmake-4.3.3-windows-arm64/bin:$VCPKG_ROOT/installed/arm64-windows/tools/libxml2:/c/Program Files (x86)/Microsoft Visual Studio/18/BuildTools/MSBuild/Current/Bin:$PATH"
+$ export PATH="$VCPKG_ROOT/downloads/tools/cmake-4.4.0-windows/cmake-4.4.0-windows-arm64/bin:$VCPKG_ROOT/installed/arm64-windows/tools/libxml2:/c/Program Files (x86)/Microsoft Visual Studio/18/BuildTools/MSBuild/Current/Bin:$PATH"
$ export PYTHON="$VCPKG_ROOT/installed/arm64-windows/tools/python3"
$ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DADDRESS_SIZE:STRING=64 -DUSE_OPENAL:BOOL=ON -DUSE_FMODSTUDIO:BOOL=OFF -DENABLE_MEDIA_PLUGINS:BOOL=OFF -DLL_TESTS:BOOL=OFF -DNDOF:BOOL=OFF -DROOT_PROJECT_NAME:STRING=Megapahit -DVIEWER_CHANNEL:STRING=Megapahit -DVIEWER_BINARY_NAME:STRING=Megapahit -DBUILD_SHARED_LIBS:BOOL=OFF -DINSTALL:BOOL=ON -DPACKAGE:BOOL=ON -DCMAKE_TOOLCHAIN_FILE:FILEPATH=$VCPKG_ROOT/scripts/buildsystems/vcpkg.cmake -DVS_DISABLE_FATAL_WARNINGS:BOOL=ON ../indra
$ MSBuild.exe Megapahit.slnx -p:Configuration=Release
@@ -152,7 +165,7 @@ $ start Megapahit-`cat newview/viewer_version.txt`-win64.exe
```
$ vcpkg install python3 freealut apr-util boost freetype glm hunspell libjpeg-turbo meshoptimizer minizip nanosvg nghttp2 openjpeg libvorbis libxml2[tools] xxhash
$ export LL_BUILD="/MD /O2 /Ob2 /std:c++20 /Zc:wchar_t- /Zi /GR /DLL_RELEASE=1 /DLL_RELEASE_FOR_DOWNLOAD=1 /DNDEBUG /D_SECURE_STL=0 /D_HAS_ITERATOR_DEBUGGING=0 /DWIN32 /D_WINDOWS /DLL_WINDOWS=1 /DUNICODE /D_UNICODE /DWINVER=0x0602 /D_WIN32_WINNT=0x0602"
-$ export PATH="$VCPKG_ROOT/downloads/tools/cmake-4.3.3-windows/cmake-4.3.3-windows-x86_64/bin:$VCPKG_ROOT/installed/x64-windows/tools/libxml2:/c/Program Files (x86)/Microsoft Visual Studio/18/BuildTools/MSBuild/Current/Bin:$PATH"
+$ export PATH="$VCPKG_ROOT/downloads/tools/cmake-4.4.0-windows/cmake-4.4.0-windows-x86_64/bin:$VCPKG_ROOT/installed/x64-windows/tools/libxml2:/c/Program Files (x86)/Microsoft Visual Studio/18/BuildTools/MSBuild/Current/Bin:$PATH"
$ export PYTHON="$VCPKG_ROOT/installed/x64-windows/tools/python3"
$ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DADDRESS_SIZE:STRING=64 -DUSE_OPENAL:BOOL=ON -DUSE_FMODSTUDIO:BOOL=OFF -DENABLE_MEDIA_PLUGINS:BOOL=ON -DLL_TESTS:BOOL=OFF -DNDOF:BOOL=ON -DROOT_PROJECT_NAME:STRING=Megapahit -DVIEWER_CHANNEL:STRING=Megapahit -DVIEWER_BINARY_NAME:STRING=Megapahit -DBUILD_SHARED_LIBS:BOOL=OFF -DINSTALL:BOOL=ON -DPACKAGE:BOOL=ON -DCMAKE_TOOLCHAIN_FILE:FILEPATH=$VCPKG_ROOT/scripts/buildsystems/vcpkg.cmake -DVS_DISABLE_FATAL_WARNINGS:BOOL=ON ../indra
$ MSBuild.exe Megapahit.slnx -p:Configuration=Release
diff --git a/indra/cmake/CEFPlugin.cmake b/indra/cmake/CEFPlugin.cmake
index 1fc28ad415..452e2afbbf 100644
--- a/indra/cmake/CEFPlugin.cmake
+++ b/indra/cmake/CEFPlugin.cmake
@@ -5,7 +5,7 @@ include(Prebuilt)
include_guard()
add_library( ll::cef INTERFACE IMPORTED )
-if (${LINUX_DISTRO} MATCHES arch)
+if (${LINUX_DISTRO} MATCHES arch AND (CMAKE_SYSTEM_PROCESSOR MATCHES x86_64))
if (${PREBUILD_TRACKING_DIR}/sentinel_installed IS_NEWER_THAN ${PREBUILD_TRACKING_DIR}/dullahan_installed OR NOT ${dullahan_installed} EQUAL 0)
file(
COPY /usr/src/cef/libcef_dll
@@ -29,26 +29,26 @@ if (${LINUX_DISTRO} MATCHES arch)
DESTINATION ${ARCH_PREBUILT_DIRS_RELEASE}
)
endif ()
- if (NOT EXISTS ${CMAKE_BINARY_DIR}/dullahan-1.40.0-CEF_150.0.13.accel.tar.gz)
+ if (NOT EXISTS ${CMAKE_BINARY_DIR}/dullahan-1.40.0-CEF_150.0.16.embed_scheme.tar.gz)
file(DOWNLOAD
- https://github.com/secondlife/dullahan/archive/refs/tags/v1.40.0-CEF_150.0.13.accel.tar.gz
- ${CMAKE_BINARY_DIR}/dullahan-1.40.0-CEF_150.0.13.accel.tar.gz
+ https://github.com/secondlife/dullahan/archive/refs/tags/v1.40.0-CEF_150.0.16.embed_scheme.tar.gz
+ ${CMAKE_BINARY_DIR}/dullahan-1.40.0-CEF_150.0.16.embed_scheme.tar.gz
)
endif ()
file(ARCHIVE_EXTRACT
- INPUT ${CMAKE_BINARY_DIR}/dullahan-1.40.0-CEF_150.0.13.accel.tar.gz
+ INPUT ${CMAKE_BINARY_DIR}/dullahan-1.40.0-CEF_150.0.16.embed_scheme.tar.gz
DESTINATION ${CMAKE_BINARY_DIR}
)
try_compile(DULLAHAN_RESULT
PROJECT dullahan
- SOURCE_DIR ${CMAKE_BINARY_DIR}/dullahan-1.40.0-CEF_150.0.13.accel
- BINARY_DIR ${CMAKE_BINARY_DIR}/dullahan-1.40.0-CEF_150.0.13.accel
+ SOURCE_DIR ${CMAKE_BINARY_DIR}/dullahan-1.40.0-CEF_150.0.16.embed_scheme
+ BINARY_DIR ${CMAKE_BINARY_DIR}/dullahan-1.40.0-CEF_150.0.16.embed_scheme
CMAKE_FLAGS
-DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
-DCMAKE_INSTALL_PREFIX:PATH=${LIBS_PREBUILT_DIR}
-DCMAKE_INSTALL_LIBDIR:PATH=${ARCH_PREBUILT_DIRS_RELEASE}
-DCEF_WRAPPER_DIR:PATH=/usr/include/cef
- -DCEF_WRAPPER_BUILD_DIR:PATH=${CMAKE_BINARY_DIR}/dullahan-1.40.0-CEF_150.0.13.accel
+ -DCEF_WRAPPER_BUILD_DIR:PATH=${CMAKE_BINARY_DIR}/dullahan-1.40.0-CEF_150.0.16.embed_scheme
-DCEF_LIBRARY_RELEASE:FILEPATH=${INSTALL_PREFIX}/lib/cef/libcef.so
-DCEF_DLL_LIBRARY_RELEASE:FILEPATH=${ARCH_PREBUILT_DIRS_RELEASE}/libcef_dll_wrapper.a
"-DCMAKE_CXX_FLAGS:STRING=-I/usr/include/cef -I/usr/src/cef -DWRAPPING_CEF_SHARED"
@@ -56,7 +56,7 @@ if (${LINUX_DISTRO} MATCHES arch)
if (${DULLAHAN_RESULT})
file(MAKE_DIRECTORY ${LIBS_PREBUILT_DIR}/bin/release)
file(
- COPY ${CMAKE_BINARY_DIR}/dullahan-1.40.0-CEF_150.0.13.accel/dullahan_host
+ COPY ${CMAKE_BINARY_DIR}/dullahan-1.40.0-CEF_150.0.16.embed_scheme/dullahan_host
DESTINATION ${LIBS_PREBUILT_DIR}/bin/release
)
if (CMAKE_BUILD_TYPE MATCHES Release)
@@ -66,14 +66,14 @@ if (${LINUX_DISTRO} MATCHES arch)
)
endif ()
file(
- COPY ${CMAKE_BINARY_DIR}/dullahan-1.40.0-CEF_150.0.13.accel/libdullahan.a
+ COPY ${CMAKE_BINARY_DIR}/dullahan-1.40.0-CEF_150.0.16.embed_scheme/libdullahan.a
DESTINATION ${ARCH_PREBUILT_DIRS_RELEASE}
)
file(MAKE_DIRECTORY ${LIBS_PREBUILT_DIR}/include/cef)
file(
COPY
- ${CMAKE_BINARY_DIR}/dullahan-1.40.0-CEF_150.0.13.accel/src/dullahan.h
- ${CMAKE_BINARY_DIR}/dullahan-1.40.0-CEF_150.0.13.accel/src/dullahan_version.h
+ ${CMAKE_BINARY_DIR}/dullahan-1.40.0-CEF_150.0.16.embed_scheme/src/dullahan.h
+ ${CMAKE_BINARY_DIR}/dullahan-1.40.0-CEF_150.0.16.embed_scheme/src/dullahan_version.h
DESTINATION ${LIBS_PREBUILT_DIR}/include/cef
)
file(WRITE ${PREBUILD_TRACKING_DIR}/dullahan_installed "0")
@@ -290,7 +290,7 @@ elseif (LINUX)
WORKING_DIRECTORY ${LIBS_PREBUILT_DIR}/bin/release
)
endif ()
- if (${LINUX_DISTRO} MATCHES arch OR (${LINUX_DISTRO} MATCHES fedora))
+ if (${LINUX_DISTRO} MATCHES arch AND (CMAKE_SYSTEM_PROCESSOR MATCHES x86_64) OR (${LINUX_DISTRO} MATCHES fedora))
target_include_directories( ll::cef SYSTEM INTERFACE /usr/include/cef/include)
if (${LINUX_DISTRO} MATCHES fedora)
set(LIB_SUFFIX ${ADDRESS_SIZE})
diff --git a/indra/cmake/Discord.cmake b/indra/cmake/Discord.cmake
index 28d32cd668..270b4c09a6 100644
--- a/indra/cmake/Discord.cmake
+++ b/indra/cmake/Discord.cmake
@@ -9,7 +9,7 @@ target_compile_definitions(ll::discord_sdk INTERFACE LL_DISCORD=1)
if (${PREBUILD_TRACKING_DIR}/sentinel_installed IS_NEWER_THAN ${PREBUILD_TRACKING_DIR}/discord_sdk_installed OR NOT ${discord_sdk_installed} EQUAL 0)
file(ARCHIVE_EXTRACT
- INPUT $ENV{HOME}/Downloads/DiscordSocialSdk-1.9.17379.zip
+ INPUT $ENV{HOME}/Downloads/DiscordSocialSdk-1.10.18247.zip
DESTINATION ${CMAKE_BINARY_DIR}
)
file(MAKE_DIRECTORY ${LIBS_PREBUILT_DIR}/include/discord_sdk)
diff --git a/indra/media_plugins/cef/CMakeLists.txt b/indra/media_plugins/cef/CMakeLists.txt
index 1a4d61616c..1622d3091f 100644
--- a/indra/media_plugins/cef/CMakeLists.txt
+++ b/indra/media_plugins/cef/CMakeLists.txt
@@ -51,7 +51,7 @@ if (LINUX)
list(APPEND media_plugin_cef_SOURCE_FILES ${LINUX_VOLUME_CATCHER})
set(CMAKE_SHARED_LINKER_FLAGS "-Wl,--build-id")
- if (${LINUX_DISTRO} MATCHES arch OR (${LINUX_DISTRO} MATCHES fedora))
+ if (${LINUX_DISTRO} MATCHES arch AND (CMAKE_SYSTEM_PROCESSOR MATCHES x86_64) OR (${LINUX_DISTRO} MATCHES fedora))
if (${LINUX_DISTRO} MATCHES fedora)
set(LIB_SUFFIX ${ADDRESS_SIZE})
endif ()
@@ -178,6 +178,12 @@ if (INSTALL)
PROGRAMS ${AUTOBUILD_INSTALL_DIR}/bin/release/dullahan_host
DESTINATION lib/${VIEWER_BINARY_NAME}
)
+ if (CMAKE_SYSTEM_PROCESSOR MATCHES aarch64)
+ install(
+ PROGRAMS ${AUTOBUILD_INSTALL_DIR}/bin/release/chrome-sandbox
+ DESTINATION lib/${VIEWER_BINARY_NAME}
+ )
+ endif ()
elseif (${LINUX_DISTRO} MATCHES fedora)
install(
PROGRAMS ${AUTOBUILD_INSTALL_DIR}/bin/release/dullahan_host
@@ -191,7 +197,7 @@ if (INSTALL)
DESTINATION libexec/${VIEWER_BINARY_NAME}
)
endif ()
- if (NOT (${LINUX_DISTRO} MATCHES arch OR (${LINUX_DISTRO} MATCHES fedora)))
+ if (NOT (${LINUX_DISTRO} MATCHES arch AND (CMAKE_SYSTEM_PROCESSOR MATCHES x86_64) OR (${LINUX_DISTRO} MATCHES fedora)))
install(
FILES
${ARCH_PREBUILT_DIRS_RELEASE}/libEGL.so
diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt
index 4092b4f0aa..81ac89695b 100644
--- a/indra/newview/CMakeLists.txt
+++ b/indra/newview/CMakeLists.txt
@@ -2355,6 +2355,11 @@ if (LINUX)
if (PACKAGE)
if (${LINUX_DISTRO} MATCHES arch)
+ if (CMAKE_SYSTEM_PROCESSOR MATCHES x86_64)
+ set(ARCH_DEPS cef)
+ else ()
+ set(ARCH_DEPS "at-spi2-core minizip")
+ endif ()
configure_file(
${CMAKE_CURRENT_SOURCE_DIR}/PKGBUILD.in
${CMAKE_BINARY_DIR}/PKGBUILD
diff --git a/indra/newview/PKGBUILD.in b/indra/newview/PKGBUILD.in
index b2830ed145..8b57e62f58 100644
--- a/indra/newview/PKGBUILD.in
+++ b/indra/newview/PKGBUILD.in
@@ -6,7 +6,7 @@ pkgdesc="${VIEWER_PACKAGE_COMMENT}"
arch=('${CMAKE_SYSTEM_PROCESSOR}')
url="https://${VIEWER_PACKAGE_DOMAIN_NAME}"
license=('LGPL-2.1')
-depends=(freealut apr-util at-spi2-core boost-libs cef fltk glu hunspell libnghttp2 openjpeg2 sdl2 vlc libvorbis)
+depends=(freealut apr-util boost-libs fltk glu hunspell libnghttp2 openjpeg2 sdl2 vlc libvorbis ${ARCH_DEPS})
package() {
cd "$startdir"