|
|
|
@ -13,6 +13,10 @@ |
|
|
|
|
# If you have problems, try without defining CC and CFLAGS before reporting |
|
|
|
|
# an error. |
|
|
|
|
|
|
|
|
|
echo -------------------- >> configure.log |
|
|
|
|
echo $0 $* >> configure.log |
|
|
|
|
date >> configure.log |
|
|
|
|
|
|
|
|
|
if [ -n "${CHOST}" ]; then |
|
|
|
|
uname="`echo "${CHOST}" | sed -e 's/^[^-]*-\([^-]*\)$/\1/' -e 's/^[^-]*-[^-]*-\([^-]*\)$/\1/' -e 's/^[^-]*-[^-]*-\([^-]*\)-.*$/\1/'`" |
|
|
|
|
CROSS_PREFIX="${CHOST}-" |
|
|
|
@ -25,21 +29,21 @@ 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` |
|
|
|
|
if "${CROSS_PREFIX}ar" --version >/dev/null 2>/dev/null || test $? -lt 126; then |
|
|
|
|
AR=${AR-"${CROSS_PREFIX}ar"} |
|
|
|
|
test -n "${CROSS_PREFIX}" && echo Using ${AR} |
|
|
|
|
test -n "${CROSS_PREFIX}" && echo Using ${AR} | tee -a configure.log |
|
|
|
|
else |
|
|
|
|
AR=${AR-"ar"} |
|
|
|
|
test -n "${CROSS_PREFIX}" && echo Using ${AR} |
|
|
|
|
test -n "${CROSS_PREFIX}" && echo Using ${AR} | tee -a configure.log |
|
|
|
|
fi |
|
|
|
|
ARFLAGS=${ARFLAGS-"rc"} |
|
|
|
|
if "${CROSS_PREFIX}ranlib" --version >/dev/null 2>/dev/null || test $? -lt 126; then |
|
|
|
|
RANLIB=${RANLIB-"${CROSS_PREFIX}ranlib"} |
|
|
|
|
test -n "${CROSS_PREFIX}" && echo Using ${RANLIB} |
|
|
|
|
test -n "${CROSS_PREFIX}" && echo Using ${RANLIB} | tee -a configure.log |
|
|
|
|
else |
|
|
|
|
RANLIB=${RANLIB-"ranlib"} |
|
|
|
|
fi |
|
|
|
|
if "${CROSS_PREFIX}nm" --version >/dev/null 2>/dev/null || test $? -lt 126; then |
|
|
|
|
NM=${NM-"${CROSS_PREFIX}nm"} |
|
|
|
|
test -n "${CROSS_PREFIX}" && echo Using ${NM} |
|
|
|
|
test -n "${CROSS_PREFIX}" && echo Using ${NM} | tee -a configure.log |
|
|
|
|
else |
|
|
|
|
NM=${NM-"nm"} |
|
|
|
|
fi |
|
|
|
@ -68,10 +72,10 @@ while test $# -ge 1 |
|
|
|
|
do |
|
|
|
|
case "$1" in |
|
|
|
|
-h* | --help) |
|
|
|
|
echo 'usage:' |
|
|
|
|
echo ' configure [--zprefix] [--prefix=PREFIX] [--eprefix=EXPREFIX]' |
|
|
|
|
echo ' [--static] [--64] [--libdir=LIBDIR] [--sharedlibdir=LIBDIR]' |
|
|
|
|
echo ' [--includedir=INCLUDEDIR] [--archs="-arch i386 -arch x86_64"]' |
|
|
|
|
echo 'usage:' | tee -a configure.log |
|
|
|
|
echo ' configure [--zprefix] [--prefix=PREFIX] [--eprefix=EXPREFIX]' | tee -a configure.log |
|
|
|
|
echo ' [--static] [--64] [--libdir=LIBDIR] [--sharedlibdir=LIBDIR]' | tee -a configure.log |
|
|
|
|
echo ' [--includedir=INCLUDEDIR] [--archs="-arch i386 -arch x86_64"]' | tee -a configure.log |
|
|
|
|
exit 0 ;; |
|
|
|
|
-p*=* | --prefix=*) prefix=`echo $1 | sed 's/.*=//'`; shift ;; |
|
|
|
|
-e*=* | --eprefix=*) exec_prefix=`echo $1 | sed 's/.*=//'`; shift ;; |
|
|
|
@ -90,35 +94,56 @@ case "$1" in |
|
|
|
|
-z* | --zprefix) zprefix=1; shift ;; |
|
|
|
|
-6* | --64) build64=1; shift ;; |
|
|
|
|
-a*=* | --archs=*) ARCHS=`echo $1 | sed 's/.*=//'`; shift ;; |
|
|
|
|
--sysconfdir=*) echo "ignored option: --sysconfdir"; shift ;; |
|
|
|
|
--localstatedir=*) echo "ignored option: --localstatedir"; shift ;; |
|
|
|
|
*) echo "unknown option: $1"; echo "$0 --help for help"; exit 1 ;; |
|
|
|
|
--sysconfdir=*) echo "ignored option: --sysconfdir" | tee -a configure.log; shift ;; |
|
|
|
|
--localstatedir=*) echo "ignored option: --localstatedir" | tee -a configure.log; shift ;; |
|
|
|
|
*) echo "unknown option: $1"; echo "$0 --help for help" | tee -a configure.log; exit 1 ;; |
|
|
|
|
esac |
|
|
|
|
done |
|
|
|
|
|
|
|
|
|
test=ztest$$ |
|
|
|
|
|
|
|
|
|
show() |
|
|
|
|
{ |
|
|
|
|
case "$*" in |
|
|
|
|
*$test.c*) |
|
|
|
|
echo === $test.c === >> configure.log |
|
|
|
|
cat $test.c >> configure.log |
|
|
|
|
echo === >> configure.log;; |
|
|
|
|
esac |
|
|
|
|
echo $* >> configure.log |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
cat > $test.c <<EOF |
|
|
|
|
#error error |
|
|
|
|
EOF |
|
|
|
|
if ($CC -c $CFLAGS $test.c) 2>/dev/null; then |
|
|
|
|
try() |
|
|
|
|
{ |
|
|
|
|
test "`( $* ) 2>&1`" = "" |
|
|
|
|
show $* |
|
|
|
|
test "`( $* ) 2>&1 | tee -a configure.log`" = "" |
|
|
|
|
} |
|
|
|
|
echo - using any output from compiler to indicate an error >> configure.log |
|
|
|
|
else |
|
|
|
|
try() |
|
|
|
|
{ |
|
|
|
|
( $* ) 2>/dev/null |
|
|
|
|
show $* |
|
|
|
|
( $* ) >> configure.log 2>&1 |
|
|
|
|
ret=$? |
|
|
|
|
if test $ret -ne 0; then |
|
|
|
|
echo "(exit code "$ret")" >> configure.log |
|
|
|
|
fi |
|
|
|
|
return $ret |
|
|
|
|
} |
|
|
|
|
fi |
|
|
|
|
|
|
|
|
|
echo >> configure.log |
|
|
|
|
|
|
|
|
|
cat > $test.c <<EOF |
|
|
|
|
extern int getchar(); |
|
|
|
|
int hello() {return getchar();} |
|
|
|
|
EOF |
|
|
|
|
|
|
|
|
|
test -z "$CC" && echo Checking for ${CROSS_PREFIX}gcc... |
|
|
|
|
test -z "$CC" && echo Checking for ${CROSS_PREFIX}gcc... | tee -a configure.log |
|
|
|
|
cc=${CC-${CROSS_PREFIX}gcc} |
|
|
|
|
cflags=${CFLAGS-"-O3"} |
|
|
|
|
# to force the asm version use: CFLAGS="-O3 -DASMV" ./configure |
|
|
|
@ -129,7 +154,9 @@ case `$cc -v 2>&1` in |
|
|
|
|
*gcc*) gcc=1 ;; |
|
|
|
|
esac |
|
|
|
|
|
|
|
|
|
if test "$gcc" -eq 1 && ($cc -c $cflags $test.c) 2>/dev/null; then |
|
|
|
|
show $cc -c $cflags $test.c |
|
|
|
|
if test "$gcc" -eq 1 && ($cc -c $cflags $test.c) >> configure.log 2>&1; then |
|
|
|
|
echo ... using gcc >> configure.log |
|
|
|
|
CC="$cc" |
|
|
|
|
CFLAGS="${CFLAGS--O3} ${ARCHS}" |
|
|
|
|
SFLAGS="${CFLAGS--O3} -fPIC" |
|
|
|
@ -152,7 +179,7 @@ if test "$gcc" -eq 1 && ($cc -c $cflags $test.c) 2>/dev/null; then |
|
|
|
|
MINGW* | mingw*) |
|
|
|
|
# temporary bypass |
|
|
|
|
rm -f $test.[co] $test $test$shared_ext |
|
|
|
|
echo "Please use win32/Makefile.gcc instead." |
|
|
|
|
echo "Please use win32/Makefile.gcc instead." | tee -a configure.log |
|
|
|
|
exit 1 |
|
|
|
|
LDSHARED=${LDSHARED-"$cc -shared"} |
|
|
|
|
LDSHAREDLIBC="" |
|
|
|
@ -184,6 +211,7 @@ else |
|
|
|
|
# find system name and corresponding cc options |
|
|
|
|
CC=${CC-cc} |
|
|
|
|
gcc=0 |
|
|
|
|
echo ... using $CC >> configure.log |
|
|
|
|
if test -z "$uname"; then |
|
|
|
|
uname=`(uname -sr || echo unknown) 2>/dev/null` |
|
|
|
|
fi |
|
|
|
@ -262,21 +290,19 @@ SHAREDLIB=${SHAREDLIB-"libz$shared_ext"} |
|
|
|
|
SHAREDLIBV=${SHAREDLIBV-"libz$shared_ext.$VER"} |
|
|
|
|
SHAREDLIBM=${SHAREDLIBM-"libz$shared_ext.$VER1"} |
|
|
|
|
|
|
|
|
|
echo >> configure.log |
|
|
|
|
|
|
|
|
|
if test $shared -eq 1; then |
|
|
|
|
echo Checking for shared library support... |
|
|
|
|
echo Checking for shared library support... | tee -a configure.log |
|
|
|
|
# we must test in two steps (cc then ld), required at least on SunOS 4.x |
|
|
|
|
if try $CC -w -c $SFLAGS $test.c && |
|
|
|
|
try $LDSHARED $SFLAGS -o $test$shared_ext $test.o; then |
|
|
|
|
echo Building shared library $SHAREDLIBV with $CC. |
|
|
|
|
echo Building shared library $SHAREDLIBV with $CC. | tee -a configure.log |
|
|
|
|
elif test -z "$old_cc" -a -z "$old_cflags"; then |
|
|
|
|
echo No shared library support. |
|
|
|
|
echo No shared library support. | tee -a configure.log |
|
|
|
|
shared=0; |
|
|
|
|
else |
|
|
|
|
echo Tested $CC -w -c $SFLAGS $test.c |
|
|
|
|
$CC -w -c $SFLAGS $test.c |
|
|
|
|
echo Tested $LDSHARED $SFLAGS -o $test$shared_ext $test.o |
|
|
|
|
$LDSHARED $SFLAGS -o $test$shared_ext $test.o |
|
|
|
|
echo 'No shared library support; try without defining CC and CFLAGS' |
|
|
|
|
echo 'No shared library support; try without defining CC and CFLAGS' | tee -a configure.log |
|
|
|
|
shared=0; |
|
|
|
|
fi |
|
|
|
|
fi |
|
|
|
@ -287,12 +313,27 @@ if test $shared -eq 0; then |
|
|
|
|
SHAREDLIB="" |
|
|
|
|
SHAREDLIBV="" |
|
|
|
|
SHAREDLIBM="" |
|
|
|
|
echo Building static library $STATICLIB version $VER with $CC. |
|
|
|
|
echo Building static library $STATICLIB version $VER with $CC. | tee -a configure.log |
|
|
|
|
else |
|
|
|
|
ALL="static shared" |
|
|
|
|
TEST="all teststatic testshared" |
|
|
|
|
fi |
|
|
|
|
|
|
|
|
|
CPP=${CPP-"$CC -E"} |
|
|
|
|
case $CFLAGS in |
|
|
|
|
*ASMV*) |
|
|
|
|
echo >> configure.log |
|
|
|
|
show "$NM $test.o | grep _hello" |
|
|
|
|
if test "`$NM $test.o | grep _hello | tee -a configure.log`" = ""; then |
|
|
|
|
CPP="$CPP -DNO_UNDERLINE" |
|
|
|
|
echo Checking for underline in external names... No. | tee -a configure.log |
|
|
|
|
else |
|
|
|
|
echo Checking for underline in external names... Yes. | tee -a configure.log |
|
|
|
|
fi ;; |
|
|
|
|
esac |
|
|
|
|
|
|
|
|
|
echo >> configure.log |
|
|
|
|
|
|
|
|
|
cat > $test.c <<EOF |
|
|
|
|
#include <sys/types.h> |
|
|
|
|
off64_t dummy = 0; |
|
|
|
@ -302,10 +343,11 @@ if try $CC -c $CFLAGS -D_LARGEFILE64_SOURCE=1 $test.c; then |
|
|
|
|
SFLAGS="${SFLAGS} -D_LARGEFILE64_SOURCE=1" |
|
|
|
|
ALL="${ALL} all64" |
|
|
|
|
TEST="${TEST} test64" |
|
|
|
|
echo "Checking for off64_t... Yes." |
|
|
|
|
echo "Checking for fseeko... Yes." |
|
|
|
|
echo "Checking for off64_t... Yes." | tee -a configure.log |
|
|
|
|
echo "Checking for fseeko... Yes." | tee -a configure.log |
|
|
|
|
else |
|
|
|
|
echo "Checking for off64_t... No." |
|
|
|
|
echo "Checking for off64_t... No." | tee -a configure.log |
|
|
|
|
echo >> configure.log |
|
|
|
|
cat > $test.c <<EOF |
|
|
|
|
#include <stdio.h> |
|
|
|
|
int main(void) { |
|
|
|
@ -314,16 +356,18 @@ int main(void) { |
|
|
|
|
} |
|
|
|
|
EOF |
|
|
|
|
if try $CC $CFLAGS -o $test $test.c; then |
|
|
|
|
echo "Checking for fseeko... Yes." |
|
|
|
|
echo "Checking for fseeko... Yes." | tee -a configure.log |
|
|
|
|
else |
|
|
|
|
CFLAGS="${CFLAGS} -DNO_FSEEKO" |
|
|
|
|
SFLAGS="${SFLAGS} -DNO_FSEEKO" |
|
|
|
|
echo "Checking for fseeko... No." |
|
|
|
|
echo "Checking for fseeko... No." | tee -a configure.log |
|
|
|
|
fi |
|
|
|
|
fi |
|
|
|
|
|
|
|
|
|
cp -p zconf.h.in zconf.h |
|
|
|
|
|
|
|
|
|
echo >> configure.log |
|
|
|
|
|
|
|
|
|
cat > $test.c <<EOF |
|
|
|
|
#include <unistd.h> |
|
|
|
|
int main() { return 0; } |
|
|
|
@ -331,11 +375,13 @@ EOF |
|
|
|
|
if try $CC -c $CFLAGS $test.c; then |
|
|
|
|
sed < zconf.h "/^#ifdef HAVE_UNISTD_H.* may be/s/def HAVE_UNISTD_H\(.*\) may be/ 1\1 was/" > zconf.temp.h |
|
|
|
|
mv zconf.temp.h zconf.h |
|
|
|
|
echo "Checking for unistd.h... Yes." |
|
|
|
|
echo "Checking for unistd.h... Yes." | tee -a configure.log |
|
|
|
|
else |
|
|
|
|
echo "Checking for unistd.h... No." |
|
|
|
|
echo "Checking for unistd.h... No." | tee -a configure.log |
|
|
|
|
fi |
|
|
|
|
|
|
|
|
|
echo >> configure.log |
|
|
|
|
|
|
|
|
|
cat > $test.c <<EOF |
|
|
|
|
#include <stdarg.h> |
|
|
|
|
int main() { return 0; } |
|
|
|
@ -343,15 +389,16 @@ EOF |
|
|
|
|
if try $CC -c $CFLAGS $test.c; then |
|
|
|
|
sed < zconf.h "/^#ifdef HAVE_STDARG_H.* may be/s/def HAVE_STDARG_H\(.*\) may be/ 1\1 was/" > zconf.temp.h |
|
|
|
|
mv zconf.temp.h zconf.h |
|
|
|
|
echo "Checking for stdarg.h... Yes." |
|
|
|
|
echo "Checking for stdarg.h... Yes." | tee -a configure.log |
|
|
|
|
else |
|
|
|
|
echo "Checking for stdarg.h... No." |
|
|
|
|
echo "Checking for stdarg.h... No." | tee -a configure.log |
|
|
|
|
fi |
|
|
|
|
|
|
|
|
|
if test $zprefix -eq 1; then |
|
|
|
|
sed < zconf.h "/#ifdef Z_PREFIX.* may be/s/def Z_PREFIX\(.*\) may be/ 1\1 was/" > zconf.temp.h |
|
|
|
|
mv zconf.temp.h zconf.h |
|
|
|
|
echo "Using z_ prefix on all symbols." |
|
|
|
|
echo >> configure.log |
|
|
|
|
echo "Using z_ prefix on all symbols." | tee -a configure.log |
|
|
|
|
fi |
|
|
|
|
|
|
|
|
|
if test $solo -eq 1; then |
|
|
|
@ -368,63 +415,59 @@ if test $cover -eq 1; then |
|
|
|
|
CFLAGS="${CFLAGS} -fprofile-arcs -ftest-coverage" |
|
|
|
|
fi |
|
|
|
|
|
|
|
|
|
echo >> configure.log |
|
|
|
|
|
|
|
|
|
cat > $test.c <<EOF |
|
|
|
|
#include <stdio.h> |
|
|
|
|
#include <stdarg.h> |
|
|
|
|
#include "zconf.h" |
|
|
|
|
|
|
|
|
|
int main() |
|
|
|
|
{ |
|
|
|
|
#ifndef STDC |
|
|
|
|
choke me |
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
return 0; |
|
|
|
|
} |
|
|
|
|
EOF |
|
|
|
|
|
|
|
|
|
if try $CC -c $CFLAGS $test.c; then |
|
|
|
|
echo "Checking whether to use vs[n]printf() or s[n]printf()... using vs[n]printf()." |
|
|
|
|
echo "Checking whether to use vs[n]printf() or s[n]printf()... using vs[n]printf()." | tee -a configure.log |
|
|
|
|
|
|
|
|
|
echo >> configure.log |
|
|
|
|
cat > $test.c <<EOF |
|
|
|
|
#include <stdio.h> |
|
|
|
|
#include <stdarg.h> |
|
|
|
|
|
|
|
|
|
int mytest(const 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 |
|
|
|
|
if try $CC $CFLAGS -o $test $test.c; then |
|
|
|
|
echo "Checking for vsnprintf() in stdio.h... Yes." |
|
|
|
|
echo "Checking for vsnprintf() in stdio.h... Yes." | tee -a configure.log |
|
|
|
|
|
|
|
|
|
echo >> configure.log |
|
|
|
|
cat >$test.c <<EOF |
|
|
|
|
#include <stdio.h> |
|
|
|
|
#include <stdarg.h> |
|
|
|
|
|
|
|
|
|
int mytest(const char *fmt, ...) |
|
|
|
|
{ |
|
|
|
|
int n; |
|
|
|
|
char buf[20]; |
|
|
|
|
va_list ap; |
|
|
|
|
|
|
|
|
|
va_start(ap, fmt); |
|
|
|
|
n = vsnprintf(buf, sizeof(buf), fmt, ap); |
|
|
|
|
va_end(ap); |
|
|
|
|
return n; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
int main() |
|
|
|
|
{ |
|
|
|
|
return (mytest("Hello%d\n", 1)); |
|
|
|
@ -432,39 +475,37 @@ int main() |
|
|
|
|
EOF |
|
|
|
|
|
|
|
|
|
if try $CC -c $CFLAGS $test.c; then |
|
|
|
|
echo "Checking for return value of vsnprintf()... Yes." |
|
|
|
|
echo "Checking for return value of vsnprintf()... Yes." | tee -a configure.log |
|
|
|
|
else |
|
|
|
|
CFLAGS="$CFLAGS -DHAS_vsnprintf_void" |
|
|
|
|
SFLAGS="$SFLAGS -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." |
|
|
|
|
echo "Checking for return value of vsnprintf()... No." | tee -a configure.log |
|
|
|
|
echo " WARNING: apparently vsnprintf() does not return a value. zlib" | tee -a configure.log |
|
|
|
|
echo " can build but will be open to possible string-format security" | tee -a configure.log |
|
|
|
|
echo " vulnerabilities." | tee -a configure.log |
|
|
|
|
fi |
|
|
|
|
else |
|
|
|
|
CFLAGS="$CFLAGS -DNO_vsnprintf" |
|
|
|
|
SFLAGS="$SFLAGS -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." |
|
|
|
|
echo "Checking for vsnprintf() in stdio.h... No." | tee -a configure.log |
|
|
|
|
echo " WARNING: vsnprintf() not found, falling back to vsprintf(). zlib" | tee -a configure.log |
|
|
|
|
echo " can build but will be open to possible buffer-overflow security" | tee -a configure.log |
|
|
|
|
echo " vulnerabilities." | tee -a configure.log |
|
|
|
|
|
|
|
|
|
echo >> configure.log |
|
|
|
|
cat >$test.c <<EOF |
|
|
|
|
#include <stdio.h> |
|
|
|
|
#include <stdarg.h> |
|
|
|
|
|
|
|
|
|
int mytest(const char *fmt, ...) |
|
|
|
|
{ |
|
|
|
|
int n; |
|
|
|
|
char buf[20]; |
|
|
|
|
va_list ap; |
|
|
|
|
|
|
|
|
|
va_start(ap, fmt); |
|
|
|
|
n = vsprintf(buf, fmt, ap); |
|
|
|
|
va_end(ap); |
|
|
|
|
return n; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
int main() |
|
|
|
|
{ |
|
|
|
|
return (mytest("Hello%d\n", 1)); |
|
|
|
@ -472,30 +513,28 @@ int main() |
|
|
|
|
EOF |
|
|
|
|
|
|
|
|
|
if try $CC -c $CFLAGS $test.c; then |
|
|
|
|
echo "Checking for return value of vsprintf()... Yes." |
|
|
|
|
echo "Checking for return value of vsprintf()... Yes." | tee -a configure.log |
|
|
|
|
else |
|
|
|
|
CFLAGS="$CFLAGS -DHAS_vsprintf_void" |
|
|
|
|
SFLAGS="$SFLAGS -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." |
|
|
|
|
echo "Checking for return value of vsprintf()... No." | tee -a configure.log |
|
|
|
|
echo " WARNING: apparently vsprintf() does not return a value. zlib" | tee -a configure.log |
|
|
|
|
echo " can build but will be open to possible string-format security" | tee -a configure.log |
|
|
|
|
echo " vulnerabilities." | tee -a configure.log |
|
|
|
|
fi |
|
|
|
|
fi |
|
|
|
|
else |
|
|
|
|
echo "Checking whether to use vs[n]printf() or s[n]printf()... using s[n]printf()." |
|
|
|
|
echo "Checking whether to use vs[n]printf() or s[n]printf()... using s[n]printf()." | tee -a configure.log |
|
|
|
|
|
|
|
|
|
echo >> configure.log |
|
|
|
|
cat >$test.c <<EOF |
|
|
|
|
#include <stdio.h> |
|
|
|
|
|
|
|
|
|
int mytest() |
|
|
|
|
{ |
|
|
|
|
char buf[20]; |
|
|
|
|
|
|
|
|
|
snprintf(buf, sizeof(buf), "%s", "foo"); |
|
|
|
|
return 0; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
int main() |
|
|
|
|
{ |
|
|
|
|
return (mytest()); |
|
|
|
@ -503,18 +542,16 @@ int main() |
|
|
|
|
EOF |
|
|
|
|
|
|
|
|
|
if try $CC $CFLAGS -o $test $test.c; then |
|
|
|
|
echo "Checking for snprintf() in stdio.h... Yes." |
|
|
|
|
echo "Checking for snprintf() in stdio.h... Yes." | tee -a configure.log |
|
|
|
|
|
|
|
|
|
echo >> configure.log |
|
|
|
|
cat >$test.c <<EOF |
|
|
|
|
#include <stdio.h> |
|
|
|
|
|
|
|
|
|
int mytest() |
|
|
|
|
{ |
|
|
|
|
char buf[20]; |
|
|
|
|
|
|
|
|
|
return snprintf(buf, sizeof(buf), "%s", "foo"); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
int main() |
|
|
|
|
{ |
|
|
|
|
return (mytest()); |
|
|
|
@ -522,33 +559,31 @@ int main() |
|
|
|
|
EOF |
|
|
|
|
|
|
|
|
|
if try $CC -c $CFLAGS $test.c; then |
|
|
|
|
echo "Checking for return value of snprintf()... Yes." |
|
|
|
|
echo "Checking for return value of snprintf()... Yes." | tee -a configure.log |
|
|
|
|
else |
|
|
|
|
CFLAGS="$CFLAGS -DHAS_snprintf_void" |
|
|
|
|
SFLAGS="$SFLAGS -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." |
|
|
|
|
echo "Checking for return value of snprintf()... No." | tee -a configure.log |
|
|
|
|
echo " WARNING: apparently snprintf() does not return a value. zlib" | tee -a configure.log |
|
|
|
|
echo " can build but will be open to possible string-format security" | tee -a configure.log |
|
|
|
|
echo " vulnerabilities." | tee -a configure.log |
|
|
|
|
fi |
|
|
|
|
else |
|
|
|
|
CFLAGS="$CFLAGS -DNO_snprintf" |
|
|
|
|
SFLAGS="$SFLAGS -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." |
|
|
|
|
echo "Checking for snprintf() in stdio.h... No." | tee -a configure.log |
|
|
|
|
echo " WARNING: snprintf() not found, falling back to sprintf(). zlib" | tee -a configure.log |
|
|
|
|
echo " can build but will be open to possible buffer-overflow security" | tee -a configure.log |
|
|
|
|
echo " vulnerabilities." | tee -a configure.log |
|
|
|
|
|
|
|
|
|
echo >> configure.log |
|
|
|
|
cat >$test.c <<EOF |
|
|
|
|
#include <stdio.h> |
|
|
|
|
|
|
|
|
|
int mytest() |
|
|
|
|
{ |
|
|
|
|
char buf[20]; |
|
|
|
|
|
|
|
|
|
return sprintf(buf, "%s", "foo"); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
int main() |
|
|
|
|
{ |
|
|
|
|
return (mytest()); |
|
|
|
@ -556,19 +591,20 @@ int main() |
|
|
|
|
EOF |
|
|
|
|
|
|
|
|
|
if try $CC -c $CFLAGS $test.c; then |
|
|
|
|
echo "Checking for return value of sprintf()... Yes." |
|
|
|
|
echo "Checking for return value of sprintf()... Yes." | tee -a configure.log |
|
|
|
|
else |
|
|
|
|
CFLAGS="$CFLAGS -DHAS_sprintf_void" |
|
|
|
|
SFLAGS="$SFLAGS -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." |
|
|
|
|
echo "Checking for return value of sprintf()... No." | tee -a configure.log |
|
|
|
|
echo " WARNING: apparently sprintf() does not return a value. zlib" | tee -a configure.log |
|
|
|
|
echo " can build but will be open to possible string-format security" | tee -a configure.log |
|
|
|
|
echo " vulnerabilities." | tee -a configure.log |
|
|
|
|
fi |
|
|
|
|
fi |
|
|
|
|
fi |
|
|
|
|
|
|
|
|
|
if test "$gcc" -eq 1; then |
|
|
|
|
echo >> configure.log |
|
|
|
|
cat > $test.c <<EOF |
|
|
|
|
#if ((__GNUC__-0) * 10 + __GNUC_MINOR__-0 >= 33) |
|
|
|
|
# define ZLIB_INTERNAL __attribute__((visibility ("hidden"))) |
|
|
|
@ -582,27 +618,50 @@ int main() |
|
|
|
|
} |
|
|
|
|
EOF |
|
|
|
|
if try $CC -c $CFLAGS $test.c; then |
|
|
|
|
echo "Checking for attribute(visibility) support... Yes." |
|
|
|
|
echo "Checking for attribute(visibility) support... Yes." | tee -a configure.log |
|
|
|
|
else |
|
|
|
|
CFLAGS="$CFLAGS -DNO_VIZ" |
|
|
|
|
SFLAGS="$SFLAGS -DNO_VIZ" |
|
|
|
|
echo "Checking for attribute(visibility) support... No." |
|
|
|
|
echo "Checking for attribute(visibility) support... No." | tee -a configure.log |
|
|
|
|
fi |
|
|
|
|
fi |
|
|
|
|
|
|
|
|
|
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 |
|
|
|
|
|
|
|
|
|
rm -f $test.[co] $test $test$shared_ext $test.gcno |
|
|
|
|
|
|
|
|
|
# show the results in the log |
|
|
|
|
echo >> configure.log |
|
|
|
|
echo ALL = $ALL >> configure.log |
|
|
|
|
echo AR = $AR >> configure.log |
|
|
|
|
echo ARFLAGS = $ARFLAGS >> configure.log |
|
|
|
|
echo CC = $CC >> configure.log |
|
|
|
|
echo CFLAGS = $CFLAGS >> configure.log |
|
|
|
|
echo CPP = $CPP >> configure.log |
|
|
|
|
echo EXE = $EXE >> configure.log |
|
|
|
|
echo LDCONFIG = $LDCONFIG >> configure.log |
|
|
|
|
echo LDFLAGS = $LDFLAGS >> configure.log |
|
|
|
|
echo LDSHARED = $LDSHARED >> configure.log |
|
|
|
|
echo LDSHAREDLIBC = $LDSHAREDLIBC >> configure.log |
|
|
|
|
echo OBJC = $OBJC >> configure.log |
|
|
|
|
echo PIC_OBJC = $PIC_OBJC >> configure.log |
|
|
|
|
echo RANLIB = $RANLIB >> configure.log |
|
|
|
|
echo SFLAGS = $SFLAGS >> configure.log |
|
|
|
|
echo SHAREDLIB = $SHAREDLIB >> configure.log |
|
|
|
|
echo SHAREDLIBM = $SHAREDLIBM >> configure.log |
|
|
|
|
echo SHAREDLIBV = $SHAREDLIBV >> configure.log |
|
|
|
|
echo STATICLIB = $STATICLIB >> configure.log |
|
|
|
|
echo TEST = $TEST >> configure.log |
|
|
|
|
echo VER = $VER >> configure.log |
|
|
|
|
echo exec_prefix = $exec_prefix >> configure.log |
|
|
|
|
echo includedir = $includedir >> configure.log |
|
|
|
|
echo libdir = $libdir >> configure.log |
|
|
|
|
echo mandir = $mandir >> configure.log |
|
|
|
|
echo prefix = $prefix >> configure.log |
|
|
|
|
echo sharedlibdir = $sharedlibdir >> configure.log |
|
|
|
|
echo uname = $uname >> configure.log |
|
|
|
|
echo -------------------- >> configure.log |
|
|
|
|
echo >> configure.log |
|
|
|
|
echo >> configure.log |
|
|
|
|
|
|
|
|
|
# udpate Makefile |
|
|
|
|
sed < Makefile.in " |
|
|
|
|
/^CC *=/s#=.*#=$CC# |
|
|
|
|