gccApple is dead. Leaving the top-level attribute for a little longer, but no need to keep its unused code.
This commit is contained in:
parent
e9e7bfa6ac
commit
0c6598beaf
@ -1,131 +0,0 @@
|
|||||||
source $stdenv/setup
|
|
||||||
|
|
||||||
|
|
||||||
export NIX_FIXINC_DUMMY=$NIX_BUILD_TOP/dummy
|
|
||||||
mkdir $NIX_FIXINC_DUMMY
|
|
||||||
|
|
||||||
|
|
||||||
# libstdc++ needs this; otherwise it will use /lib/cpp, which is a Bad
|
|
||||||
# Thing.
|
|
||||||
export CPP="gcc -E"
|
|
||||||
|
|
||||||
|
|
||||||
if test "$noSysDirs" = "1"; then
|
|
||||||
|
|
||||||
# Figure out what extra flags to pass to the gcc compilers being
|
|
||||||
# generated to make sure that they use our glibc.
|
|
||||||
if test -e $NIX_CC/nix-support/orig-glibc; then
|
|
||||||
glibc=$(cat $NIX_CC/nix-support/orig-glibc)
|
|
||||||
|
|
||||||
# Ugh. Copied from gcc-wrapper/builder.sh. We can't just
|
|
||||||
# source in $NIX_CC/nix-support/add-flags, since that would
|
|
||||||
# cause *this* GCC to be linked against the *previous* GCC.
|
|
||||||
# Need some more modularity there.
|
|
||||||
extraCFlags="-B$glibc/lib -isystem $glibc/include"
|
|
||||||
extraLDFlags="-B$glibc/lib -L$glibc/lib -Wl,-s \
|
|
||||||
-Wl,-dynamic-linker,$glibc/lib/ld-linux.so.2"
|
|
||||||
|
|
||||||
# Oh, what a hack. I should be shot for this. In stage 1, we
|
|
||||||
# should link against the previous GCC, but not afterwards.
|
|
||||||
# Otherwise we retain a dependency. However, ld-wrapper,
|
|
||||||
# which adds the linker flags for the previous GCC, is also
|
|
||||||
# used in stage 2/3. We can prevent it from adding them by
|
|
||||||
# NIX_GLIBC_FLAGS_SET, but then gcc-wrapper will also not add
|
|
||||||
# them, thereby causing stage 1 to fail. So we use a trick to
|
|
||||||
# only set the flags in gcc-wrapper.
|
|
||||||
hook=$(pwd)/ld-wrapper-hook
|
|
||||||
echo "NIX_GLIBC_FLAGS_SET=1" > $hook
|
|
||||||
export NIX_LD_WRAPPER_START_HOOK=$hook
|
|
||||||
|
|
||||||
# Use *real* header files, otherwise a limits.h is generated
|
|
||||||
# that does not include Glibc's limits.h (notably missing
|
|
||||||
# SSIZE_MAX, which breaks the build).
|
|
||||||
export NIX_FIXINC_DUMMY=$glibc/include
|
|
||||||
fi
|
|
||||||
|
|
||||||
export NIX_EXTRA_CFLAGS=$extraCFlags
|
|
||||||
export NIX_EXTRA_LDFLAGS=$extraLDFlags
|
|
||||||
export CFLAGS=$extraCFlags
|
|
||||||
export CXXFLAGS=$extraCFlags
|
|
||||||
export LDFLAGS=$extraLDFlags
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
preConfigure() {
|
|
||||||
|
|
||||||
# Determine the frontends to build.
|
|
||||||
langs="c"
|
|
||||||
if test -n "$langCC"; then
|
|
||||||
langs="$langs,c++"
|
|
||||||
fi
|
|
||||||
if test -n "$langF77"; then
|
|
||||||
langs="$langs,f95"
|
|
||||||
fi
|
|
||||||
if test -n "$langObjC"; then
|
|
||||||
langs="$langs,objc"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Perform the build in a different directory.
|
|
||||||
mkdir ../build
|
|
||||||
cd ../build
|
|
||||||
|
|
||||||
configureScript=../$sourceRoot/configure
|
|
||||||
configureFlags="--enable-languages=$langs --disable-libstdcxx-pch --disable-libstdcxx-debug --disable-multilib --with-gxx-include-dir=${STDCXX_INCDIR} --host=x86_64-apple-darwin10 --build=x86_64-apple-darwin10 --target=x86_64-apple-darwin10"
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
postInstall() {
|
|
||||||
# Remove precompiled headers for now. They are very big and
|
|
||||||
# probably not very useful yet.
|
|
||||||
find $out/include -name "*.gch" -exec rm -rf {} \; -prune
|
|
||||||
|
|
||||||
# Remove `fixincl' to prevent a retained dependency on the
|
|
||||||
# previous gcc.
|
|
||||||
rm -rf $out/libexec/gcc/*/*/install-tools
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
postUnpack() {
|
|
||||||
mv $libstdcxx/libstdcxx $sourceRoot/
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
STDCXX_INCDIR="$out/include/c++/4.2.1"
|
|
||||||
|
|
||||||
genericBuild
|
|
||||||
|
|
||||||
|
|
||||||
echo '-------------------------------------------------------------------------------------------------------------------------'
|
|
||||||
echo 'libstdcxx'
|
|
||||||
echo '-------------------------------------------------------------------------------------------------------------------------'
|
|
||||||
|
|
||||||
cd ..
|
|
||||||
pwd
|
|
||||||
|
|
||||||
unpackPhase () {
|
|
||||||
true
|
|
||||||
}
|
|
||||||
|
|
||||||
patchPhase() {
|
|
||||||
true
|
|
||||||
}
|
|
||||||
|
|
||||||
preConfigure() {
|
|
||||||
# Perform the build in a different directory.
|
|
||||||
mkdir ../build_libstdcxx
|
|
||||||
cd ../build_libstdcxx
|
|
||||||
|
|
||||||
ln -s ../build/gcc gcc
|
|
||||||
|
|
||||||
configureScript=../$sourceRoot/libstdcxx/configure
|
|
||||||
configureFlags="--disable-libstdcxx-pch --disable-libstdcxx-debug --disable-multilib --with-gxx-include-dir=${STDCXX_INCDIR}"
|
|
||||||
}
|
|
||||||
|
|
||||||
postInstall() {
|
|
||||||
echo "cp -v ${STDCXX_INCDIR}/*/bits/* ${STDCXX_INCDIR}/bits/"
|
|
||||||
cp -v ${STDCXX_INCDIR}/*/bits/* ${STDCXX_INCDIR}/bits/
|
|
||||||
}
|
|
||||||
|
|
||||||
genericBuild
|
|
||||||
|
|
||||||
ln -s $out/lib/x86_64 $out/lib64
|
|
@ -1,30 +0,0 @@
|
|||||||
diff -rc libstdcxx-16-orig/libstdcxx/libstdc++-v3/src/Makefile.in libstdcxx-16/libstdcxx/libstdc++-v3/src/Makefile.in
|
|
||||||
*** libstdcxx-16-orig/libstdcxx/libstdc++-v3/src/Makefile.in Thu Jul 23 19:13:52 2009
|
|
||||||
--- libstdcxx-16/libstdcxx/libstdc++-v3/src/Makefile.in Thu Jul 23 19:38:23 2009
|
|
||||||
***************
|
|
||||||
*** 65,71 ****
|
|
||||||
numeric_members.lo time_members.lo
|
|
||||||
am__objects_2 = basic_file.lo c++locale.lo
|
|
||||||
am__objects_3 = bitmap_allocator.lo pool_allocator.lo mt_allocator.lo \
|
|
||||||
! codecvt.lo complex_io.lo ctype.lo debug.lo debug_list.lo \
|
|
||||||
functexcept.lo globals_locale.lo globals_io.lo ios.lo \
|
|
||||||
ios_failure.lo ios_init.lo ios_locale.lo limits.lo list.lo \
|
|
||||||
locale.lo locale_init.lo locale_facets.lo localename.lo \
|
|
||||||
--- 65,71 ----
|
|
||||||
numeric_members.lo time_members.lo
|
|
||||||
am__objects_2 = basic_file.lo c++locale.lo
|
|
||||||
am__objects_3 = bitmap_allocator.lo pool_allocator.lo mt_allocator.lo \
|
|
||||||
! codecvt.lo complex_io.lo ctype.lo debug.lo \
|
|
||||||
functexcept.lo globals_locale.lo globals_io.lo ios.lo \
|
|
||||||
ios_failure.lo ios_init.lo ios_locale.lo limits.lo list.lo \
|
|
||||||
locale.lo locale_init.lo locale_facets.lo localename.lo \
|
|
||||||
***************
|
|
||||||
*** 315,321 ****
|
|
||||||
complex_io.cc \
|
|
||||||
ctype.cc \
|
|
||||||
debug.cc \
|
|
||||||
- debug_list.cc \
|
|
||||||
functexcept.cc \
|
|
||||||
globals_locale.cc \
|
|
||||||
globals_io.cc \
|
|
||||||
--- 315,320 ----
|
|
@ -1,50 +0,0 @@
|
|||||||
{ stdenv, fetchurl, noSysDirs
|
|
||||||
, langCC ? true, langObjC ? true, langF77 ? false
|
|
||||||
, profiledCompiler ? false
|
|
||||||
, gmp ? null, mpfr ? null, bison ? null, flex ? null
|
|
||||||
}:
|
|
||||||
|
|
||||||
assert false;
|
|
||||||
assert stdenv.isDarwin;
|
|
||||||
assert langF77 -> gmp != null;
|
|
||||||
|
|
||||||
let
|
|
||||||
version = "4.2.1"; # Upstream GCC version, from `gcc/BASE-VER'.
|
|
||||||
revision = "5666.3"; # Apple's fork revision number.
|
|
||||||
in
|
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
|
||||||
name = "gcc-apple-${version}.${revision}";
|
|
||||||
|
|
||||||
builder = ./builder.sh;
|
|
||||||
|
|
||||||
src =
|
|
||||||
stdenv.lib.optional true (fetchurl {
|
|
||||||
url = "http://www.opensource.apple.com/tarballs/gcc/gcc-${revision}.tar.gz";
|
|
||||||
sha256 = "0nq1szgqx9ryh1qsn5n6yd55gpvf56wr8f7w1jzabb8idlvz8ikc";
|
|
||||||
}) ++
|
|
||||||
stdenv.lib.optional langCC (fetchurl {
|
|
||||||
url = http://www.opensource.apple.com/tarballs/libstdcxx/libstdcxx-39.tar.gz;
|
|
||||||
sha256 = "ccf4cf432c142778c766affbbf66b61001b6c4f1107bc2b2c77ce45598786b6d";
|
|
||||||
});
|
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
|
||||||
|
|
||||||
libstdcxx = "libstdcxx-39";
|
|
||||||
|
|
||||||
sourceRoot = "gcc-${revision}/";
|
|
||||||
|
|
||||||
# The floor_log2_patch is from a Gentoo fix for the same issue:
|
|
||||||
# https://bugs.gentoo.org/attachment.cgi?id=363174&action=diff
|
|
||||||
patches =
|
|
||||||
[ ./pass-cxxcpp.patch ./floor_log2_patch.diff ]
|
|
||||||
++ stdenv.lib.optional noSysDirs ./no-sys-dirs.patch
|
|
||||||
++ stdenv.lib.optional langCC ./fix-libstdc++-link.patch;
|
|
||||||
|
|
||||||
inherit noSysDirs langCC langF77 langObjC;
|
|
||||||
langC = true;
|
|
||||||
|
|
||||||
buildInputs = stdenv.lib.optionals langF77 [ gmp mpfr bison flex ];
|
|
||||||
|
|
||||||
#meta.broken = true;
|
|
||||||
}
|
|
@ -1,71 +0,0 @@
|
|||||||
Prevent our libstdc++.dylib from having a runtime dependency on
|
|
||||||
/usr/lib/libstdc++.dylib. This is caused by the implicit -lstdc++
|
|
||||||
passed by g++ when it links libstdc++.dylib. Adding "-nostdlib" to
|
|
||||||
the g++ invocation prevents this.
|
|
||||||
|
|
||||||
jww (2014-06-21): I've added several more patches to this, for building on
|
|
||||||
Mavericks.
|
|
||||||
|
|
||||||
diff -ru -x '*~' libstdcxx-39-orig/libstdcxx/libstdc++-v3/src/Makefile.in libstdcxx-39/libstdcxx/libstdc++-v3/src/Makefile.in
|
|
||||||
--- x/libstdcxx/libstdc++-v3/src/Makefile.in 2006-10-16 21:08:22.000000000 +0200
|
|
||||||
+++ y/libstdcxx/libstdc++-v3/src/Makefile.in 2012-02-17 18:44:05.210570590 +0100
|
|
||||||
@@ -388,7 +388,7 @@
|
|
||||||
|
|
||||||
libstdc___la_DEPENDENCIES = ${version_dep} $(libstdc___la_LIBADD)
|
|
||||||
libstdc___la_LDFLAGS = \
|
|
||||||
- -version-info $(libtool_VERSION) ${version_arg} -lm
|
|
||||||
+ -version-info $(libtool_VERSION) ${version_arg} -lm -Wc,-nostdlib
|
|
||||||
|
|
||||||
|
|
||||||
# Use special rules for the deprecated source files so that they find
|
|
||||||
--- x/libstdcxx/libstdc++-v3/libsupc++/unwind-cxx.h
|
|
||||||
+++ y/libstdcxx/libstdc++-v3/libsupc++/unwind-cxx.h
|
|
||||||
@@ -38,7 +38,7 @@
|
|
||||||
#include <typeinfo>
|
|
||||||
#include <exception>
|
|
||||||
#include <cstddef>
|
|
||||||
-#include "unwind.h"
|
|
||||||
+#include "unwind-generic.h"
|
|
||||||
|
|
||||||
#pragma GCC visibility push(default)
|
|
||||||
|
|
||||||
@@ -133,7 +133,7 @@ extern "C" void __cxa_bad_typeid ();
|
|
||||||
// throws, and if bad_exception needs to be thrown. Called from the
|
|
||||||
// compiler.
|
|
||||||
extern "C" void __cxa_call_unexpected (void *) __attribute__((noreturn));
|
|
||||||
-extern "C" void __cxa_call_terminate (void*) __attribute__((noreturn));
|
|
||||||
+extern "C" void __cxa_call_terminate(_Unwind_Exception* ue_header);
|
|
||||||
|
|
||||||
#ifdef __ARM_EABI_UNWINDER__
|
|
||||||
// Arm EABI specified routines.
|
|
||||||
--- x/libstdcxx/libstdc++-v3/include/ext/bitmap_allocator.h
|
|
||||||
+++ y/libstdcxx/libstdc++-v3/include/ext/bitmap_allocator.h
|
|
||||||
@@ -549,6 +549,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
|
|
||||||
*/
|
|
||||||
class free_list
|
|
||||||
{
|
|
||||||
+ public:
|
|
||||||
typedef size_t* value_type;
|
|
||||||
typedef __detail::__mini_vector<value_type> vector_type;
|
|
||||||
typedef vector_type::iterator iterator;
|
|
||||||
--- x/libstdcxx/libstdc++-v3/include/ext/ropeimpl.h
|
|
||||||
+++ y/libstdcxx/libstdc++-v3/include/ext/ropeimpl.h
|
|
||||||
@@ -433,7 +433,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
|
|
||||||
{
|
|
||||||
size_t __old_len = __r->_M_size;
|
|
||||||
_CharT* __new_data = (_CharT*)
|
|
||||||
- _Data_allocate(_S_rounded_up_size(__old_len + __len));
|
|
||||||
+ _Base::_Data_allocate(_S_rounded_up_size(__old_len + __len));
|
|
||||||
_RopeLeaf* __result;
|
|
||||||
|
|
||||||
uninitialized_copy_n(__r->_M_data, __old_len, __new_data);
|
|
||||||
@@ -817,7 +817,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
|
|
||||||
if (__result_len > __lazy_threshold)
|
|
||||||
goto lazy;
|
|
||||||
__section = (_CharT*)
|
|
||||||
- _Data_allocate(_S_rounded_up_size(__result_len));
|
|
||||||
+ _Base::_Data_allocate(_S_rounded_up_size(__result_len));
|
|
||||||
try
|
|
||||||
{ (*(__f->_M_fn))(__start, __result_len, __section); }
|
|
||||||
catch(...)
|
|
||||||
|
|
@ -1,62 +0,0 @@
|
|||||||
--- gcc-5666.3/gcc/toplev.h
|
|
||||||
+++ gcc-5666.3/gcc/toplev.h
|
|
||||||
@@ -151,6 +151,8 @@
|
|
||||||
/* Return true iff flags are set as if -ffast-math. */
|
|
||||||
extern bool fast_math_flags_set_p (void);
|
|
||||||
|
|
||||||
+#if GCC_VERSION < 3004
|
|
||||||
+
|
|
||||||
/* Return log2, or -1 if not exact. */
|
|
||||||
extern int exact_log2 (unsigned HOST_WIDE_INT);
|
|
||||||
|
|
||||||
@@ -158,7 +160,7 @@
|
|
||||||
extern int floor_log2 (unsigned HOST_WIDE_INT);
|
|
||||||
|
|
||||||
/* Inline versions of the above for speed. */
|
|
||||||
-#if GCC_VERSION >= 3004
|
|
||||||
+#else /* GCC_VERSION < 3004 */
|
|
||||||
# if HOST_BITS_PER_WIDE_INT == HOST_BITS_PER_LONG
|
|
||||||
# define CLZ_HWI __builtin_clzl
|
|
||||||
# define CTZ_HWI __builtin_ctzl
|
|
||||||
@@ -172,18 +172,18 @@
|
|
||||||
# define CTZ_HWI __builtin_ctz
|
|
||||||
# endif
|
|
||||||
|
|
||||||
-extern inline int
|
|
||||||
+static inline int
|
|
||||||
floor_log2 (unsigned HOST_WIDE_INT x)
|
|
||||||
{
|
|
||||||
return x ? HOST_BITS_PER_WIDE_INT - 1 - (int) CLZ_HWI (x) : -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
-extern inline int
|
|
||||||
+static inline int
|
|
||||||
exact_log2 (unsigned HOST_WIDE_INT x)
|
|
||||||
{
|
|
||||||
return x == (x & -x) && x ? (int) CTZ_HWI (x) : -1;
|
|
||||||
}
|
|
||||||
-#endif /* GCC_VERSION >= 3004 */
|
|
||||||
+#endif /* GCC_VERSION < 3004 */
|
|
||||||
|
|
||||||
/* Functions used to get and set GCC's notion of in what directory
|
|
||||||
compilation was started. */
|
|
||||||
--- gcc-5666.3/gcc/toplev.c
|
|
||||||
+++ gcc-5666.3/gcc/toplev.c
|
|
||||||
@@ -555,7 +555,7 @@
|
|
||||||
for floor_log2 and exact_log2; see toplev.h. That construct, however,
|
|
||||||
conflicts with the ISO C++ One Definition Rule. */
|
|
||||||
|
|
||||||
-#if GCC_VERSION < 3004 || !defined (__cplusplus)
|
|
||||||
+#if GCC_VERSION < 3004
|
|
||||||
|
|
||||||
/* Given X, an unsigned number, return the largest int Y such that 2**Y <= X.
|
|
||||||
If X is 0, return -1. */
|
|
||||||
@@ -607,7 +607,7 @@
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
-#endif /* GCC_VERSION < 3004 || !defined (__cplusplus) */
|
|
||||||
+#endif /* GCC_VERSION < 3004 */
|
|
||||||
|
|
||||||
/* Handler for fatal signals, such as SIGSEGV. These are transformed
|
|
||||||
into ICE messages, which is much more user friendly. In case the
|
|
@ -1,99 +0,0 @@
|
|||||||
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 <limits.h> 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/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 =
|
|
||||||
|
|
||||||
# ------------------------------------
|
|
@ -1,21 +0,0 @@
|
|||||||
diff -rc gcc-orig/Makefile.in gcc-4.1.1/Makefile.in
|
|
||||||
*** gcc-orig/Makefile.in Wed Jun 21 13:40:23 2006
|
|
||||||
--- gcc-4.1.1/Makefile.in Wed Jun 21 14:19:44 2006
|
|
||||||
***************
|
|
||||||
*** 213,219 ****
|
|
||||||
RAW_CXX_TARGET_EXPORTS = \
|
|
||||||
$(BASE_TARGET_EXPORTS) \
|
|
||||||
CXX_FOR_TARGET="$(RAW_CXX_FOR_TARGET)"; export CXX_FOR_TARGET; \
|
|
||||||
! CXX="$(RAW_CXX_FOR_TARGET)"; export CXX;
|
|
||||||
|
|
||||||
NORMAL_TARGET_EXPORTS = \
|
|
||||||
$(BASE_TARGET_EXPORTS) \
|
|
||||||
--- 213,220 ----
|
|
||||||
RAW_CXX_TARGET_EXPORTS = \
|
|
||||||
$(BASE_TARGET_EXPORTS) \
|
|
||||||
CXX_FOR_TARGET="$(RAW_CXX_FOR_TARGET)"; export CXX_FOR_TARGET; \
|
|
||||||
! CXX="$(RAW_CXX_FOR_TARGET)"; export CXX; \
|
|
||||||
! CXXCPP="$(RAW_CXX_FOR_TARGET) $(CFLAGS_FOR_BUILD) -E"; export CXXCPP;
|
|
||||||
|
|
||||||
NORMAL_TARGET_EXPORTS = \
|
|
||||||
$(BASE_TARGET_EXPORTS) \
|
|
Loading…
x
Reference in New Issue
Block a user