summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README.md10
-rw-r--r--indra/cmake/LibraryInstall.cmake2
-rw-r--r--indra/cmake/Meshoptimizer.cmake4
-rw-r--r--indra/cmake/Prebuilt.cmake6
-rw-r--r--indra/cmake/UnixInstall.cmake2
-rw-r--r--indra/llprimitive/CMakeLists.txt2
-rw-r--r--indra/llwebrtc/CMakeLists.txt2
-rw-r--r--indra/media_plugins/cef/CMakeLists.txt2
-rw-r--r--indra/media_plugins/libvlc/CMakeLists.txt2
-rw-r--r--indra/newview/ViewerInstall.cmake2
-rwxr-xr-xindra/newview/linux_tools/megapahit.desktop2
-rw-r--r--indra/newview/llcallingcard.h1
-rw-r--r--patches/collada-dom-v2.3-r8.patch110
13 files changed, 19 insertions, 128 deletions
diff --git a/README.md b/README.md
index f610fb9918..566c903a42 100644
--- a/README.md
+++ b/README.md
@@ -104,12 +104,12 @@ $ megapahit
### Gentoo
```
-$ sudo su -
-# emerge cmake pkgconf freealut apr-util boost fltk glm hunspell minizip-ng nanosvg nghttp2 media-video/pipewire libsdl2 uriparser vlc libvorbis dev-libs/xxhash
+$ su -
+# eselect repository add megapahit git git://megapahit.org/ebuild.git
+# emaint sync -r megapahit
+# emerge megapahit
# exit
-$ export LL_BUILD="-O3 -std=c++20 -fPIC -DLL_LINUX=1"
-$ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DADDRESS_SIZE:STRING=64 -DUSESYSTEMLIBS:BOOL=ON -DUSE_OPENAL:BOOL=ON -DUSE_FMODSTUDIO:BOOL=OFF -DENABLE_MEDIA_PLUGINS:BOOL=ON -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=OFF ../indra
-$ make -j`nproc`
+$ megapahit
```
### Windows
diff --git a/indra/cmake/LibraryInstall.cmake b/indra/cmake/LibraryInstall.cmake
index 1289ce02af..a843f40c99 100644
--- a/indra/cmake/LibraryInstall.cmake
+++ b/indra/cmake/LibraryInstall.cmake
@@ -4,7 +4,7 @@ list(REMOVE_ITEM ${PROJECT_NAME}_HEADER_FILES CMakeLists.txt)
if (BUILD_SHARED_LIBS)
if (${LINUX_DISTRO} MATCHES debian OR (${LINUX_DISTRO} MATCHES ubuntu))
set(_LIB lib/${ARCH}-linux-gnu)
- elseif (${LINUX_DISTRO} MATCHES fedora OR (${LINUX_DISTRO} MATCHES opensuse-tumbleweed))
+ elseif (${LINUX_DISTRO} MATCHES fedora OR (${LINUX_DISTRO} MATCHES opensuse-tumbleweed) OR (${LINUX_DISTRO} MATCHES gentoo))
set(_LIB lib${ADDRESS_SIZE})
else ()
set(_LIB lib)
diff --git a/indra/cmake/Meshoptimizer.cmake b/indra/cmake/Meshoptimizer.cmake
index e1bfe10e93..d893ea35b2 100644
--- a/indra/cmake/Meshoptimizer.cmake
+++ b/indra/cmake/Meshoptimizer.cmake
@@ -14,7 +14,7 @@ elseif (${LINUX_DISTRO} MATCHES debian OR (${LINUX_DISTRO} MATCHES ubuntu) OR CM
return ()
endif (NOT USESYSTEMLIBS)
-if (LINUX OR NOT USESYSTEMLIBS)
+if (LINUX AND NOT (${LINUX_DISTRO} MATCHES gentoo) OR NOT USESYSTEMLIBS)
use_prebuilt_binary(meshoptimizer)
elseif (${PREBUILD_TRACKING_DIR}/sentinel_installed IS_NEWER_THAN ${PREBUILD_TRACKING_DIR}/meshoptimizer_installed OR NOT ${meshoptimizer_installed} EQUAL 0)
if (NOT EXISTS ${CMAKE_BINARY_DIR}/meshoptimizer-0.21.tar.gz)
@@ -45,7 +45,7 @@ elseif (${PREBUILD_TRACKING_DIR}/sentinel_installed IS_NEWER_THAN ${PREBUILD_TRA
)
file(WRITE ${PREBUILD_TRACKING_DIR}/meshoptimizer_installed "${meshoptimizer_installed}")
endif (${MESHOPTIMIZER_RESULT})
-endif (LINUX OR NOT USESYSTEMLIBS)
+endif (LINUX AND NOT (${LINUX_DISTRO} MATCHES gentoo) OR NOT USESYSTEMLIBS)
if (NOT USESYSTEMLIBS AND WINDOWS)
target_link_libraries( ll::meshoptimizer INTERFACE meshoptimizer.lib)
diff --git a/indra/cmake/Prebuilt.cmake b/indra/cmake/Prebuilt.cmake
index 051435e7cb..751e83051f 100644
--- a/indra/cmake/Prebuilt.cmake
+++ b/indra/cmake/Prebuilt.cmake
@@ -123,10 +123,10 @@ find_package(Patch)
# Download the third party software archive and patch it.
macro(prepare_thirdparty url filename dirname patch hash)
- file(DOWNLOAD ${url} ${filename} EXPECTED_HASH SHA512=${hash})
+ file(DOWNLOAD ${url} ${filename})
file(ARCHIVE_EXTRACT INPUT ${filename}
- DESTINATION ${CMAKE_SOURCE_DIR}/../..)
+ DESTINATION ${CMAKE_BINARY_DIR})
execute_process(COMMAND ${Patch_EXECUTABLE} "-p1" "-i"
${CMAKE_SOURCE_DIR}/../patches/${patch}
- WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/../../${dirname})
+ WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/${dirname})
endmacro()
diff --git a/indra/cmake/UnixInstall.cmake b/indra/cmake/UnixInstall.cmake
index 48d84dc062..1fd17a0142 100644
--- a/indra/cmake/UnixInstall.cmake
+++ b/indra/cmake/UnixInstall.cmake
@@ -16,7 +16,7 @@ if (INSTALL)
if (${LINUX_DISTRO} MATCHES debian OR (${LINUX_DISTRO} MATCHES ubuntu))
set(_LIB lib/${ARCH}-linux-gnu)
- elseif (${LINUX_DISTRO} MATCHES fedora OR (${LINUX_DISTRO} MATCHES opensuse-tumbleweed))
+ elseif (${LINUX_DISTRO} MATCHES fedora OR (${LINUX_DISTRO} MATCHES opensuse-tumbleweed) OR (${LINUX_DISTRO} MATCHES gentoo))
set(_LIB lib${ADDRESS_SIZE})
else ()
set(_LIB lib)
diff --git a/indra/llprimitive/CMakeLists.txt b/indra/llprimitive/CMakeLists.txt
index 8d2e592a41..00d821c470 100644
--- a/indra/llprimitive/CMakeLists.txt
+++ b/indra/llprimitive/CMakeLists.txt
@@ -23,7 +23,7 @@ if(LINUX OR CMAKE_SYSTEM_NAME MATCHES FreeBSD )
)
set(OPT_COLLADA14 TRUE)
add_subdirectory(
- "${CMAKE_SOURCE_DIR}/../../3p-colladadom-2.3-r8" "colladadom")
+ "${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r8" "colladadom")
target_include_directories(
ll::colladadom INTERFACE
${colladadom_SOURCE_DIR}/include
diff --git a/indra/llwebrtc/CMakeLists.txt b/indra/llwebrtc/CMakeLists.txt
index 1e9898e5cc..c4971d44b1 100644
--- a/indra/llwebrtc/CMakeLists.txt
+++ b/indra/llwebrtc/CMakeLists.txt
@@ -82,7 +82,7 @@ if (INSTALL)
set(_LIB ../Frameworks)
elseif (${LINUX_DISTRO} MATCHES debian OR (${LINUX_DISTRO} MATCHES ubuntu))
set(_LIB lib/${ARCH}-linux-gnu)
- elseif (${LINUX_DISTRO} MATCHES fedora OR (${LINUX_DISTRO} MATCHES opensuse-tumbleweed))
+ elseif (${LINUX_DISTRO} MATCHES fedora OR (${LINUX_DISTRO} MATCHES opensuse-tumbleweed) OR (${LINUX_DISTRO} MATCHES gentoo))
set(_LIB lib${ADDRESS_SIZE})
else (DARWIN)
set(_LIB lib)
diff --git a/indra/media_plugins/cef/CMakeLists.txt b/indra/media_plugins/cef/CMakeLists.txt
index 3fa029f260..1502d16cfc 100644
--- a/indra/media_plugins/cef/CMakeLists.txt
+++ b/indra/media_plugins/cef/CMakeLists.txt
@@ -154,7 +154,7 @@ if (INSTALL)
elseif (LINUX)
if (${LINUX_DISTRO} MATCHES debian OR (${LINUX_DISTRO} MATCHES ubuntu))
set(_LIB lib/${ARCH}-linux-gnu)
- elseif (${LINUX_DISTRO} MATCHES fedora OR (${LINUX_DISTRO} MATCHES opensuse-tumbleweed))
+ elseif (${LINUX_DISTRO} MATCHES fedora OR (${LINUX_DISTRO} MATCHES opensuse-tumbleweed) OR (${LINUX_DISTRO} MATCHES gentoo))
set(_LIB lib${ADDRESS_SIZE})
else ()
set(_LIB lib)
diff --git a/indra/media_plugins/libvlc/CMakeLists.txt b/indra/media_plugins/libvlc/CMakeLists.txt
index 91e6df92de..547733496f 100644
--- a/indra/media_plugins/libvlc/CMakeLists.txt
+++ b/indra/media_plugins/libvlc/CMakeLists.txt
@@ -92,7 +92,7 @@ if (INSTALL)
)
elseif (${LINUX_DISTRO} MATCHES debian OR (${LINUX_DISTRO} MATCHES ubuntu))
set(_LIB lib/${ARCH}-linux-gnu)
- elseif (${LINUX_DISTRO} MATCHES fedora OR (${LINUX_DISTRO} MATCHES opensuse-tumbleweed))
+ elseif (${LINUX_DISTRO} MATCHES fedora OR (${LINUX_DISTRO} MATCHES opensuse-tumbleweed) OR (${LINUX_DISTRO} MATCHES gentoo))
set(_LIB lib${ADDRESS_SIZE})
else (DARWIN)
set(_LIB lib)
diff --git a/indra/newview/ViewerInstall.cmake b/indra/newview/ViewerInstall.cmake
index 373c771253..9292802e7c 100644
--- a/indra/newview/ViewerInstall.cmake
+++ b/indra/newview/ViewerInstall.cmake
@@ -103,7 +103,7 @@ endif (${LINUX_DISTRO} MATCHES arch)
if (LINUX)
if (${LINUX_DISTRO} MATCHES debian OR (${LINUX_DISTRO} MATCHES ubuntu))
set(_LIB lib/${ARCH}-linux-gnu)
- elseif (${LINUX_DISTRO} MATCHES fedora OR (${LINUX_DISTRO} MATCHES opensuse-tumbleweed))
+ elseif (${LINUX_DISTRO} MATCHES fedora OR (${LINUX_DISTRO} MATCHES opensuse-tumbleweed) OR (${LINUX_DISTRO} MATCHES gentoo))
set(_LIB lib${ADDRESS_SIZE})
else ()
set(_LIB lib)
diff --git a/indra/newview/linux_tools/megapahit.desktop b/indra/newview/linux_tools/megapahit.desktop
index 05e5d0175a..091df71e11 100755
--- a/indra/newview/linux_tools/megapahit.desktop
+++ b/indra/newview/linux_tools/megapahit.desktop
@@ -5,6 +5,6 @@ Exec=megapahit
Icon=megapahit
Terminal=false
Type=Application
-Categories=Application;Network;
+Categories=Network;
StartupNotify=true
X-Desktop-File-Install-Version=3.0"
diff --git a/indra/newview/llcallingcard.h b/indra/newview/llcallingcard.h
index 48b93fdf9d..bd263b4bdb 100644
--- a/indra/newview/llcallingcard.h
+++ b/indra/newview/llcallingcard.h
@@ -30,6 +30,7 @@
#include <map>
#include <set>
#include <string>
+#include <queue>
#include <vector>
#include "lluserrelations.h"
#include "lluuid.h"
diff --git a/patches/collada-dom-v2.3-r8.patch b/patches/collada-dom-v2.3-r8.patch
index c72c014340..b24ae2746b 100644
--- a/patches/collada-dom-v2.3-r8.patch
+++ b/patches/collada-dom-v2.3-r8.patch
@@ -389,116 +389,6 @@ index 15b1e6a..023814d 100644
$(obj): includeOpts := $(includeOpts)
# Call createObjRule with a source file path
-diff --git a/projects/vc142-1.4/dom-static.vcxproj b/projects/vc142-1.4/dom-static.vcxproj
-index 555ca4c..b87c231 100644
---- a/projects/vc142-1.4/dom-static.vcxproj
-+++ b/projects/vc142-1.4/dom-static.vcxproj
-@@ -122,13 +122,11 @@
- <AdditionalIncludeDirectories>..\..\include;..\..\include\1.4;..\..\stage\packages\include;..\..\stage\packages\include\libxml2;..\..\stage\packages\include\minizip-ng;..\..\stage\packages\include\zlib-ng;..\..\external-libs\tinyxml;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;DOM_INCLUDE_LIBXML;LIBXML_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
-- <DisableLanguageExtensions>false</DisableLanguageExtensions>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <DebugInformationFormat>OldStyle</DebugInformationFormat>
-- <TreatWChar_tAsBuiltInType>false</TreatWChar_tAsBuiltInType>
-- <LanguageStandard>stdcpp17</LanguageStandard>
-+ <LanguageStandard>stdcpp20</LanguageStandard>
- <MultiProcessorCompilation>true</MultiProcessorCompilation>
- </ClCompile>
- <Lib>
-@@ -143,13 +141,11 @@
- <AdditionalIncludeDirectories>..\..\include;..\..\include\1.4;..\..\stage\packages\include;..\..\stage\packages\include\libxml2;..\..\stage\packages\include\minizip-ng;..\..\stage\packages\include\zlib-ng;..\..\external-libs\tinyxml;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;DOM_INCLUDE_LIBXML;LIBXML_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
-- <DisableLanguageExtensions>false</DisableLanguageExtensions>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <DebugInformationFormat>OldStyle</DebugInformationFormat>
-- <TreatWChar_tAsBuiltInType>false</TreatWChar_tAsBuiltInType>
-- <LanguageStandard>stdcpp17</LanguageStandard>
-+ <LanguageStandard>stdcpp20</LanguageStandard>
- <MultiProcessorCompilation>true</MultiProcessorCompilation>
- </ClCompile>
- <Lib>
-diff --git a/projects/vc142-1.4/dom.vcxproj b/projects/vc142-1.4/dom.vcxproj
-index 04b0a11..0c57fd4 100644
---- a/projects/vc142-1.4/dom.vcxproj
-+++ b/projects/vc142-1.4/dom.vcxproj
-@@ -149,15 +149,14 @@
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\include;..\..\include\1.4;..\..\stage\packages\include;..\..\stage\packages\include\libxml2;..\..\stage\packages\include\minizip-ng;..\..\stage\packages\include\zlib-ng;..\..\external-libs\tinyxml;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-- <DisableLanguageExtensions>false</DisableLanguageExtensions>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;DOM_DYNAMIC;DOM_EXPORT;DOM_INCLUDE_LIBXML;LIBXML_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <WholeProgramOptimization>true</WholeProgramOptimization>
-- <TreatWChar_tAsBuiltInType>false</TreatWChar_tAsBuiltInType>
- <MultiProcessorCompilation>true</MultiProcessorCompilation>
-+ <LanguageStandard>stdcpp20</LanguageStandard>
- </ClCompile>
- <Link>
- <AdditionalDependencies>libxml2.lib;Bcrypt.lib;zlib.lib;wsock32.lib;minizip.lib;libboost_regex-mt-x32.lib;libboost_filesystem-mt-x32.lib;libboost_system-mt-x32.lib;%(AdditionalDependencies)</AdditionalDependencies>
-@@ -180,15 +179,14 @@
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\include;..\..\include\1.4;..\..\stage\packages\include;..\..\stage\packages\include\libxml2;..\..\stage\packages\include\minizip-ng;..\..\stage\packages\include\zlib-ng;..\..\external-libs\tinyxml;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-- <DisableLanguageExtensions>false</DisableLanguageExtensions>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;DOM_DYNAMIC;DOM_EXPORT;DOM_INCLUDE_LIBXML;LIBXML_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <WholeProgramOptimization>true</WholeProgramOptimization>
-- <TreatWChar_tAsBuiltInType>false</TreatWChar_tAsBuiltInType>
- <MultiProcessorCompilation>true</MultiProcessorCompilation>
-+ <LanguageStandard>stdcpp20</LanguageStandard>
- </ClCompile>
- <Link>
- <AdditionalDependencies>libxml2.lib;Bcrypt.lib;zlib.lib;wsock32.lib;minizip.lib;libboost_regex-mt-x64.lib;libboost_filesystem-mt-x64.lib;libboost_system-mt-x64.lib;%(AdditionalDependencies)</AdditionalDependencies>
-diff --git a/projects/vc142-1.4/domTest.vcxproj b/projects/vc142-1.4/domTest.vcxproj
-index 5daeaa3..362ca6f 100644
---- a/projects/vc142-1.4/domTest.vcxproj
-+++ b/projects/vc142-1.4/domTest.vcxproj
-@@ -133,15 +133,14 @@
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\include;..\..\include\1.4;..\..\stage\packages\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-- <DisableLanguageExtensions>false</DisableLanguageExtensions>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_DEPRECATE;DOM_DYNAMIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <WholeProgramOptimization>true</WholeProgramOptimization>
-- <TreatWChar_tAsBuiltInType>false</TreatWChar_tAsBuiltInType>
- <MultiProcessorCompilation>true</MultiProcessorCompilation>
-+ <LanguageStandard>stdcpp20</LanguageStandard>
- </ClCompile>
- <Link>
- <AdditionalDependencies>libcollada14dom23.lib;libboost_filesystem-mt-x32.lib;libboost_system-mt-x32.lib;%(AdditionalDependencies)</AdditionalDependencies>
-@@ -161,15 +160,14 @@
- <ClCompile>
- <AdditionalIncludeDirectories>..\..\include;..\..\include\1.4;..\..\stage\packages\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-- <DisableLanguageExtensions>false</DisableLanguageExtensions>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_DEPRECATE;DOM_DYNAMIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <WholeProgramOptimization>true</WholeProgramOptimization>
-- <TreatWChar_tAsBuiltInType>false</TreatWChar_tAsBuiltInType>
- <MultiProcessorCompilation>true</MultiProcessorCompilation>
-+ <LanguageStandard>stdcpp20</LanguageStandard>
- </ClCompile>
- <Link>
- <AdditionalDependencies>libcollada14dom23.lib;libboost_filesystem-mt-x64.lib;libboost_system-mt-x64.lib;%(AdditionalDependencies)</AdditionalDependencies>
diff --git a/src/1.4/CMakeLists.txt b/src/1.4/CMakeLists.txt
index 17fbaea..d0d5939 100644
--- a/src/1.4/CMakeLists.txt