From: Romain Naour Date: Thu, 30 Jan 2014 22:15:28 +0000 (+0100) Subject: infozip: fix cross-compilation issues X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=cc4dedd962d2e04fc265e1d773fa940935604f57;p=buildroot.git infozip: 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 Signed-off-by: Peter Korsgaard --- diff --git a/package/infozip/infozip-0001-configure-fix-cross-build.patch b/package/infozip/infozip-0001-configure-fix-cross-build.patch new file mode 100644 index 0000000000..275effd493 --- /dev/null +++ b/package/infozip/infozip-0001-configure-fix-cross-build.patch @@ -0,0 +1,237 @@ +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 ?= -02 $(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 + diff --git a/package/infozip/infozip.mk b/package/infozip/infozip.mk index cc2bd34eac..8a356cf41e 100644 --- a/package/infozip/infozip.mk +++ b/package/infozip/infozip.mk @@ -11,7 +11,10 @@ INFOZIP_LICENSE = Info-ZIP INFOZIP_LICENSE_FILES = LICENSE define INFOZIP_BUILD_CMDS - $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) AS="$(TARGET_CC) -c" -f unix/Makefile generic + $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) \ + CFLAGS="$(TARGET_CFLAGS) -I. -DUNIX" \ + AS="$(TARGET_CC) -c" \ + -f unix/Makefile generic endef define INFOZIP_INSTALL_TARGET_CMDS