chd 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (109) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +30 -0
  3. data/chd.gemspec +29 -0
  4. data/ext/chd.c +1008 -0
  5. data/ext/extconf.rb +60 -0
  6. data/lib/chd/cd.rb +272 -0
  7. data/lib/chd/metadata.rb +196 -0
  8. data/lib/chd/version.rb +4 -0
  9. data/lib/chd.rb +21 -0
  10. data/libchdr/CMakeLists.txt +104 -0
  11. data/libchdr/LICENSE.txt +24 -0
  12. data/libchdr/README.md +7 -0
  13. data/libchdr/deps/lzma-19.00/CMakeLists.txt +33 -0
  14. data/libchdr/deps/lzma-19.00/LICENSE +3 -0
  15. data/libchdr/deps/lzma-19.00/include/7zTypes.h +375 -0
  16. data/libchdr/deps/lzma-19.00/include/Alloc.h +51 -0
  17. data/libchdr/deps/lzma-19.00/include/Bra.h +64 -0
  18. data/libchdr/deps/lzma-19.00/include/Compiler.h +33 -0
  19. data/libchdr/deps/lzma-19.00/include/CpuArch.h +336 -0
  20. data/libchdr/deps/lzma-19.00/include/Delta.h +19 -0
  21. data/libchdr/deps/lzma-19.00/include/LzFind.h +121 -0
  22. data/libchdr/deps/lzma-19.00/include/LzHash.h +57 -0
  23. data/libchdr/deps/lzma-19.00/include/Lzma86.h +111 -0
  24. data/libchdr/deps/lzma-19.00/include/LzmaDec.h +234 -0
  25. data/libchdr/deps/lzma-19.00/include/LzmaEnc.h +76 -0
  26. data/libchdr/deps/lzma-19.00/include/LzmaLib.h +131 -0
  27. data/libchdr/deps/lzma-19.00/include/Precomp.h +10 -0
  28. data/libchdr/deps/lzma-19.00/include/Sort.h +18 -0
  29. data/libchdr/deps/lzma-19.00/lzma-history.txt +446 -0
  30. data/libchdr/deps/lzma-19.00/lzma.txt +328 -0
  31. data/libchdr/deps/lzma-19.00/lzma.vcxproj +543 -0
  32. data/libchdr/deps/lzma-19.00/lzma.vcxproj.filters +17 -0
  33. data/libchdr/deps/lzma-19.00/src/Alloc.c +455 -0
  34. data/libchdr/deps/lzma-19.00/src/Bra86.c +82 -0
  35. data/libchdr/deps/lzma-19.00/src/BraIA64.c +53 -0
  36. data/libchdr/deps/lzma-19.00/src/CpuArch.c +218 -0
  37. data/libchdr/deps/lzma-19.00/src/Delta.c +64 -0
  38. data/libchdr/deps/lzma-19.00/src/LzFind.c +1127 -0
  39. data/libchdr/deps/lzma-19.00/src/Lzma86Dec.c +54 -0
  40. data/libchdr/deps/lzma-19.00/src/LzmaDec.c +1185 -0
  41. data/libchdr/deps/lzma-19.00/src/LzmaEnc.c +1330 -0
  42. data/libchdr/deps/lzma-19.00/src/Sort.c +141 -0
  43. data/libchdr/deps/zlib-1.2.11/CMakeLists.txt +29 -0
  44. data/libchdr/deps/zlib-1.2.11/ChangeLog +1515 -0
  45. data/libchdr/deps/zlib-1.2.11/FAQ +368 -0
  46. data/libchdr/deps/zlib-1.2.11/INDEX +68 -0
  47. data/libchdr/deps/zlib-1.2.11/Makefile +5 -0
  48. data/libchdr/deps/zlib-1.2.11/Makefile.in +410 -0
  49. data/libchdr/deps/zlib-1.2.11/README +115 -0
  50. data/libchdr/deps/zlib-1.2.11/adler32.c +186 -0
  51. data/libchdr/deps/zlib-1.2.11/compress.c +86 -0
  52. data/libchdr/deps/zlib-1.2.11/configure +921 -0
  53. data/libchdr/deps/zlib-1.2.11/crc32.c +442 -0
  54. data/libchdr/deps/zlib-1.2.11/crc32.h +441 -0
  55. data/libchdr/deps/zlib-1.2.11/deflate.c +2163 -0
  56. data/libchdr/deps/zlib-1.2.11/deflate.h +349 -0
  57. data/libchdr/deps/zlib-1.2.11/doc/algorithm.txt +209 -0
  58. data/libchdr/deps/zlib-1.2.11/doc/rfc1950.txt +619 -0
  59. data/libchdr/deps/zlib-1.2.11/doc/rfc1951.txt +955 -0
  60. data/libchdr/deps/zlib-1.2.11/doc/rfc1952.txt +675 -0
  61. data/libchdr/deps/zlib-1.2.11/doc/txtvsbin.txt +107 -0
  62. data/libchdr/deps/zlib-1.2.11/gzclose.c +25 -0
  63. data/libchdr/deps/zlib-1.2.11/gzguts.h +218 -0
  64. data/libchdr/deps/zlib-1.2.11/gzlib.c +637 -0
  65. data/libchdr/deps/zlib-1.2.11/gzread.c +654 -0
  66. data/libchdr/deps/zlib-1.2.11/gzwrite.c +665 -0
  67. data/libchdr/deps/zlib-1.2.11/infback.c +640 -0
  68. data/libchdr/deps/zlib-1.2.11/inffast.c +323 -0
  69. data/libchdr/deps/zlib-1.2.11/inffast.h +11 -0
  70. data/libchdr/deps/zlib-1.2.11/inffixed.h +94 -0
  71. data/libchdr/deps/zlib-1.2.11/inflate.c +1561 -0
  72. data/libchdr/deps/zlib-1.2.11/inflate.h +125 -0
  73. data/libchdr/deps/zlib-1.2.11/inftrees.c +304 -0
  74. data/libchdr/deps/zlib-1.2.11/inftrees.h +62 -0
  75. data/libchdr/deps/zlib-1.2.11/make_vms.com +867 -0
  76. data/libchdr/deps/zlib-1.2.11/treebuild.xml +116 -0
  77. data/libchdr/deps/zlib-1.2.11/trees.c +1203 -0
  78. data/libchdr/deps/zlib-1.2.11/trees.h +128 -0
  79. data/libchdr/deps/zlib-1.2.11/uncompr.c +93 -0
  80. data/libchdr/deps/zlib-1.2.11/zconf.h +534 -0
  81. data/libchdr/deps/zlib-1.2.11/zconf.h.cmakein +536 -0
  82. data/libchdr/deps/zlib-1.2.11/zconf.h.in +534 -0
  83. data/libchdr/deps/zlib-1.2.11/zlib.3 +149 -0
  84. data/libchdr/deps/zlib-1.2.11/zlib.3.pdf +0 -0
  85. data/libchdr/deps/zlib-1.2.11/zlib.h +1912 -0
  86. data/libchdr/deps/zlib-1.2.11/zlib.map +94 -0
  87. data/libchdr/deps/zlib-1.2.11/zlib.pc.cmakein +13 -0
  88. data/libchdr/deps/zlib-1.2.11/zlib.pc.in +13 -0
  89. data/libchdr/deps/zlib-1.2.11/zlib2ansi +152 -0
  90. data/libchdr/deps/zlib-1.2.11/zutil.c +325 -0
  91. data/libchdr/deps/zlib-1.2.11/zutil.h +271 -0
  92. data/libchdr/include/dr_libs/dr_flac.h +12280 -0
  93. data/libchdr/include/libchdr/bitstream.h +43 -0
  94. data/libchdr/include/libchdr/cdrom.h +110 -0
  95. data/libchdr/include/libchdr/chd.h +427 -0
  96. data/libchdr/include/libchdr/chdconfig.h +10 -0
  97. data/libchdr/include/libchdr/coretypes.h +60 -0
  98. data/libchdr/include/libchdr/flac.h +50 -0
  99. data/libchdr/include/libchdr/huffman.h +90 -0
  100. data/libchdr/pkg-config.pc.in +10 -0
  101. data/libchdr/src/libchdr_bitstream.c +125 -0
  102. data/libchdr/src/libchdr_cdrom.c +415 -0
  103. data/libchdr/src/libchdr_chd.c +2744 -0
  104. data/libchdr/src/libchdr_flac.c +302 -0
  105. data/libchdr/src/libchdr_huffman.c +545 -0
  106. data/libchdr/src/link.T +5 -0
  107. data/libchdr/tests/CMakeLists.txt +2 -0
  108. data/libchdr/tests/benchmark.c +52 -0
  109. metadata +183 -0
@@ -0,0 +1,921 @@
1
+ #!/bin/sh
2
+ # configure script for zlib.
3
+ #
4
+ # Normally configure builds both a static and a shared library.
5
+ # If you want to build just a static library, use: ./configure --static
6
+ #
7
+ # To impose specific compiler or flags or install directory, use for example:
8
+ # prefix=$HOME CC=cc CFLAGS="-O4" ./configure
9
+ # or for csh/tcsh users:
10
+ # (setenv prefix $HOME; setenv CC cc; setenv CFLAGS "-O4"; ./configure)
11
+
12
+ # Incorrect settings of CC or CFLAGS may prevent creating a shared library.
13
+ # If you have problems, try without defining CC and CFLAGS before reporting
14
+ # an error.
15
+
16
+ # start off configure.log
17
+ echo -------------------- >> configure.log
18
+ echo $0 $* >> configure.log
19
+ date >> configure.log
20
+
21
+ # get source directory
22
+ SRCDIR=`dirname $0`
23
+ if test $SRCDIR = "."; then
24
+ ZINC=""
25
+ ZINCOUT="-I."
26
+ SRCDIR=""
27
+ else
28
+ ZINC='-include zconf.h'
29
+ ZINCOUT='-I. -I$(SRCDIR)'
30
+ SRCDIR="$SRCDIR/"
31
+ fi
32
+
33
+ # set command prefix for cross-compilation
34
+ if [ -n "${CHOST}" ]; then
35
+ uname="`echo "${CHOST}" | sed -e 's/^[^-]*-\([^-]*\)$/\1/' -e 's/^[^-]*-[^-]*-\([^-]*\)$/\1/' -e 's/^[^-]*-[^-]*-\([^-]*\)-.*$/\1/'`"
36
+ CROSS_PREFIX="${CHOST}-"
37
+ fi
38
+
39
+ # destination name for static library
40
+ STATICLIB=libz.a
41
+
42
+ # extract zlib version numbers from zlib.h
43
+ VER=`sed -n -e '/VERSION "/s/.*"\(.*\)".*/\1/p' < ${SRCDIR}zlib.h`
44
+ VER3=`sed -n -e '/VERSION "/s/.*"\([0-9]*\\.[0-9]*\\.[0-9]*\).*/\1/p' < ${SRCDIR}zlib.h`
45
+ VER2=`sed -n -e '/VERSION "/s/.*"\([0-9]*\\.[0-9]*\)\\..*/\1/p' < ${SRCDIR}zlib.h`
46
+ VER1=`sed -n -e '/VERSION "/s/.*"\([0-9]*\)\\..*/\1/p' < ${SRCDIR}zlib.h`
47
+
48
+ # establish commands for library building
49
+ if "${CROSS_PREFIX}ar" --version >/dev/null 2>/dev/null || test $? -lt 126; then
50
+ AR=${AR-"${CROSS_PREFIX}ar"}
51
+ test -n "${CROSS_PREFIX}" && echo Using ${AR} | tee -a configure.log
52
+ else
53
+ AR=${AR-"ar"}
54
+ test -n "${CROSS_PREFIX}" && echo Using ${AR} | tee -a configure.log
55
+ fi
56
+ ARFLAGS=${ARFLAGS-"rc"}
57
+ if "${CROSS_PREFIX}ranlib" --version >/dev/null 2>/dev/null || test $? -lt 126; then
58
+ RANLIB=${RANLIB-"${CROSS_PREFIX}ranlib"}
59
+ test -n "${CROSS_PREFIX}" && echo Using ${RANLIB} | tee -a configure.log
60
+ else
61
+ RANLIB=${RANLIB-"ranlib"}
62
+ fi
63
+ if "${CROSS_PREFIX}nm" --version >/dev/null 2>/dev/null || test $? -lt 126; then
64
+ NM=${NM-"${CROSS_PREFIX}nm"}
65
+ test -n "${CROSS_PREFIX}" && echo Using ${NM} | tee -a configure.log
66
+ else
67
+ NM=${NM-"nm"}
68
+ fi
69
+
70
+ # set defaults before processing command line options
71
+ LDCONFIG=${LDCONFIG-"ldconfig"}
72
+ LDSHAREDLIBC="${LDSHAREDLIBC--lc}"
73
+ ARCHS=
74
+ prefix=${prefix-/usr/local}
75
+ exec_prefix=${exec_prefix-'${prefix}'}
76
+ libdir=${libdir-'${exec_prefix}/lib'}
77
+ sharedlibdir=${sharedlibdir-'${libdir}'}
78
+ includedir=${includedir-'${prefix}/include'}
79
+ mandir=${mandir-'${prefix}/share/man'}
80
+ shared_ext='.so'
81
+ shared=1
82
+ solo=0
83
+ cover=0
84
+ zprefix=0
85
+ zconst=0
86
+ build64=0
87
+ gcc=0
88
+ warn=0
89
+ debug=0
90
+ old_cc="$CC"
91
+ old_cflags="$CFLAGS"
92
+ OBJC='$(OBJZ) $(OBJG)'
93
+ PIC_OBJC='$(PIC_OBJZ) $(PIC_OBJG)'
94
+
95
+ # leave this script, optionally in a bad way
96
+ leave()
97
+ {
98
+ if test "$*" != "0"; then
99
+ echo "** $0 aborting." | tee -a configure.log
100
+ fi
101
+ rm -f $test.[co] $test $test$shared_ext $test.gcno ./--version
102
+ echo -------------------- >> configure.log
103
+ echo >> configure.log
104
+ echo >> configure.log
105
+ exit $1
106
+ }
107
+
108
+ # process command line options
109
+ while test $# -ge 1
110
+ do
111
+ case "$1" in
112
+ -h* | --help)
113
+ echo 'usage:' | tee -a configure.log
114
+ echo ' configure [--const] [--zprefix] [--prefix=PREFIX] [--eprefix=EXPREFIX]' | tee -a configure.log
115
+ echo ' [--static] [--64] [--libdir=LIBDIR] [--sharedlibdir=LIBDIR]' | tee -a configure.log
116
+ echo ' [--includedir=INCLUDEDIR] [--archs="-arch i386 -arch x86_64"]' | tee -a configure.log
117
+ exit 0 ;;
118
+ -p*=* | --prefix=*) prefix=`echo $1 | sed 's/.*=//'`; shift ;;
119
+ -e*=* | --eprefix=*) exec_prefix=`echo $1 | sed 's/.*=//'`; shift ;;
120
+ -l*=* | --libdir=*) libdir=`echo $1 | sed 's/.*=//'`; shift ;;
121
+ --sharedlibdir=*) sharedlibdir=`echo $1 | sed 's/.*=//'`; shift ;;
122
+ -i*=* | --includedir=*) includedir=`echo $1 | sed 's/.*=//'`;shift ;;
123
+ -u*=* | --uname=*) uname=`echo $1 | sed 's/.*=//'`;shift ;;
124
+ -p* | --prefix) prefix="$2"; shift; shift ;;
125
+ -e* | --eprefix) exec_prefix="$2"; shift; shift ;;
126
+ -l* | --libdir) libdir="$2"; shift; shift ;;
127
+ -i* | --includedir) includedir="$2"; shift; shift ;;
128
+ -s* | --shared | --enable-shared) shared=1; shift ;;
129
+ -t | --static) shared=0; shift ;;
130
+ --solo) solo=1; shift ;;
131
+ --cover) cover=1; shift ;;
132
+ -z* | --zprefix) zprefix=1; shift ;;
133
+ -6* | --64) build64=1; shift ;;
134
+ -a*=* | --archs=*) ARCHS=`echo $1 | sed 's/.*=//'`; shift ;;
135
+ --sysconfdir=*) echo "ignored option: --sysconfdir" | tee -a configure.log; shift ;;
136
+ --localstatedir=*) echo "ignored option: --localstatedir" | tee -a configure.log; shift ;;
137
+ -c* | --const) zconst=1; shift ;;
138
+ -w* | --warn) warn=1; shift ;;
139
+ -d* | --debug) debug=1; shift ;;
140
+ *)
141
+ echo "unknown option: $1" | tee -a configure.log
142
+ echo "$0 --help for help" | tee -a configure.log
143
+ leave 1;;
144
+ esac
145
+ done
146
+
147
+ # temporary file name
148
+ test=ztest$$
149
+
150
+ # put arguments in log, also put test file in log if used in arguments
151
+ show()
152
+ {
153
+ case "$*" in
154
+ *$test.c*)
155
+ echo === $test.c === >> configure.log
156
+ cat $test.c >> configure.log
157
+ echo === >> configure.log;;
158
+ esac
159
+ echo $* >> configure.log
160
+ }
161
+
162
+ # check for gcc vs. cc and set compile and link flags based on the system identified by uname
163
+ cat > $test.c <<EOF
164
+ extern int getchar();
165
+ int hello() {return getchar();}
166
+ EOF
167
+
168
+ test -z "$CC" && echo Checking for ${CROSS_PREFIX}gcc... | tee -a configure.log
169
+ cc=${CC-${CROSS_PREFIX}gcc}
170
+ cflags=${CFLAGS-"-O3"}
171
+ # to force the asm version use: CFLAGS="-O3 -DASMV" ./configure
172
+ case "$cc" in
173
+ *gcc*) gcc=1 ;;
174
+ *clang*) gcc=1 ;;
175
+ esac
176
+ case `$cc -v 2>&1` in
177
+ *gcc*) gcc=1 ;;
178
+ *clang*) gcc=1 ;;
179
+ esac
180
+
181
+ show $cc -c $test.c
182
+ if test "$gcc" -eq 1 && ($cc -c $test.c) >> configure.log 2>&1; then
183
+ echo ... using gcc >> configure.log
184
+ CC="$cc"
185
+ CFLAGS="${CFLAGS--O3}"
186
+ SFLAGS="${CFLAGS--O3} -fPIC"
187
+ if test "$ARCHS"; then
188
+ CFLAGS="${CFLAGS} ${ARCHS}"
189
+ LDFLAGS="${LDFLAGS} ${ARCHS}"
190
+ fi
191
+ if test $build64 -eq 1; then
192
+ CFLAGS="${CFLAGS} -m64"
193
+ SFLAGS="${SFLAGS} -m64"
194
+ fi
195
+ if test "$warn" -eq 1; then
196
+ if test "$zconst" -eq 1; then
197
+ CFLAGS="${CFLAGS} -Wall -Wextra -Wcast-qual -pedantic -DZLIB_CONST"
198
+ else
199
+ CFLAGS="${CFLAGS} -Wall -Wextra -pedantic"
200
+ fi
201
+ fi
202
+ if test $debug -eq 1; then
203
+ CFLAGS="${CFLAGS} -DZLIB_DEBUG"
204
+ SFLAGS="${SFLAGS} -DZLIB_DEBUG"
205
+ fi
206
+ if test -z "$uname"; then
207
+ uname=`(uname -s || echo unknown) 2>/dev/null`
208
+ fi
209
+ case "$uname" in
210
+ Linux* | linux* | GNU | GNU/* | solaris*)
211
+ LDSHARED=${LDSHARED-"$cc -shared -Wl,-soname,libz.so.1,--version-script,${SRCDIR}zlib.map"} ;;
212
+ *BSD | *bsd* | DragonFly)
213
+ LDSHARED=${LDSHARED-"$cc -shared -Wl,-soname,libz.so.1,--version-script,${SRCDIR}zlib.map"}
214
+ LDCONFIG="ldconfig -m" ;;
215
+ CYGWIN* | Cygwin* | cygwin* | OS/2*)
216
+ EXE='.exe' ;;
217
+ MINGW* | mingw*)
218
+ # temporary bypass
219
+ rm -f $test.[co] $test $test$shared_ext
220
+ echo "Please use win32/Makefile.gcc instead." | tee -a configure.log
221
+ leave 1
222
+ LDSHARED=${LDSHARED-"$cc -shared"}
223
+ LDSHAREDLIBC=""
224
+ EXE='.exe' ;;
225
+ QNX*) # This is for QNX6. I suppose that the QNX rule below is for QNX2,QNX4
226
+ # (alain.bonnefoy@icbt.com)
227
+ LDSHARED=${LDSHARED-"$cc -shared -Wl,-hlibz.so.1"} ;;
228
+ HP-UX*)
229
+ LDSHARED=${LDSHARED-"$cc -shared $SFLAGS"}
230
+ case `(uname -m || echo unknown) 2>/dev/null` in
231
+ ia64)
232
+ shared_ext='.so'
233
+ SHAREDLIB='libz.so' ;;
234
+ *)
235
+ shared_ext='.sl'
236
+ SHAREDLIB='libz.sl' ;;
237
+ esac ;;
238
+ Darwin* | darwin*)
239
+ shared_ext='.dylib'
240
+ SHAREDLIB=libz$shared_ext
241
+ SHAREDLIBV=libz.$VER$shared_ext
242
+ SHAREDLIBM=libz.$VER1$shared_ext
243
+ LDSHARED=${LDSHARED-"$cc -dynamiclib -install_name $libdir/$SHAREDLIBM -compatibility_version $VER1 -current_version $VER3"}
244
+ if libtool -V 2>&1 | grep Apple > /dev/null; then
245
+ AR="libtool"
246
+ else
247
+ AR="/usr/bin/libtool"
248
+ fi
249
+ ARFLAGS="-o" ;;
250
+ *) LDSHARED=${LDSHARED-"$cc -shared"} ;;
251
+ esac
252
+ else
253
+ # find system name and corresponding cc options
254
+ CC=${CC-cc}
255
+ gcc=0
256
+ echo ... using $CC >> configure.log
257
+ if test -z "$uname"; then
258
+ uname=`(uname -sr || echo unknown) 2>/dev/null`
259
+ fi
260
+ case "$uname" in
261
+ HP-UX*) SFLAGS=${CFLAGS-"-O +z"}
262
+ CFLAGS=${CFLAGS-"-O"}
263
+ # LDSHARED=${LDSHARED-"ld -b +vnocompatwarnings"}
264
+ LDSHARED=${LDSHARED-"ld -b"}
265
+ case `(uname -m || echo unknown) 2>/dev/null` in
266
+ ia64)
267
+ shared_ext='.so'
268
+ SHAREDLIB='libz.so' ;;
269
+ *)
270
+ shared_ext='.sl'
271
+ SHAREDLIB='libz.sl' ;;
272
+ esac ;;
273
+ IRIX*) SFLAGS=${CFLAGS-"-ansi -O2 -rpath ."}
274
+ CFLAGS=${CFLAGS-"-ansi -O2"}
275
+ LDSHARED=${LDSHARED-"cc -shared -Wl,-soname,libz.so.1"} ;;
276
+ OSF1\ V4*) SFLAGS=${CFLAGS-"-O -std1"}
277
+ CFLAGS=${CFLAGS-"-O -std1"}
278
+ LDFLAGS="${LDFLAGS} -Wl,-rpath,."
279
+ LDSHARED=${LDSHARED-"cc -shared -Wl,-soname,libz.so -Wl,-msym -Wl,-rpath,$(libdir) -Wl,-set_version,${VER}:1.0"} ;;
280
+ OSF1*) SFLAGS=${CFLAGS-"-O -std1"}
281
+ CFLAGS=${CFLAGS-"-O -std1"}
282
+ LDSHARED=${LDSHARED-"cc -shared -Wl,-soname,libz.so.1"} ;;
283
+ QNX*) SFLAGS=${CFLAGS-"-4 -O"}
284
+ CFLAGS=${CFLAGS-"-4 -O"}
285
+ LDSHARED=${LDSHARED-"cc"}
286
+ RANLIB=${RANLIB-"true"}
287
+ AR="cc"
288
+ ARFLAGS="-A" ;;
289
+ SCO_SV\ 3.2*) SFLAGS=${CFLAGS-"-O3 -dy -KPIC "}
290
+ CFLAGS=${CFLAGS-"-O3"}
291
+ LDSHARED=${LDSHARED-"cc -dy -KPIC -G"} ;;
292
+ SunOS\ 5* | solaris*)
293
+ LDSHARED=${LDSHARED-"cc -G -h libz$shared_ext.$VER1"}
294
+ SFLAGS=${CFLAGS-"-fast -KPIC"}
295
+ CFLAGS=${CFLAGS-"-fast"}
296
+ if test $build64 -eq 1; then
297
+ # old versions of SunPRO/Workshop/Studio don't support -m64,
298
+ # but newer ones do. Check for it.
299
+ flag64=`$CC -flags | egrep -- '^-m64'`
300
+ if test x"$flag64" != x"" ; then
301
+ CFLAGS="${CFLAGS} -m64"
302
+ SFLAGS="${SFLAGS} -m64"
303
+ else
304
+ case `(uname -m || echo unknown) 2>/dev/null` in
305
+ i86*)
306
+ SFLAGS="$SFLAGS -xarch=amd64"
307
+ CFLAGS="$CFLAGS -xarch=amd64" ;;
308
+ *)
309
+ SFLAGS="$SFLAGS -xarch=v9"
310
+ CFLAGS="$CFLAGS -xarch=v9" ;;
311
+ esac
312
+ fi
313
+ fi
314
+ if test -n "$ZINC"; then
315
+ ZINC='-I- -I. -I$(SRCDIR)'
316
+ fi
317
+ ;;
318
+ SunOS\ 4*) SFLAGS=${CFLAGS-"-O2 -PIC"}
319
+ CFLAGS=${CFLAGS-"-O2"}
320
+ LDSHARED=${LDSHARED-"ld"} ;;
321
+ SunStudio\ 9*) SFLAGS=${CFLAGS-"-fast -xcode=pic32 -xtarget=ultra3 -xarch=v9b"}
322
+ CFLAGS=${CFLAGS-"-fast -xtarget=ultra3 -xarch=v9b"}
323
+ LDSHARED=${LDSHARED-"cc -xarch=v9b"} ;;
324
+ UNIX_System_V\ 4.2.0)
325
+ SFLAGS=${CFLAGS-"-KPIC -O"}
326
+ CFLAGS=${CFLAGS-"-O"}
327
+ LDSHARED=${LDSHARED-"cc -G"} ;;
328
+ UNIX_SV\ 4.2MP)
329
+ SFLAGS=${CFLAGS-"-Kconform_pic -O"}
330
+ CFLAGS=${CFLAGS-"-O"}
331
+ LDSHARED=${LDSHARED-"cc -G"} ;;
332
+ OpenUNIX\ 5)
333
+ SFLAGS=${CFLAGS-"-KPIC -O"}
334
+ CFLAGS=${CFLAGS-"-O"}
335
+ LDSHARED=${LDSHARED-"cc -G"} ;;
336
+ AIX*) # Courtesy of dbakker@arrayasolutions.com
337
+ SFLAGS=${CFLAGS-"-O -qmaxmem=8192"}
338
+ CFLAGS=${CFLAGS-"-O -qmaxmem=8192"}
339
+ LDSHARED=${LDSHARED-"xlc -G"} ;;
340
+ # send working options for other systems to zlib@gzip.org
341
+ *) SFLAGS=${CFLAGS-"-O"}
342
+ CFLAGS=${CFLAGS-"-O"}
343
+ LDSHARED=${LDSHARED-"cc -shared"} ;;
344
+ esac
345
+ fi
346
+
347
+ # destination names for shared library if not defined above
348
+ SHAREDLIB=${SHAREDLIB-"libz$shared_ext"}
349
+ SHAREDLIBV=${SHAREDLIBV-"libz$shared_ext.$VER"}
350
+ SHAREDLIBM=${SHAREDLIBM-"libz$shared_ext.$VER1"}
351
+
352
+ echo >> configure.log
353
+
354
+ # define functions for testing compiler and library characteristics and logging the results
355
+
356
+ cat > $test.c <<EOF
357
+ #error error
358
+ EOF
359
+ if ($CC -c $CFLAGS $test.c) 2>/dev/null; then
360
+ try()
361
+ {
362
+ show $*
363
+ test "`( $* ) 2>&1 | tee -a configure.log`" = ""
364
+ }
365
+ echo - using any output from compiler to indicate an error >> configure.log
366
+ else
367
+ try()
368
+ {
369
+ show $*
370
+ ( $* ) >> configure.log 2>&1
371
+ ret=$?
372
+ if test $ret -ne 0; then
373
+ echo "(exit code "$ret")" >> configure.log
374
+ fi
375
+ return $ret
376
+ }
377
+ fi
378
+
379
+ tryboth()
380
+ {
381
+ show $*
382
+ got=`( $* ) 2>&1`
383
+ ret=$?
384
+ printf %s "$got" >> configure.log
385
+ if test $ret -ne 0; then
386
+ return $ret
387
+ fi
388
+ test "$got" = ""
389
+ }
390
+
391
+ cat > $test.c << EOF
392
+ int foo() { return 0; }
393
+ EOF
394
+ echo "Checking for obsessive-compulsive compiler options..." >> configure.log
395
+ if try $CC -c $CFLAGS $test.c; then
396
+ :
397
+ else
398
+ echo "Compiler error reporting is too harsh for $0 (perhaps remove -Werror)." | tee -a configure.log
399
+ leave 1
400
+ fi
401
+
402
+ echo >> configure.log
403
+
404
+ # see if shared library build supported
405
+ cat > $test.c <<EOF
406
+ extern int getchar();
407
+ int hello() {return getchar();}
408
+ EOF
409
+ if test $shared -eq 1; then
410
+ echo Checking for shared library support... | tee -a configure.log
411
+ # we must test in two steps (cc then ld), required at least on SunOS 4.x
412
+ if try $CC -w -c $SFLAGS $test.c &&
413
+ try $LDSHARED $SFLAGS -o $test$shared_ext $test.o; then
414
+ echo Building shared library $SHAREDLIBV with $CC. | tee -a configure.log
415
+ elif test -z "$old_cc" -a -z "$old_cflags"; then
416
+ echo No shared library support. | tee -a configure.log
417
+ shared=0;
418
+ else
419
+ echo 'No shared library support; try without defining CC and CFLAGS' | tee -a configure.log
420
+ shared=0;
421
+ fi
422
+ fi
423
+ if test $shared -eq 0; then
424
+ LDSHARED="$CC"
425
+ ALL="static"
426
+ TEST="all teststatic"
427
+ SHAREDLIB=""
428
+ SHAREDLIBV=""
429
+ SHAREDLIBM=""
430
+ echo Building static library $STATICLIB version $VER with $CC. | tee -a configure.log
431
+ else
432
+ ALL="static shared"
433
+ TEST="all teststatic testshared"
434
+ fi
435
+
436
+ # check for underscores in external names for use by assembler code
437
+ CPP=${CPP-"$CC -E"}
438
+ case $CFLAGS in
439
+ *ASMV*)
440
+ echo >> configure.log
441
+ show "$NM $test.o | grep _hello"
442
+ if test "`$NM $test.o | grep _hello | tee -a configure.log`" = ""; then
443
+ CPP="$CPP -DNO_UNDERLINE"
444
+ echo Checking for underline in external names... No. | tee -a configure.log
445
+ else
446
+ echo Checking for underline in external names... Yes. | tee -a configure.log
447
+ fi ;;
448
+ esac
449
+
450
+ echo >> configure.log
451
+
452
+ # check for size_t
453
+ cat > $test.c <<EOF
454
+ #include <stdio.h>
455
+ #include <stdlib.h>
456
+ size_t dummy = 0;
457
+ EOF
458
+ if try $CC -c $CFLAGS $test.c; then
459
+ echo "Checking for size_t... Yes." | tee -a configure.log
460
+ need_sizet=0
461
+ else
462
+ echo "Checking for size_t... No." | tee -a configure.log
463
+ need_sizet=1
464
+ fi
465
+
466
+ echo >> configure.log
467
+
468
+ # find the size_t integer type, if needed
469
+ if test $need_sizet -eq 1; then
470
+ cat > $test.c <<EOF
471
+ long long dummy = 0;
472
+ EOF
473
+ if try $CC -c $CFLAGS $test.c; then
474
+ echo "Checking for long long... Yes." | tee -a configure.log
475
+ cat > $test.c <<EOF
476
+ #include <stdio.h>
477
+ int main(void) {
478
+ if (sizeof(void *) <= sizeof(int)) puts("int");
479
+ else if (sizeof(void *) <= sizeof(long)) puts("long");
480
+ else puts("z_longlong");
481
+ return 0;
482
+ }
483
+ EOF
484
+ else
485
+ echo "Checking for long long... No." | tee -a configure.log
486
+ cat > $test.c <<EOF
487
+ #include <stdio.h>
488
+ int main(void) {
489
+ if (sizeof(void *) <= sizeof(int)) puts("int");
490
+ else puts("long");
491
+ return 0;
492
+ }
493
+ EOF
494
+ fi
495
+ if try $CC $CFLAGS -o $test $test.c; then
496
+ sizet=`./$test`
497
+ echo "Checking for a pointer-size integer type..." $sizet"." | tee -a configure.log
498
+ else
499
+ echo "Failed to find a pointer-size integer type." | tee -a configure.log
500
+ leave 1
501
+ fi
502
+ fi
503
+
504
+ if test $need_sizet -eq 1; then
505
+ CFLAGS="${CFLAGS} -DNO_SIZE_T=${sizet}"
506
+ SFLAGS="${SFLAGS} -DNO_SIZE_T=${sizet}"
507
+ fi
508
+
509
+ echo >> configure.log
510
+
511
+ # check for large file support, and if none, check for fseeko()
512
+ cat > $test.c <<EOF
513
+ #include <sys/types.h>
514
+ off64_t dummy = 0;
515
+ EOF
516
+ if try $CC -c $CFLAGS -D_LARGEFILE64_SOURCE=1 $test.c; then
517
+ CFLAGS="${CFLAGS} -D_LARGEFILE64_SOURCE=1"
518
+ SFLAGS="${SFLAGS} -D_LARGEFILE64_SOURCE=1"
519
+ ALL="${ALL} all64"
520
+ TEST="${TEST} test64"
521
+ echo "Checking for off64_t... Yes." | tee -a configure.log
522
+ echo "Checking for fseeko... Yes." | tee -a configure.log
523
+ else
524
+ echo "Checking for off64_t... No." | tee -a configure.log
525
+ echo >> configure.log
526
+ cat > $test.c <<EOF
527
+ #include <stdio.h>
528
+ int main(void) {
529
+ fseeko(NULL, 0, 0);
530
+ return 0;
531
+ }
532
+ EOF
533
+ if try $CC $CFLAGS -o $test $test.c; then
534
+ echo "Checking for fseeko... Yes." | tee -a configure.log
535
+ else
536
+ CFLAGS="${CFLAGS} -DNO_FSEEKO"
537
+ SFLAGS="${SFLAGS} -DNO_FSEEKO"
538
+ echo "Checking for fseeko... No." | tee -a configure.log
539
+ fi
540
+ fi
541
+
542
+ echo >> configure.log
543
+
544
+ # check for strerror() for use by gz* functions
545
+ cat > $test.c <<EOF
546
+ #include <string.h>
547
+ #include <errno.h>
548
+ int main() { return strlen(strerror(errno)); }
549
+ EOF
550
+ if try $CC $CFLAGS -o $test $test.c; then
551
+ echo "Checking for strerror... Yes." | tee -a configure.log
552
+ else
553
+ CFLAGS="${CFLAGS} -DNO_STRERROR"
554
+ SFLAGS="${SFLAGS} -DNO_STRERROR"
555
+ echo "Checking for strerror... No." | tee -a configure.log
556
+ fi
557
+
558
+ # copy clean zconf.h for subsequent edits
559
+ cp -p ${SRCDIR}zconf.h.in zconf.h
560
+
561
+ echo >> configure.log
562
+
563
+ # check for unistd.h and save result in zconf.h
564
+ cat > $test.c <<EOF
565
+ #include <unistd.h>
566
+ int main() { return 0; }
567
+ EOF
568
+ if try $CC -c $CFLAGS $test.c; then
569
+ sed < zconf.h "/^#ifdef HAVE_UNISTD_H.* may be/s/def HAVE_UNISTD_H\(.*\) may be/ 1\1 was/" > zconf.temp.h
570
+ mv zconf.temp.h zconf.h
571
+ echo "Checking for unistd.h... Yes." | tee -a configure.log
572
+ else
573
+ echo "Checking for unistd.h... No." | tee -a configure.log
574
+ fi
575
+
576
+ echo >> configure.log
577
+
578
+ # check for stdarg.h and save result in zconf.h
579
+ cat > $test.c <<EOF
580
+ #include <stdarg.h>
581
+ int main() { return 0; }
582
+ EOF
583
+ if try $CC -c $CFLAGS $test.c; then
584
+ sed < zconf.h "/^#ifdef HAVE_STDARG_H.* may be/s/def HAVE_STDARG_H\(.*\) may be/ 1\1 was/" > zconf.temp.h
585
+ mv zconf.temp.h zconf.h
586
+ echo "Checking for stdarg.h... Yes." | tee -a configure.log
587
+ else
588
+ echo "Checking for stdarg.h... No." | tee -a configure.log
589
+ fi
590
+
591
+ # if the z_ prefix was requested, save that in zconf.h
592
+ if test $zprefix -eq 1; then
593
+ sed < zconf.h "/#ifdef Z_PREFIX.* may be/s/def Z_PREFIX\(.*\) may be/ 1\1 was/" > zconf.temp.h
594
+ mv zconf.temp.h zconf.h
595
+ echo >> configure.log
596
+ echo "Using z_ prefix on all symbols." | tee -a configure.log
597
+ fi
598
+
599
+ # if --solo compilation was requested, save that in zconf.h and remove gz stuff from object lists
600
+ if test $solo -eq 1; then
601
+ sed '/#define ZCONF_H/a\
602
+ #define Z_SOLO
603
+
604
+ ' < zconf.h > zconf.temp.h
605
+ mv zconf.temp.h zconf.h
606
+ OBJC='$(OBJZ)'
607
+ PIC_OBJC='$(PIC_OBJZ)'
608
+ fi
609
+
610
+ # if code coverage testing was requested, use older gcc if defined, e.g. "gcc-4.2" on Mac OS X
611
+ if test $cover -eq 1; then
612
+ CFLAGS="${CFLAGS} -fprofile-arcs -ftest-coverage"
613
+ if test -n "$GCC_CLASSIC"; then
614
+ CC=$GCC_CLASSIC
615
+ fi
616
+ fi
617
+
618
+ echo >> configure.log
619
+
620
+ # conduct a series of tests to resolve eight possible cases of using "vs" or "s" printf functions
621
+ # (using stdarg or not), with or without "n" (proving size of buffer), and with or without a
622
+ # return value. The most secure result is vsnprintf() with a return value. snprintf() with a
623
+ # return value is secure as well, but then gzprintf() will be limited to 20 arguments.
624
+ cat > $test.c <<EOF
625
+ #include <stdio.h>
626
+ #include <stdarg.h>
627
+ #include "zconf.h"
628
+ int main()
629
+ {
630
+ #ifndef STDC
631
+ choke me
632
+ #endif
633
+ return 0;
634
+ }
635
+ EOF
636
+ if try $CC -c $CFLAGS $test.c; then
637
+ echo "Checking whether to use vs[n]printf() or s[n]printf()... using vs[n]printf()." | tee -a configure.log
638
+
639
+ echo >> configure.log
640
+ cat > $test.c <<EOF
641
+ #include <stdio.h>
642
+ #include <stdarg.h>
643
+ int mytest(const char *fmt, ...)
644
+ {
645
+ char buf[20];
646
+ va_list ap;
647
+ va_start(ap, fmt);
648
+ vsnprintf(buf, sizeof(buf), fmt, ap);
649
+ va_end(ap);
650
+ return 0;
651
+ }
652
+ int main()
653
+ {
654
+ return (mytest("Hello%d\n", 1));
655
+ }
656
+ EOF
657
+ if try $CC $CFLAGS -o $test $test.c; then
658
+ echo "Checking for vsnprintf() in stdio.h... Yes." | tee -a configure.log
659
+
660
+ echo >> configure.log
661
+ cat >$test.c <<EOF
662
+ #include <stdio.h>
663
+ #include <stdarg.h>
664
+ int mytest(const char *fmt, ...)
665
+ {
666
+ int n;
667
+ char buf[20];
668
+ va_list ap;
669
+ va_start(ap, fmt);
670
+ n = vsnprintf(buf, sizeof(buf), fmt, ap);
671
+ va_end(ap);
672
+ return n;
673
+ }
674
+ int main()
675
+ {
676
+ return (mytest("Hello%d\n", 1));
677
+ }
678
+ EOF
679
+
680
+ if try $CC -c $CFLAGS $test.c; then
681
+ echo "Checking for return value of vsnprintf()... Yes." | tee -a configure.log
682
+ else
683
+ CFLAGS="$CFLAGS -DHAS_vsnprintf_void"
684
+ SFLAGS="$SFLAGS -DHAS_vsnprintf_void"
685
+ echo "Checking for return value of vsnprintf()... No." | tee -a configure.log
686
+ echo " WARNING: apparently vsnprintf() does not return a value. zlib" | tee -a configure.log
687
+ echo " can build but will be open to possible string-format security" | tee -a configure.log
688
+ echo " vulnerabilities." | tee -a configure.log
689
+ fi
690
+ else
691
+ CFLAGS="$CFLAGS -DNO_vsnprintf"
692
+ SFLAGS="$SFLAGS -DNO_vsnprintf"
693
+ echo "Checking for vsnprintf() in stdio.h... No." | tee -a configure.log
694
+ echo " WARNING: vsnprintf() not found, falling back to vsprintf(). zlib" | tee -a configure.log
695
+ echo " can build but will be open to possible buffer-overflow security" | tee -a configure.log
696
+ echo " vulnerabilities." | tee -a configure.log
697
+
698
+ echo >> configure.log
699
+ cat >$test.c <<EOF
700
+ #include <stdio.h>
701
+ #include <stdarg.h>
702
+ int mytest(const char *fmt, ...)
703
+ {
704
+ int n;
705
+ char buf[20];
706
+ va_list ap;
707
+ va_start(ap, fmt);
708
+ n = vsprintf(buf, fmt, ap);
709
+ va_end(ap);
710
+ return n;
711
+ }
712
+ int main()
713
+ {
714
+ return (mytest("Hello%d\n", 1));
715
+ }
716
+ EOF
717
+
718
+ if try $CC -c $CFLAGS $test.c; then
719
+ echo "Checking for return value of vsprintf()... Yes." | tee -a configure.log
720
+ else
721
+ CFLAGS="$CFLAGS -DHAS_vsprintf_void"
722
+ SFLAGS="$SFLAGS -DHAS_vsprintf_void"
723
+ echo "Checking for return value of vsprintf()... No." | tee -a configure.log
724
+ echo " WARNING: apparently vsprintf() does not return a value. zlib" | tee -a configure.log
725
+ echo " can build but will be open to possible string-format security" | tee -a configure.log
726
+ echo " vulnerabilities." | tee -a configure.log
727
+ fi
728
+ fi
729
+ else
730
+ echo "Checking whether to use vs[n]printf() or s[n]printf()... using s[n]printf()." | tee -a configure.log
731
+
732
+ echo >> configure.log
733
+ cat >$test.c <<EOF
734
+ #include <stdio.h>
735
+ int mytest()
736
+ {
737
+ char buf[20];
738
+ snprintf(buf, sizeof(buf), "%s", "foo");
739
+ return 0;
740
+ }
741
+ int main()
742
+ {
743
+ return (mytest());
744
+ }
745
+ EOF
746
+
747
+ if try $CC $CFLAGS -o $test $test.c; then
748
+ echo "Checking for snprintf() in stdio.h... Yes." | tee -a configure.log
749
+
750
+ echo >> configure.log
751
+ cat >$test.c <<EOF
752
+ #include <stdio.h>
753
+ int mytest()
754
+ {
755
+ char buf[20];
756
+ return snprintf(buf, sizeof(buf), "%s", "foo");
757
+ }
758
+ int main()
759
+ {
760
+ return (mytest());
761
+ }
762
+ EOF
763
+
764
+ if try $CC -c $CFLAGS $test.c; then
765
+ echo "Checking for return value of snprintf()... Yes." | tee -a configure.log
766
+ else
767
+ CFLAGS="$CFLAGS -DHAS_snprintf_void"
768
+ SFLAGS="$SFLAGS -DHAS_snprintf_void"
769
+ echo "Checking for return value of snprintf()... No." | tee -a configure.log
770
+ echo " WARNING: apparently snprintf() does not return a value. zlib" | tee -a configure.log
771
+ echo " can build but will be open to possible string-format security" | tee -a configure.log
772
+ echo " vulnerabilities." | tee -a configure.log
773
+ fi
774
+ else
775
+ CFLAGS="$CFLAGS -DNO_snprintf"
776
+ SFLAGS="$SFLAGS -DNO_snprintf"
777
+ echo "Checking for snprintf() in stdio.h... No." | tee -a configure.log
778
+ echo " WARNING: snprintf() not found, falling back to sprintf(). zlib" | tee -a configure.log
779
+ echo " can build but will be open to possible buffer-overflow security" | tee -a configure.log
780
+ echo " vulnerabilities." | tee -a configure.log
781
+
782
+ echo >> configure.log
783
+ cat >$test.c <<EOF
784
+ #include <stdio.h>
785
+ int mytest()
786
+ {
787
+ char buf[20];
788
+ return sprintf(buf, "%s", "foo");
789
+ }
790
+ int main()
791
+ {
792
+ return (mytest());
793
+ }
794
+ EOF
795
+
796
+ if try $CC -c $CFLAGS $test.c; then
797
+ echo "Checking for return value of sprintf()... Yes." | tee -a configure.log
798
+ else
799
+ CFLAGS="$CFLAGS -DHAS_sprintf_void"
800
+ SFLAGS="$SFLAGS -DHAS_sprintf_void"
801
+ echo "Checking for return value of sprintf()... No." | tee -a configure.log
802
+ echo " WARNING: apparently sprintf() does not return a value. zlib" | tee -a configure.log
803
+ echo " can build but will be open to possible string-format security" | tee -a configure.log
804
+ echo " vulnerabilities." | tee -a configure.log
805
+ fi
806
+ fi
807
+ fi
808
+
809
+ # see if we can hide zlib internal symbols that are linked between separate source files
810
+ if test "$gcc" -eq 1; then
811
+ echo >> configure.log
812
+ cat > $test.c <<EOF
813
+ #define ZLIB_INTERNAL __attribute__((visibility ("hidden")))
814
+ int ZLIB_INTERNAL foo;
815
+ int main()
816
+ {
817
+ return 0;
818
+ }
819
+ EOF
820
+ if tryboth $CC -c $CFLAGS $test.c; then
821
+ CFLAGS="$CFLAGS -DHAVE_HIDDEN"
822
+ SFLAGS="$SFLAGS -DHAVE_HIDDEN"
823
+ echo "Checking for attribute(visibility) support... Yes." | tee -a configure.log
824
+ else
825
+ echo "Checking for attribute(visibility) support... No." | tee -a configure.log
826
+ fi
827
+ fi
828
+
829
+ # show the results in the log
830
+ echo >> configure.log
831
+ echo ALL = $ALL >> configure.log
832
+ echo AR = $AR >> configure.log
833
+ echo ARFLAGS = $ARFLAGS >> configure.log
834
+ echo CC = $CC >> configure.log
835
+ echo CFLAGS = $CFLAGS >> configure.log
836
+ echo CPP = $CPP >> configure.log
837
+ echo EXE = $EXE >> configure.log
838
+ echo LDCONFIG = $LDCONFIG >> configure.log
839
+ echo LDFLAGS = $LDFLAGS >> configure.log
840
+ echo LDSHARED = $LDSHARED >> configure.log
841
+ echo LDSHAREDLIBC = $LDSHAREDLIBC >> configure.log
842
+ echo OBJC = $OBJC >> configure.log
843
+ echo PIC_OBJC = $PIC_OBJC >> configure.log
844
+ echo RANLIB = $RANLIB >> configure.log
845
+ echo SFLAGS = $SFLAGS >> configure.log
846
+ echo SHAREDLIB = $SHAREDLIB >> configure.log
847
+ echo SHAREDLIBM = $SHAREDLIBM >> configure.log
848
+ echo SHAREDLIBV = $SHAREDLIBV >> configure.log
849
+ echo STATICLIB = $STATICLIB >> configure.log
850
+ echo TEST = $TEST >> configure.log
851
+ echo VER = $VER >> configure.log
852
+ echo Z_U4 = $Z_U4 >> configure.log
853
+ echo SRCDIR = $SRCDIR >> configure.log
854
+ echo exec_prefix = $exec_prefix >> configure.log
855
+ echo includedir = $includedir >> configure.log
856
+ echo libdir = $libdir >> configure.log
857
+ echo mandir = $mandir >> configure.log
858
+ echo prefix = $prefix >> configure.log
859
+ echo sharedlibdir = $sharedlibdir >> configure.log
860
+ echo uname = $uname >> configure.log
861
+
862
+ # udpate Makefile with the configure results
863
+ sed < ${SRCDIR}Makefile.in "
864
+ /^CC *=/s#=.*#=$CC#
865
+ /^CFLAGS *=/s#=.*#=$CFLAGS#
866
+ /^SFLAGS *=/s#=.*#=$SFLAGS#
867
+ /^LDFLAGS *=/s#=.*#=$LDFLAGS#
868
+ /^LDSHARED *=/s#=.*#=$LDSHARED#
869
+ /^CPP *=/s#=.*#=$CPP#
870
+ /^STATICLIB *=/s#=.*#=$STATICLIB#
871
+ /^SHAREDLIB *=/s#=.*#=$SHAREDLIB#
872
+ /^SHAREDLIBV *=/s#=.*#=$SHAREDLIBV#
873
+ /^SHAREDLIBM *=/s#=.*#=$SHAREDLIBM#
874
+ /^AR *=/s#=.*#=$AR#
875
+ /^ARFLAGS *=/s#=.*#=$ARFLAGS#
876
+ /^RANLIB *=/s#=.*#=$RANLIB#
877
+ /^LDCONFIG *=/s#=.*#=$LDCONFIG#
878
+ /^LDSHAREDLIBC *=/s#=.*#=$LDSHAREDLIBC#
879
+ /^EXE *=/s#=.*#=$EXE#
880
+ /^SRCDIR *=/s#=.*#=$SRCDIR#
881
+ /^ZINC *=/s#=.*#=$ZINC#
882
+ /^ZINCOUT *=/s#=.*#=$ZINCOUT#
883
+ /^prefix *=/s#=.*#=$prefix#
884
+ /^exec_prefix *=/s#=.*#=$exec_prefix#
885
+ /^libdir *=/s#=.*#=$libdir#
886
+ /^sharedlibdir *=/s#=.*#=$sharedlibdir#
887
+ /^includedir *=/s#=.*#=$includedir#
888
+ /^mandir *=/s#=.*#=$mandir#
889
+ /^OBJC *=/s#=.*#= $OBJC#
890
+ /^PIC_OBJC *=/s#=.*#= $PIC_OBJC#
891
+ /^all: */s#:.*#: $ALL#
892
+ /^test: */s#:.*#: $TEST#
893
+ " > Makefile
894
+
895
+ # create zlib.pc with the configure results
896
+ sed < ${SRCDIR}zlib.pc.in "
897
+ /^CC *=/s#=.*#=$CC#
898
+ /^CFLAGS *=/s#=.*#=$CFLAGS#
899
+ /^CPP *=/s#=.*#=$CPP#
900
+ /^LDSHARED *=/s#=.*#=$LDSHARED#
901
+ /^STATICLIB *=/s#=.*#=$STATICLIB#
902
+ /^SHAREDLIB *=/s#=.*#=$SHAREDLIB#
903
+ /^SHAREDLIBV *=/s#=.*#=$SHAREDLIBV#
904
+ /^SHAREDLIBM *=/s#=.*#=$SHAREDLIBM#
905
+ /^AR *=/s#=.*#=$AR#
906
+ /^ARFLAGS *=/s#=.*#=$ARFLAGS#
907
+ /^RANLIB *=/s#=.*#=$RANLIB#
908
+ /^EXE *=/s#=.*#=$EXE#
909
+ /^prefix *=/s#=.*#=$prefix#
910
+ /^exec_prefix *=/s#=.*#=$exec_prefix#
911
+ /^libdir *=/s#=.*#=$libdir#
912
+ /^sharedlibdir *=/s#=.*#=$sharedlibdir#
913
+ /^includedir *=/s#=.*#=$includedir#
914
+ /^mandir *=/s#=.*#=$mandir#
915
+ /^LDFLAGS *=/s#=.*#=$LDFLAGS#
916
+ " | sed -e "
917
+ s/\@VERSION\@/$VER/g;
918
+ " > zlib.pc
919
+
920
+ # done
921
+ leave 0