Skip to content

Commit 92c08ef

Browse files
authored
Merge pull request #4915 from RyeMutt/rye/linux64-2
Linux64 Part 2
2 parents 02f8d44 + af60060 commit 92c08ef

File tree

123 files changed

+2027
-3975
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

123 files changed

+2027
-3975
lines changed

autobuild.xml

Lines changed: 6 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -666,11 +666,11 @@
666666
<key>archive</key>
667667
<map>
668668
<key>hash</key>
669-
<string>7cc58b3acb230a7e65ea5f0ff800be393eb4aa1b</string>
669+
<string>90eade4785ee8acf18837125208b717f7e857d06</string>
670670
<key>hash_algorithm</key>
671671
<string>sha1</string>
672672
<key>url</key>
673-
<string>https://github.com/secondlife/3p-glext/releases/download/v69/glext-68-common-685b36e.tar.zst</string>
673+
<string>https://github.com/secondlife/3p-glext/releases/download/v2025.10.27-r1/glext-2025.10.27-common-18888617188.tar.zst</string>
674674
</map>
675675
<key>name</key>
676676
<string>common</string>
@@ -683,44 +683,12 @@
683683
<key>copyright</key>
684684
<string>Copyright (c) 2007-2010 The Khronos Group Inc.</string>
685685
<key>version</key>
686-
<string>68</string>
686+
<string>2025.10.27</string>
687687
<key>name</key>
688688
<string>glext</string>
689689
<key>description</key>
690690
<string>glext headers define function prototypes and constants for OpenGL extensions</string>
691691
</map>
692-
<key>glh_linear</key>
693-
<map>
694-
<key>platforms</key>
695-
<map>
696-
<key>common</key>
697-
<map>
698-
<key>archive</key>
699-
<map>
700-
<key>hash</key>
701-
<string>066625e7aa7f697a4b6cd461aad960c57181011f</string>
702-
<key>hash_algorithm</key>
703-
<string>sha1</string>
704-
<key>url</key>
705-
<string>https://github.com/secondlife/3p-glh_linear/releases/download/v1.0.1-dev4-984c397/glh_linear-1.0.1-dev4-common-984c397.tar.zst</string>
706-
</map>
707-
<key>name</key>
708-
<string>common</string>
709-
</map>
710-
</map>
711-
<key>license</key>
712-
<string>BSD</string>
713-
<key>license_file</key>
714-
<string>LICENSES/glh-linear.txt</string>
715-
<key>copyright</key>
716-
<string>Copyright (c) 2000 Cass Everitt</string>
717-
<key>version</key>
718-
<string>1.0.1-dev4</string>
719-
<key>name</key>
720-
<string>glh_linear</string>
721-
<key>description</key>
722-
<string>glh - is a platform-indepenedent C++ OpenGL helper library</string>
723-
</map>
724692
<key>glm</key>
725693
<map>
726694
<key>platforms</key>
@@ -1762,11 +1730,11 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors</string>
17621730
<key>archive</key>
17631731
<map>
17641732
<key>hash</key>
1765-
<string>795d1e60f3e1e9092788214a6750e6506391cac5</string>
1733+
<string>612bfcb7cf0e6afaf7ce7f1db6feccd81137eb99</string>
17661734
<key>hash_algorithm</key>
17671735
<string>sha1</string>
17681736
<key>url</key>
1769-
<string>https://github.com/secondlife/3p-open-libndofdev/releases/download/v1.14-r6/open_libndofdev-0.14.18543500856-linux64-18543500856.tar.zst</string>
1737+
<string>https://github.com/secondlife/3p-open-libndofdev/releases/download/v1.14-r7/open_libndofdev-0.14.19022717849-linux64-19022717849.tar.zst</string>
17701738
</map>
17711739
<key>name</key>
17721740
<string>linux64</string>
@@ -1779,7 +1747,7 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors</string>
17791747
<key>copyright</key>
17801748
<string>Copyright (c) 2008, Jan Ciger (jan.ciger (at) gmail.com)</string>
17811749
<key>version</key>
1782-
<string>0.14.18543500856</string>
1750+
<string>0.14.19022717849</string>
17831751
<key>name</key>
17841752
<string>open-libndofdev</string>
17851753
<key>description</key>

doc/BUILD.LINUX.md

Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
# Building on Linux
2+
3+
## Install Dependencies
4+
5+
### AlmaLinux 10
6+
```
7+
sudo dnf group install "Development Tools"
8+
sudo dnf install cmake fontconfig-devel git glib2-devel gstreamer1-devel gstreamer1-plugins-base-devel libX11-devel mesa-libOSMesa-devel libglvnd-devel ninja-build python3 vlc-devel wayland-devel
9+
```
10+
> [!NOTE]
11+
> You may need to enable the EPEL repository for some packages `sudo dnf install epel-release`
12+
13+
### Arch
14+
```
15+
sudo pacman -Syu base-devel cmake fontconfig git glib2-devel gstreamer gst-plugins-base-libs ninja libglvnd libvlc libx11 python wayland
16+
```
17+
18+
### Debian - Ubuntu 22.04 - Ubuntu 24.04
19+
```
20+
sudo apt install build-essential cmake git libfontconfig-dev libglib2.0-dev libglvnd-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libosmesa6-dev libvlc-dev libwayland-dev libx11-dev ninja-build python3 python3-venv
21+
```
22+
23+
### Fedora
24+
```
25+
sudo dnf install @development-tools @c-development cmake fontconfig-devel git glib-devel gstreamer1-devel gstreamer1-plugins-base-devel libX11-devel mesa-compat-libOSMesa-devel libglvnd-devel ninja-build python3 vlc-devel wayland-devel
26+
```
27+
28+
### OpenSUSE Tumbleweed
29+
```
30+
sudo zypper in -t pattern devel_basis devel_C_C++
31+
sudo zypper install cmake fontconfig-devel git glib2-devel gstreamer-devel gstreamer-plugins-base-devel libglvnd-devel libX11-devel ninja Mesa-libGL-devel python3 vlc-devel wayland-devel
32+
```
33+
34+
## Create development folders
35+
```
36+
mkdir -p ~/code/secondlife
37+
cd ~/code/secondlife
38+
```
39+
40+
## Setup Virtual Environment and install Autobuild
41+
```
42+
python3 -m venv .venv
43+
source .venv/bin/activate
44+
pip install autobuild llsd
45+
```
46+
> [!NOTE]
47+
> If the above was successful you should receive output similar to `autobuild 3.10.2` when running `autobuild --version`
48+
49+
## Setup Build Variables
50+
```
51+
git clone https://github.com/secondlife/build-variables.git
52+
export AUTOBUILD_VARIABLES_FILE=~/code/secondlife/build-variables/variables
53+
```
54+
55+
## Clone Viewer
56+
```
57+
git clone https://github.com/secondlife/viewer.git
58+
cd ~/code/secondlife/viewer
59+
```
60+
61+
## Configure Viewer
62+
63+
### GCC
64+
```
65+
autobuild configure -c ReleaseOS -A64
66+
```
67+
68+
### Clang
69+
```
70+
autobuild configure -c ReleaseOS -- -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_LINKER_TYPE=LLD
71+
```
72+
73+
## Build Viewer
74+
```
75+
autobuild build -c ReleaseOS --no-configure
76+
```
77+
78+
> [!NOTE]
79+
> If the above was successful you should find the viewer package in `viewer/build-linux-x86_64/newview`

indra/CMakeLists.txt

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -113,10 +113,6 @@ endif (WINDOWS AND EXISTS ${LIBS_CLOSED_DIR}copy_win_scripts)
113113

114114
add_custom_target(viewer)
115115

116-
if (NOT USE_BUGSPLAT)
117-
add_subdirectory(${LIBS_OPEN_PREFIX}llcrashlogger)
118-
endif (NOT USE_BUGSPLAT)
119-
120116
add_subdirectory(${LIBS_OPEN_PREFIX}llplugin)
121117
add_subdirectory(${LIBS_OPEN_PREFIX}llui)
122118
add_subdirectory(${LIBS_OPEN_PREFIX}viewer_components)

indra/cmake/00-Common.cmake

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -216,6 +216,10 @@ endif(DARWIN)
216216
if (LINUX OR DARWIN)
217217
add_compile_options(-Wall -Wno-sign-compare -Wno-trigraphs -Wno-reorder -Wno-unused-but-set-variable -Wno-unused-variable)
218218

219+
if(CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
220+
add_compile_options(-Wno-unused-private-field)
221+
endif()
222+
219223
if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang" OR CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang")
220224
add_compile_options(-Wno-unused-local-typedef)
221225
endif()

indra/cmake/CMakeLists.txt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@ set(cmake_SOURCE_FILES
2626
FindPipeWire.cmake
2727
FreeType.cmake
2828
GLEXT.cmake
29-
GLH.cmake
3029
GLIB.cmake
3130
GLM.cmake
3231
GStreamer10Plugin.cmake

indra/cmake/Copy3rdPartyLibs.cmake

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,9 @@ if(WINDOWS)
9898
elseif (MSVC_VERSION GREATER_EQUAL 1930 AND MSVC_VERSION LESS 1950) # Visual Studio 2022
9999
set(MSVC_VER 140)
100100
set(MSVC_TOOLSET_VER 143)
101+
elseif (MSVC_VERSION GREATER_EQUAL 1950 AND MSVC_VERSION LESS 1970) # Visual Studio 2026
102+
set(MSVC_VER 140)
103+
set(MSVC_TOOLSET_VER 145)
101104
else (MSVC80)
102105
MESSAGE(WARNING "New MSVC_VERSION ${MSVC_VERSION} of MSVC: adapt Copy3rdPartyLibs.cmake")
103106
endif (MSVC80)
@@ -135,6 +138,7 @@ if(WINDOWS)
135138
msvcp${MSVC_VER}_atomic_wait.dll
136139
msvcp${MSVC_VER}_codecvt_ids.dll
137140
msvcr${MSVC_VER}.dll
141+
vccorlib${MSVC_VER}.dll
138142
vcruntime${MSVC_VER}.dll
139143
vcruntime${MSVC_VER}_1.dll
140144
vcruntime${MSVC_VER}_threads.dll

indra/cmake/GLEXT.cmake

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
# -*- cmake -*-
22
include(Prebuilt)
3-
include(GLH)
43

5-
add_library( ll::glext INTERFACE IMPORTED )
4+
add_library(ll::glext INTERFACE IMPORTED)
65
use_system_binary(glext)
76
use_prebuilt_binary(glext)
87

indra/cmake/GLH.cmake

Lines changed: 0 additions & 7 deletions
This file was deleted.

indra/cmake/LLWindow.cmake

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,7 @@
11
# -*- cmake -*-
2+
include_guard()
23

34
include(Variables)
4-
include(GLEXT)
55
include(Prebuilt)
6+
include(GLEXT)
67
include(SDL3)
7-
8-
include_guard()
9-
10-
if (LINUX)
11-
set(USE_SDL_WINDOW ON CACHE BOOL "Build with SDL window backend")
12-
else()
13-
set(USE_SDL_WINDOW OFF CACHE BOOL "Build with SDL window backend")
14-
endif (LINUX)

indra/cmake/OpenXR.cmake

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -5,18 +5,21 @@ include(Prebuilt)
55
include_guard()
66
add_library( ll::openxr INTERFACE IMPORTED )
77

8-
if(USE_CONAN )
9-
target_link_libraries( ll::openxr INTERFACE CONAN_PKG::openxr )
10-
return()
11-
endif()
8+
option(USE_OPENXR "Enable building with OpenXR support" OFF)
9+
if(USE_OPENXR)
10+
if(USE_CONAN )
11+
target_link_libraries( ll::openxr INTERFACE CONAN_PKG::openxr )
12+
return()
13+
endif()
1214

13-
use_prebuilt_binary(openxr)
14-
if (WINDOWS)
15-
target_link_libraries( ll::openxr INTERFACE ${ARCH_PREBUILT_DIRS_RELEASE}/openxr_loader.lib )
16-
else()
17-
target_link_libraries( ll::openxr INTERFACE ${ARCH_PREBUILT_DIRS_RELEASE}/libopenxr_loader.a )
18-
endif (WINDOWS)
15+
use_prebuilt_binary(openxr)
16+
if (WINDOWS)
17+
target_link_libraries( ll::openxr INTERFACE ${ARCH_PREBUILT_DIRS_RELEASE}/openxr_loader.lib )
18+
else()
19+
target_link_libraries( ll::openxr INTERFACE ${ARCH_PREBUILT_DIRS_RELEASE}/libopenxr_loader.a )
20+
endif (WINDOWS)
1921

20-
if( NOT LINUX )
21-
target_include_directories( ll::openxr SYSTEM INTERFACE ${LIBS_PREBUILT_DIR}/include)
22+
if( NOT LINUX )
23+
target_include_directories( ll::openxr SYSTEM INTERFACE ${LIBS_PREBUILT_DIR}/include)
24+
endif()
2225
endif()

0 commit comments

Comments
 (0)