From 460d01befb6bfc3bc956589065362118f52610c0 Mon Sep 17 00:00:00 2001 From: Monty Brandenberg Date: Fri, 1 Nov 2013 23:32:44 +0000 Subject: Update build plumbing with tier 2, 3 and 4 libraries --- indra/cmake/PNG.cmake | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'indra/cmake/PNG.cmake') diff --git a/indra/cmake/PNG.cmake b/indra/cmake/PNG.cmake index 913c575672..d9afe772ae 100755 --- a/indra/cmake/PNG.cmake +++ b/indra/cmake/PNG.cmake @@ -9,13 +9,13 @@ if (STANDALONE) else (STANDALONE) use_prebuilt_binary(libpng) if (WINDOWS) - set(PNG_LIBRARIES libpng15) - set(PNG_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/include/libpng15) + set(PNG_LIBRARIES libpng16) + set(PNG_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/include/libpng16) elseif(DARWIN) - set(PNG_LIBRARIES png15) - set(PNG_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/include/libpng15) + set(PNG_LIBRARIES png16) + set(PNG_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/include/libpng16) else() - set(PNG_LIBRARIES png15) - set(PNG_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/include/libpng15) + set(PNG_LIBRARIES png16) + set(PNG_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/include/libpng16) endif() endif (STANDALONE) -- cgit v1.2.3 From f8874d04b8ca238ee99dc464055295cff417a9b2 Mon Sep 17 00:00:00 2001 From: Monty Brandenberg Date: Tue, 15 Apr 2014 22:48:52 +0000 Subject: Linux/Win: Bad checksum on Windows package. Libz and libpng linking changes to find newest code. Windows autobuild package had a bad checksum due to oddities in the build system. On Linux I've been fighting with getting libz 1.2.8 and libpng 1.6.8 to be the definitive version in the viewer. Problem is the *massive* library search tree we assemble. We find older shared library versions first and so those dominated. By using --whole-archive with static libraries, the packaged versions of these libraries are made definitive. --- indra/cmake/PNG.cmake | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'indra/cmake/PNG.cmake') diff --git a/indra/cmake/PNG.cmake b/indra/cmake/PNG.cmake index d9afe772ae..9653591f67 100755 --- a/indra/cmake/PNG.cmake +++ b/indra/cmake/PNG.cmake @@ -15,6 +15,19 @@ else (STANDALONE) set(PNG_LIBRARIES png16) set(PNG_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/include/libpng16) else() + # + # When we have updated static libraries in competition with older + # shared libraries and we want the former to win, we need to do some + # extra work. The *_PRELOAD_ARCHIVES settings are invoked early + # and will pull in the entire archive to the binary giving it + # priority in symbol resolution. Beware of cmake moving the + # achive load itself to another place on the link command line. If + # that happens, you can try something like -Wl,-lpng16 here to hide + # the archive. Also be aware that the linker will not tolerate a + # second whole-archive load of the archive. See viewer's + # CMakeLists.txt for more information. + # + set(PNG_PRELOAD_ARCHIVES -Wl,--whole-archive png16 -Wl,--no-whole-archive) set(PNG_LIBRARIES png16) set(PNG_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/include/libpng16) endif() -- cgit v1.2.3