diff options
-rw-r--r-- | README.md | 10 | ||||
-rw-r--r-- | indra/cmake/LibraryInstall.cmake | 2 | ||||
-rw-r--r-- | indra/cmake/Meshoptimizer.cmake | 4 | ||||
-rw-r--r-- | indra/cmake/Prebuilt.cmake | 6 | ||||
-rw-r--r-- | indra/cmake/UnixInstall.cmake | 2 | ||||
-rw-r--r-- | indra/llprimitive/CMakeLists.txt | 2 | ||||
-rw-r--r-- | indra/llwebrtc/CMakeLists.txt | 2 | ||||
-rw-r--r-- | indra/media_plugins/cef/CMakeLists.txt | 2 | ||||
-rw-r--r-- | indra/media_plugins/libvlc/CMakeLists.txt | 2 | ||||
-rw-r--r-- | indra/newview/ViewerInstall.cmake | 2 | ||||
-rwxr-xr-x | indra/newview/linux_tools/megapahit.desktop | 2 | ||||
-rw-r--r-- | indra/newview/llcallingcard.h | 1 | ||||
-rw-r--r-- | patches/collada-dom-v2.3-r8.patch | 110 |
13 files changed, 19 insertions, 128 deletions
@@ -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 |