Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[cmake] Update static dependencies to fix build issues #272

Merged
merged 35 commits into from
Apr 13, 2023

Conversation

tobil4sk
Copy link
Member

@tobil4sk tobil4sk commented Feb 15, 2023

Updates various dependencies, including mariadbconnector which fixes #216.

Using httpd version 2.4.55: httpd-2.4.55.tar.gz

This means we no longer need to use the trunk version for mac, since the
new releases have the desired patches for:
https://bz.apache.org/bugzilla/show_bug.cgi?id=64753

Also means we no longer need pcre1, since now apache can use pcre2.

Apache 2.4.55, apr 1.7.2, and aprutil 1.6.3.
OpenSSL 1.1.1t, pcre2 10.42, SQLite 3.40.1, and MbedTLS 2.28.2
This allows mariadbconnector to reuse the static zlib build created for
zlib.ndll, or to use the system version otherwise on unix systems.
Should ensure static linking on all platforms if STATIC_OPENSSL is set.
These flags are not enough to build aprutil with openssl support,
so they have had no effect even for aprutil 1.5.4.
This gives access to FindSQLite3.
We now have to download and build the expat library separately, as it is
no longer bundled with aprutil.

This requires patching the aprutil cmakelists file, as cmake's findexpat
script is currently quite limited. See:
https://gitlab.kitware.com/cmake/cmake/-/issues/24422
It also requires setting the CMP0074 policy (available from cmake 3.12)
when building aprutil, so that EXPAT_ROOT is not ignored.
We can use this now with cmake 3.12+
If Apache was set in STATIC_DEPS, but not APR or APRutil, this would
cause a build error previously.
project() call should come first
If we are not doing a static build, then there is no reason to know
anything about the openssl library. That will be handled by the
mariadbconnector build scripts.
CMakeLists.txt Outdated Show resolved Hide resolved
@tobil4sk
Copy link
Member Author

Got to green in the end. This fixes the build issues from #216 by updating mariadbconnector, and also updates the remaining dependencies. PCRE1 is now completely gone, since new versions of Apache can use PCRE2 instead. I left out BoehmGC since that is handled in: #264

It may be a good idea to merge #224 and #243 first to avoid merge conflict issues.

@tobil4sk tobil4sk changed the title Update dependencies to fix build issues [cmake] Update static dependencies to fix build issues Feb 20, 2023
CHANGES Outdated Show resolved Hide resolved
@Simn
Copy link
Member

Simn commented Mar 27, 2023

This indeed has a conflict after merging #224, but we should first merge #243 and then finish the quest chain here.

@tobil4sk
Copy link
Member Author

#220 will cause some conflicts too, so that should be merged before this as well.

When building APRutil, we rely on EXPAT_ROOT for finding expat, which is
only available with CMP0074 on CMake 3.12+. This means building APRutil
on Windows will fail if CMake is older than 3.12.
This policy is from CMake 3.9, so it gets set automatically with:
cmake_minimum_required(VERSION 3.10.2)
@Simn Simn merged commit c852db0 into HaxeFoundation:master Apr 13, 2023
@tobil4sk tobil4sk deleted the dependency-updates branch April 13, 2023 11:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Build failure on macOS Big Sur
3 participants