<feed xmlns='http://www.w3.org/2005/Atom'>
<title>viewer.git/indra/cmake/APR.cmake, branch 26.3</title>
<subtitle>Megapahit's fork of the Second Life viewer.
</subtitle>
<id>https://www.megapahit.org/viewer.git/atom?h=26.3</id>
<link rel='self' href='https://www.megapahit.org/viewer.git/atom?h=26.3'/>
<link rel='alternate' type='text/html' href='https://www.megapahit.org/viewer.git/'/>
<updated>2026-06-22T03:25:21Z</updated>
<entry>
<title>Flatpak support</title>
<updated>2026-06-22T03:25:21Z</updated>
<author>
<name>Erik Kundiman</name>
<email>erik@megapahit.org</email>
</author>
<published>2026-06-22T00:34:39Z</published>
<link rel='alternate' type='text/html' href='https://www.megapahit.org/viewer.git/commit/?id=ee87dd9f21e0dcd5a2f3a78586e5ae5d2ba592d5'/>
<id>urn:sha1:ee87dd9f21e0dcd5a2f3a78586e5ae5d2ba592d5</id>
<content type='text'>
Still uses prebuilt GLU, could be improved by using the glu shared
module.
Still uses prebuilt OpenAL, could be improved by separating the
ALUT dependency (which isn't available on the runtime) from it,
so we could use runtime's OpenAL.
Still uses prebuilt LibXML2, could be improved by separating the
Minizip &amp; ColladaDOM from it (which aren't available on the
runtime) from it, so we could use runtime's LibXML2 but have
ColladaDOM built against it (and a still non-runtime Minizip).
Still uses FLTK 1.3, when I tried using 1.4, it still had linking
errors (might need to just add Cairo libraries to the
target_link_libraries).
VLC plugins are installed in vlc/plugins path relative to the vlc
&amp; vlccore libraries, the way they are in the distro I got the
binaries from (Debian), cause I think it's the libraries that are
compiled with that path.
Still uses prebuilt dependencies in general, could be improved by
having them as modules to be built.
_FORTIFY_SOURCE needs to be skipped to avoid redefinition cause
Flatpak build system already defines it.
The conditionals for deciding installation paths need to be
reorganised to accomodate installation that doesn't require an
encapsulating namespace (because the installed files are already
encapsulated in the app sandbox).
The library directory naming scheme used here is lib64.
The libGLESv2.so &amp; libvulkan.so.1 installed are still copies, not
links yet, because I'm still not familiar yet with the runtime
hierarchies (they might reside just in /usr/lib/x86_64-linux-gnu).
</content>
</entry>
<entry>
<title>Merge remote-tracking branch 'secondlife/release/2026.01' into 2026.01</title>
<updated>2025-12-04T08:48:50Z</updated>
<author>
<name>Erik Kundiman</name>
<email>erik@megapahit.org</email>
</author>
<published>2025-12-04T05:58:12Z</published>
<link rel='alternate' type='text/html' href='https://www.megapahit.org/viewer.git/commit/?id=e3a35af2c676fb211ff7d01a79eb1a3299bc82f3'/>
<id>urn:sha1:e3a35af2c676fb211ff7d01a79eb1a3299bc82f3</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Merge tag 'Second_Life_Release#01823996-2025.08' into 2025.08</title>
<updated>2025-10-25T12:03:33Z</updated>
<author>
<name>Erik Kundiman</name>
<email>erik@megapahit.org</email>
</author>
<published>2025-10-23T04:00:12Z</published>
<link rel='alternate' type='text/html' href='https://www.megapahit.org/viewer.git/commit/?id=ab9976389fe5e4c254d3eb2c39fd2dff083d8d2d'/>
<id>urn:sha1:ab9976389fe5e4c254d3eb2c39fd2dff083d8d2d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Updated APR library and removed hotfix patch in APR cmake</title>
<updated>2025-10-22T12:46:36Z</updated>
<author>
<name>Hecklezz</name>
<email>tj8@live.com.au</email>
</author>
<published>2025-10-22T09:27:51Z</published>
<link rel='alternate' type='text/html' href='https://www.megapahit.org/viewer.git/commit/?id=ab3106d58e2abe9fc3a9e74ac20ada9ca46a7f46'/>
<id>urn:sha1:ab3106d58e2abe9fc3a9e74ac20ada9ca46a7f46</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix erroneous check for __attribute__ definition introduced with APR 1.7.5</title>
<updated>2025-10-16T16:44:18Z</updated>
<author>
<name>Ansariel</name>
<email>ansariel.hiller@phoenixviewer.com</email>
</author>
<published>2025-10-14T13:15:24Z</published>
<link rel='alternate' type='text/html' href='https://www.megapahit.org/viewer.git/commit/?id=790c52f3fdd6f326d36cd329d6090207c59d3cc8'/>
<id>urn:sha1:790c52f3fdd6f326d36cd329d6090207c59d3cc8</id>
<content type='text'>
With the update of APR to versoin 1.7.5., we have to deal with an erroneous check for the definition of __attribute__ added to the APR head file apr.h: The additional check for the definition of __has_attribute is nonsense as it is a C++ internal macro to check for the existance of certain attributes, however it has nothing to do with __attribute__ used in this context.

Since __attribute__ is not defined in MSVC, the modified, erroneous check now causes said definition becoming missing, resulting in a huge amount of "this declaration may not have extern 'C' linkage" errors within in MSVC.

This change utilizes CMake to patch the extracted APR header file, restoring the original version of the check.
</content>
</entry>
<entry>
<title>Merge tag 'Second_Life_Release#a6d4c1d3-2025.07' into 2025.07</title>
<updated>2025-10-01T08:56:56Z</updated>
<author>
<name>Erik Kundiman</name>
<email>erik@megapahit.org</email>
</author>
<published>2025-09-29T08:29:19Z</published>
<link rel='alternate' type='text/html' href='https://www.megapahit.org/viewer.git/commit/?id=a954d290674db08ecaf3c1e6484a0cb6647b88b5'/>
<id>urn:sha1:a954d290674db08ecaf3c1e6484a0cb6647b88b5</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix vcpkg APR library names to link with</title>
<updated>2025-06-03T09:51:57Z</updated>
<author>
<name>Erik Kundiman</name>
<email>erik@megapahit.org</email>
</author>
<published>2025-06-03T09:51:57Z</published>
<link rel='alternate' type='text/html' href='https://www.megapahit.org/viewer.git/commit/?id=a1d368a4528585d694340858939a7b2de35d7481'/>
<id>urn:sha1:a1d368a4528585d694340858939a7b2de35d7481</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Pass configuration phase with vcpkg replacing MSYS2</title>
<updated>2025-05-27T02:01:21Z</updated>
<author>
<name>Erik Kundiman</name>
<email>erik@megapahit.org</email>
</author>
<published>2025-05-27T02:01:21Z</published>
<link rel='alternate' type='text/html' href='https://www.megapahit.org/viewer.git/commit/?id=7ecde89008f9ed39c357b606d3bc231ba4360ee2'/>
<id>urn:sha1:7ecde89008f9ed39c357b606d3bc231ba4360ee2</id>
<content type='text'>
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 &amp; 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.
</content>
</entry>
<entry>
<title>Not rely on (LL_)USESYSTEMLIBS macro &amp; CMake setting</title>
<updated>2025-05-13T02:22:54Z</updated>
<author>
<name>Erik Kundiman</name>
<email>erik@megapahit.org</email>
</author>
<published>2025-05-13T02:22:54Z</published>
<link rel='alternate' type='text/html' href='https://www.megapahit.org/viewer.git/commit/?id=f5ab6e11f13699c03a696611f67f8384434130a1'/>
<id>urn:sha1:f5ab6e11f13699c03a696611f67f8384434130a1</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>Replace USE_AUTOBUILD_3P OR USE_CONAN with USESYSTEMLIBS</title>
<updated>2025-04-27T11:52:04Z</updated>
<author>
<name>Erik Kundiman</name>
<email>erik@megapahit.org</email>
</author>
<published>2025-04-27T11:52:04Z</published>
<link rel='alternate' type='text/html' href='https://www.megapahit.org/viewer.git/commit/?id=7cd7110c3b29ce74b1abe0cf307015e49199d766'/>
<id>urn:sha1:7cd7110c3b29ce74b1abe0cf307015e49199d766</id>
<content type='text'>
Simpler.
</content>
</entry>
</feed>
