From 941c322e4378e0ef09f21bfd7b2a337b8f812629 Mon Sep 17 00:00:00 2001 From: Romain Naour Date: Mon, 27 Jan 2014 22:42:53 +0100 Subject: [PATCH 1/1] configure: fix cross-compilation issues - Use CFLAGS from command line - Remove "Check C compiler type (optimization options)" This test force optimization to -O3 while it is already set in CFLAGS - Don't use host CPP - Remove "Check for Large File Support" LFS support is already set in CFLAGS Note: configure script still use host nm Signed-off-by: Romain Naour --- unix/Makefile | 4 +- unix/configure | 161 +-------------------------------------------------------- 2 files changed, 3 insertions(+), 162 deletions(-) diff --git a/unix/Makefile b/unix/Makefile index abd0c44..8388c74 100644 --- a/unix/Makefile +++ b/unix/Makefile @@ -58,7 +58,7 @@ IZ_OUR_BZIP2_DIR = bzip2 # LFLAGS1 flags after output file spec, before obj file list # LFLAGS2 flags after obj file list (libraries, etc) CFLAGS_NOOPT = -I. -DUNIX $(LOCAL_ZIP) -CFLAGS = -O2 $(CFLAGS_NOOPT) +CFLAGS ?= -O2 $(CFLAGS_NOOPT) LFLAGS1 = LFLAGS2 = -s @@ -177,7 +177,7 @@ uninstall: flags: unix/configure - sh unix/configure "${CC}" "${CFLAGS_NOOPT}" "${IZ_BZIP2}" + sh unix/configure "${CC}" "${CFLAGS}" "${IZ_BZIP2}" # These symbols, when #defined using -D have these effects on compilation: # ZMEM - includes C language versions of memset(), memcpy(), diff --git a/unix/configure b/unix/configure index 73ba803..57272db 100644 --- a/unix/configure +++ b/unix/configure @@ -22,109 +22,9 @@ LFLAGS1='' LFLAGS2='' LN="ln -s" -CFLAGS_OPT='' - # bzip2 IZ_BZIP2=${3-} -CFLAGS_BZ='' - - -echo 'Check C compiler type (optimization options)' -# Sun C? -cat > conftest.c << _EOF_ -int main() -{ -#ifndef __SUNPRO_C - bad code -#endif - return 0; -} -_EOF_ -$CC $CFLAGS -c conftest.c > /dev/null 2>/dev/null -if test $? -eq 0; then - CFLAGS_OPT='-xO3' - echo " Sun C ($CFLAGS_OPT)" -else - # Tru64 DEC/Compaq/HP C? - cat > conftest.c << _EOF_ -int main() -{ -#ifndef __DECC - bad code -#endif - return 0; -} -_EOF_ - $CC $CFLAGS -c conftest.c > /dev/null 2>/dev/null - if test $? -eq 0; then - CFLAGS_OPT='-O3' - echo " DEC C ($CFLAGS_OPT)" - else - # HP-UX HP C? - cat > conftest.c << _EOF_ -int main() -{ -#ifdef __GNUC__ - bad code -#endif -#ifndef __hpux - bad code -#endif - return 0; -} -_EOF_ - $CC $CFLAGS -c conftest.c > /dev/null 2>/dev/null - if test $? -eq 0; then - # HP-UX, not GCC. Lame bundled or real ANSI compiler? - CFLAGS_OPT_TRY="+O3 +Onolimit" - $CC $CFLAGS $CFLAGS_OPT_TRY -c conftest.c 2>&1 | \ - grep '(Bundled)' > /dev/null - if test $? -ne 0; then - CFLAGS_OPT="$CFLAGS_OPT_TRY" - echo " HP-UX ANSI C ($CFLAGS_OPT)" - else - echo ' HP-UX Bundled C (no opt)' - fi - else - # GNU C? - cat > conftest.c << _EOF_ -int main() -{ -#ifndef __GNUC__ - bad code -#endif - return 0; -} -_EOF_ - $CC $CFLAGS -c conftest.c > /dev/null 2>/dev/null - if test $? -eq 0; then - CFLAGS_OPT='-O3' - echo " GNU C ($CFLAGS_OPT)" - # Special Mac OS X shared library "ld" option? - if test ` uname -s 2> /dev/null ` = 'Darwin'; then - lf='-Wl,-search_paths_first' - $CC $CFLAGS $lf conftest.c > /dev/null 2>/dev/null - if test $? -eq 0; then - LFLAGS2="${LFLAGS2} ${lf}" - fi - rm -f conftest - fi - else - CFLAGS_OPT='-O' - echo " Other-unknown C ($CFLAGS_OPT)" - fi - fi - fi -fi - -# optimization flags -if test -n "${CFLAGS_OPT}"; then - CFLAGS="${CFLAGS} ${CFLAGS_OPT}" - CFLAGS_BZ="${CFLAGS_BZ} ${CFLAGS_OPT}" -fi - - -# bzip2 +CFLAGS_BZ="${CFLAGS}" echo "Check bzip2 support" CC_BZ="${CC}" @@ -220,13 +120,6 @@ fi echo Check for the C preprocessor # on SVR4, cc -E does not produce correct assembler files. Need /lib/cpp. CPP="${CC} -E" -# solaris as(1) needs -P, maybe others as well ? -[ -f /usr/ccs/lib/cpp ] && CPP="/usr/ccs/lib/cpp -P" -[ -f /usr/lib/cpp ] && CPP=/usr/lib/cpp -[ -f /lib/cpp ] && CPP=/lib/cpp -[ -f /usr/bin/cpp ] && CPP=/usr/bin/cpp -[ -f /xenix ] && CPP="${CC} -E" -[ -f /lynx.os ] && CPP="${CC} -E" echo "#include " > conftest.c $CPP conftest.c >/dev/null 2>/dev/null || CPP="${CC} -E" @@ -398,58 +291,6 @@ else fi fi - -# Now we set the 64-bit file environment and check the size of off_t -# Added 11/4/2003 EG -# Revised 8/12/2004 EG - -echo Check for Large File Support -cat > conftest.c << _EOF_ -# define _LARGEFILE_SOURCE /* some OSes need this for fseeko */ -# define _LARGEFILE64_SOURCE -# define _FILE_OFFSET_BITS 64 /* select default interface as 64 bit */ -# define _LARGE_FILES /* some OSes need this for 64-bit off_t */ -#include -#include -#include -#include -int main() -{ - off_t offset; - struct stat s; - /* see if have 64-bit off_t */ - if (sizeof(offset) < 8) - return 1; - printf(" off_t is %d bytes\n", sizeof(off_t)); - /* see if have 64-bit stat */ - if (sizeof(s.st_size) < 8) { - printf(" s.st_size is %d bytes\n", sizeof(s.st_size)); - return 2; - } - return 3; -} -_EOF_ -# compile it -$CC -o conftest conftest.c >/dev/null 2>/dev/null -if [ $? -ne 0 ]; then - echo -- no Large File Support -else -# run it - ./conftest - r=$? - if [ $r -eq 1 ]; then - echo -- no Large File Support - no 64-bit off_t - elif [ $r -eq 2 ]; then - echo -- no Large File Support - no 64-bit stat - elif [ $r -eq 3 ]; then - echo -- yes we have Large File Support! - CFLAGS="${CFLAGS} -DLARGE_FILE_SUPPORT" - else - echo -- no Large File Support - conftest returned $r - fi -fi - - # Check for wide char for Unicode support # Added 11/24/2005 EG -- 1.8.5.3