diff -ruN gcc-4.1.0/gcc/cppdefault.c gcc-4.1.0.new/gcc/cppdefault.c --- gcc-4.1.0/gcc/cppdefault.c 2005-06-25 04:02:01.000000000 +0200 +++ gcc-4.1.0.new/gcc/cppdefault.c 2006-03-01 18:48:58.000000000 +0100 @@ -41,6 +41,10 @@ # undef CROSS_INCLUDE_DIR #endif +#undef LOCAL_INCLUDE_DIR +#undef SYSTEM_INCLUDE_DIR +#undef STANDARD_INCLUDE_DIR + const struct default_include cpp_include_defaults[] #ifdef INCLUDE_DEFAULTS = INCLUDE_DEFAULTS; diff -ruN gcc-4.1.0/gcc/Makefile.in gcc-4.1.0.new/gcc/Makefile.in --- gcc-4.1.0/gcc/Makefile.in 2006-02-16 16:23:24.000000000 +0100 +++ gcc-4.1.0.new/gcc/Makefile.in 2006-03-01 18:55:12.000000000 +0100 @@ -219,7 +219,7 @@ CPPFLAGS = @CPPFLAGS@ # These exists to be overridden by the x-* and t-* files, respectively. -X_CFLAGS = +X_CFLAGS = $(NIX_EXTRA_CFLAGS) $(NIX_EXTRA_LDFLAGS) T_CFLAGS = X_CPPFLAGS = @@ -383,7 +383,11 @@ MD5_H = $(srcdir)/../include/md5.h # Default native SYSTEM_HEADER_DIR, to be overridden by targets. -NATIVE_SYSTEM_HEADER_DIR = /usr/include +# Nix: we override NATIVE_SYSTEM_HEADER_DIR in order to prevent +# `fixinc' from fixing header files in /usr/include. However, +# NATIVE_SYSTEM_HEADER_DIR must point to an existing directory, so set +# it to some dummy directory. +NATIVE_SYSTEM_HEADER_DIR = $(NIX_FIXINC_DUMMY) # Default cross SYSTEM_HEADER_DIR, to be overridden by targets. CROSS_SYSTEM_HEADER_DIR = @CROSS_SYSTEM_HEADER_DIR@ @@ -395,7 +399,7 @@ STMP_FIXINC = @STMP_FIXINC@ # Test to see whether exists in the system header files. -LIMITS_H_TEST = [ -f $(SYSTEM_HEADER_DIR)/limits.h ] +LIMITS_H_TEST = true # Directory for prefix to system directories, for # each of $(system_prefix)/usr/include, $(system_prefix)/usr/lib, etc. @@ -3002,7 +3006,7 @@ -DGPLUSPLUS_INCLUDE_DIR=\"$(gcc_gxx_include_dir)\" \ -DGPLUSPLUS_TOOL_INCLUDE_DIR=\"$(gcc_gxx_include_dir)/$(target_noncanonical)\" \ -DGPLUSPLUS_BACKWARD_INCLUDE_DIR=\"$(gcc_gxx_include_dir)/backward\" \ - -DLOCAL_INCLUDE_DIR=\"$(local_includedir)\" \ + -DLOCAL_INCLUDE_DIR=\"/no-such-dir\" \ -DCROSS_INCLUDE_DIR=\"$(CROSS_SYSTEM_HEADER_DIR)\" \ -DTOOL_INCLUDE_DIR=\"$(gcc_tooldir)/include\" \ @TARGET_SYSTEM_ROOT_DEFINE@ diff -ruN gcc-4.1.0/libstdc++-v3/include/Makefile.in gcc-4.1.0.new/libstdc++-v3/include/Makefile.in --- gcc-4.1.0/libstdc++-v3/include/Makefile.in 2006-01-10 18:14:00.000000000 +0100 +++ gcc-4.1.0.new/libstdc++-v3/include/Makefile.in 2006-03-01 18:57:32.000000000 +0100 @@ -1257,8 +1257,8 @@ if [ ! -d "${pch_output_builddir}" ]; then \ mkdir -p ${pch_output_builddir}; \ fi; \ - $(CXX) $(PCHFLAGS) $(AM_CPPFLAGS) ${pch_source} -O0 -g -o ${pch_output_builddir}/O0g.gch; \ - $(CXX) $(PCHFLAGS) $(AM_CPPFLAGS) ${pch_source} -O2 -g -o ${pch_output_builddir}/O2g.gch; + $(CXX) $(CFLAGS) $(PCHFLAGS) $(AM_CPPFLAGS) ${pch_source} -O0 -g -o ${pch_output_builddir}/O0g.gch; \ + $(CXX) $(CFLAGS) $(PCHFLAGS) $(AM_CPPFLAGS) ${pch_source} -O2 -g -o ${pch_output_builddir}/O2g.gch; # For robustness sake (in light of junk files or in-source # configuration), copy from the build or source tree to the install diff -ruN gcc-4.1.0/ltcf-cxx.sh gcc-4.1.0.new/ltcf-cxx.sh --- gcc-4.1.0/ltcf-cxx.sh 2005-07-16 04:30:53.000000000 +0200 +++ gcc-4.1.0.new/ltcf-cxx.sh 2006-03-01 18:58:15.000000000 +0100 @@ -989,7 +989,7 @@ # the conftest object file. pre_test_object_deps_done=no - for p in `eval $output_verbose_link_cmd`; do + for p in `true`; do case $p in diff -ruN gcc-4.1.0/ltconfig gcc-4.1.0.new/ltconfig --- gcc-4.1.0/ltconfig 2005-07-16 04:30:53.000000000 +0200 +++ gcc-4.1.0.new/ltconfig 2006-03-01 18:59:58.000000000 +0100 @@ -2322,6 +2322,11 @@ # A language-specific compiler. CC=$CC +# Ugly hack to get libmudflap (and possibly other libraries) to build. +# Libtool filters out \`-B' flags when linking (why?), so the \`-B' flag +# to Glibc gets lost. Here we forcibly add it to any invocation. +CC="\$CC $NIX_EXTRA_LDFLAGS" + # Is the compiler the GNU C compiler? with_gcc=$with_gcc diff -ruN gcc-4.1.0/Makefile.in gcc-4.1.0.new/Makefile.in --- gcc-4.1.0/Makefile.in 2005-12-15 15:02:02.000000000 +0100 +++ gcc-4.1.0.new/Makefile.in 2006-03-01 19:41:04.000000000 +0100 @@ -286,7 +286,7 @@ WINDRES = @WINDRES@ CFLAGS = @CFLAGS@ -LDFLAGS = +LDFLAGS = $(NIX_EXTRA_LDFLAGS) LIBCFLAGS = $(CFLAGS) CXXFLAGS = @CXXFLAGS@ LIBCXXFLAGS = $(CXXFLAGS) -fno-implicit-templates @@ -329,12 +329,12 @@ # CFLAGS will be just -g. We want to ensure that TARGET libraries # (which we know are built with gcc) are built with optimizations so # prepend -O2 when setting CFLAGS_FOR_TARGET. -CFLAGS_FOR_TARGET = -O2 $(CFLAGS) $(SYSROOT_CFLAGS_FOR_TARGET) +CFLAGS_FOR_TARGET = -O2 $(CFLAGS) $(SYSROOT_CFLAGS_FOR_TARGET) $(NIX_EXTRA_CFLAGS) SYSROOT_CFLAGS_FOR_TARGET = @SYSROOT_CFLAGS_FOR_TARGET@ -CXXFLAGS_FOR_TARGET = $(CXXFLAGS) $(SYSROOT_CFLAGS_FOR_TARGET) +CXXFLAGS_FOR_TARGET = $(CXXFLAGS) $(SYSROOT_CFLAGS_FOR_TARGET) $(NIX_EXTRA_CFLAGS) LIBCFLAGS_FOR_TARGET = $(CFLAGS_FOR_TARGET) LIBCXXFLAGS_FOR_TARGET = $(CXXFLAGS_FOR_TARGET) -fno-implicit-templates -LDFLAGS_FOR_TARGET = +LDFLAGS_FOR_TARGET = $(NIX_EXTRA_LDFLAGS) PICFLAG_FOR_TARGET = # ------------------------------------