summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoger Leigh <rleigh@codelibre.net>2022-07-03 18:34:06 +0000
committerRoger Leigh <rleigh@codelibre.net>2022-07-03 18:34:06 +0000
commit115e1aea6ba590f4edba910b7a4a357154ef38c8 (patch)
tree703a208f5804d2fc9f57ef2ba746a31affb2583e
parent5e60251ea80fd119f631c73d09adf7de6c7f96fc (diff)
parent38f67894cdece5880317434823b56eb33f58fecf (diff)
downloadlibtiff-git-115e1aea6ba590f4edba910b7a4a357154ef38c8.tar.gz
Merge branch 'elf-symbol-export' into 'master'
Explicit export of versioned ELF symbols Closes #437 See merge request libtiff/libtiff!361
-rw-r--r--configure.ac16
-rw-r--r--doc/build.rst2
-rw-r--r--libtiff/libtiff.map201
-rw-r--r--test/Makefile.am13
4 files changed, 222 insertions, 10 deletions
diff --git a/configure.ac b/configure.ac
index a0c50b52..1ae5573c 100644
--- a/configure.ac
+++ b/configure.ac
@@ -25,7 +25,7 @@ dnl OF THIS SOFTWARE.
dnl Process this file with autoconf to produce a configure script.
AC_PREREQ(2.64)
-AC_INIT([LibTIFF Software],[4.4.0],[tiff@lists.maptools.org],[tiff])
+AC_INIT([LibTIFF Software],[4.5.0],[tiff@lists.maptools.org],[tiff])
AC_CONFIG_AUX_DIR(config)
AC_CONFIG_MACRO_DIR(m4)
AC_LANG(C)
@@ -40,7 +40,7 @@ AM_MAINTAINER_MODE
dnl Versioning.
dnl Don't fill the ALPHA_VERSION field, if not applicable.
LIBTIFF_MAJOR_VERSION=4
-LIBTIFF_MINOR_VERSION=4
+LIBTIFF_MINOR_VERSION=5
LIBTIFF_MICRO_VERSION=0
LIBTIFF_ALPHA_VERSION=
LIBTIFF_VERSION=$LIBTIFF_MAJOR_VERSION.$LIBTIFF_MINOR_VERSION.$LIBTIFF_MICRO_VERSION$LIBTIFF_ALPHA_VERSION
@@ -76,9 +76,9 @@ dnl 5. If any interfaces have been added since the last public release, then
dnl increment age.
dnl 6. If any interfaces have been removed since the last public release,
dnl then set age to 0.
-LIBTIFF_CURRENT=13
+LIBTIFF_CURRENT=6
LIBTIFF_REVISION=0
-LIBTIFF_AGE=8
+LIBTIFF_AGE=0
LIBTIFF_VERSION_INFO=$LIBTIFF_CURRENT:$LIBTIFF_REVISION:$LIBTIFF_AGE
# This is a special hack for OpenBSD and MirOS systems. The dynamic linker
@@ -121,9 +121,9 @@ AC_PATH_PROG(CMAKE, cmake)
# constrained to compilers using GNU ld on ELF systems or systems
# which provide an adequate emulation thereof.
AC_ARG_ENABLE([ld-version-script],
- AS_HELP_STRING([--enable-ld-version-script],
- [enable linker version script (default is disabled)]),
- [have_ld_version_script=$enableval], [have_ld_version_script=no])
+ AS_HELP_STRING([--disable-ld-version-script],
+ [disable linker version script (default is enabled if supported)]),
+ [have_ld_version_script=$enableval], [have_ld_version_script=yes])
if test "$have_ld_version_script" != no; then
AC_MSG_CHECKING([if LD -Wl,--version-script works])
save_LDFLAGS="$LDFLAGS"
@@ -163,6 +163,8 @@ AC_SUBST(tiff_libs_private)
tiff_requires_private=
AC_SUBST(tiff_requires_private)
+AM_CONDITIONAL(BUILD_STATIC, test "$enable_static" = "yes")
+
dnl We don't need to add math library to all targets
case "${host_os}" in
cygwin* | mingw32* | beos* | darwin*)
diff --git a/doc/build.rst b/doc/build.rst
index 6853b867..71360843 100644
--- a/doc/build.rst
+++ b/doc/build.rst
@@ -506,7 +506,7 @@ Static/Shared Objects Support
.. option:: --enable-ld-version-script
- Enable linker version script [no]
+ Enable linker version script [yes]
Add shared library symbol versioning on ELF-based systems (e.g.
Linux and FreeBSD) which use the GNU linker. This is needed if
diff --git a/libtiff/libtiff.map b/libtiff/libtiff.map
index 2fc177fd..3dcefe3a 100644
--- a/libtiff/libtiff.map
+++ b/libtiff/libtiff.map
@@ -1,4 +1,205 @@
LIBTIFF_4.0 {
global:
+ TIFFAccessTagMethods;
+ TIFFCIELabToRGBInit;
+ TIFFCIELabToXYZ;
+ TIFFCheckTile;
+ TIFFCheckpointDirectory;
+ TIFFCleanup;
+ TIFFClientOpen;
+ TIFFClientdata;
+ TIFFClose;
+ TIFFComputeStrip;
+ TIFFComputeTile;
+ TIFFCreateDirectory;
+ TIFFCurrentDirOffset;
+ TIFFCurrentDirectory;
+ TIFFCurrentRow;
+ TIFFCurrentStrip;
+ TIFFCurrentTile;
+ TIFFDataWidth;
+ TIFFDefaultStripSize;
+ TIFFDefaultTileSize;
+ TIFFError;
+ TIFFErrorExt;
+ TIFFFdOpen;
+ TIFFFieldWithName;
+ TIFFFieldWithTag;
+ TIFFFileName;
+ TIFFFileno;
+ TIFFFindCODEC;
+ TIFFFindField;
+ TIFFFlush;
+ TIFFFlushData;
+ TIFFFreeDirectory;
+ TIFFGetBitRevTable;
+ TIFFGetClientInfo;
+ TIFFGetCloseProc;
+ TIFFGetConfiguredCODECs;
+ TIFFGetField;
+ TIFFGetFieldDefaulted;
+ TIFFGetMapFileProc;
+ TIFFGetMode;
+ TIFFGetReadProc;
+ TIFFGetSeekProc;
+ TIFFGetSizeProc;
+ TIFFGetTagListCount;
+ TIFFGetTagListEntry;
+ TIFFGetUnmapFileProc;
+ TIFFGetVersion;
+ TIFFGetWriteProc;
+ TIFFIsBigEndian;
+ TIFFIsByteSwapped;
+ TIFFIsCODECConfigured;
+ TIFFIsMSB2LSB;
+ TIFFIsTiled;
+ TIFFIsUpSampled;
+ TIFFLastDirectory;
+ TIFFMergeFieldInfo;
+ TIFFNumberOfDirectories;
+ TIFFNumberOfStrips;
+ TIFFNumberOfTiles;
+ TIFFOpen;
+ TIFFOpenW;
+ TIFFPrintDirectory;
+ TIFFRGBAImageBegin;
+ TIFFRGBAImageEnd;
+ TIFFRGBAImageGet;
+ TIFFRGBAImageOK;
+ TIFFRasterScanlineSize;
+ TIFFRasterScanlineSize64;
+ TIFFRawStripSize;
+ TIFFRawStripSize64;
+ TIFFReadBufferSetup;
+ TIFFReadCustomDirectory;
+ TIFFReadDirectory;
+ TIFFReadEXIFDirectory;
+ TIFFReadEncodedStrip;
+ TIFFReadEncodedTile;
+ TIFFReadRGBAImage;
+ TIFFReadRGBAImageOriented;
+ TIFFReadRGBAStrip;
+ TIFFReadRGBATile;
+ TIFFReadRawStrip;
+ TIFFReadRawTile;
+ TIFFReadScanline;
+ TIFFReadTile;
+ TIFFRegisterCODEC;
+ TIFFReverseBits;
+ TIFFRewriteDirectory;
+ TIFFScanlineSize;
+ TIFFScanlineSize64;
+ TIFFSetClientInfo;
+ TIFFSetClientdata;
+ TIFFSetDirectory;
+ TIFFSetErrorHandler;
+ TIFFSetErrorHandlerExt;
+ TIFFSetField;
+ TIFFSetFileName;
+ TIFFSetFileno;
+ TIFFSetMode;
+ TIFFSetSubDirectory;
+ TIFFSetTagExtender;
+ TIFFSetWarningHandler;
+ TIFFSetWarningHandlerExt;
+ TIFFSetWriteOffset;
+ TIFFSetupStrips;
+ TIFFStripSize;
+ TIFFStripSize64;
+ TIFFSwabArrayOfDouble;
+ TIFFSwabArrayOfFloat;
+ TIFFSwabArrayOfLong;
+ TIFFSwabArrayOfLong8;
+ TIFFSwabArrayOfShort;
+ TIFFSwabArrayOfTriples;
+ TIFFSwabDouble;
+ TIFFSwabFloat;
+ TIFFSwabLong;
+ TIFFSwabLong8;
+ TIFFSwabShort;
+ TIFFTileRowSize;
+ TIFFTileRowSize64;
+ TIFFTileSize;
+ TIFFTileSize64;
+ TIFFUnRegisterCODEC;
+ TIFFUnlinkDirectory;
+ TIFFUnsetField;
+ TIFFVGetField;
+ TIFFVGetFieldDefaulted;
+ TIFFVSetField;
+ TIFFVStripSize;
+ TIFFVStripSize64;
+ TIFFVTileSize;
+ TIFFVTileSize64;
+ TIFFWarning;
+ TIFFWarningExt;
+ TIFFWriteBufferSetup;
+ TIFFWriteCheck;
+ TIFFWriteDirectory;
+ TIFFWriteEncodedStrip;
+ TIFFWriteEncodedTile;
+ TIFFWriteRawStrip;
+ TIFFWriteRawTile;
+ TIFFWriteScanline;
+ TIFFWriteTile;
+ TIFFXYZToRGB;
+ TIFFYCbCrToRGBInit;
+ TIFFYCbCrtoRGB;
+ _TIFFfree;
+ _TIFFmalloc;
+ _TIFFmemcmp;
+ _TIFFmemcpy;
+ _TIFFmemset;
+ _TIFFrealloc;
+
+ local:
*;
};
+
+LIBTIFF_4.1 {
+ _TIFFCheckMalloc;
+ _TIFFCheckRealloc;
+ _TIFFMultiply32;
+ _TIFFMultiply64;
+ _TIFFRewriteField;
+ TIFFCreateCustomDirectory;
+ TIFFCreateEXIFDirectory;
+ TIFFDeferStrileArrayWriting;
+ TIFFFieldDataType;
+ TIFFFieldName;
+ TIFFFieldPassCount;
+ TIFFFieldReadCount;
+ TIFFFieldTag;
+ TIFFFieldWriteCount;
+ TIFFForceStrileArrayWriting;
+ TIFFGetStrileByteCount;
+ TIFFGetStrileByteCountWithErr;
+ TIFFGetStrileOffset;
+ TIFFGetStrileOffsetWithErr;
+ TIFFReadFromUserBuffer;
+ TIFFReadRGBAStripExt;
+ TIFFReadRGBATileExt;
+ TIFFSetCompressionScheme;
+ TIFFWriteCustomDirectory;
+} LIBTIFF_4.0;
+
+LIBTIFF_4.2 {
+ TIFFCreateGPSDirectory;
+ TIFFReadGPSDirectory;
+ _TIFFGetExifFields;
+ _TIFFGetGpsFields;
+} LIBTIFF_4.1;
+
+LIBTIFF_4.3 {
+} LIBTIFF_4.2;
+
+LIBTIFF_4.4 {
+ TIFFFieldIsAnonymous;
+ TIFFFieldSetGetSize;
+ TIFFFieldSetGetCountSize;
+ TIFFIsBigTIFF;
+} LIBTIFF_4.3;
+
+LIBTIFF_4.5 {
+ _TIFFClampDoubleToUInt32;
+} LIBTIFF_4.4;
diff --git a/test/Makefile.am b/test/Makefile.am
index 6df12122..2da13dbf 100644
--- a/test/Makefile.am
+++ b/test/Makefile.am
@@ -67,12 +67,16 @@ JPEG_DEPENDENT_CHECK_PROG=
JPEG_DEPENDENT_TESTSCRIPTS=
endif
+if BUILD_STATIC
+STATIC_CHECK_PROGS=rational_precision2double
+endif
+
# Executable programs which need to be built in order to support tests
if TIFF_TESTS
check_PROGRAMS = \
ascii_tag long_tag short_tag strip_rw rewrite custom_dir custom_dir_EXIF_231 \
- rational_precision2double defer_strile_loading defer_strile_writing test_directory \
- testtypes test_signed_tags $(JPEG_DEPENDENT_CHECK_PROG)
+ defer_strile_loading defer_strile_writing test_directory \
+ testtypes test_signed_tags $(JPEG_DEPENDENT_CHECK_PROG) $(STATIC_CHECK_PROGS)
endif
# Test scripts to execute
@@ -226,8 +230,13 @@ raw_decode_SOURCES = raw_decode.c
raw_decode_LDADD = $(LIBTIFF)
custom_dir_SOURCES = custom_dir.c
custom_dir_LDADD = $(LIBTIFF)
+
+if BUILD_STATIC
rational_precision2double_SOURCES = rational_precision2double.c
rational_precision2double_LDADD = $(LIBTIFF)
+rational_precision2double_LDFLAGS = -static
+endif
+
custom_dir_EXIF_231_SOURCES = custom_dir_EXIF_231.c
custom_dir_EXIF_231_LDADD = $(LIBTIFF)
defer_strile_loading_SOURCES = defer_strile_loading.c