Hi,

With luck, I finally managed to compile darwin-x86::cross/gcc with the
attached patch.  See the commit summary for an explanation.

I could never find the source of the error, even after extensive shell
tracing.  :(

The original report is here:

  http://lists.gnu.org/archive/html/lilypond-devel/2009-09/msg00417.html

Thanks,
Patrick
>From 15c38a977baeebdf3a5510820d08600c7ad4e988 Mon Sep 17 00:00:00 2001
From: Patrick McCarty <[email protected]>
Date: Thu, 29 Oct 2009 02:06:28 -0700
Subject: [PATCH] darwin-x86::cross/gcc - Do not process fixed includes

I cannot track down the reason why fixinc.sh is breaking compilation for
me.  However, if fixinc.sh is not run, compilation succeeds.

The patch is based on the Arch Linux packaging script, which uses sed to
do the same work:

  http://repos.archlinux.org/wsvn/packages/gcc/repos/core-x86_64/PKGBUILD
---
 gub/specs/darwin/cross/gcc.py             |    3 +++
 patches/gcc-4.3.2-no-fixed-includes.patch |   12 ++++++++++++
 2 files changed, 15 insertions(+), 0 deletions(-)
 create mode 100644 patches/gcc-4.3.2-no-fixed-includes.patch

diff --git a/gub/specs/darwin/cross/gcc.py b/gub/specs/darwin/cross/gcc.py
index f933d22..e1fd203 100644
--- a/gub/specs/darwin/cross/gcc.py
+++ b/gub/specs/darwin/cross/gcc.py
@@ -2,6 +2,7 @@ import os
 #
 from gub.specs.cross import gcc as cross_gcc
 from gub import loggedos
+from gub import cross
 
 class Gcc__darwin (cross_gcc.Gcc):
     source = 
'ftp://ftp.fu-berlin.de/unix/languages/gcc/releases/gcc-4.1.1/gcc-4.1.1.tar.bz2'
@@ -15,6 +16,7 @@ class Gcc__darwin (cross_gcc.Gcc):
 
         self.file_sub ([('--strip-underscores', '--strip-underscore')],
                        '%(srcdir)s/libstdc++-v3/scripts/make_exports.pl')
+        cross.AutoBuild.patch (self)
     def languages (self):
         # objective-c is used for quartz's Carbon/Carbon.h in pango, gtk+
         return cross_gcc.Gcc.languages (self) + ['objc', 'obj-c++']
@@ -51,6 +53,7 @@ class Gcc__darwin (cross_gcc.Gcc):
     
 class Gcc__darwin__x86 (Gcc__darwin):
     source = 
'ftp://ftp.fu-berlin.de/unix/languages/gcc/releases/gcc-4.3.2/gcc-4.3.2.tar.bz2'
+    patches = ['gcc-4.3.2-no-fixed-includes.patch']
     dependencies = Gcc__darwin.dependencies + ['tools::mpfr']
 
 class Not_used__Gcc__darwin (Gcc__darwin):
diff --git a/patches/gcc-4.3.2-no-fixed-includes.patch 
b/patches/gcc-4.3.2-no-fixed-includes.patch
new file mode 100644
index 0000000..f0dd5b3
--- /dev/null
+++ b/patches/gcc-4.3.2-no-fixed-includes.patch
@@ -0,0 +1,12 @@
+diff -ru gcc-4.3.2/gcc/Makefile.in gcc-4.3.2-patched/gcc/Makefile.in
+--- gcc-4.3.2/gcc/Makefile.in  2008-08-01 02:51:03.000000000 -0700
++++ gcc-4.3.2-patched/gcc/Makefile.in  2009-10-28 21:54:33.292837334 -0700
+@@ -3508,7 +3508,7 @@
+             SHELL='$(SHELL)'; MACRO_LIST=`${PWD_COMMAND}`/macro_list ; \
+             export TARGET_MACHINE srcdir SHELL MACRO_LIST && \
+             cd $(build_objdir)/fixincludes && \
+-            $(SHELL) ./fixinc.sh ../../gcc/$${fix_dir} \
++            $(SHELL) -c true ../../gcc/$${fix_dir} \
+               $(SYSTEM_HEADER_DIR) $(OTHER_FIXINCLUDES_DIRS) ); \
+           rm -f $${fix_dir}/syslimits.h; \
+           if [ -f $${fix_dir}/limits.h ]; then \
-- 
1.6.5.2

_______________________________________________
lilypond-devel mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/lilypond-devel

Reply via email to