diff --git a/AUTHORS b/AUTHORS index a51b3b65..2297d439 100644 --- a/AUTHORS +++ b/AUTHORS @@ -57,6 +57,7 @@ Gerhard Huber Galaxy4594 <164440799+Galaxy4594@users.noreply.github.com> gi-man Gilles Devillers (GilDev) +Go Kudo Heiko Becker Ivan Kokorev Jim Robinson diff --git a/lib/jpegli.cmake b/lib/jpegli.cmake index e6993c7f..319aaa79 100644 --- a/lib/jpegli.cmake +++ b/lib/jpegli.cmake @@ -106,7 +106,7 @@ endif() # Build libjpeg.so that links to libjpeg-static # -if (JPEGXL_ENABLE_JPEGLI_LIBJPEG AND NOT APPLE AND NOT WIN32 AND NOT EMSCRIPTEN) +if (JPEGXL_ENABLE_JPEGLI_LIBJPEG AND NOT WIN32) add_library(jpegli-libjpeg-obj OBJECT "${JPEGXL_INTERNAL_JPEGLI_WRAPPER_SOURCES}") target_compile_options(jpegli-libjpeg-obj PRIVATE ${JPEGXL_INTERNAL_FLAGS}) target_compile_options(jpegli-libjpeg-obj PUBLIC ${JPEGXL_COVERAGE_FLAGS}) @@ -130,12 +130,19 @@ set_target_properties(jpeg PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/jpegli" RUNTIME_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/jpegli") -# Add a jpeg.version file as a version script to tag symbols with the +# Add a jpeg.version or jpeg.list file as a version script to tag symbols with the # appropriate version number. -set_target_properties(jpeg PROPERTIES - LINK_DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/jpegli/jpeg.version.${JPEGLI_LIBJPEG_LIBRARY_SOVERSION}) -set_property(TARGET jpeg APPEND_STRING PROPERTY - LINK_FLAGS " -Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/jpegli/jpeg.version.${JPEGLI_LIBJPEG_LIBRARY_SOVERSION}") +if (LINUX) + set_target_properties(jpeg PROPERTIES + LINK_DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/jpegli/jpeg.version.${JPEGLI_LIBJPEG_LIBRARY_SOVERSION}) + set_property(TARGET jpeg APPEND_STRING PROPERTY + LINK_FLAGS " -Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/jpegli/jpeg.version.${JPEGLI_LIBJPEG_LIBRARY_SOVERSION}") +elseif(APPLE) + set_target_properties(jpeg PROPERTIES + LINK_DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/jpegli/jpeg.list.${JPEGLI_LIBJPEG_LIBRARY_SOVERSION}) + set_property(TARGET jpeg APPEND_STRING PROPERTY + LINK_FLAGS " -Wl,-exported_symbols_list,${CMAKE_CURRENT_SOURCE_DIR}/jpegli/jpeg.list.${JPEGLI_LIBJPEG_LIBRARY_SOVERSION}") +endif() if (JPEGXL_INSTALL_JPEGLI_LIBJPEG) install(TARGETS jpeg diff --git a/lib/jpegli/jpeg.list.62 b/lib/jpegli/jpeg.list.62 new file mode 100644 index 00000000..773976f7 --- /dev/null +++ b/lib/jpegli/jpeg.list.62 @@ -0,0 +1,4 @@ +_jpeg* +_tj* +_jpeg_mem_src* +_jpeg_mem_dest* diff --git a/lib/jpegli/jpeg.list.8 b/lib/jpegli/jpeg.list.8 new file mode 100644 index 00000000..4ddc63d8 --- /dev/null +++ b/lib/jpegli/jpeg.list.8 @@ -0,0 +1,2 @@ +_jpeg* +_tj*