summaryrefslogtreecommitdiff
path: root/README.md
AgeCommit message (Collapse)Author
7 daysUse CMake 3.31.10 instead of 3.30.1 on WindowsErik Kundiman
2025-12-04Merge branch '2025.08'Erik Kundiman
2025-12-04Update instructions' minimum macOS version to 12Erik Kundiman
2025-11-29Merge branch 'main' into 2025.08Erik Kundiman
2025-11-29Add nghttp2 to macOS build preparation instructionsErik Kundiman
though implicitly pulled by curl which is pulled by cmake & git.
2025-11-28Merge branch 'main' into 2025.08Erik Kundiman
2025-11-21Use FLTK 1.4 on Debian instead of 1.3Erik Kundiman
which fixes the problem of freezing/crashing or disappearing of the viewer, at least on default GNOME-based Debian.
2025-11-07Merge branch 'main' into 2025.08Erik Kundiman
2025-11-07Change instruction from pkg add to pkg installErik Kundiman
for FreeBSD as it's the one that would pull dependencies automatically More for users that are trying to figure out the command for installing the binary package, and they read this README (which is actually for builders, who could still use pkg add).
2025-10-28Merge branch 'main' into 2025.08Erik Kundiman
2025-10-28Point CONTRIBUTING.md to GH's instead of cgit'sErik Kundiman
The mirror that displays Markdown files with hyperlinks and all, is GH's anyway.
2025-10-25Merge tag 'Second_Life_Release#01823996-2025.08' into 2025.08Erik Kundiman
2025-10-10Use MacPorts' Boost 1.88 instead of its Boost 1.87Erik Kundiman
Now that MacPorts' newest Boost version is 1.88.
2025-10-03Update tumbleweed instructions & requiresSecret Foxtail
Update libboost packages to ver 89
2025-08-11Supported Debian amd64 is now 13.0 (current stable)Erik Kundiman
OpenAL and LL's WebRTC now break CEF too just like on many other supported distros. Same as Ubuntu 24.04.2 when it comes to not yet compatible newer Pipewire, but OpenJPEG 2.5.3 (unlike 24.04.2 which is still at 2.5.0). The libminizip1 package name is also fixed here for Ubuntu.
2025-08-09Revert "Make sure sed is installed on Arch"Erik Kundiman
This reverts commit cbf64f875831992386dadc5a094b9739b678b764.
2025-08-07Make sure sed is installed on ArchErik Kundiman
Turns out it's not necessarily pulled by some other dependencies on a fresh Arch installation.
2025-07-18Bring back Arch install prefix setting instructionErik Kundiman
previously unintentionally left out from commit 829e4
2025-07-09No env settings needed for vcpkg pkgconf.exeErik Kundiman
Turns out the one used is installed/<arch>-windows/tools/pkgconf/pkgconf.exe which is installed by some package... No special PKG_CONFIG_LIBDIR/PATH needed either.
2025-07-09vcpkg's pkg-config.exe path has been updatedErik Kundiman
and it turns it's installed automatically for building some of our dependencies, and *not* by the "pkgconf" package.
2025-07-08Debian arm64 can use system nanosvgErik Kundiman
cause it's available now on trixie.
2025-07-08Windows can use vcpkg nanosvgErik Kundiman
2025-07-08Turn NDOF back on for Windows x64Erik Kundiman
and don't rebuild NDOF on non x86-64 Linux when it's already installed.
2025-07-08NDOF support for non x86-64 LinuxErik Kundiman
2025-07-08Change Debian arch labels, sort & NDOF off on arm64Erik Kundiman
2025-07-07Get the viewer installable on Debian arm64Erik Kundiman
The Debian version supported is 13 (trixie), because that's the version I could install on my M1, hence the Boost default version is 1.83 & we can use system's OpenJPEG 2.5.3. Somehow CMake's FindOpenGL wasn't effective, but we can get around this by setting the GL libraries paths when running cmake. Debian aarch64 suffers from the same problem Fedora aarch64 had when compiling libcurl, and it's assumed that it's Linux aarch64 thing. When trying to build ColladaDOM when building the viewer, it couldn't find Boost somehow, so building ColladaDOM is done in configuration stage instead. Upstream Variables.cmake is full of assumptions regarding architecture, and ARCH is used in many places already for Debian/Ubuntu, so we have to make sure ARCH is set with the correct value at the root level. Pipewire on trixie is also too new, so it's cancelled here. Some dependencies have the t64 suffixes on them, just like the currently supported Ubuntu (because I guess 24.04 *is*, based on trixie). The executable still crashes when launched on my M1, however, but we'll commit the progress so far for now.
2025-07-04Add rpm-build to tumbleweed instructions tooSecret Foxtail
almost forgot!
2025-07-04Fix tumbleweed build instructionsSecret Foxtail
add cmake and patch to tumbleweed build instructions
2025-06-25Attempt to replace __cpuid on arm64 without cpuinfoErik Kundiman
https://stackoverflow.com/questions/60588765/how-to-get-cpu-brand-information-in-arm64
2025-06-25Add tildes & make sure FMOD is OFF if using OpenALErik Kundiman
2025-06-24README.md adjustment IIIsecretfoxtail
Move semicolons for improved readability. (Sorry!)
2025-06-24README.md adjustment IIsecretfoxtail
Put ".tar.gz" and "/Downloads" in code blocks for increased visibility.
2025-06-24Update README.md for distributions that need fmodsecretfoxtail
Update build instructions for distributions that require fmod in order for CEF to work, optionally include instructions for building with openal anyway.
2025-06-24Revert "Update build instructions for distros that require fmodstudio for ↵secretfoxtail
working CEF" (I messed up the hyperlinks lol)
2025-06-24Update build instructions for distros that require fmodstudio for working CEFsecretfoxtail
Add notes about where to get fmodstudio, and optionally how to build with openal instead.
2025-06-24Update tumbleweed build instructions & CMakeLists package listssecretfoxtail
2025-06-21Windows arm64 can use sse2neon from vcpkgErik Kundiman
Also add cpuinfo to build preparation instruction.
2025-06-13Add Windows to the build list, sort alphabeticallyErik Kundiman
2025-06-11Update Windows build instructionsErik Kundiman
There's a different section for Windows arm64, cause there are different patterns in the commands that are too difficult to generalise. BuildTools is used instead of the full Visual Studio IDE, and BuildTools is installed in Program Files (x86) on both Windows x64 and arm64. The CMake used is the one automatically installed by vcpkg, and it can find the compilers when the toolchain file setting is set to the file provided by vcpkg. This way we don't have to install VS CMake component that depends on x64/x86 build tools, which we don't need for Windows arm64. The pkg-config used is the other one downloaded, as the path to it is common on both Windows arm64 and x64. cURL is installed on arm64 cause there doesn't seem to be any easy way to build OpenSSL 1.1 for Windows arm64 (which LL's cURL fork depends on).
2025-06-06Enable media plugins on WindowsErik Kundiman
Put the necessary files into place. But, none of them is working just yet.
2025-06-06Make the viewer installable & runnable on WindowsErik Kundiman
Turns out the CMAKE_BUILD_TYPE setting is necessary, otherwise it would be built in RelWithDebInfo configuration. Reorganise the contributors generation and general CPack settings in indra/newview/CMakeLists.txt. Running sed when cross-comping for Linux, on FreeBSD, doesn't need to use Linux's sed, so no need for ${CMAKE_SYSROOT}/usr/bin prefix, this way that section can be reused for Windows. I still couldn't get CPack to make NSIS not use the version numbers as part of the default installation destination. Using TARGETS for installing llwebrtc would cause the .lib to be installed too, which isn't necessary, that's why we use PROGRAMS. contributors.txt still gets generated wrongly. The executable icon is still SL's test icon. ColladaDOM's failure to link to Boost throw_exception, from its use of Boost Regex, is not fixed yet. I got to this stage by temporarily removing the offending lines in daeURI.cpp (which are the lines where Boost Regex is used).
2025-06-04Revert "Use LL's prebuilt Windows Boost for now"Erik Kundiman
This reverts commit 2bf9d234aac30ed4a85282730da0ffc83acf9adf.
2025-06-03Use LL's prebuilt Windows Boost for nowErik Kundiman
I got "definition of dllimport function not allowed" errors when using vcpkg's Boost. Someone else got this problem too: https://github.com/boostorg/serialization/issues/278 Hopefully later we can get back to using vcpkg's Boost.
2025-06-03Instruction for disabling VS fatal warningsErik Kundiman
otherwise we'd have to deal with every warning. Instruction for building from the command line too. Add MSBuild binary directory to PATH, and MSBuild needs its .exe extension typed too for it to be found, unlike other commands such as cmake, vcpkg, pkg-config, and so on. By default, MSBuild builds using the RelWithDebInfo configuration, hence the -p:Configuration parameter to have Release instead. I guess that's why CMake would consider CMAKE_BUILD_TYPE as not being used by the project.
2025-06-01Update openSUSE Tumbleweed readme & cmakelistssecretfoxtail
Update libboost package names.
2025-06-01Add install eselect-repository to Gentoo stepsErik Kundiman
and remove the necessity of using sudo to su on FreeBSD, just like on Gentoo.
2025-05-27Pass configuration phase with vcpkg replacing MSYS2Erik Kundiman
I happen to be using just Git Bash for convenience for running the commands on the Windows build instructions, hence the build folder pattern to be ignored from the result of running `uname -s` there. The instructions omit the part where you install vcpkg and set the VCPKG_ROOT environment variable, cause it depends on where you install vcpkg to your liking, but the next commands will rely on that variable being set correctly. The CMake used here is MS VS 2022 Community Edition's one, since it will know where the C++ compiler is. $VCPKG_ROOT/downloads/tools/msys2/21caed2f81ec917b/mingw64/bin is where pkg-config.exe can be found. $VCPKG_ROOT/installed/`uname -m|sed 's/86_//'`-windows/tools/libxml2 is where xmllint.exe can be found (from libxml2[tools]). PKG_CONFIG_LIBDIR and PYTHON environment settings are pretty self-explanatory. The flags set on LL_BUILD are now for Visual C++ and not MinGW(64)'s GCC or Clang any more, and copied from most of the flags in the variables file from LL's build-variables repo. vcpkg's apr & apr-util packages don't seem to install their .pc files, hence the manual target_include/link_directories/libraries settings, relying on some automatically generated INTERNAL CMake variable called prefix_result. vcpkg's Boost needs the same treatment, plus some suffix. We still use LL's prebuilt libs for OpenSSL, libcurl and WebRTC. Actually too for ColladaDOM for now, but we prepare Windows ColladaDOM self-building for later. For GLM and Meshoptimizer too, it's just the checking that's skipped otherwise it would fail (but the vcpkg packages can be used). Visual C++ doesn't recognise the no-deprecated-declarations compile option. On Visual C++, the macro to denote x86-64 seems to be _M_X64 (if not added there, it would try to find sse2neon :)) We still aren't using Autobuild here for Windows either, hence the FALSE-d viewer_manifest.py based file bundling.
2025-05-27Add missing FBSD building steps & fix its depsErik Kundiman
Even though the windlight file names containing %20 & %21 isn't liked by either CPack or FBSD packaging problem will eventually have to be solved, the hack steps are small that they should just be documented, in case (more) others would like to build the FBSD package. Use custom PYTHON environment setting instead of relying on creating links named python and/or python 3 to the system Python executable. Reorder build requirements, add missing dependencies that can be set to automatically installed. The absences of some were leftovers from dependency on system ColladaDOM and GTK2 (or my failure to add some package names to the CPack dependencies, caused by the gtk2 vs. gtk20, apr vs. apr1, sdl2 vs. sdl20, etc. FBSD package/port naming confusion).
2025-05-14Revert "Revert to LL's OpenJPEG fork"Erik Kundiman
This reverts commit 3a36cdf6ebd9d2795bdcd14162f38df568d51796.
2025-05-13Not rely on (LL_)USESYSTEMLIBS macro & CMake settingErik Kundiman
but the fact that we keep on using as many system libraries as we can (and only resort to other sources in certain cases), hasn't changed, of course. Also stop having to set USE_AUTOBUILD_3P to OFF. Lines are reindented, and when a system library can be found for a dependency, then that should be the way. If later we find out that using some other way is better, than stick to that. So, one option at a time, whichever is best for the situation. GLEXT hasn't been used, and in order to be not having to hack its .cmake file, we bypass it and refer to GLH (which is still used) right away in LLWindow. CMake commands that need to be bypassed, if it's a one-liner then it's just commented out, but if it's multiple lines, then scope them with if (FALSE) to minimise difference.