configure revision 9e38dfa2f95fce609707a0941f10af9a785288de
19e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project#!/bin/sh
29e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project# configure script for zlib. This script is needed only if
39e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project# you wish to build a shared library and your system supports them,
49e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project# of if you need special compiler, flags or install directory.
59e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project# Otherwise, you can just use directly "make test; make install"
69e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project#
79e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project# To create a shared library, use "configure --shared"; by default a static
89e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project# library is created. If the primitive shared library support provided here
99e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project# does not work, use ftp://prep.ai.mit.edu/pub/gnu/libtool-*.tar.gz
109e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project#
119e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project# To impose specific compiler or flags or install directory, use for example:
129e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project#    prefix=$HOME CC=cc CFLAGS="-O4" ./configure
139e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project# or for csh/tcsh users:
149e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project#    (setenv prefix $HOME; setenv CC cc; setenv CFLAGS "-O4"; ./configure)
159e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project# LDSHARED is the command to be used to create a shared library
169e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project
179e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project# Incorrect settings of CC or CFLAGS may prevent creating a shared library.
189e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project# If you have problems, try without defining CC and CFLAGS before reporting
199e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project# an error.
209e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project
219e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source ProjectLIBS=libz.a
229e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source ProjectLDFLAGS="-L. ${LIBS}"
239e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source ProjectVER=`sed -n -e '/VERSION "/s/.*"\(.*\)".*/\1/p' < zlib.h`
249e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source ProjectVER2=`sed -n -e '/VERSION "/s/.*"\([0-9]*\\.[0-9]*\)\\..*/\1/p' < zlib.h`
259e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source ProjectVER1=`sed -n -e '/VERSION "/s/.*"\([0-9]*\)\\..*/\1/p' < zlib.h`
269e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source ProjectAR=${AR-"ar rc"}
279e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source ProjectRANLIB=${RANLIB-"ranlib"}
289e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Projectprefix=${prefix-/usr/local}
299e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Projectexec_prefix=${exec_prefix-'${prefix}'}
309e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Projectlibdir=${libdir-'${exec_prefix}/lib'}
319e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Projectincludedir=${includedir-'${prefix}/include'}
329e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Projectmandir=${mandir-'${prefix}/share/man'}
339e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Projectshared_ext='.so'
349e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Projectshared=0
359e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Projectgcc=0
369e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Projectold_cc="$CC"
379e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Projectold_cflags="$CFLAGS"
389e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project
399e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Projectwhile test $# -ge 1
409e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Projectdo
419e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Projectcase "$1" in
429e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project    -h* | --h*)
439e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project      echo 'usage:'
449e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project      echo '  configure [--shared] [--prefix=PREFIX]  [--exec_prefix=EXPREFIX]'
459e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project      echo '     [--libdir=LIBDIR] [--includedir=INCLUDEDIR]'
469e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project        exit 0;;
479e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project    -p*=* | --p*=*) prefix=`echo $1 | sed 's/[-a-z_]*=//'`; shift;;
489e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project    -e*=* | --e*=*) exec_prefix=`echo $1 | sed 's/[-a-z_]*=//'`; shift;;
499e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project    -l*=* | --libdir=*) libdir=`echo $1 | sed 's/[-a-z_]*=//'`; shift;;
509e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project    -i*=* | --includedir=*) includedir=`echo $1 | sed 's/[-a-z_]*=//'`;shift;;
519e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project    -p* | --p*) prefix="$2"; shift; shift;;
529e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project    -e* | --e*) exec_prefix="$2"; shift; shift;;
539e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project    -l* | --l*) libdir="$2"; shift; shift;;
549e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project    -i* | --i*) includedir="$2"; shift; shift;;
559e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project    -s* | --s*) shared=1; shift;;
569e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project    *) echo "unknown option: $1"; echo "$0 --help for help"; exit 1;;
579e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project    esac
589e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Projectdone
599e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project
609e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Projecttest=ztest$$
619e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Projectcat > $test.c <<EOF
629e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Projectextern int getchar();
639e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Projectint hello() {return getchar();}
649e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source ProjectEOF
659e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project
669e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Projecttest -z "$CC" && echo Checking for gcc...
679e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Projectcc=${CC-gcc}
689e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Projectcflags=${CFLAGS-"-O3"}
699e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project# to force the asm version use: CFLAGS="-O3 -DASMV" ./configure
709e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Projectcase "$cc" in
719e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project  *gcc*) gcc=1;;
729e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Projectesac
739e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project
749e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Projectif test "$gcc" -eq 1 && ($cc -c $cflags $test.c) 2>/dev/null; then
759e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project  CC="$cc"
769e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project  SFLAGS=${CFLAGS-"-fPIC -O3"}
779e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project  CFLAGS="$cflags"
789e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project  case `(uname -s || echo unknown) 2>/dev/null` in
799e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project  Linux | linux | GNU | GNU/*) LDSHARED=${LDSHARED-"$cc -shared -Wl,-soname,libz.so.1"};;
809e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project  CYGWIN* | Cygwin* | cygwin* | OS/2* )
819e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project             EXE='.exe';;
829e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project  QNX*)  # This is for QNX6. I suppose that the QNX rule below is for QNX2,QNX4
839e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project         # (alain.bonnefoy@icbt.com)
849e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project                 LDSHARED=${LDSHARED-"$cc -shared -Wl,-hlibz.so.1"};;
859e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project  HP-UX*)
869e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project         LDSHARED=${LDSHARED-"$cc -shared $SFLAGS"}
879e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project         case `(uname -m || echo unknown) 2>/dev/null` in
889e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project         ia64)
899e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project                 shared_ext='.so'
909e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project                 SHAREDLIB='libz.so';;
919e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project         *)
929e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project                 shared_ext='.sl'
939e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project                 SHAREDLIB='libz.sl';;
949e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project         esac;;
959e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project  Darwin*)   shared_ext='.dylib'
969e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project             SHAREDLIB=libz$shared_ext
979e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project             SHAREDLIBV=libz.$VER$shared_ext
989e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project             SHAREDLIBM=libz.$VER1$shared_ext
999e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project             LDSHARED=${LDSHARED-"$cc -dynamiclib -install_name $libdir/$SHAREDLIBM -compatibility_version $VER1 -current_version $VER"};;
1009e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project  *)             LDSHARED=${LDSHARED-"$cc -shared"};;
1019e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project  esac
1029e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Projectelse
1039e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project  # find system name and corresponding cc options
1049e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project  CC=${CC-cc}
1059e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project  case `(uname -sr || echo unknown) 2>/dev/null` in
1069e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project  HP-UX*)    SFLAGS=${CFLAGS-"-O +z"}
1079e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project             CFLAGS=${CFLAGS-"-O"}
1089e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project#            LDSHARED=${LDSHARED-"ld -b +vnocompatwarnings"}
1099e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project             LDSHARED=${LDSHARED-"ld -b"}
1109e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project         case `(uname -m || echo unknown) 2>/dev/null` in
1119e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project         ia64)
1129e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project             shared_ext='.so'
1139e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project             SHAREDLIB='libz.so';;
1149e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project         *)
1159e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project             shared_ext='.sl'
1169e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project             SHAREDLIB='libz.sl';;
1179e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project         esac;;
1189e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project  IRIX*)     SFLAGS=${CFLAGS-"-ansi -O2 -rpath ."}
1199e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project             CFLAGS=${CFLAGS-"-ansi -O2"}
1209e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project             LDSHARED=${LDSHARED-"cc -shared"};;
1219e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project  OSF1\ V4*) SFLAGS=${CFLAGS-"-O -std1"}
1229e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project             CFLAGS=${CFLAGS-"-O -std1"}
1239e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project             LDSHARED=${LDSHARED-"cc -shared  -Wl,-soname,libz.so -Wl,-msym -Wl,-rpath,$(libdir) -Wl,-set_version,${VER}:1.0"};;
1249e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project  OSF1*)     SFLAGS=${CFLAGS-"-O -std1"}
1259e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project             CFLAGS=${CFLAGS-"-O -std1"}
1269e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project             LDSHARED=${LDSHARED-"cc -shared"};;
1279e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project  QNX*)      SFLAGS=${CFLAGS-"-4 -O"}
1289e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project             CFLAGS=${CFLAGS-"-4 -O"}
1299e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project             LDSHARED=${LDSHARED-"cc"}
1309e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project             RANLIB=${RANLIB-"true"}
1319e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project             AR="cc -A";;
1329e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project  SCO_SV\ 3.2*) SFLAGS=${CFLAGS-"-O3 -dy -KPIC "}
1339e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project             CFLAGS=${CFLAGS-"-O3"}
1349e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project             LDSHARED=${LDSHARED-"cc -dy -KPIC -G"};;
1359e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project  SunOS\ 5*) SFLAGS=${CFLAGS-"-fast -xcg89 -KPIC -R."}
1369e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project             CFLAGS=${CFLAGS-"-fast -xcg89"}
1379e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project             LDSHARED=${LDSHARED-"cc -G"};;
1389e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project  SunOS\ 4*) SFLAGS=${CFLAGS-"-O2 -PIC"}
1399e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project             CFLAGS=${CFLAGS-"-O2"}
1409e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project             LDSHARED=${LDSHARED-"ld"};;
1419e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project  SunStudio\ 9*) SFLAGS=${CFLAGS-"-DUSE_MMAP -fast -xcode=pic32 -xtarget=ultra3 -xarch=v9b"}
1429e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project             CFLAGS=${CFLAGS-"-DUSE_MMAP -fast -xtarget=ultra3 -xarch=v9b"}
1439e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project             LDSHARED=${LDSHARED-"cc -xarch=v9b"};;
1449e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project  UNIX_System_V\ 4.2.0)
1459e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project             SFLAGS=${CFLAGS-"-KPIC -O"}
1469e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project             CFLAGS=${CFLAGS-"-O"}
1479e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project             LDSHARED=${LDSHARED-"cc -G"};;
1489e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project  UNIX_SV\ 4.2MP)
1499e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project             SFLAGS=${CFLAGS-"-Kconform_pic -O"}
1509e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project             CFLAGS=${CFLAGS-"-O"}
1519e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project             LDSHARED=${LDSHARED-"cc -G"};;
1529e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project  OpenUNIX\ 5)
1539e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project             SFLAGS=${CFLAGS-"-KPIC -O"}
1549e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project             CFLAGS=${CFLAGS-"-O"}
1559e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project             LDSHARED=${LDSHARED-"cc -G"};;
1569e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project  AIX*)  # Courtesy of dbakker@arrayasolutions.com
1579e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project             SFLAGS=${CFLAGS-"-O -qmaxmem=8192"}
1589e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project             CFLAGS=${CFLAGS-"-O -qmaxmem=8192"}
1599e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project             LDSHARED=${LDSHARED-"xlc -G"};;
1609e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project  # send working options for other systems to support@gzip.org
1619e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project  *)         SFLAGS=${CFLAGS-"-O"}
1629e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project             CFLAGS=${CFLAGS-"-O"}
1639e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project             LDSHARED=${LDSHARED-"cc -shared"};;
1649e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project  esac
1659e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Projectfi
1669e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project
1679e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source ProjectSHAREDLIB=${SHAREDLIB-"libz$shared_ext"}
1689e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source ProjectSHAREDLIBV=${SHAREDLIBV-"libz$shared_ext.$VER"}
1699e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source ProjectSHAREDLIBM=${SHAREDLIBM-"libz$shared_ext.$VER1"}
1709e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project
1719e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Projectif test $shared -eq 1; then
1729e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project  echo Checking for shared library support...
1739e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project  # we must test in two steps (cc then ld), required at least on SunOS 4.x
1749e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project  if test "`($CC -c $SFLAGS $test.c) 2>&1`" = "" &&
1759e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project     test "`($LDSHARED -o $test$shared_ext $test.o) 2>&1`" = ""; then
1769e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project    CFLAGS="$SFLAGS"
1779e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project    LIBS="$SHAREDLIBV"
1789e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project    echo Building shared library $SHAREDLIBV with $CC.
1799e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project  elif test -z "$old_cc" -a -z "$old_cflags"; then
1809e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project    echo No shared library support.
1819e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project    shared=0;
1829e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project  else
1839e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project    echo 'No shared library support; try without defining CC and CFLAGS'
1849e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project    shared=0;
1859e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project  fi
1869e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Projectfi
1879e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Projectif test $shared -eq 0; then
1889e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project  LDSHARED="$CC"
1899e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project  echo Building static library $LIBS version $VER with $CC.
1909e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Projectelse
1919e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project  LDFLAGS="-L. ${SHAREDLIBV}"
1929e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Projectfi
1939e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project
1949e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Projectcat > $test.c <<EOF
1959e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project#include <unistd.h>
1969e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Projectint main() { return 0; }
1979e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source ProjectEOF
1989e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Projectif test "`($CC -c $CFLAGS $test.c) 2>&1`" = ""; then
1999e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project  sed < zconf.in.h "/HAVE_UNISTD_H/s%0%1%" > zconf.h
2009e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project  echo "Checking for unistd.h... Yes."
2019e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Projectelse
2029e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project  cp -p zconf.in.h zconf.h
2039e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project  echo "Checking for unistd.h... No."
2049e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Projectfi
2059e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project
2069e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Projectcat > $test.c <<EOF
2079e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project#include <stdio.h>
2089e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project#include <stdarg.h>
2099e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project#include "zconf.h"
2109e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project
2119e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Projectint main()
2129e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project{
2139e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project#ifndef STDC
2149e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project  choke me
2159e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project#endif
2169e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project
2179e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project  return 0;
2189e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project}
2199e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source ProjectEOF
2209e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project
2219e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Projectif test "`($CC -c $CFLAGS $test.c) 2>&1`" = ""; then
2229e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project  echo "Checking whether to use vs[n]printf() or s[n]printf()... using vs[n]printf()"
2239e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project
2249e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project  cat > $test.c <<EOF
2259e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project#include <stdio.h>
2269e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project#include <stdarg.h>
2279e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project
2289e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Projectint mytest(char *fmt, ...)
2299e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project{
2309e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project  char buf[20];
2319e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project  va_list ap;
2329e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project
2339e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project  va_start(ap, fmt);
2349e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project  vsnprintf(buf, sizeof(buf), fmt, ap);
2359e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project  va_end(ap);
2369e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project  return 0;
2379e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project}
2389e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project
2399e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Projectint main()
2409e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project{
2419e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project  return (mytest("Hello%d\n", 1));
2429e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project}
2439e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source ProjectEOF
2449e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project
2459e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project  if test "`($CC $CFLAGS -o $test $test.c) 2>&1`" = ""; then
2469e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project    echo "Checking for vsnprintf() in stdio.h... Yes."
2479e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project
2489e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project    cat >$test.c <<EOF
2499e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project#include <stdio.h>
2509e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project#include <stdarg.h>
2519e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project
2529e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Projectint mytest(char *fmt, ...)
2539e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project{
2549e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project  int n;
2559e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project  char buf[20];
2569e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project  va_list ap;
2579e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project
2589e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project  va_start(ap, fmt);
2599e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project  n = vsnprintf(buf, sizeof(buf), fmt, ap);
2609e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project  va_end(ap);
2619e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project  return n;
2629e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project}
2639e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project
2649e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Projectint main()
2659e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project{
2669e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project  return (mytest("Hello%d\n", 1));
2679e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project}
2689e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source ProjectEOF
2699e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project
2709e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project    if test "`($CC -c $CFLAGS $test.c) 2>&1`" = ""; then
2719e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project      echo "Checking for return value of vsnprintf()... Yes."
2729e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project    else
2739e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project      CFLAGS="$CFLAGS -DHAS_vsnprintf_void"
2749e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project      echo "Checking for return value of vsnprintf()... No."
2759e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project      echo "  WARNING: apparently vsnprintf() does not return a value. zlib"
2769e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project      echo "  can build but will be open to possible string-format security"
2779e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project      echo "  vulnerabilities."
2789e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project    fi
2799e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project  else
2809e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project    CFLAGS="$CFLAGS -DNO_vsnprintf"
2819e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project    echo "Checking for vsnprintf() in stdio.h... No."
2829e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project    echo "  WARNING: vsnprintf() not found, falling back to vsprintf(). zlib"
2839e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project    echo "  can build but will be open to possible buffer-overflow security"
2849e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project    echo "  vulnerabilities."
2859e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project
2869e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project    cat >$test.c <<EOF
2879e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project#include <stdio.h>
2889e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project#include <stdarg.h>
2899e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project
2909e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Projectint mytest(char *fmt, ...)
2919e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project{
2929e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project  int n;
2939e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project  char buf[20];
2949e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project  va_list ap;
2959e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project
2969e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project  va_start(ap, fmt);
2979e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project  n = vsprintf(buf, fmt, ap);
2989e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project  va_end(ap);
2999e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project  return n;
3009e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project}
3019e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project
3029e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Projectint main()
3039e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project{
3049e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project  return (mytest("Hello%d\n", 1));
3059e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project}
3069e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source ProjectEOF
3079e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project
3089e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project    if test "`($CC -c $CFLAGS $test.c) 2>&1`" = ""; then
3099e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project      echo "Checking for return value of vsprintf()... Yes."
3109e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project    else
3119e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project      CFLAGS="$CFLAGS -DHAS_vsprintf_void"
3129e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project      echo "Checking for return value of vsprintf()... No."
3139e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project      echo "  WARNING: apparently vsprintf() does not return a value. zlib"
3149e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project      echo "  can build but will be open to possible string-format security"
3159e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project      echo "  vulnerabilities."
3169e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project    fi
3179e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project  fi
3189e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Projectelse
3199e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project  echo "Checking whether to use vs[n]printf() or s[n]printf()... using s[n]printf()"
3209e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project
3219e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project  cat >$test.c <<EOF
3229e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project#include <stdio.h>
3239e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project
3249e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Projectint mytest()
3259e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project{
3269e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project  char buf[20];
3279e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project
3289e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project  snprintf(buf, sizeof(buf), "%s", "foo");
3299e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project  return 0;
3309e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project}
3319e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project
3329e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Projectint main()
3339e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project{
3349e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project  return (mytest());
3359e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project}
3369e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source ProjectEOF
3379e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project
3389e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project  if test "`($CC $CFLAGS -o $test $test.c) 2>&1`" = ""; then
3399e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project    echo "Checking for snprintf() in stdio.h... Yes."
3409e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project
3419e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project    cat >$test.c <<EOF
3429e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project#include <stdio.h>
3439e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project
3449e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Projectint mytest()
3459e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project{
3469e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project  char buf[20];
3479e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project
3489e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project  return snprintf(buf, sizeof(buf), "%s", "foo");
3499e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project}
3509e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project
3519e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Projectint main()
3529e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project{
3539e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project  return (mytest());
3549e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project}
3559e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source ProjectEOF
3569e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project
3579e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project    if test "`($CC -c $CFLAGS $test.c) 2>&1`" = ""; then
3589e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project      echo "Checking for return value of snprintf()... Yes."
3599e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project    else
3609e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project      CFLAGS="$CFLAGS -DHAS_snprintf_void"
3619e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project      echo "Checking for return value of snprintf()... No."
3629e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project      echo "  WARNING: apparently snprintf() does not return a value. zlib"
3639e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project      echo "  can build but will be open to possible string-format security"
3649e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project      echo "  vulnerabilities."
3659e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project    fi
3669e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project  else
3679e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project    CFLAGS="$CFLAGS -DNO_snprintf"
3689e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project    echo "Checking for snprintf() in stdio.h... No."
3699e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project    echo "  WARNING: snprintf() not found, falling back to sprintf(). zlib"
3709e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project    echo "  can build but will be open to possible buffer-overflow security"
3719e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project    echo "  vulnerabilities."
3729e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project
3739e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project    cat >$test.c <<EOF
3749e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project#include <stdio.h>
3759e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project
3769e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Projectint mytest()
3779e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project{
3789e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project  char buf[20];
3799e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project
3809e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project  return sprintf(buf, "%s", "foo");
3819e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project}
3829e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project
3839e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Projectint main()
3849e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project{
3859e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project  return (mytest());
3869e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project}
3879e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source ProjectEOF
3889e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project
3899e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project    if test "`($CC -c $CFLAGS $test.c) 2>&1`" = ""; then
3909e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project      echo "Checking for return value of sprintf()... Yes."
3919e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project    else
3929e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project      CFLAGS="$CFLAGS -DHAS_sprintf_void"
3939e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project      echo "Checking for return value of sprintf()... No."
3949e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project      echo "  WARNING: apparently sprintf() does not return a value. zlib"
3959e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project      echo "  can build but will be open to possible string-format security"
3969e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project      echo "  vulnerabilities."
3979e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project    fi
3989e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project  fi
3999e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Projectfi
4009e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project
4019e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Projectcat >$test.c <<EOF
4029e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project#include <errno.h>
4039e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Projectint main() { return 0; }
4049e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source ProjectEOF
4059e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Projectif test "`($CC -c $CFLAGS $test.c) 2>&1`" = ""; then
4069e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project  echo "Checking for errno.h... Yes."
4079e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Projectelse
4089e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project  echo "Checking for errno.h... No."
4099e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project  CFLAGS="$CFLAGS -DNO_ERRNO_H"
4109e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Projectfi
4119e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project
4129e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Projectcat > $test.c <<EOF
4139e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project#include <sys/types.h>
4149e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project#include <sys/mman.h>
4159e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project#include <sys/stat.h>
4169e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Projectcaddr_t hello() {
4179e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project  return mmap((caddr_t)0, (off_t)0, PROT_READ, MAP_SHARED, 0, (off_t)0);
4189e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project}
4199e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source ProjectEOF
4209e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Projectif test "`($CC -c $CFLAGS $test.c) 2>&1`" = ""; then
4219e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project  CFLAGS="$CFLAGS -DUSE_MMAP"
4229e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project  echo Checking for mmap support... Yes.
4239e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Projectelse
4249e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project  echo Checking for mmap support... No.
4259e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Projectfi
4269e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project
4279e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source ProjectCPP=${CPP-"$CC -E"}
4289e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Projectcase $CFLAGS in
4299e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project  *ASMV*)
4309e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project    if test "`nm $test.o | grep _hello`" = ""; then
4319e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project      CPP="$CPP -DNO_UNDERLINE"
4329e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project      echo Checking for underline in external names... No.
4339e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project    else
4349e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project      echo Checking for underline in external names... Yes.
4359e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project    fi;;
4369e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Projectesac
4379e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project
4389e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Projectrm -f $test.[co] $test $test$shared_ext
4399e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project
4409e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project# udpate Makefile
4419e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Projectsed < Makefile.in "
4429e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project/^CC *=/s#=.*#=$CC#
4439e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project/^CFLAGS *=/s#=.*#=$CFLAGS#
4449e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project/^CPP *=/s#=.*#=$CPP#
4459e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project/^LDSHARED *=/s#=.*#=$LDSHARED#
4469e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project/^LIBS *=/s#=.*#=$LIBS#
4479e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project/^SHAREDLIB *=/s#=.*#=$SHAREDLIB#
4489e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project/^SHAREDLIBV *=/s#=.*#=$SHAREDLIBV#
4499e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project/^SHAREDLIBM *=/s#=.*#=$SHAREDLIBM#
4509e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project/^AR *=/s#=.*#=$AR#
4519e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project/^RANLIB *=/s#=.*#=$RANLIB#
4529e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project/^EXE *=/s#=.*#=$EXE#
4539e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project/^prefix *=/s#=.*#=$prefix#
4549e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project/^exec_prefix *=/s#=.*#=$exec_prefix#
4559e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project/^libdir *=/s#=.*#=$libdir#
4569e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project/^includedir *=/s#=.*#=$includedir#
4579e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project/^mandir *=/s#=.*#=$mandir#
4589e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project/^LDFLAGS *=/s#=.*#=$LDFLAGS#
4599e38dfa2f95fce609707a0941f10af9a785288deThe Android Open Source Project" > Makefile
460