configure 15.0 KB
Newer Older
M
Mark Adler 已提交
1 2 3 4 5 6
#!/bin/sh
# configure script for zlib. This script is needed only if
# you wish to build a shared library and your system supports them,
# of if you need special compiler, flags or install directory.
# Otherwise, you can just use directly "make test; make install"
#
M
Mark Adler 已提交
7 8 9 10
# To create a shared library, use "configure --shared"; by default a static
# library is created. If the primitive shared library support provided here
# does not work, use ftp://prep.ai.mit.edu/pub/gnu/libtool-*.tar.gz
#
M
Mark Adler 已提交
11 12 13 14 15 16
# To impose specific compiler or flags or install directory, use for example:
#    prefix=$HOME CC=cc CFLAGS="-O4" ./configure
# or for csh/tcsh users:
#    (setenv prefix $HOME; setenv CC cc; setenv CFLAGS "-O4"; ./configure)
# LDSHARED is the command to be used to create a shared library

M
Mark Adler 已提交
17 18 19 20
# Incorrect settings of CC or CFLAGS may prevent creating a shared library.
# If you have problems, try without defining CC and CFLAGS before reporting
# an error.

M
Mark Adler 已提交
21
LIBS=libz.a
M
Mark Adler 已提交
22
LDFLAGS="-L. ${LIBS}"
M
Mark Adler 已提交
23
VER=`sed -n -e '/VERSION "/s/.*"\(.*\)".*/\1/p' < zlib.h`
M
Mark Adler 已提交
24 25
VER2=`sed -n -e '/VERSION "/s/.*"\([0-9]*\\.[0-9]*\)\\..*/\1/p' < zlib.h`
VER1=`sed -n -e '/VERSION "/s/.*"\([0-9]*\)\\..*/\1/p' < zlib.h`
M
Mark Adler 已提交
26 27
AR=${AR-"ar"}
AR_RC="${AR} rc"
M
Mark Adler 已提交
28 29
RANLIB=${RANLIB-"ranlib"}
prefix=${prefix-/usr/local}
M
Mark Adler 已提交
30 31 32
exec_prefix=${exec_prefix-'${prefix}'}
libdir=${libdir-'${exec_prefix}/lib'}
includedir=${includedir-'${prefix}/include'}
M
Mark Adler 已提交
33
mandir=${mandir-'${prefix}/share/man'}
M
Mark Adler 已提交
34 35
shared_ext='.so'
shared=0
M
Mark Adler 已提交
36
zprefix=0
M
Mark Adler 已提交
37
gcc=0
M
Mark Adler 已提交
38 39
old_cc="$CC"
old_cflags="$CFLAGS"
M
Mark Adler 已提交
40

M
Mark Adler 已提交
41 42
while test $# -ge 1
do
M
Mark Adler 已提交
43
case "$1" in
M
Mark Adler 已提交
44
    -h* | --help)
M
Mark Adler 已提交
45 46
      echo 'usage:'
      echo '  configure [--shared] [--prefix=PREFIX]  [--exec_prefix=EXPREFIX]'
M
Mark Adler 已提交
47
      echo '     [--libdir=LIBDIR] [--includedir=INCLUDEDIR] [--zprefix]'
M
Mark Adler 已提交
48
        exit 0;;
M
Mark Adler 已提交
49 50
    -p*=* | --prefix=*) prefix=`echo $1 | sed 's/[-a-z_]*=//'`; shift;;
    -e*=* | --eprefix=*) exec_prefix=`echo $1 | sed 's/[-a-z_]*=//'`; shift;;
M
Mark Adler 已提交
51 52
    -l*=* | --libdir=*) libdir=`echo $1 | sed 's/[-a-z_]*=//'`; shift;;
    -i*=* | --includedir=*) includedir=`echo $1 | sed 's/[-a-z_]*=//'`;shift;;
M
Mark Adler 已提交
53 54 55 56 57 58 59 60
    -p* | --prefix) prefix="$2"; shift; shift;;
    -e* | --eprefix) exec_prefix="$2"; shift; shift;;
    -l* | --libdir) libdir="$2"; shift; shift;;
    -i* | --includedir) includedir="$2"; shift; shift;;
    -s* | --shared | --enable-shared) shared=1; shift;;
    -z* | --zprefix) zprefix=1; shift;;
    --sysconfdir=*) echo "ignored option: --sysconfdir"; shift;;
    --localstatedir=*) echo "ignored option: --localstatedir"; shift;;
M
Mark Adler 已提交
61
    *) echo "unknown option: $1"; echo "$0 --help for help"; exit 1;;
M
Mark Adler 已提交
62 63
    esac
done
M
Mark Adler 已提交
64 65 66

test=ztest$$
cat > $test.c <<EOF
M
Mark Adler 已提交
67 68
extern int getchar();
int hello() {return getchar();}
M
Mark Adler 已提交
69
EOF
M
Mark Adler 已提交
70 71 72 73

test -z "$CC" && echo Checking for gcc...
cc=${CC-gcc}
cflags=${CFLAGS-"-O3"}
M
Mark Adler 已提交
74
# to force the asm version use: CFLAGS="-O3 -DASMV" ./configure
M
Mark Adler 已提交
75 76 77 78 79 80
case "$cc" in
  *gcc*) gcc=1;;
esac

if test "$gcc" -eq 1 && ($cc -c $cflags $test.c) 2>/dev/null; then
  CC="$cc"
M
Mark Adler 已提交
81
  SFLAGS="${CFLAGS-"-O3"} -fPIC"
M
Mark Adler 已提交
82
  CFLAGS="${CFLAGS-"-O3"}"
M
Mark Adler 已提交
83
  case `(uname -s || echo unknown) 2>/dev/null` in
M
Mark Adler 已提交
84
  Linux | linux | GNU | GNU/*) LDSHARED=${LDSHARED-"$cc -shared -Wl,-soname,libz.so.1,--version-script,zlib.map"};;
M
Mark Adler 已提交
85
  CYGWIN* | Cygwin* | cygwin* | OS/2* )
M
Mark Adler 已提交
86
             EXE='.exe';;
M
Mark Adler 已提交
87 88 89
  QNX*)  # This is for QNX6. I suppose that the QNX rule below is for QNX2,QNX4
         # (alain.bonnefoy@icbt.com)
                 LDSHARED=${LDSHARED-"$cc -shared -Wl,-hlibz.so.1"};;
M
Mark Adler 已提交
90 91 92 93 94 95 96
  HP-UX*)
         LDSHARED=${LDSHARED-"$cc -shared $SFLAGS"}
         case `(uname -m || echo unknown) 2>/dev/null` in
         ia64)
                 shared_ext='.so'
                 SHAREDLIB='libz.so';;
         *)
M
Mark Adler 已提交
97 98
                 shared_ext='.sl'
                 SHAREDLIB='libz.sl';;
M
Mark Adler 已提交
99
         esac;;
M
Mark Adler 已提交
100 101 102 103
  Darwin*)   shared_ext='.dylib'
             SHAREDLIB=libz$shared_ext
             SHAREDLIBV=libz.$VER$shared_ext
             SHAREDLIBM=libz.$VER1$shared_ext
M
Mark Adler 已提交
104
             LDSHARED=${LDSHARED-"$cc -dynamiclib -install_name $libdir/$SHAREDLIBM -compatibility_version $VER1 -current_version $VER"};;
M
Mark Adler 已提交
105
  *)             LDSHARED=${LDSHARED-"$cc -shared"};;
M
Mark Adler 已提交
106
  esac
M
Mark Adler 已提交
107 108 109 110
else
  # find system name and corresponding cc options
  CC=${CC-cc}
  case `(uname -sr || echo unknown) 2>/dev/null` in
M
Mark Adler 已提交
111
  HP-UX*)    SFLAGS=${CFLAGS-"-O +z"}
M
Mark Adler 已提交
112 113 114
             CFLAGS=${CFLAGS-"-O"}
#            LDSHARED=${LDSHARED-"ld -b +vnocompatwarnings"}
             LDSHARED=${LDSHARED-"ld -b"}
M
Mark Adler 已提交
115 116 117 118 119
         case `(uname -m || echo unknown) 2>/dev/null` in
         ia64)
             shared_ext='.so'
             SHAREDLIB='libz.so';;
         *)
M
Mark Adler 已提交
120 121
             shared_ext='.sl'
             SHAREDLIB='libz.sl';;
M
Mark Adler 已提交
122
         esac;;
M
Mark Adler 已提交
123
  IRIX*)     SFLAGS=${CFLAGS-"-ansi -O2 -rpath ."}
M
Mark Adler 已提交
124
             CFLAGS=${CFLAGS-"-ansi -O2"}
M
Mark Adler 已提交
125
             LDSHARED=${LDSHARED-"cc -shared -Wl,-soname,libz.so.1"};;
M
Mark Adler 已提交
126
  OSF1\ V4*) SFLAGS=${CFLAGS-"-O -std1"}
M
Mark Adler 已提交
127
             CFLAGS=${CFLAGS-"-O -std1"}
M
Mark Adler 已提交
128
             LDSHARED=${LDSHARED-"cc -shared  -Wl,-soname,libz.so -Wl,-msym -Wl,-rpath,$(libdir) -Wl,-set_version,${VER}:1.0"};;
M
Mark Adler 已提交
129
  OSF1*)     SFLAGS=${CFLAGS-"-O -std1"}
M
Mark Adler 已提交
130
             CFLAGS=${CFLAGS-"-O -std1"}
M
Mark Adler 已提交
131
             LDSHARED=${LDSHARED-"cc -shared -Wl,-soname,libz.so.1"};;
M
Mark Adler 已提交
132 133
  QNX*)      SFLAGS=${CFLAGS-"-4 -O"}
             CFLAGS=${CFLAGS-"-4 -O"}
M
Mark Adler 已提交
134
             LDSHARED=${LDSHARED-"cc"}
M
Mark Adler 已提交
135
             RANLIB=${RANLIB-"true"}
M
Mark Adler 已提交
136
             AR_RC="cc -A";;
M
Mark Adler 已提交
137
  SCO_SV\ 3.2*) SFLAGS=${CFLAGS-"-O3 -dy -KPIC "}
M
Mark Adler 已提交
138 139
             CFLAGS=${CFLAGS-"-O3"}
             LDSHARED=${LDSHARED-"cc -dy -KPIC -G"};;
M
Mark Adler 已提交
140 141 142 143 144 145 146 147 148
  SunOS\ 5*) LDSHARED=${LDSHARED-"cc -G"}
         case `(uname -m || echo unknown) 2>/dev/null` in
         i86*)
             SFLAGS=${CFLAGS-"-xpentium -fast -KPIC -R."}
             CFLAGS=${CFLAGS-"-xpentium -fast"};;
         *)
             SFLAGS=${CFLAGS-"-fast -xcg92 -KPIC -R."}
             CFLAGS=${CFLAGS-"-fast -xcg92"};;
         esac;;
M
Mark Adler 已提交
149
  SunOS\ 4*) SFLAGS=${CFLAGS-"-O2 -PIC"}
M
Mark Adler 已提交
150 151
             CFLAGS=${CFLAGS-"-O2"}
             LDSHARED=${LDSHARED-"ld"};;
M
Mark Adler 已提交
152 153 154
  SunStudio\ 9*) SFLAGS=${CFLAGS-"-DUSE_MMAP -fast -xcode=pic32 -xtarget=ultra3 -xarch=v9b"}
             CFLAGS=${CFLAGS-"-DUSE_MMAP -fast -xtarget=ultra3 -xarch=v9b"}
             LDSHARED=${LDSHARED-"cc -xarch=v9b"};;
M
Mark Adler 已提交
155 156 157 158
  UNIX_System_V\ 4.2.0)
             SFLAGS=${CFLAGS-"-KPIC -O"}
             CFLAGS=${CFLAGS-"-O"}
             LDSHARED=${LDSHARED-"cc -G"};;
M
Mark Adler 已提交
159
  UNIX_SV\ 4.2MP)
M
Mark Adler 已提交
160 161 162 163 164 165 166
             SFLAGS=${CFLAGS-"-Kconform_pic -O"}
             CFLAGS=${CFLAGS-"-O"}
             LDSHARED=${LDSHARED-"cc -G"};;
  OpenUNIX\ 5)
             SFLAGS=${CFLAGS-"-KPIC -O"}
             CFLAGS=${CFLAGS-"-O"}
             LDSHARED=${LDSHARED-"cc -G"};;
M
Mark Adler 已提交
167
  AIX*)  # Courtesy of dbakker@arrayasolutions.com
M
Mark Adler 已提交
168 169 170
             SFLAGS=${CFLAGS-"-O -qmaxmem=8192"}
             CFLAGS=${CFLAGS-"-O -qmaxmem=8192"}
             LDSHARED=${LDSHARED-"xlc -G"};;
M
Mark Adler 已提交
171
  # send working options for other systems to support@gzip.org
M
Mark Adler 已提交
172
  *)         SFLAGS=${CFLAGS-"-O"}
M
Mark Adler 已提交
173 174
             CFLAGS=${CFLAGS-"-O"}
             LDSHARED=${LDSHARED-"cc -shared"};;
M
Mark Adler 已提交
175 176 177
  esac
fi

M
Mark Adler 已提交
178 179 180 181
SHAREDLIB=${SHAREDLIB-"libz$shared_ext"}
SHAREDLIBV=${SHAREDLIBV-"libz$shared_ext.$VER"}
SHAREDLIBM=${SHAREDLIBM-"libz$shared_ext.$VER1"}

M
Mark Adler 已提交
182 183 184 185 186
if test $shared -eq 1; then
  echo Checking for shared library support...
  # we must test in two steps (cc then ld), required at least on SunOS 4.x
  if test "`($CC -c $SFLAGS $test.c) 2>&1`" = "" &&
     test "`($LDSHARED -o $test$shared_ext $test.o) 2>&1`" = ""; then
M
Mark Adler 已提交
187
    LIBS="$LIBS $SHAREDLIBV"
M
Mark Adler 已提交
188
    echo Building shared library $SHAREDLIBV with $CC.
M
Mark Adler 已提交
189
  elif test -z "$old_cc" -a -z "$old_cflags"; then
M
Mark Adler 已提交
190
    echo No shared library support.
M
Mark Adler 已提交
191
    shared=0;
M
Mark Adler 已提交
192
  else
M
Mark Adler 已提交
193 194 195 196
    echo Tested $CC -c $SFLAGS $test.c
    $CC -c $SFLAGS $test.c
    echo Tested $LDSHARED -o $test$shared_ext $test.o
    $LDSHARED -o $test$shared_ext $test.o
M
Mark Adler 已提交
197
    echo 'No shared library support; try without defining CC and CFLAGS'
M
Mark Adler 已提交
198
    shared=0;
M
Mark Adler 已提交
199 200 201
  fi
fi
if test $shared -eq 0; then
M
Mark Adler 已提交
202 203
  LDSHARED="$CC"
  echo Building static library $LIBS version $VER with $CC.
M
Mark Adler 已提交
204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224
fi

cat > zlibdefs.h << EOF
/* zlibdefs.h -- compile-time definitions for the zlib compression library
 * Copyright (C) 1995-2006 Jean-loup Gailly.
 * For conditions of distribution and use, see copyright notice in zlib.h
 */

EOF

cat > $test.c <<EOF
#include <sys/types.h>
off64_t dummy = 0;
EOF
if test "`($CC -c $CFLAGS -D_LARGEFILE64_SOURCE $test.c) 2>&1`" = ""; then
  cat >> zlibdefs.h <<EOF
#define z_off_t off64_t
EOF
  CFLAGS="${CFLAGS} -D_LARGEFILE64_SOURCE"
  SFLAGS="${SFLAGS} -D_LARGEFILE64_SOURCE"
  echo "Checking for off64_t... Yes."
M
Mark Adler 已提交
225
else
M
Mark Adler 已提交
226
  echo "Checking for off64_t... No."
M
Mark Adler 已提交
227
fi
M
Mark Adler 已提交
228

M
Mark Adler 已提交
229 230 231 232 233
cat > $test.c <<EOF
#include <unistd.h>
int main() { return 0; }
EOF
if test "`($CC -c $CFLAGS $test.c) 2>&1`" = ""; then
M
Mark Adler 已提交
234 235 236 237 238 239 240 241 242 243
  cat >> zlibdefs.h <<EOF
#include <sys/types.h>	/* for off_t */
#include <unistd.h>	/* for SEEK_* and off_t */
#ifdef VMS
#  include <unixio.h>	/* for off_t */
#endif
#ifndef z_off_t
#  define z_off_t off_t
#endif
EOF
M
Mark Adler 已提交
244 245 246
  echo "Checking for unistd.h... Yes."
else
  echo "Checking for unistd.h... No."
M
Mark Adler 已提交
247 248
fi

M
Mark Adler 已提交
249 250 251 252 253 254
if test $zprefix -eq 1; then
  sed < zconf.h "/#ifdef Z_PREFIX/s/def Z_PREFIX/ 1/" > zconf.temp.h
  mv zconf.temp.h zconf.h
  echo "Using z_ prefix on all symbols."
fi

M
Mark Adler 已提交
255
cat > $test.c <<EOF
M
Mark Adler 已提交
256
#include <stdio.h>
M
Mark Adler 已提交
257 258
#include <stdarg.h>
#include "zconf.h"
M
Mark Adler 已提交
259

M
Mark Adler 已提交
260
int main()
M
Mark Adler 已提交
261 262 263 264 265 266 267 268 269 270
{
#ifndef STDC
  choke me
#endif

  return 0;
}
EOF

if test "`($CC -c $CFLAGS $test.c) 2>&1`" = ""; then
M
Mark Adler 已提交
271
  echo "Checking whether to use vs[n]printf() or s[n]printf()... using vs[n]printf()."
M
Mark Adler 已提交
272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292

  cat > $test.c <<EOF
#include <stdio.h>
#include <stdarg.h>

int mytest(char *fmt, ...)
{
  char buf[20];
  va_list ap;

  va_start(ap, fmt);
  vsnprintf(buf, sizeof(buf), fmt, ap);
  va_end(ap);
  return 0;
}

int main()
{
  return (mytest("Hello%d\n", 1));
}
EOF
M
Mark Adler 已提交
293

M
Mark Adler 已提交
294
  if test "`($CC $CFLAGS -o $test $test.c) 2>&1`" = ""; then
M
Mark Adler 已提交
295 296 297 298 299 300 301 302
    echo "Checking for vsnprintf() in stdio.h... Yes."

    cat >$test.c <<EOF
#include <stdio.h>
#include <stdarg.h>

int mytest(char *fmt, ...)
{
M
Mark Adler 已提交
303
  int n;
M
Mark Adler 已提交
304 305 306 307
  char buf[20];
  va_list ap;

  va_start(ap, fmt);
M
Mark Adler 已提交
308
  n = vsnprintf(buf, sizeof(buf), fmt, ap);
M
Mark Adler 已提交
309
  va_end(ap);
M
Mark Adler 已提交
310
  return n;
M
Mark Adler 已提交
311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340
}

int main()
{
  return (mytest("Hello%d\n", 1));
}
EOF

    if test "`($CC -c $CFLAGS $test.c) 2>&1`" = ""; then
      echo "Checking for return value of vsnprintf()... Yes."
    else
      CFLAGS="$CFLAGS -DHAS_vsnprintf_void"
      echo "Checking for return value of vsnprintf()... No."
      echo "  WARNING: apparently vsnprintf() does not return a value. zlib"
      echo "  can build but will be open to possible string-format security"
      echo "  vulnerabilities."
    fi
  else
    CFLAGS="$CFLAGS -DNO_vsnprintf"
    echo "Checking for vsnprintf() in stdio.h... No."
    echo "  WARNING: vsnprintf() not found, falling back to vsprintf(). zlib"
    echo "  can build but will be open to possible buffer-overflow security"
    echo "  vulnerabilities."

    cat >$test.c <<EOF
#include <stdio.h>
#include <stdarg.h>

int mytest(char *fmt, ...)
{
M
Mark Adler 已提交
341
  int n;
M
Mark Adler 已提交
342 343 344 345
  char buf[20];
  va_list ap;

  va_start(ap, fmt);
M
Mark Adler 已提交
346
  n = vsprintf(buf, fmt, ap);
M
Mark Adler 已提交
347
  va_end(ap);
M
Mark Adler 已提交
348
  return n;
M
Mark Adler 已提交
349 350
}

M
Mark Adler 已提交
351
int main()
M
Mark Adler 已提交
352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367
{
  return (mytest("Hello%d\n", 1));
}
EOF

    if test "`($CC -c $CFLAGS $test.c) 2>&1`" = ""; then
      echo "Checking for return value of vsprintf()... Yes."
    else
      CFLAGS="$CFLAGS -DHAS_vsprintf_void"
      echo "Checking for return value of vsprintf()... No."
      echo "  WARNING: apparently vsprintf() does not return a value. zlib"
      echo "  can build but will be open to possible string-format security"
      echo "  vulnerabilities."
    fi
  fi
else
M
Mark Adler 已提交
368
  echo "Checking whether to use vs[n]printf() or s[n]printf()... using s[n]printf()."
M
Mark Adler 已提交
369 370 371 372

  cat >$test.c <<EOF
#include <stdio.h>

M
Mark Adler 已提交
373
int mytest()
M
Mark Adler 已提交
374 375 376 377 378 379 380
{
  char buf[20];

  snprintf(buf, sizeof(buf), "%s", "foo");
  return 0;
}

M
Mark Adler 已提交
381
int main()
M
Mark Adler 已提交
382 383 384 385 386
{
  return (mytest());
}
EOF

M
Mark Adler 已提交
387
  if test "`($CC $CFLAGS -o $test $test.c) 2>&1`" = ""; then
M
Mark Adler 已提交
388 389 390 391 392
    echo "Checking for snprintf() in stdio.h... Yes."

    cat >$test.c <<EOF
#include <stdio.h>

M
Mark Adler 已提交
393
int mytest()
M
Mark Adler 已提交
394 395 396
{
  char buf[20];

M
Mark Adler 已提交
397
  return snprintf(buf, sizeof(buf), "%s", "foo");
M
Mark Adler 已提交
398 399
}

M
Mark Adler 已提交
400
int main()
M
Mark Adler 已提交
401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424
{
  return (mytest());
}
EOF

    if test "`($CC -c $CFLAGS $test.c) 2>&1`" = ""; then
      echo "Checking for return value of snprintf()... Yes."
    else
      CFLAGS="$CFLAGS -DHAS_snprintf_void"
      echo "Checking for return value of snprintf()... No."
      echo "  WARNING: apparently snprintf() does not return a value. zlib"
      echo "  can build but will be open to possible string-format security"
      echo "  vulnerabilities."
    fi
  else
    CFLAGS="$CFLAGS -DNO_snprintf"
    echo "Checking for snprintf() in stdio.h... No."
    echo "  WARNING: snprintf() not found, falling back to sprintf(). zlib"
    echo "  can build but will be open to possible buffer-overflow security"
    echo "  vulnerabilities."

    cat >$test.c <<EOF
#include <stdio.h>

M
Mark Adler 已提交
425
int mytest()
M
Mark Adler 已提交
426 427 428
{
  char buf[20];

M
Mark Adler 已提交
429
  return sprintf(buf, "%s", "foo");
M
Mark Adler 已提交
430 431
}

M
Mark Adler 已提交
432
int main()
M
Mark Adler 已提交
433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450
{
  return (mytest());
}
EOF

    if test "`($CC -c $CFLAGS $test.c) 2>&1`" = ""; then
      echo "Checking for return value of sprintf()... Yes."
    else
      CFLAGS="$CFLAGS -DHAS_sprintf_void"
      echo "Checking for return value of sprintf()... No."
      echo "  WARNING: apparently sprintf() does not return a value. zlib"
      echo "  can build but will be open to possible string-format security"
      echo "  vulnerabilities."
    fi
  fi
fi

cat >$test.c <<EOF
M
Mark Adler 已提交
451 452 453 454
#include <errno.h>
int main() { return 0; }
EOF
if test "`($CC -c $CFLAGS $test.c) 2>&1`" = ""; then
M
Mark Adler 已提交
455
  echo "Checking for errno.h... Yes."
M
Mark Adler 已提交
456
else
M
Mark Adler 已提交
457
  echo "Checking for errno.h... No."
M
Mark Adler 已提交
458 459
  CFLAGS="$CFLAGS -DNO_ERRNO_H"
fi
M
Mark Adler 已提交
460

M
Mark Adler 已提交
461 462 463 464 465
cat > $test.c <<EOF
#include <sys/types.h>
#include <sys/mman.h>
#include <sys/stat.h>
caddr_t hello() {
M
Mark Adler 已提交
466
  return mmap((caddr_t)0, (off_t)0, PROT_READ, MAP_SHARED, 0, (off_t)0);
M
Mark Adler 已提交
467 468 469 470 471 472 473 474 475
}
EOF
if test "`($CC -c $CFLAGS $test.c) 2>&1`" = ""; then
  CFLAGS="$CFLAGS -DUSE_MMAP"
  echo Checking for mmap support... Yes.
else
  echo Checking for mmap support... No.
fi

M
Mark Adler 已提交
476 477 478 479 480 481 482 483 484 485 486
CPP=${CPP-"$CC -E"}
case $CFLAGS in
  *ASMV*)
    if test "`nm $test.o | grep _hello`" = ""; then
      CPP="$CPP -DNO_UNDERLINE"
      echo Checking for underline in external names... No.
    else
      echo Checking for underline in external names... Yes.
    fi;;
esac

M
Mark Adler 已提交
487
rm -f $test.[co] $test $test$shared_ext
M
Mark Adler 已提交
488

M
Mark Adler 已提交
489 490
# udpate Makefile
sed < Makefile.in "
M
Mark Adler 已提交
491 492
/^CC *=/s#=.*#=$CC#
/^CFLAGS *=/s#=.*#=$CFLAGS#
M
Mark Adler 已提交
493
/^SFLAGS *=/s#=.*#=$SFLAGS#
M
Mark Adler 已提交
494 495 496 497 498 499
/^CPP *=/s#=.*#=$CPP#
/^LDSHARED *=/s#=.*#=$LDSHARED#
/^LIBS *=/s#=.*#=$LIBS#
/^SHAREDLIB *=/s#=.*#=$SHAREDLIB#
/^SHAREDLIBV *=/s#=.*#=$SHAREDLIBV#
/^SHAREDLIBM *=/s#=.*#=$SHAREDLIBM#
M
Mark Adler 已提交
500
/^AR *=/s#=.*#=$AR_RC#
M
Mark Adler 已提交
501
/^RANLIB *=/s#=.*#=$RANLIB#
M
Mark Adler 已提交
502
/^EXE *=/s#=.*#=$EXE#
M
Mark Adler 已提交
503 504 505 506 507 508
/^prefix *=/s#=.*#=$prefix#
/^exec_prefix *=/s#=.*#=$exec_prefix#
/^libdir *=/s#=.*#=$libdir#
/^includedir *=/s#=.*#=$includedir#
/^mandir *=/s#=.*#=$mandir#
/^LDFLAGS *=/s#=.*#=$LDFLAGS#
M
Mark Adler 已提交
509
" > Makefile
M
Mark Adler 已提交
510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531

sed < zlib.pc.in "
/^CC *=/s#=.*#=$CC#
/^CFLAGS *=/s#=.*#=$CFLAGS#
/^CPP *=/s#=.*#=$CPP#
/^LDSHARED *=/s#=.*#=$LDSHARED#
/^LIBS *=/s#=.*#=$LIBS#
/^SHAREDLIB *=/s#=.*#=$SHAREDLIB#
/^SHAREDLIBV *=/s#=.*#=$SHAREDLIBV#
/^SHAREDLIBM *=/s#=.*#=$SHAREDLIBM#
/^AR *=/s#=.*#=$AR_RC#
/^RANLIB *=/s#=.*#=$RANLIB#
/^EXE *=/s#=.*#=$EXE#
/^prefix *=/s#=.*#=$prefix#
/^exec_prefix *=/s#=.*#=$exec_prefix#
/^libdir *=/s#=.*#=$libdir#
/^includedir *=/s#=.*#=$includedir#
/^mandir *=/s#=.*#=$mandir#
/^LDFLAGS *=/s#=.*#=$LDFLAGS#
" | sed -e "
s/\@VERSION\@/$VER/g;
" > zlib.pc