Whamcloud - gitweb
Fix cross-compilation problems when CFLAGS contain target-specific options
authorTheodore Ts'o <tytso@mit.edu>
Wed, 9 Nov 2005 22:37:07 +0000 (18:37 -0400)
committerTheodore Ts'o <tytso@mit.edu>
Wed, 9 Nov 2005 22:37:07 +0000 (18:37 -0400)
Use BUILD_CCFLAGS and BUILD_LDFLAGS instead of CCFLAGS and LDFLAGS in
the build system when building files in the util directory which are
needed during the build process.  This avoids potential problems when
cross-compiling some of the options are not recognized as valid by the
host compiler.  (Addresses Sourceforge Bug #1261547)

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
ChangeLog
MCONFIG.in
configure
configure.in
util/ChangeLog
util/Makefile.in

index 550a662..ce963a6 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2005-10-26  Theodore Ts'o  <tytso@mit.edu>
+
+       * MCONFIG.in, configure.in: Use BUILD_CCFLAGS and BUILD_LDFLAGS
+               instead of CCFLAGS and LDFLAGS when to avoid potential
+               problems when cross-compiling some of the options are not
+               recognized as valid by the host compiler.  (Addresses
+               Sourceforge Bug #1261547)
+
 2006-06-30  Theodore Ts'o  <tytso@mit.edu>
 
        * Release of E2fsprogs 1.38
index ce6329f..991aaa0 100644 (file)
@@ -40,6 +40,8 @@ ALL_CFLAGS = $(CPPFLAGS) $(DEFS) $(USE_WFLAGS) $(CFLAGS) $(XTRA_CFLAGS) \
        $(INTL_FLAGS) $(LINUX_INCLUDE) 
 LDFLAGS = @LDFLAGS@
 ALL_LDFLAGS = $(LDFLAGS)
+BUILD_CFLAGS = @BUILD_CFLAGS@
+BUILD_LDFLAGS = @BUILD_LDFLAGS@
 RM = @RM@
 LN = @LN@
 LN_S = @LN_S@
index b22a201..e9d719b 100755 (executable)
--- a/configure
+++ b/configure
@@ -309,7 +309,7 @@ ac_includes_default="\
 # include <unistd.h>
 #endif"
 
-ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS E2FSPROGS_YEAR E2FSPROGS_MONTH E2FSPROGS_DAY E2FSPROGS_VERSION build build_cpu build_vendor build_os host host_cpu host_vendor host_os CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT LD CPP EGREP LINUX_INCLUDE MAINTAINER_CMT HTREE_CMT ELF_CMT BSDLIB_CMT PROFILE_CMT CHECKER_CMT LIB_EXT STATIC_LIB_EXT PROFILED_LIB_EXT SWAPFS_CMT DEBUGFS_CMT IMAGER_CMT RESIZER_CMT E2FSCK_TYPE FSCK_PROG FSCK_MAN E2INITRD_PROG E2INITRD_MAN GETTEXT_PACKAGE PACKAGE VERSION SET_MAKE INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA MKINSTALLDIRS USE_NLS MSGFMT GMSGFMT XGETTEXT MSGMERGE RANLIB ac_ct_RANLIB ALLOCA GLIBC21 HAVE_POSIX_PRINTF HAVE_ASPRINTF HAVE_SNPRINTF HAVE_WPRINTF LIBICONV LTLIBICONV INTLBISON BUILD_INCLUDED_LIBINTL USE_INCLUDED_LIBINTL CATOBJEXT DATADIRNAME INSTOBJEXT GENCAT INTLOBJS INTL_LIBTOOL_SUFFIX_PREFIX INTLLIBS LIBINTL LTLIBINTL POSUB BINARY_TYPE LN LN_S MV CP RM CHMOD AWK SED PERL LDCONFIG AR ac_ct_AR STRIP ac_ct_STRIP BUILD_CC SIZEOF_SHORT SIZEOF_INT SIZEOF_LONG SIZEOF_LONG_LONG SOCKET_LIB DLOPEN_LIB LINUX_CMT CYGWIN_CMT UNIX_CMT root_prefix root_bindir root_sbindir root_libdir root_sysconfdir LDFLAG_STATIC SS_DIR ET_DIR DO_TEST_SUITE INTL_FLAGS LIBOBJS LTLIBOBJS'
+ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS E2FSPROGS_YEAR E2FSPROGS_MONTH E2FSPROGS_DAY E2FSPROGS_VERSION build build_cpu build_vendor build_os host host_cpu host_vendor host_os CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT LD CPP EGREP LINUX_INCLUDE MAINTAINER_CMT HTREE_CMT ELF_CMT BSDLIB_CMT PROFILE_CMT CHECKER_CMT LIB_EXT STATIC_LIB_EXT PROFILED_LIB_EXT SWAPFS_CMT DEBUGFS_CMT IMAGER_CMT RESIZER_CMT E2FSCK_TYPE FSCK_PROG FSCK_MAN E2INITRD_PROG E2INITRD_MAN GETTEXT_PACKAGE PACKAGE VERSION SET_MAKE INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA MKINSTALLDIRS USE_NLS MSGFMT GMSGFMT XGETTEXT MSGMERGE RANLIB ac_ct_RANLIB ALLOCA GLIBC21 HAVE_POSIX_PRINTF HAVE_ASPRINTF HAVE_SNPRINTF HAVE_WPRINTF LIBICONV LTLIBICONV INTLBISON BUILD_INCLUDED_LIBINTL USE_INCLUDED_LIBINTL CATOBJEXT DATADIRNAME INSTOBJEXT GENCAT INTLOBJS INTL_LIBTOOL_SUFFIX_PREFIX INTLLIBS LIBINTL LTLIBINTL POSUB BINARY_TYPE LN LN_S MV CP RM CHMOD AWK SED PERL LDCONFIG AR ac_ct_AR STRIP ac_ct_STRIP BUILD_CC SIZEOF_SHORT SIZEOF_INT SIZEOF_LONG SIZEOF_LONG_LONG SOCKET_LIB DLOPEN_LIB LINUX_CMT CYGWIN_CMT UNIX_CMT root_prefix root_bindir root_sbindir root_libdir root_sysconfdir LDFLAG_STATIC SS_DIR ET_DIR DO_TEST_SUITE INTL_FLAGS BUILD_CFLAGS BUILD_LDFLAGS LIBOBJS LTLIBOBJS'
 ac_subst_files='MCONFIG MAKEFILE_ELF MAKEFILE_BSDLIB MAKEFILE_PROFILE MAKEFILE_CHECKER MAKEFILE_LIBRARY'
 
 # Initialize some variables set by options.
@@ -14247,6 +14247,15 @@ if test "$USE_INCLUDED_LIBINTL" = "yes" ; then
        INTL_FLAGS='-I$(top_builddir)/intl -I$(top_srcdir)/intl'
 fi
 
+if test $cross_compiling = no; then
+   BUILD_CFLAGS="$CFLAGS"
+   BUILD_LDFLAGS="$LDFLAGS"
+else
+   BUILD_CFLAGS=
+   BUILD_LDFLAGS=
+fi
+
+
 test -d lib || mkdir lib
 test -d include || mkdir include
 test -d include/linux || mkdir include/linux
@@ -15031,6 +15040,8 @@ s,@SS_DIR@,$SS_DIR,;t t
 s,@ET_DIR@,$ET_DIR,;t t
 s,@DO_TEST_SUITE@,$DO_TEST_SUITE,;t t
 s,@INTL_FLAGS@,$INTL_FLAGS,;t t
+s,@BUILD_CFLAGS@,$BUILD_CFLAGS,;t t
+s,@BUILD_LDFLAGS@,$BUILD_LDFLAGS,;t t
 s,@LIBOBJS@,$LIBOBJS,;t t
 s,@LTLIBOBJS@,$LTLIBOBJS,;t t
 /@MCONFIG@/r $MCONFIG
index 1c1351a..44166b3 100644 (file)
@@ -791,6 +791,18 @@ if test "$USE_INCLUDED_LIBINTL" = "yes" ; then
 fi
 AC_SUBST(INTL_FLAGS)
 dnl
+dnl Build CFLAGS
+dnl
+if test $cross_compiling = no; then
+   BUILD_CFLAGS="$CFLAGS"
+   BUILD_LDFLAGS="$LDFLAGS"
+else
+   BUILD_CFLAGS=
+   BUILD_LDFLAGS=
+fi
+AC_SUBST(BUILD_CFLAGS)
+AC_SUBST(BUILD_LDFLAGS)
+dnl
 dnl Make our output files, being sure that we create the some miscellaneous 
 dnl directories
 dnl
index df1a439..d345c90 100644 (file)
@@ -1,3 +1,11 @@
+2005-10-26  Theodore Ts'o  <tytso@mit.edu>
+
+       * Makefile.in: Use BUILD_CCFLAGS and BUILD_LDFLAGS instead of
+               CCFLAGS and LDFLAGS when to avoid potential problems when
+               cross-compiling some of the options are not recognized as
+               valid by the host compiler.  (Addresses Sourceforge Bug
+               #1261547)
+
 2005-07-19  Theodore Ts'o  <tytso@mit.edu>
 
        * all.exclude, subset.exclude: Remove BitKeeper and add
index 8ec00c9..4c3d07c 100644 (file)
@@ -15,7 +15,7 @@ SRCS = $(srcdir)/subst.c
 
 .c.o:
        @echo " CC $<"
-       @$(BUILD_CC) -c $(ALL_CFLAGS) $< -o $@
+       @$(BUILD_CC) -c $(BUILD_CFLAGS) $< -o $@
 
 PROGS=         subst
 
@@ -23,11 +23,11 @@ all:: $(PROGS) gen-tarball
 
 subst: subst.o
        @echo " LD $@"
-       @$(BUILD_CC) $(ALL_LDFLAGS) -o subst subst.o
+       @$(BUILD_CC) $(BUILD_LDFLAGS) -o subst subst.o
 
 copy_sparse: copy_sparse.o
        @echo " LD $@"
-       @$(BUILD_CC) $(ALL_LDFLAGS) -o copy_sparse copy_sparse.o
+       @$(BUILD_CC) $(BUILD_LDFLAGS) -o copy_sparse copy_sparse.o
 
 gen-tarball: $(srcdir)/gen-tarball.in $(top_builddir)/config.status
        @echo " CONFIG.STATUS $@"