2
# GDAL specific script to extract exported libtiff symbols that can be renamed
3
# to keep them internal to GDAL as much as possible
5
gcc *.c -fPIC -shared -o libtiff.so -I. -I../../../port -DPIXARLOG_SUPPORT -DZIP_SUPPORT -DOJPEG_SUPPORT -DLZMA_SUPPORT
7
OUT_FILE=gdal_libtiff_symbol_rename.h
9
rm $OUT_FILE 2>/dev/null
11
echo "/* This is a generated file by dump_symbols.h. *DO NOT EDIT MANUALLY !* */" >> $OUT_FILE
13
# We exclude the TIFFSwab functions for renaming since tif_swab.c uses ifdef to determine if the symbols must be defined
14
symbol_list=$(objdump -t libtiff.so | grep .text | awk '{print $6}' | grep -v .text | grep -v TIFFInit | grep -v TIFFSwab | grep -v __do_global | grep -v __bss_start | grep -v _edata | grep -v _end | grep -v _fini | grep -v _init | sort)
15
for symbol in $symbol_list
17
echo "#define $symbol gdal_$symbol" >> $OUT_FILE
20
rodata_symbol_list=$(objdump -t libtiff.so | grep "\.rodata" | awk '{print $6}' | grep -v "\.")
21
for symbol in $rodata_symbol_list
23
echo "#define $symbol gdal_$symbol" >> $OUT_FILE
26
data_symbol_list=$(objdump -t libtiff.so | grep "\.data" | awk '{print $6}' | grep -v "\.")
27
for symbol in $data_symbol_list
29
echo "#define $symbol gdal_$symbol" >> $OUT_FILE
32
bss_symbol_list=$(objdump -t libtiff.so | grep "\.bss" | awk '{print $6}' | grep -v "\.")
33
for symbol in $bss_symbol_list
35
echo "#define $symbol gdal_$symbol" >> $OUT_FILE
40
# Was excluded by grep -v TIFFInit
41
echo "#define TIFFInitDumpMode gdal_TIFFInitDumpMode" >> $OUT_FILE
43
# Pasted and adapter from tif_codec.c
44
echo "#define TIFFReInitJPEG_12 gdal_TIFFReInitJPEG_12" >> $OUT_FILE
45
echo "#ifdef LZW_SUPPORT" >> $OUT_FILE
46
echo "#define TIFFInitLZW gdal_TIFFInitLZW" >> $OUT_FILE
47
echo "#endif" >> $OUT_FILE
48
echo "#ifdef PACKBITS_SUPPORT" >> $OUT_FILE
49
echo "#define TIFFInitPackBits gdal_TIFFInitPackBits" >> $OUT_FILE
50
echo "#endif" >> $OUT_FILE
51
echo "#ifdef THUNDER_SUPPORT" >> $OUT_FILE
52
echo "#define TIFFInitThunderScan gdal_TIFFInitThunderScan" >> $OUT_FILE
53
echo "#endif" >> $OUT_FILE
54
echo "#ifdef NEXT_SUPPORT" >> $OUT_FILE
55
echo "#define TIFFInitNeXT gdal_TIFFInitNeXT" >> $OUT_FILE
56
echo "#endif" >> $OUT_FILE
57
echo "#ifdef JPEG_SUPPORT" >> $OUT_FILE
58
echo "#define TIFFInitJPEG gdal_TIFFInitJPEG" >> $OUT_FILE
60
echo "#define TIFFInitJPEG_12 gdal_TIFFInitJPEG_12" >> $OUT_FILE
61
echo "#endif" >> $OUT_FILE
62
echo "#ifdef OJPEG_SUPPORT" >> $OUT_FILE
63
echo "#define TIFFInitOJPEG gdal_TIFFInitOJPEG" >> $OUT_FILE
64
echo "#endif" >> $OUT_FILE
65
echo "#ifdef CCITT_SUPPORT" >> $OUT_FILE
66
echo "#define TIFFInitCCITTRLE gdal_TIFFInitCCITTRLE" >> $OUT_FILE
67
echo "#define TIFFInitCCITTRLEW gdal_TIFFInitCCITTRLEW" >> $OUT_FILE
68
echo "#define TIFFInitCCITTFax3 gdal_TIFFInitCCITTFax3" >> $OUT_FILE
69
echo "#define TIFFInitCCITTFax4 gdal_TIFFInitCCITTFax4" >> $OUT_FILE
70
echo "#endif" >> $OUT_FILE
71
echo "#ifdef JBIG_SUPPORT" >> $OUT_FILE
72
echo "#define TIFFInitJBIG gdal_TIFFInitJBIG" >> $OUT_FILE
73
echo "#endif" >> $OUT_FILE
74
echo "#ifdef ZIP_SUPPORT" >> $OUT_FILE
75
echo "#define TIFFInitZIP gdal_TIFFInitZIP" >> $OUT_FILE
76
echo "#endif" >> $OUT_FILE
77
echo "#ifdef PIXARLOG_SUPPORT" >> $OUT_FILE
78
echo "#define TIFFInitPixarLog gdal_TIFFInitPixarLog" >> $OUT_FILE
79
echo "#endif" >> $OUT_FILE
80
echo "#ifdef LOGLUV_SUPPORT" >> $OUT_FILE
81
echo "#define TIFFInitSGILog gdal_TIFFInitSGILog" >> $OUT_FILE
82
echo "#endif" >> $OUT_FILE
83
echo "#ifdef LZMA_SUPPORT" >> $OUT_FILE
84
echo "#define TIFFInitLZMA gdal_TIFFInitLZMA" >> $OUT_FILE
85
echo "#endif" >> $OUT_FILE