diff options
author | Erik Kundiman <erik@megapahit.org> | 2025-04-19 20:21:46 +0800 |
---|---|---|
committer | Erik Kundiman <erik@megapahit.org> | 2025-04-19 20:21:46 +0800 |
commit | ad9c801edb13568657c0964ebfb74257da6d9e00 (patch) | |
tree | d1c19b9d232f34eb9968857573f4f6f5aead4d7e /indra/cmake/CURL.cmake | |
parent | 11eae5af15cc170a040f9fb02f87715da306ec64 (diff) |
Get the viewer launching on Fedora Asahi Remix
Media plugins enabling not yet.
OpenXR is disabled for now (it hasn't been used anyway).
perl-FindBin is needed to be able to build OpenSSL on Fedora aarch64.
Setting the C standard to 90 when building cURL is needed, otherwise
it would fail at configure time with a misleading error of not finding
link/run time requirements for dependencies (such as nghttp2 and zlib),
at least on Fedora (and macOS too back then, I remember).
GCC treated SSE2NEON warnings as errors on so many files,
so -Wno-cpp is added globally.
The same Linux CPU frequency calculation needs to be out of the x86 scope,
otherwise the viewer would complain about not meeting the requirements
at launch time.
Diffstat (limited to 'indra/cmake/CURL.cmake')
-rw-r--r-- | indra/cmake/CURL.cmake | 35 |
1 files changed, 20 insertions, 15 deletions
diff --git a/indra/cmake/CURL.cmake b/indra/cmake/CURL.cmake index b85de3b845..8407aa1f1d 100644 --- a/indra/cmake/CURL.cmake +++ b/indra/cmake/CURL.cmake @@ -8,7 +8,7 @@ add_library( ll::libcurl INTERFACE IMPORTED ) if (NOT USESYSTEMLIBS) use_system_binary(libcurl) endif (NOT USESYSTEMLIBS) -if (DARWIN OR LINUX OR NOT USESYSTEMLIBS) +if (LINUX AND CMAKE_SYSTEM_PROCESSOR MATCHES x86_64 OR DARWIN OR NOT USESYSTEMLIBS) use_prebuilt_binary(curl) if (DARWIN) execute_process( @@ -27,7 +27,7 @@ use_prebuilt_binary(curl) ) endif (NOT ${curl_archs} STREQUAL ${CMAKE_OSX_ARCHITECTURES}) endif (DARWIN) -elseif (CMAKE_SYSTEM_NAME MATCHES FreeBSD AND (${PREBUILD_TRACKING_DIR}/sentinel_installed IS_NEWER_THAN ${PREBUILD_TRACKING_DIR}/curl_installed OR NOT ${curl_installed} EQUAL 0)) +elseif (${PREBUILD_TRACKING_DIR}/sentinel_installed IS_NEWER_THAN ${PREBUILD_TRACKING_DIR}/curl_installed OR NOT ${curl_installed} EQUAL 0) if (NOT EXISTS ${CMAKE_BINARY_DIR}/3p-curl-7.54.1-r1.tar.gz) file(DOWNLOAD https://github.com/secondlife/3p-curl/archive/refs/tags/v7.54.1-r1.tar.gz @@ -58,12 +58,15 @@ elseif (CMAKE_SYSTEM_NAME MATCHES FreeBSD AND (${PREBUILD_TRACKING_DIR}/sentinel ${LIBS_PREBUILT_DIR}/lib/release/libssl.a DESTINATION ${LIBS_PREBUILT_DIR}/lib ) - message("We need to temporarily have OpenSSL3 header directory and libraries renamed just until the libcurl building process with OpenSSL1.1 now is finished.") - execute_process(COMMAND sudo mv /usr/include/openssl /usr/include/openssl3) - execute_process(COMMAND sudo mv /usr/lib/libcrypto.a /usr/lib/libcrypto.a.3) - execute_process(COMMAND sudo mv /usr/lib/libcrypto.so /usr/lib/libcrypto.so.3) - execute_process(COMMAND sudo mv /usr/lib/libssl.a /usr/lib/libssl.a.3) - execute_process(COMMAND sudo mv /usr/lib/libssl.so /usr/lib/libssl.so.3) + if (CMAKE_SYSTEM_NAME MATCHES FreeBSD) + message("We need to temporarily have OpenSSL3 header directory and libraries renamed just until the libcurl building process with OpenSSL1.1 now is finished.") + execute_process(COMMAND sudo mv /usr/include/openssl /usr/include/openssl3) + execute_process(COMMAND sudo mv /usr/lib/libcrypto.a /usr/lib/libcrypto.a.3) + execute_process(COMMAND sudo mv /usr/lib/libcrypto.so /usr/lib/libcrypto.so.3) + execute_process(COMMAND sudo mv /usr/lib/libssl.a /usr/lib/libssl.a.3) + execute_process(COMMAND sudo mv /usr/lib/libssl.so /usr/lib/libssl.so.3) + endif (CMAKE_SYSTEM_NAME MATCHES FreeBSD) + set(ENV{CFLAGS} "-std=c90") execute_process( COMMAND ./configure --disable-alt-svc --disable-dict --disable-doh --disable-file --disable-gopher --disable-headers-api --disable-hsts --disable-imap --disable-ldap --disable-ldaps --disable-libcurl-option --disable-manual --disable-mqtt --disable-ntlm --disable-ntlm-wb --disable-pop3 --disable-rtsp --disable-shared --disable-smb --disable-smtp --disable-sspi --disable-telnet --disable-tftp --disable-tls-srp --disable-unix-sockets --disable-verbose --disable-versioned-symbols --enable-threaded-resolver --with-ssl=${LIBS_PREBUILT_DIR} --without-libidn2 --without-libpsl --without-libssh2 WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/3p-curl-7.54.1-r1/curl @@ -77,18 +80,20 @@ elseif (CMAKE_SYSTEM_NAME MATCHES FreeBSD AND (${PREBUILD_TRACKING_DIR}/sentinel COPY ${CMAKE_BINARY_DIR}/3p-curl-7.54.1-r1/curl/lib/.libs/libcurl.a DESTINATION ${LIBS_PREBUILT_DIR}/lib/release ) - execute_process(COMMAND sudo mv /usr/include/openssl3 /usr/include/openssl) - execute_process(COMMAND sudo mv /usr/lib/libcrypto.a.3 /usr/lib/libcrypto.a) - execute_process(COMMAND sudo mv /usr/lib/libcrypto.so.3 /usr/lib/libcrypto.so) - execute_process(COMMAND sudo mv /usr/lib/libssl.a.3 /usr/lib/libssl.a) - execute_process(COMMAND sudo mv /usr/lib/libssl.so.3 /usr/lib/libssl.so) - message("OpenSSL3 header directory and library names have been restored.") + if (CMAKE_SYSTEM_NAME MATCHES FreeBSD) + execute_process(COMMAND sudo mv /usr/include/openssl3 /usr/include/openssl) + execute_process(COMMAND sudo mv /usr/lib/libcrypto.a.3 /usr/lib/libcrypto.a) + execute_process(COMMAND sudo mv /usr/lib/libcrypto.so.3 /usr/lib/libcrypto.so) + execute_process(COMMAND sudo mv /usr/lib/libssl.a.3 /usr/lib/libssl.a) + execute_process(COMMAND sudo mv /usr/lib/libssl.so.3 /usr/lib/libssl.so) + message("OpenSSL3 header directory and library names have been restored.") + endif (CMAKE_SYSTEM_NAME MATCHES FreeBSD) file(REMOVE ${LIBS_PREBUILT_DIR}/lib/libcrypto.a ${LIBS_PREBUILT_DIR}/lib/libssl.a ) file(WRITE ${PREBUILD_TRACKING_DIR}/curl_installed "${curl_installed}") -endif (DARWIN OR LINUX OR NOT USESYSTEMLIBS) +endif (LINUX AND CMAKE_SYSTEM_PROCESSOR MATCHES x86_64 OR DARWIN OR NOT USESYSTEMLIBS) if (WINDOWS AND NOT USESYSTEMLIBS) target_link_libraries(ll::libcurl INTERFACE ${ARCH_PREBUILT_DIRS_RELEASE}/libcurl.lib |