Skip to content
Snippets Groups Projects
Commit 1e1a38d5 authored by Nat Goodspeed's avatar Nat Goodspeed
Browse files

DEV-34837: Improve Mac support for LLCOMMON_LINK_SHARED.

Update Mac apr_suite package, introducing libapr-1.0.3.7.dylib and
libaprutil-1.0.3.8.dylib. We want to use dynamic APR libraries, but
libllcommon.dylib isn't allowed to depend on .so libraries: must be .dylibs
themselves.
Tweak APR.cmake to reference the aforementioned .dylibs when on Mac with
LLCOMMON_LINK_SHARED set. Eliminate some redundancy in Windows section.
For .dylibs, RunBuildTest.cmake must set DYLD_LIBRARY_PATH: LD_LIBRARY_PATH
only affects search for .so files.

PENDING:
CMake dependencies broken? With LLCOMMON_LINK_SHARED on, it seems we need to
build libllcommon.dylib explicitly before full build can succeed.
This snapshot does NOT yet copy the llcommon, apr or aprutil dylibs into the
app bundle.
parent 9021a536
No related branches found
No related tags found
No related merge requests found
...@@ -14,40 +14,37 @@ else (STANDALONE) ...@@ -14,40 +14,37 @@ else (STANDALONE)
use_prebuilt_binary(apr_suite) use_prebuilt_binary(apr_suite)
if (WINDOWS) if (WINDOWS)
if (LLCOMMON_LINK_SHARED) if (LLCOMMON_LINK_SHARED)
set(APR_LIBRARIES set(APR_selector "lib")
debug ${ARCH_PREBUILT_DIRS_DEBUG}/libapr-1.lib
optimized ${ARCH_PREBUILT_DIRS_RELEASE}/libapr-1.lib
)
set(APRICONV_LIBRARIES
debug ${ARCH_PREBUILT_DIRS_DEBUG}/libapriconv-1.lib
optimized ${ARCH_PREBUILT_DIRS_RELEASE}/libapriconv-1.lib
)
set(APRUTIL_LIBRARIES
debug ${ARCH_PREBUILT_DIRS_DEBUG}/libaprutil-1.lib ${APRICONV_LIBRARIES}
optimized ${ARCH_PREBUILT_DIRS_RELEASE}/libaprutil-1.lib ${APRICONV_LIBRARIES}
)
else (LLCOMMON_LINK_SHARED) else (LLCOMMON_LINK_SHARED)
set(APR_LIBRARIES set(APR_selector "")
debug ${ARCH_PREBUILT_DIRS_DEBUG}/apr-1.lib
optimized ${ARCH_PREBUILT_DIRS_RELEASE}/apr-1.lib
)
set(APRICONV_LIBRARIES
debug ${ARCH_PREBUILT_DIRS_DEBUG}/apriconv-1.lib
optimized ${ARCH_PREBUILT_DIRS_RELEASE}/apriconv-1.lib
)
set(APRUTIL_LIBRARIES
debug ${ARCH_PREBUILT_DIRS_DEBUG}/aprutil-1.lib ${APRICONV_LIBRARIES}
optimized ${ARCH_PREBUILT_DIRS_RELEASE}/aprutil-1.lib ${APRICONV_LIBRARIES}
)
endif (LLCOMMON_LINK_SHARED) endif (LLCOMMON_LINK_SHARED)
set(APR_LIBRARIES
debug ${ARCH_PREBUILT_DIRS_DEBUG}/${APR_selector}apr-1.lib
optimized ${ARCH_PREBUILT_DIRS_RELEASE}/${APR_selector}apr-1.lib
)
set(APRICONV_LIBRARIES
debug ${ARCH_PREBUILT_DIRS_DEBUG}/${APR_selector}apriconv-1.lib
optimized ${ARCH_PREBUILT_DIRS_RELEASE}/${APR_selector}apriconv-1.lib
)
set(APRUTIL_LIBRARIES
debug ${ARCH_PREBUILT_DIRS_DEBUG}/${APR_selector}aprutil-1.lib ${APRICONV_LIBRARIES}
optimized ${ARCH_PREBUILT_DIRS_RELEASE}/${APR_selector}aprutil-1.lib ${APRICONV_LIBRARIES}
)
elseif (DARWIN) elseif (DARWIN)
if (LLCOMMON_LINK_SHARED)
set(APR_selector "0.3.7.dylib")
set(APRUTIL_selector "0.3.8.dylib")
else (LLCOMMON_LINK_SHARED)
set(APR_selector "a")
set(APRUTIL_selector "a")
endif (LLCOMMON_LINK_SHARED)
set(APR_LIBRARIES set(APR_LIBRARIES
debug ${ARCH_PREBUILT_DIRS_DEBUG}/libapr-1.a debug ${ARCH_PREBUILT_DIRS_DEBUG}/libapr-1.${APR_selector}
optimized ${ARCH_PREBUILT_DIRS_RELEASE}/libapr-1.a optimized ${ARCH_PREBUILT_DIRS_RELEASE}/libapr-1.${APR_selector}
) )
set(APRUTIL_LIBRARIES set(APRUTIL_LIBRARIES
debug ${ARCH_PREBUILT_DIRS_DEBUG}/libaprutil-1.a debug ${ARCH_PREBUILT_DIRS_DEBUG}/libaprutil-1.${APRUTIL_selector}
optimized ${ARCH_PREBUILT_DIRS_RELEASE}/libaprutil-1.a optimized ${ARCH_PREBUILT_DIRS_RELEASE}/libaprutil-1.${APRUTIL_selector}
) )
set(APRICONV_LIBRARIES iconv) set(APRICONV_LIBRARIES iconv)
else (WINDOWS) else (WINDOWS)
......
...@@ -85,9 +85,9 @@ ...@@ -85,9 +85,9 @@
<key>darwin</key> <key>darwin</key>
<map> <map>
<key>md5sum</key> <key>md5sum</key>
<string>abd07d760cdc7d23da3b861f34b09c92</string> <string>c4de63e9416a800155aff3f96b149a0c</string>
<key>url</key> <key>url</key>
<uri>http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/apr_suite-1.2.8-darwin-20080812.tar.bz2</uri> <uri>http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/apr_suite-1.3.7-darwin-20090730.tar.bz2</uri>
</map> </map>
<key>linux</key> <key>linux</key>
<map> <map>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment