summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTomas Frydrych <tf@openedhand.com>2006-09-06 15:12:59 +0000
committerTomas Frydrych <tf@openedhand.com>2006-09-06 15:12:59 +0000
commite9b762802b039e8c19e70b054ecc64e7ab07e4d8 (patch)
treeb912494b2fc2845d4f9a67694b4120b2f585ed00
parent8f47d85143c108040aa921b32aa9974b8edb0ba1 (diff)
downloadpoky-e9b762802b039e8c19e70b054ecc64e7ab07e4d8.tar.gz
configuration for csl2006q1-6 compiler and binutils
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@697 311d38ba-8fff-0310-9ca6-ca027cbcb966
-rw-r--r--meta/conf/distro/include/poky-eabi3.inc20
-rw-r--r--meta/packages/binutils/binutils-2.17+csl-arm-2006q1-6/binutils-2.16.91.0.6-objcopy-rename-errorcode.patch31
-rw-r--r--meta/packages/binutils/binutils-2.17+csl-arm-2006q1-6/binutils-2.17-csl-tc-arm-mmxwc-polymorphism.patch25
-rw-r--r--meta/packages/binutils/binutils-2.17+csl-arm-2006q1-6/binutils-uclibc-100-uclibc-conf.patch139
-rw-r--r--meta/packages/binutils/binutils-2.17+csl-arm-2006q1-6/binutils-uclibc-300-001_ld_makefile_patch.patch50
-rw-r--r--meta/packages/binutils/binutils-2.17+csl-arm-2006q1-6/binutils-uclibc-300-006_better_file_error.patch43
-rw-r--r--meta/packages/binutils/binutils-2.17+csl-arm-2006q1-6/binutils-uclibc-300-012_check_ldrunpath_length.patch47
-rw-r--r--meta/packages/binutils/binutils-2.17+csl-arm-2006q1-6/binutils-uclibc-400-mips-ELF_MAXPAGESIZE-4K.patch26
-rw-r--r--meta/packages/binutils/binutils-2.17+csl-arm-2006q1-6/binutils-uclibc-702-binutils-skip-comments.patch93
-rw-r--r--meta/packages/binutils/binutils-cross_csl-arm-2006q1.bb34
-rw-r--r--meta/packages/binutils/binutils_csl-arm-2006q1.bb138
-rw-r--r--meta/packages/gcc/gcc-cross-initial_csl-arm-2006q1.bb32
-rw-r--r--meta/packages/gcc/gcc-cross_csl-arm-2006q1.bb19
-rw-r--r--meta/packages/gcc/gcc-csl-arm/gcc-configure-no-fortran.patch1075
-rw-r--r--meta/packages/gcc/gcc-package-cross-no-fortran.inc66
-rw-r--r--meta/packages/gcc/gcc-package-no-fortran.inc103
-rw-r--r--meta/packages/gcc/gcc4-build-cross.inc6
-rw-r--r--meta/packages/gcc/gcc4-build.inc100
-rw-r--r--meta/packages/gcc/gcc_csl-arm-2006q1.bb30
19 files changed, 2074 insertions, 3 deletions
diff --git a/meta/conf/distro/include/poky-eabi3.inc b/meta/conf/distro/include/poky-eabi3.inc
new file mode 100644
index 0000000000..427cdaa5c7
--- /dev/null
+++ b/meta/conf/distro/include/poky-eabi3.inc
@@ -0,0 +1,20 @@
1#
2# Poky configuration to use EABI
3#
4
5PREFERRED_PROVIDER_virtual/arm-poky-linux-gnueabi-libc-for-gcc = "glibc-intermediate"
6PREFERRED_PROVIDER_virtual/arm-linux-libc-for-gcc = "glibc-intermediate"
7
8PREFERRED_VERSION_gcc ?= "4.1.0+csl-arm-2006q1-6"
9PREFERRED_VERSION_gcc-cross ?= "4.1.0+csl-arm-2006q1-6"
10PREFERRED_VERSION_gcc-cross-initial ?= "4.1.0+csl-arm-2006q1-6"
11PREFERRED_VERSION_binutils ?= "2.17+csl-arm-2006q1-6"
12PREFERRED_VERSION_binutils-cross ?= "2.17+csl-arm-2006q1-6"
13PREFERRED_VERSION_linux-libc-headers ?= "2.6.15.99"
14PREFERRED_VERSION_glibc ?= "2.4"
15PREFERRED_VERSION_glibc-intermediate ?= "2.4"
16
17#Use the ARM EABI when building for an ARM cpu. We can't use overrides
18#here because this breaks all places where ":=" is used.
19TARGET_VENDOR = "${@['','-poky'][bb.data.getVar('TARGET_ARCH',d,1)=='arm']}"
20TARGET_OS = "linux${@['','-gnueabi'][bb.data.getVar('TARGET_ARCH',d,1)=='arm']}" \ No newline at end of file
diff --git a/meta/packages/binutils/binutils-2.17+csl-arm-2006q1-6/binutils-2.16.91.0.6-objcopy-rename-errorcode.patch b/meta/packages/binutils/binutils-2.17+csl-arm-2006q1-6/binutils-2.16.91.0.6-objcopy-rename-errorcode.patch
new file mode 100644
index 0000000000..4461bedd4e
--- /dev/null
+++ b/meta/packages/binutils/binutils-2.17+csl-arm-2006q1-6/binutils-2.16.91.0.6-objcopy-rename-errorcode.patch
@@ -0,0 +1,31 @@
1# strip (and objcopy) fail to set the error code if there is no
2# output file name and the rename of the stripped (or copied) file
3# fails, yet the command fails to do anything. This fixes both
4# objcopy and strip.
5#
6# modification by bero: Ported to 2.16.91.0.6
7#
8#Signed-off-by: John Bowler <jbowler@acm.org>
9#Signed-off-by: Bernhard Rosenkraenzer <bero@arklinux.org>
10--- binutils-2.16.91.0.6/binutils/objcopy.c.ark 2006-03-11 15:59:07.000000000 +0100
11+++ binutils-2.16.91.0.6/binutils/objcopy.c 2006-03-11 15:59:45.000000000 +0100
12@@ -2593,7 +2593,8 @@
13 if (preserve_dates)
14 set_times (tmpname, &statbuf);
15 if (output_file == NULL)
16- smart_rename (tmpname, argv[i], preserve_dates);
17+ if(smart_rename (tmpname, argv[i], preserve_dates))
18+ hold_status = 1;
19 status = hold_status;
20 }
21 else
22@@ -3184,7 +3185,8 @@
23 {
24 if (preserve_dates)
25 set_times (tmpname, &statbuf);
26- smart_rename (tmpname, input_filename, preserve_dates);
27+ if (smart_rename (tmpname, input_filename, preserve_dates))
28+ status = 1;
29 }
30 else
31 unlink (tmpname);
diff --git a/meta/packages/binutils/binutils-2.17+csl-arm-2006q1-6/binutils-2.17-csl-tc-arm-mmxwc-polymorphism.patch b/meta/packages/binutils/binutils-2.17+csl-arm-2006q1-6/binutils-2.17-csl-tc-arm-mmxwc-polymorphism.patch
new file mode 100644
index 0000000000..9d16011a06
--- /dev/null
+++ b/meta/packages/binutils/binutils-2.17+csl-arm-2006q1-6/binutils-2.17-csl-tc-arm-mmxwc-polymorphism.patch
@@ -0,0 +1,25 @@
1--- binutils-2.17/gas/config/tc-arm.c.orig 2006-09-05 14:59:25.000000000 +0100
2+++ binutils-2.17/gas/config/tc-arm.c 2006-09-05 14:59:25.000000000 +0100
3@@ -1252,13 +1252,15 @@
4 }
5
6 /* Undo polymorphism when a set of register types may be accepted. */
7- if ((type == REG_TYPE_NDQ
8- && (reg->type == REG_TYPE_NQ || reg->type == REG_TYPE_VFD))
9- || (type == REG_TYPE_VFSD
10- && (reg->type == REG_TYPE_VFS || reg->type == REG_TYPE_VFD))
11- || (type == REG_TYPE_NSDQ
12- && (reg->type == REG_TYPE_VFS || reg->type == REG_TYPE_VFD
13- || reg->type == REG_TYPE_NQ)))
14+ if (((type == REG_TYPE_NDQ
15+ && (reg->type == REG_TYPE_NQ || reg->type == REG_TYPE_VFD))
16+ || (type == REG_TYPE_VFSD
17+ && (reg->type == REG_TYPE_VFS || reg->type == REG_TYPE_VFD))
18+ || (type == REG_TYPE_NSDQ
19+ && (reg->type == REG_TYPE_VFS || reg->type == REG_TYPE_VFD
20+ || reg->type == REG_TYPE_NQ)))
21+ ||(type == REG_TYPE_MMXWC
22+ && (reg->type == REG_TYPE_MMXWCG)))
23 type = reg->type;
24
25 if (type != reg->type)
diff --git a/meta/packages/binutils/binutils-2.17+csl-arm-2006q1-6/binutils-uclibc-100-uclibc-conf.patch b/meta/packages/binutils/binutils-2.17+csl-arm-2006q1-6/binutils-uclibc-100-uclibc-conf.patch
new file mode 100644
index 0000000000..25222e5df2
--- /dev/null
+++ b/meta/packages/binutils/binutils-2.17+csl-arm-2006q1-6/binutils-uclibc-100-uclibc-conf.patch
@@ -0,0 +1,139 @@
1--- binutils-2.16.91.0.7/bfd/configure
2+++ binutils-2.16.91.0.7/bfd/configure
3@@ -3576,7 +3576,7 @@
4 ;;
5
6 # This must be Linux ELF.
7-linux-gnu*)
8+linux-gnu*|linux-uclibc*)
9 lt_cv_deplibs_check_method=pass_all
10 ;;
11
12--- binutils-2.16.91.0.7/binutils/configure
13+++ binutils-2.16.91.0.7/binutils/configure
14@@ -3411,7 +3411,7 @@
15 ;;
16
17 # This must be Linux ELF.
18-linux-gnu*)
19+linux-gnu*|linux-uclibc*)
20 lt_cv_deplibs_check_method=pass_all
21 ;;
22
23--- binutils-2.16.91.0.7/configure
24+++ binutils-2.16.91.0.7/configure
25@@ -1270,7 +1270,7 @@
26 am33_2.0-*-linux*)
27 noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss"
28 ;;
29- sh-*-linux*)
30+ sh*-*-linux*)
31 noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss"
32 ;;
33 sh*-*-pe|mips*-*-pe|*arm-wince-pe)
34@@ -1578,7 +1578,7 @@
35 romp-*-*)
36 noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes target-libgloss ${libgcj}"
37 ;;
38- sh-*-* | sh64-*-*)
39+ sh*-*-* | sh64-*-*)
40 case "${host}" in
41 i[3456789]86-*-vsta) ;; # don't add gprof back in
42 i[3456789]86-*-go32*) ;; # don't add gprof back in
43--- binutils-2.16.91.0.7/configure.in
44+++ binutils-2.16.91.0.7/configure.in
45@@ -468,7 +468,7 @@
46 am33_2.0-*-linux*)
47 noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss"
48 ;;
49- sh-*-linux*)
50+ sh*-*-linux*)
51 noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss"
52 ;;
53 sh*-*-pe|mips*-*-pe|*arm-wince-pe)
54@@ -776,7 +776,7 @@
55 romp-*-*)
56 noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes target-libgloss ${libgcj}"
57 ;;
58- sh-*-* | sh64-*-*)
59+ sh*-*-* | sh64-*-*)
60 case "${host}" in
61 i[[3456789]]86-*-vsta) ;; # don't add gprof back in
62 i[[3456789]]86-*-go32*) ;; # don't add gprof back in
63--- binutils-2.16.91.0.7/gas/configure
64+++ binutils-2.16.91.0.7/gas/configure
65@@ -3411,7 +3411,7 @@
66 ;;
67
68 # This must be Linux ELF.
69-linux-gnu*)
70+linux-gnu*|linux-uclibc*)
71 lt_cv_deplibs_check_method=pass_all
72 ;;
73
74--- binutils-2.16.91.0.7/gprof/configure
75+++ binutils-2.16.91.0.7/gprof/configure
76@@ -3419,6 +3419,11 @@
77 lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
78 ;;
79
80+linux-uclibc*)
81+ lt_cv_deplibs_check_method=pass_all
82+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
83+ ;;
84+
85 netbsd* | knetbsd*-gnu)
86 if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
87 lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
88--- binutils-2.16.91.0.7/ld/configure
89+++ binutils-2.16.91.0.7/ld/configure
90@@ -3413,7 +3413,7 @@
91 ;;
92
93 # This must be Linux ELF.
94-linux-gnu*)
95+linux-gnu*|linux-uclibc*)
96 lt_cv_deplibs_check_method=pass_all
97 ;;
98
99--- binutils-2.16.91.0.7/libtool.m4
100+++ binutils-2.16.91.0.7/libtool.m4
101@@ -739,7 +739,7 @@
102 ;;
103
104 # This must be Linux ELF.
105-linux-gnu*)
106+linux-gnu*|linux-uclibc*)
107 lt_cv_deplibs_check_method=pass_all
108 ;;
109
110--- binutils-2.16.91.0.7/ltconfig
111+++ binutils-2.16.91.0.7/ltconfig
112@@ -602,6 +602,7 @@
113
114 # Transform linux* to *-*-linux-gnu*, to support old configure scripts.
115 case $host_os in
116+linux-uclibc*) ;;
117 linux-gnu*) ;;
118 linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'`
119 esac
120@@ -1247,7 +1248,7 @@
121 ;;
122
123 # This must be Linux ELF.
124-linux-gnu*)
125+linux-gnu*|linux-uclibc*)
126 version_type=linux
127 need_lib_prefix=no
128 need_version=no
129--- binutils-2.16.91.0.7/opcodes/configure
130+++ binutils-2.16.91.0.7/opcodes/configure
131@@ -3579,7 +3579,7 @@
132 ;;
133
134 # This must be Linux ELF.
135-linux-gnu*)
136+linux-gnu*|linux-uclibc*)
137 lt_cv_deplibs_check_method=pass_all
138 ;;
139
diff --git a/meta/packages/binutils/binutils-2.17+csl-arm-2006q1-6/binutils-uclibc-300-001_ld_makefile_patch.patch b/meta/packages/binutils/binutils-2.17+csl-arm-2006q1-6/binutils-uclibc-300-001_ld_makefile_patch.patch
new file mode 100644
index 0000000000..04a7e61e25
--- /dev/null
+++ b/meta/packages/binutils/binutils-2.17+csl-arm-2006q1-6/binutils-uclibc-300-001_ld_makefile_patch.patch
@@ -0,0 +1,50 @@
1#!/bin/sh -e
2## 001_ld_makefile_patch.dpatch
3##
4## All lines beginning with `## DP:' are a description of the patch.
5## DP: Description: correct where ld scripts are installed
6## DP: Author: Chris Chimelis <chris@debian.org>
7## DP: Upstream status: N/A
8## DP: Date: ??
9
10if [ $# -ne 1 ]; then
11 echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
12 exit 1
13fi
14
15[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
16patch_opts="${patch_opts:--f --no-backup-if-mismatch}"
17
18case "$1" in
19 -patch) patch $patch_opts -p1 < $0;;
20 -unpatch) patch $patch_opts -p1 -R < $0;;
21 *)
22 echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
23 exit 1;;
24esac
25
26exit 0
27
28@DPATCH@
29--- binutils-2.16.91.0.1/ld/Makefile.am
30+++ binutils-2.16.91.0.1/ld/Makefile.am
31@@ -20,7 +20,7 @@
32 # We put the scripts in the directory $(scriptdir)/ldscripts.
33 # We can't put the scripts in $(datadir) because the SEARCH_DIR
34 # directives need to be different for native and cross linkers.
35-scriptdir = $(tooldir)/lib
36+scriptdir = $(libdir)
37
38 EMUL = @EMUL@
39 EMULATION_OFILES = @EMULATION_OFILES@
40--- binutils-2.16.91.0.1/ld/Makefile.in
41+++ binutils-2.16.91.0.1/ld/Makefile.in
42@@ -268,7 +268,7 @@
43 # We put the scripts in the directory $(scriptdir)/ldscripts.
44 # We can't put the scripts in $(datadir) because the SEARCH_DIR
45 # directives need to be different for native and cross linkers.
46-scriptdir = $(tooldir)/lib
47+scriptdir = $(libdir)
48 BASEDIR = $(srcdir)/..
49 BFDDIR = $(BASEDIR)/bfd
50 INCDIR = $(BASEDIR)/include
diff --git a/meta/packages/binutils/binutils-2.17+csl-arm-2006q1-6/binutils-uclibc-300-006_better_file_error.patch b/meta/packages/binutils/binutils-2.17+csl-arm-2006q1-6/binutils-uclibc-300-006_better_file_error.patch
new file mode 100644
index 0000000000..f337611edf
--- /dev/null
+++ b/meta/packages/binutils/binutils-2.17+csl-arm-2006q1-6/binutils-uclibc-300-006_better_file_error.patch
@@ -0,0 +1,43 @@
1#!/bin/sh -e
2## 006_better_file_error.dpatch by David Kimdon <dwhedon@gordian.com>
3##
4## All lines beginning with `## DP:' are a description of the patch.
5## DP: Specify which filename is causing an error if the filename is a
6## DP: directory. (#45832)
7
8if [ $# -ne 1 ]; then
9 echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
10 exit 1
11fi
12
13[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
14patch_opts="${patch_opts:--f --no-backup-if-mismatch}"
15
16case "$1" in
17 -patch) patch $patch_opts -p1 < $0;;
18 -unpatch) patch $patch_opts -p1 -R < $0;;
19 *)
20 echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
21 exit 1;;
22esac
23
24exit 0
25
26@DPATCH@
27diff -urNad /home/james/debian/packages/binutils/binutils-2.14.90.0.6/bfd/opncls.c binutils-2.14.90.0.6/bfd/opncls.c
28--- /home/james/debian/packages/binutils/binutils-2.14.90.0.6/bfd/opncls.c 2003-07-23 16:08:09.000000000 +0100
29+++ binutils-2.14.90.0.6/bfd/opncls.c 2003-09-10 22:35:00.000000000 +0100
30@@ -150,6 +150,13 @@
31 {
32 bfd *nbfd;
33 const bfd_target *target_vec;
34+ struct stat s;
35+
36+ if (stat (filename, &s) == 0)
37+ if (S_ISDIR(s.st_mode)) {
38+ bfd_set_error (bfd_error_file_not_recognized);
39+ return NULL;
40+ }
41
42 nbfd = _bfd_new_bfd ();
43 if (nbfd == NULL)
diff --git a/meta/packages/binutils/binutils-2.17+csl-arm-2006q1-6/binutils-uclibc-300-012_check_ldrunpath_length.patch b/meta/packages/binutils/binutils-2.17+csl-arm-2006q1-6/binutils-uclibc-300-012_check_ldrunpath_length.patch
new file mode 100644
index 0000000000..498651a90c
--- /dev/null
+++ b/meta/packages/binutils/binutils-2.17+csl-arm-2006q1-6/binutils-uclibc-300-012_check_ldrunpath_length.patch
@@ -0,0 +1,47 @@
1#!/bin/sh -e
2## 012_check_ldrunpath_length.dpatch by Chris Chimelis <chris@debian.org>
3##
4## All lines beginning with `## DP:' are a description of the patch.
5## DP: Only generate an RPATH entry if LD_RUN_PATH is not empty, for
6## DP: cases where -rpath isn't specified. (#151024)
7
8if [ $# -ne 1 ]; then
9 echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
10 exit 1
11fi
12
13[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
14patch_opts="${patch_opts:--f --no-backup-if-mismatch}"
15
16case "$1" in
17 -patch) patch $patch_opts -p1 < $0;;
18 -unpatch) patch $patch_opts -p1 -R < $0;;
19 *)
20 echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
21 exit 1;;
22esac
23
24exit 0
25
26@DPATCH@
27diff -urNad /home/james/debian/packages/binutils/new/binutils-2.15/ld/emultempl/elf32.em binutils-2.15/ld/emultempl/elf32.em
28--- /home/james/debian/packages/binutils/new/binutils-2.15/ld/emultempl/elf32.em 2004-05-21 23:12:58.000000000 +0100
29+++ binutils-2.15/ld/emultempl/elf32.em 2004-05-21 23:12:59.000000000 +0100
30@@ -692,6 +692,8 @@
31 && command_line.rpath == NULL)
32 {
33 lib_path = (const char *) getenv ("LD_RUN_PATH");
34+ if ((lib_path) && (strlen (lib_path) == 0))
35+ lib_path = NULL;
36 if (gld${EMULATION_NAME}_search_needed (lib_path, &n,
37 force))
38 break;
39@@ -871,6 +873,8 @@
40 rpath = command_line.rpath;
41 if (rpath == NULL)
42 rpath = (const char *) getenv ("LD_RUN_PATH");
43+ if ((rpath) && (strlen (rpath) == 0))
44+ rpath = NULL;
45 if (! (bfd_elf_size_dynamic_sections
46 (output_bfd, command_line.soname, rpath,
47 command_line.filter_shlib,
diff --git a/meta/packages/binutils/binutils-2.17+csl-arm-2006q1-6/binutils-uclibc-400-mips-ELF_MAXPAGESIZE-4K.patch b/meta/packages/binutils/binutils-2.17+csl-arm-2006q1-6/binutils-uclibc-400-mips-ELF_MAXPAGESIZE-4K.patch
new file mode 100644
index 0000000000..5959c718d2
--- /dev/null
+++ b/meta/packages/binutils/binutils-2.17+csl-arm-2006q1-6/binutils-uclibc-400-mips-ELF_MAXPAGESIZE-4K.patch
@@ -0,0 +1,26 @@
1--- binutils/bfd/elf32-mips.c~
2+++ binutils/bfd/elf32-mips.c
3@@ -1613,7 +1613,9 @@
4
5 /* The SVR4 MIPS ABI says that this should be 0x10000, and Linux uses
6 page sizes of up to that limit, so we need to respect it. */
7-#define ELF_MAXPAGESIZE 0x10000
8+/*#define ELF_MAXPAGESIZE 0x10000*/
9+/* Use 4K to shrink the elf header. NOT for general use! */
10+#define ELF_MAXPAGESIZE 0x1000
11 #define elf32_bed elf32_tradbed
12
13 /* Include the target file again for this target. */
14--- binutils/bfd/elfn32-mips.c~
15+++ binutils/bfd/elfn32-mips.c
16@@ -2399,7 +2399,9 @@
17
18 /* The SVR4 MIPS ABI says that this should be 0x10000, and Linux uses
19 page sizes of up to that limit, so we need to respect it. */
20-#define ELF_MAXPAGESIZE 0x10000
21+/*#define ELF_MAXPAGESIZE 0x10000*/
22+/* Use 4K to shrink the elf header. NOT for general use! */
23+#define ELF_MAXPAGESIZE 0x1000
24 #define elf32_bed elf32_tradbed
25
26 /* Include the target file again for this target. */
diff --git a/meta/packages/binutils/binutils-2.17+csl-arm-2006q1-6/binutils-uclibc-702-binutils-skip-comments.patch b/meta/packages/binutils/binutils-2.17+csl-arm-2006q1-6/binutils-uclibc-702-binutils-skip-comments.patch
new file mode 100644
index 0000000000..9ef7a7c9ec
--- /dev/null
+++ b/meta/packages/binutils/binutils-2.17+csl-arm-2006q1-6/binutils-uclibc-702-binutils-skip-comments.patch
@@ -0,0 +1,93 @@
1Retrieved from http://sources.redhat.com/ml/binutils/2004-04/msg00646.html
2Fixes
3localealias.s:544: Error: junk at end of line, first unrecognized character is `,'
4when building glibc-2.3.2 with gcc-3.4.0 and binutils-2.15.90.0.3
5
6Paths adjusted to match crosstool's patcher.
7
8Message-Id: m3n052qw2g.fsf@whitebox.m5r.de
9From: Andreas Schwab <schwab at suse dot de>
10To: Nathan Sidwell <nathan at codesourcery dot com>
11Cc: Ian Lance Taylor <ian at wasabisystems dot com>, binutils at sources dot redhat dot com
12Date: Fri, 23 Apr 2004 22:27:19 +0200
13Subject: Re: demand_empty_rest_of_line and ignore_rest_of_line
14
15Nathan Sidwell <nathan@codesourcery.com> writes:
16
17> Index: read.c
18> ===================================================================
19> RCS file: /cvs/src/src/gas/read.c,v
20> retrieving revision 1.76
21> diff -c -3 -p -r1.76 read.c
22> *** read.c 12 Mar 2004 17:48:12 -0000 1.76
23> --- read.c 18 Mar 2004 09:56:05 -0000
24> *************** read_a_source_file (char *name)
25> *** 1053,1059 ****
26> #endif
27> input_line_pointer--;
28> /* Report unknown char as ignored. */
29> ! ignore_rest_of_line ();
30> }
31>
32> #ifdef md_after_pass_hook
33> --- 1053,1059 ----
34> #endif
35> input_line_pointer--;
36> /* Report unknown char as ignored. */
37> ! demand_empty_rest_of_line ();
38> }
39>
40> #ifdef md_after_pass_hook
41
42This means that the unknown character is no longer ignored, despite the
43comment. As a side effect a line starting with a line comment character
44not followed by APP in NO_APP mode now triggers an error instead of just a
45warning, breaking builds of glibc on m68k-linux. Earlier in
46read_a_source_file where #APP is handled there is another comment that
47claims that unknown comments are ignored, when in fact they aren't (only
48the initial line comment character is skipped).
49
50Note that the presence of #APP will mess up the line counters, but
51that appears to be difficult to fix.
52
53Andreas.
54
552004-04-23 Andreas Schwab <schwab@suse.de>
56
57 * read.c (read_a_source_file): Ignore unknown text after line
58 comment character. Fix misleading comment.
59
60--- binutils/gas/read.c.~1.78.~ 2004-04-23 08:58:23.000000000 +0200
61+++ binutils/gas/read.c 2004-04-23 21:49:01.000000000 +0200
62@@ -950,10 +950,14 @@ read_a_source_file (char *name)
63 unsigned int new_length;
64 char *tmp_buf = 0;
65
66- bump_line_counters ();
67 s = input_line_pointer;
68 if (strncmp (s, "APP\n", 4))
69- continue; /* We ignore it */
70+ {
71+ /* We ignore it */
72+ ignore_rest_of_line ();
73+ continue;
74+ }
75+ bump_line_counters ();
76 s += 4;
77
78 sb_new (&sbuf);
79@@ -1052,7 +1056,7 @@ read_a_source_file (char *name)
80 continue;
81 #endif
82 input_line_pointer--;
83- /* Report unknown char as ignored. */
84+ /* Report unknown char as error. */
85 demand_empty_rest_of_line ();
86 }
87
88
89--
90Andreas Schwab, SuSE Labs, schwab@suse.de
91SuSE Linux AG, Maxfeldstra&#xC3;e 5, 90409 N&#xC3;rnberg, Germany
92Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
93"And now for something completely different."
diff --git a/meta/packages/binutils/binutils-cross_csl-arm-2006q1.bb b/meta/packages/binutils/binutils-cross_csl-arm-2006q1.bb
new file mode 100644
index 0000000000..07f2b33fa7
--- /dev/null
+++ b/meta/packages/binutils/binutils-cross_csl-arm-2006q1.bb
@@ -0,0 +1,34 @@
1SECTION = "devel"
2require binutils_csl-arm-2006q1.bb
3inherit cross
4DEPENDS += "flex-native bison-native"
5PROVIDES = "virtual/${TARGET_PREFIX}binutils"
6FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/binutils-${PV}"
7PACKAGES = ""
8EXTRA_OECONF = "--with-sysroot=${CROSS_DIR}/${TARGET_SYS} \
9 --program-prefix=${TARGET_PREFIX}"
10
11S = "${WORKDIR}/binutils-2.17"
12
13do_stage () {
14 oe_runmake install
15
16 # We don't really need these, so we'll remove them...
17 rm -rf ${CROSS_DIR}/lib/ldscripts
18 rm -rf ${CROSS_DIR}/share/info
19 rm -rf ${CROSS_DIR}/share/locale
20 rm -rf ${CROSS_DIR}/share/man
21 rmdir ${CROSS_DIR}/share || :
22 rmdir ${CROSS_DIR}/${libdir}/gcc-lib || :
23 rmdir ${CROSS_DIR}/${libdir} || :
24 rmdir ${CROSS_DIR}/${prefix} || :
25
26 # We want to move this into the target specific location
27 mkdir -p ${CROSS_DIR}/${TARGET_SYS}/lib
28 mv -f ${CROSS_DIR}/lib/libiberty.a ${CROSS_DIR}/${TARGET_SYS}/lib
29 rmdir ${CROSS_DIR}/lib || :
30}
31
32do_install () {
33 :
34}
diff --git a/meta/packages/binutils/binutils_csl-arm-2006q1.bb b/meta/packages/binutils/binutils_csl-arm-2006q1.bb
new file mode 100644
index 0000000000..76c8fe53dc
--- /dev/null
+++ b/meta/packages/binutils/binutils_csl-arm-2006q1.bb
@@ -0,0 +1,138 @@
1DESCRIPTION = "A GNU collection of binary utilities"
2HOMEPAGE = "http://www.gnu.org/software/binutils/"
3SECTION = "devel"
4LICENSE = "GPL"
5DEFAULT_PREFERENCE = "-1"
6
7BINV = "2.17"
8PV = "2.17+csl-arm-2006q1-6"
9
10#FILESDIR = "${FILE_DIRNAME}/binutils-"
11
12S = "${WORKDIR}/binutils-2.17"
13
14inherit autotools gettext
15
16PACKAGES = "${PN} ${PN}-dev ${PN}-doc ${PN}-symlinks"
17
18FILES_${PN} = " \
19 ${bindir}/${TARGET_PREFIX}* \
20 ${libdir}/lib*-*.so \
21 ${prefix}/${TARGET_SYS}/bin/*"
22
23FILES_${PN}-dev = " \
24 ${includedir} \
25 ${libdir}/*.a \
26 ${libdir}/*.la \
27 ${libdir}/libbfd.so \
28 ${libdir}/libopcodes.so"
29
30FILES_${PN}-symlinks = " \
31 ${bindir}/addr2line \
32 ${bindir}/ar \
33 ${bindir}/as \
34 ${bindir}/c++filt \
35 ${bindir}/gprof \
36 ${bindir}/ld \
37 ${bindir}/nm \
38 ${bindir}/objcopy \
39 ${bindir}/objdump \
40 ${bindir}/ranlib \
41 ${bindir}/readelf \
42 ${bindir}/size \
43 ${bindir}/strings \
44 ${bindir}/strip"
45
46SRC_URI = \
47 "http://www.codesourcery.com/public/gnu_toolchain/arm-none-eabi/arm-2006q1-6-arm-none-eabi.src.tar.bz2 \
48 file://binutils-2.17-csl-tc-arm-mmxwc-polymorphism.patch;patch=1;pnum=1\
49 file://binutils-2.16.91.0.6-objcopy-rename-errorcode.patch;patch=1;pnum=1\
50 file://binutils-uclibc-100-uclibc-conf.patch;patch=1;pnum=1 \
51 file://binutils-uclibc-300-001_ld_makefile_patch.patch;patch=1;pnum=1 \
52 file://binutils-uclibc-300-006_better_file_error.patch;patch=1;pnum=1 \
53 file://binutils-uclibc-300-012_check_ldrunpath_length.patch;patch=1;pnum=1 \
54 file://binutils-uclibc-400-mips-ELF_MAXPAGESIZE-4K.patch;patch=1;pnum=1 \
55 file://binutils-uclibc-702-binutils-skip-comments.patch;patch=1;pnum=1"
56
57do_unpack2() {
58 cd ${WORKDIR}
59 pwd
60 tar -xvjf ./arm-2006q1-6-arm-none-eabi/binutils-2006q1-6.tar.bz2
61}
62
63addtask unpack2 after do_unpack before do_patch
64
65B = "${S}/build.${HOST_SYS}.${TARGET_SYS}"
66
67EXTRA_OECONF = "--program-prefix=${TARGET_PREFIX} \
68 --enable-shared"
69
70# This is necessary due to a bug in the binutils Makefiles
71EXTRA_OEMAKE = "configure-build-libiberty all"
72
73export AR = "${HOST_PREFIX}ar"
74export AS = "${HOST_PREFIX}as"
75export LD = "${HOST_PREFIX}ld"
76export NM = "${HOST_PREFIX}nm"
77export RANLIB = "${HOST_PREFIX}ranlib"
78export OBJCOPY = "${HOST_PREFIX}objcopy"
79export OBJDUMP = "${HOST_PREFIX}objdump"
80
81export AR_FOR_TARGET = "${TARGET_PREFIX}ar"
82export AS_FOR_TARGET = "${TARGET_PREFIX}as"
83export LD_FOR_TARGET = "${TARGET_PREFIX}ld"
84export NM_FOR_TARGET = "${TARGET_PREFIX}nm"
85export RANLIB_FOR_TARGET = "${TARGET_PREFIX}ranlib"
86
87export CC_FOR_HOST = "${CCACHE} ${HOST_PREFIX}gcc ${HOST_CC_ARCH}"
88export CXX_FOR_HOST = "${CCACHE} ${HOST_PREFIX}gcc ${HOST_CC_ARCH}"
89
90export CC_FOR_BUILD = "${BUILD_CC}"
91export CPP_FOR_BUILD = "${BUILD_CPP}"
92export CFLAGS_FOR_BUILD = "${BUILD_CFLAGS}"
93
94export CC = "${CCACHE} ${HOST_PREFIX}gcc ${HOST_CC_ARCH}"
95
96do_configure () {
97 (cd ${S}; gnu-configize) || die "Failed to run gnu-configize"
98 oe_runconf
99}
100
101do_stage () {
102 oe_libinstall -so -a -C opcodes libopcodes ${STAGING_LIBDIR}/
103 oe_libinstall -a -C libiberty libiberty ${STAGING_LIBDIR}/
104 oe_libinstall -so -a -C bfd libbfd ${STAGING_LIBDIR}/
105 install -m 0644 ${S}/include/dis-asm.h ${STAGING_INCDIR}/
106 install -m 0644 ${S}/include/symcat.h ${STAGING_INCDIR}/
107 install -m 0644 ${S}/include/libiberty.h ${STAGING_INCDIR}/
108 install -m 0644 ${S}/include/ansidecl.h ${STAGING_INCDIR}/
109 install -m 0644 ${S}/include/bfdlink.h ${STAGING_INCDIR}/
110 install -m 0644 bfd/bfd.h ${STAGING_INCDIR}/
111}
112
113do_install () {
114 autotools_do_install
115
116 # We don't really need these, so we'll remove them...
117 rm -rf ${D}${libdir}/ldscripts
118
119 # Fix the /usr/${TARGET_SYS}/bin/* links
120 for l in ${D}${prefix}/${TARGET_SYS}/bin/*; do
121 rm -f $l
122 ln -sf `echo ${prefix}/${TARGET_SYS}/bin \
123 | tr -s / \
124 | sed -e 's,^/,,' -e 's,[^/]*,..,g'`${bindir}/${TARGET_PREFIX}`basename $l` $l
125 done
126
127 # Install the libiberty header
128 install -d ${D}${includedir}
129 install -m 644 ${S}/include/ansidecl.h ${D}${includedir}
130 install -m 644 ${S}/include/libiberty.h ${D}${includedir}
131
132 cd ${D}${bindir}
133
134 # Symlinks for ease of running these on the native target
135 for p in ${TARGET_SYS}-* ; do
136 ln -sf $p `echo $p | sed -e s,${TARGET_SYS}-,,`
137 done
138}
diff --git a/meta/packages/gcc/gcc-cross-initial_csl-arm-2006q1.bb b/meta/packages/gcc/gcc-cross-initial_csl-arm-2006q1.bb
new file mode 100644
index 0000000000..17cf7b4d9b
--- /dev/null
+++ b/meta/packages/gcc/gcc-cross-initial_csl-arm-2006q1.bb
@@ -0,0 +1,32 @@
1require gcc-cross_${PV}.bb
2
3DEPENDS = "virtual/${TARGET_PREFIX}binutils"
4DEPENDS += "${@['virtual/${TARGET_PREFIX}libc-initial',''][bb.data.getVar('TARGET_ARCH', d, 1) in ['arm', 'armeb', 'mips', 'mipsel']]}"
5PROVIDES = "virtual/${TARGET_PREFIX}gcc-initial"
6PACKAGES = ""
7
8S = "${WORKDIR}/gcc-2006q1"
9
10# This is intended to be a -very- basic config
11EXTRA_OECONF = "--with-local-prefix=${CROSS_DIR}/${TARGET_SYS} \
12 --with-newlib \
13 --disable-shared \
14 --disable-threads \
15 --disable-multilib \
16 --disable-__cxa_atexit \
17 --disable-libmudflap \
18 --disable-libssp \
19 --enable-languages=c \
20 --enable-target-optspace \
21 --program-prefix=${TARGET_PREFIX} \
22 ${@get_gcc_fpu_setting(bb, d)}"
23
24do_stage_prepend () {
25 mkdir -p ${CROSS_DIR}/lib/gcc/${TARGET_SYS}/${BINV}
26 ln -sf libgcc.a ${CROSS_DIR}/lib/gcc/${TARGET_SYS}/${BINV}/libgcc_eh.a
27}
28
29# Override the method from gcc-cross so we don't try to install libgcc
30do_install () {
31 oe_runmake 'DESTDIR=${D}' install
32}
diff --git a/meta/packages/gcc/gcc-cross_csl-arm-2006q1.bb b/meta/packages/gcc/gcc-cross_csl-arm-2006q1.bb
new file mode 100644
index 0000000000..662c1b0763
--- /dev/null
+++ b/meta/packages/gcc/gcc-cross_csl-arm-2006q1.bb
@@ -0,0 +1,19 @@
1require gcc_csl-arm-2006q1.bb
2# path mangling, needed by the cross packaging
3require gcc-paths-cross.inc
4inherit cross
5# NOTE: split PR. If the main .oe changes something that affects its *build*
6# remember to increment this one too.
7PR = "r0"
8
9DEPENDS = "virtual/${TARGET_PREFIX}binutils virtual/${TARGET_PREFIX}libc-for-gcc"
10# gmp-native mpfr-native"
11
12PROVIDES = "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}g++"
13
14# cross build
15require gcc4-build-cross.inc
16# cross packaging
17require gcc-package-cross-no-fortran.inc
18
19S = "${WORKDIR}/gcc-2006q1"
diff --git a/meta/packages/gcc/gcc-csl-arm/gcc-configure-no-fortran.patch b/meta/packages/gcc/gcc-csl-arm/gcc-configure-no-fortran.patch
new file mode 100644
index 0000000000..c845503303
--- /dev/null
+++ b/meta/packages/gcc/gcc-csl-arm/gcc-configure-no-fortran.patch
@@ -0,0 +1,1075 @@
1--- tmp/configure.in.orig 2006-09-05 17:50:48.000000000 +0100
2+++ tmp/configure.in 2006-09-05 17:50:48.000000000 +0100
3@@ -157,7 +157,6 @@
4 target-libstdc++-v3 \
5 target-libmudflap \
6 target-libssp \
7- target-libgfortran \
8 ${libgcj} \
9 target-libobjc \
10 target-libada"
11@@ -1084,77 +1083,6 @@
12 AC_SUBST(docdir)
13 AC_SUBST(htmldir)
14
15-# Check for GMP and MPFR
16-gmplibs=
17-gmpinc=
18-have_gmp=yes
19-# Specify a location for mpfr
20-# check for this first so it ends up on the link line before gmp.
21-AC_ARG_WITH(mpfr-dir, [ --with-mpfr-dir=PATH Specify source directory for MPFR library])
22-
23-if test "x$with_mpfr_dir" != x; then
24- gmpinc="-I$with_mpfr_dir"
25- gmplibs="$with_mpfr_dir/libmpfr.a"
26-else
27- gmplibs="-lmpfr"
28-fi
29-
30-AC_ARG_WITH(mpfr, [ --with-mpfr=PATH Specify directory for installed MPFR library])
31-
32-if test "x$with_mpfr" != x; then
33- gmplibs="-L$with_mpfr/lib $gmplibs"
34- gmpinc="-I$with_mpfr/include"
35-fi
36-
37-# Specify a location for gmp
38-AC_ARG_WITH(gmp-dir, [ --with-gmp-dir=PATH Specify source directory for GMP library])
39-
40-if test "x$with_gmp_dir" != x; then
41- gmpinc="$gmpinc -I$with_gmp_dir"
42- if test -f "$with_gmp_dir/.libs/libgmp.a"; then
43- gmplibs="$gmplibs $with_gmp_dir/.libs/libgmp.a"
44- elif test -f "$with_gmp_dir/_libs/libgmp.a"; then
45- gmplibs="$gmplibs $with_gmp_dir/_libs/libgmp.a"
46- fi
47- # One of the later tests will catch the error if neither library is present.
48-else
49- gmplibs="$gmplibs -lgmp"
50-fi
51-
52-AC_ARG_WITH(gmp, [ --with-gmp=PATH Specify directory for installed GMP library])
53-
54-if test "x$with_gmp" != x; then
55- gmplibs="-L$with_gmp/lib $gmplibs"
56- gmpinc="-I$with_gmp/include $gmpinc"
57-fi
58-
59-saved_CFLAGS="$CFLAGS"
60-CFLAGS="$CFLAGS $gmpinc"
61-# Check GMP actually works
62-AC_MSG_CHECKING([for correct version of gmp.h])
63-AC_TRY_COMPILE([#include "gmp.h"],[
64-#if __GNU_MP_VERSION < 3
65-choke me
66-#endif
67-], [AC_MSG_RESULT([yes])],
68- [AC_MSG_RESULT([no]); have_gmp=no])
69-
70-if test x"$have_gmp" = xyes; then
71- AC_MSG_CHECKING([for MPFR])
72-
73- saved_LIBS="$LIBS"
74- LIBS="$LIBS $gmplibs"
75- AC_TRY_LINK([#include <gmp.h>
76-#include <mpfr.h>], [mpfr_t n; mpfr_init(n);],
77- [AC_MSG_RESULT([yes])], [AC_MSG_RESULT([no]); have_gmp=no])
78- LIBS="$saved_LIBS"
79- CFLAGS="$saved_CFLAGS"
80-fi
81-
82-# Flags needed for both GMP and/or MPFR
83-AC_SUBST(gmplibs)
84-AC_SUBST(gmpinc)
85-
86 # By default, C is the only stage 1 language.
87 stage1_languages=c
88 AC_SUBST(stage1_languages)
89@@ -1182,15 +1110,6 @@
90 fi
91 enable_languages=`echo "${enable_languages}" | sed -e 's/[[ ,]][[ ,]]*/,/g' -e 's/,$//'`
92
93- # 'f95' is the old name for the 'fortran' language. We issue a warning
94- # and make the substitution.
95- case ,${enable_languages}, in
96- *,f95,*)
97- echo configure.in: warning: 'f95' as language name is deprecated, use 'fortran' instead 1>&2
98- enable_languages=`echo "${enable_languages}" | sed -e 's/f95/fortran/g'`
99- ;;
100- esac
101-
102 # First scan to see if an enabled language requires some other language.
103 # We assume that a given config-lang.in will list all the language
104 # front ends it requires, even if some are required indirectly.
105@@ -2213,7 +2132,6 @@
106 NCN_STRICT_CHECK_TARGET_TOOLS(DLLTOOL_FOR_TARGET, dlltool)
107 NCN_STRICT_CHECK_TARGET_TOOLS(GCC_FOR_TARGET, gcc, ${CC_FOR_TARGET})
108 NCN_STRICT_CHECK_TARGET_TOOLS(GCJ_FOR_TARGET, gcj)
109-NCN_STRICT_CHECK_TARGET_TOOLS(GFORTRAN_FOR_TARGET, gfortran)
110 NCN_STRICT_CHECK_TARGET_TOOLS(LD_FOR_TARGET, ld)
111 NCN_STRICT_CHECK_TARGET_TOOLS(LIPO_FOR_TARGET, lipo)
112 NCN_STRICT_CHECK_TARGET_TOOLS(NM_FOR_TARGET, nm)
113@@ -2237,9 +2155,7 @@
114 GCC_TARGET_TOOL(gcc, GCC_FOR_TARGET, , [gcc/xgcc -B$$r/$(HOST_SUBDIR)/gcc/])
115 GCC_TARGET_TOOL(gcj, GCJ_FOR_TARGET, GCJ,
116 [gcc/gcj -B$$r/$(HOST_SUBDIR)/gcc/], java)
117-GCC_TARGET_TOOL(gfortran, GFORTRAN_FOR_TARGET, GFORTRAN,
118- [gcc/gfortran -B$$r/$(HOST_SUBDIR)/gcc/], fortran)
119 GCC_TARGET_TOOL(ld, LD_FOR_TARGET, LD, [ld/ld-new])
120 GCC_TARGET_TOOL(lipo, LIPO_FOR_TARGET, LIPO)
121 GCC_TARGET_TOOL(nm, NM_FOR_TARGET, NM, [binutils/nm-new])
122
123--- tmp/Makefile.in.orig 2006-09-06 08:33:46.000000000 +0100
124+++ tmp/Makefile.in 2006-09-06 08:33:46.000000000 +0100
125@@ -119,7 +119,6 @@
126 CXX="$(CXX_FOR_BUILD)"; export CXX; \
127 CXXFLAGS="$(CXXFLAGS_FOR_BUILD)"; export CXXFLAGS; \
128 GCJ="$(GCJ_FOR_BUILD)"; export GCJ; \
129- GFORTRAN="$(GFORTRAN_FOR_BUILD)"; export GFORTRAN; \
130 DLLTOOL="$(DLLTOOL_FOR_BUILD)"; export DLLTOOL; \
131 LD="$(LD_FOR_BUILD)"; export LD; \
132 LDFLAGS="$(LDFLAGS_FOR_BUILD)"; export LDFLAGS; \
133@@ -201,7 +200,6 @@
134 CPPFLAGS="$(CPPFLAGS_FOR_TARGET)"; export CPPFLAGS; \
135 CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
136 GCJ="$(GCJ_FOR_TARGET)"; export GCJ; \
137- GFORTRAN="$(GFORTRAN_FOR_TARGET)"; export GFORTRAN; \
138 DLLTOOL="$(DLLTOOL_FOR_TARGET)"; export DLLTOOL; \
139 LD="$(COMPILER_LD_FOR_TARGET)"; export LD; \
140 LDFLAGS="$(LDFLAGS_FOR_TARGET)"; export LDFLAGS; \
141@@ -313,7 +311,6 @@
142 CXX_FOR_TARGET=$(STAGE_CC_WRAPPER) @CXX_FOR_TARGET@ $(FLAGS_FOR_TARGET)
143 RAW_CXX_FOR_TARGET=$(STAGE_CC_WRAPPER) @RAW_CXX_FOR_TARGET@ $(FLAGS_FOR_TARGET)
144 GCJ_FOR_TARGET=$(STAGE_CC_WRAPPER) @GCJ_FOR_TARGET@ $(FLAGS_FOR_TARGET)
145-GFORTRAN_FOR_TARGET=$(STAGE_CC_WRAPPER) @GFORTRAN_FOR_TARGET@ $(FLAGS_FOR_TARGET)
146 DLLTOOL_FOR_TARGET=@DLLTOOL_FOR_TARGET@
147 LD_FOR_TARGET=@LD_FOR_TARGET@
148
149@@ -452,7 +449,6 @@
150 "CXXFLAGS_FOR_TARGET=$(CXXFLAGS_FOR_TARGET)" \
151 "DLLTOOL_FOR_TARGET=$(DLLTOOL_FOR_TARGET)" \
152 "GCJ_FOR_TARGET=$(GCJ_FOR_TARGET)" \
153- "GFORTRAN_FOR_TARGET=$(GFORTRAN_FOR_TARGET)" \
154 "LD_FOR_TARGET=$(LD_FOR_TARGET)" \
155 "LIPO_FOR_TARGET=$(LIPO_FOR_TARGET)" \
156 "LDFLAGS_FOR_TARGET=$(LDFLAGS_FOR_TARGET)" \
157@@ -618,7 +614,6 @@
158 maybe-configure-target-libmudflap \
159 maybe-configure-target-libssp \
160 maybe-configure-target-newlib \
161- maybe-configure-target-libgfortran \
162 maybe-configure-target-libobjc \
163 maybe-configure-target-libtermcap \
164 maybe-configure-target-winsup \
165@@ -737,7 +732,6 @@
166 maybe-all-target-libmudflap \
167 maybe-all-target-libssp \
168 maybe-all-target-newlib \
169- maybe-all-target-libgfortran \
170 maybe-all-target-libobjc \
171 maybe-all-target-libtermcap \
172 maybe-all-target-winsup \
173@@ -844,7 +838,6 @@
174 maybe-info-target-libmudflap \
175 maybe-info-target-libssp \
176 maybe-info-target-newlib \
177- maybe-info-target-libgfortran \
178 maybe-info-target-libobjc \
179 maybe-info-target-libtermcap \
180 maybe-info-target-winsup \
181@@ -946,7 +939,6 @@
182 maybe-dvi-target-libmudflap \
183 maybe-dvi-target-libssp \
184 maybe-dvi-target-newlib \
185- maybe-dvi-target-libgfortran \
186 maybe-dvi-target-libobjc \
187 maybe-dvi-target-libtermcap \
188 maybe-dvi-target-winsup \
189@@ -1048,7 +1040,6 @@
190 maybe-html-target-libmudflap \
191 maybe-html-target-libssp \
192 maybe-html-target-newlib \
193- maybe-html-target-libgfortran \
194 maybe-html-target-libobjc \
195 maybe-html-target-libtermcap \
196 maybe-html-target-winsup \
197@@ -1150,7 +1141,6 @@
198 maybe-TAGS-target-libmudflap \
199 maybe-TAGS-target-libssp \
200 maybe-TAGS-target-newlib \
201- maybe-TAGS-target-libgfortran \
202 maybe-TAGS-target-libobjc \
203 maybe-TAGS-target-libtermcap \
204 maybe-TAGS-target-winsup \
205@@ -1252,7 +1242,6 @@
206 maybe-install-info-target-libmudflap \
207 maybe-install-info-target-libssp \
208 maybe-install-info-target-newlib \
209- maybe-install-info-target-libgfortran \
210 maybe-install-info-target-libobjc \
211 maybe-install-info-target-libtermcap \
212 maybe-install-info-target-winsup \
213@@ -1354,7 +1343,6 @@
214 maybe-install-html-target-libmudflap \
215 maybe-install-html-target-libssp \
216 maybe-install-html-target-newlib \
217- maybe-install-html-target-libgfortran \
218 maybe-install-html-target-libobjc \
219 maybe-install-html-target-libtermcap \
220 maybe-install-html-target-winsup \
221@@ -1456,7 +1444,6 @@
222 maybe-installcheck-target-libmudflap \
223 maybe-installcheck-target-libssp \
224 maybe-installcheck-target-newlib \
225- maybe-installcheck-target-libgfortran \
226 maybe-installcheck-target-libobjc \
227 maybe-installcheck-target-libtermcap \
228 maybe-installcheck-target-winsup \
229@@ -1558,7 +1545,6 @@
230 maybe-mostlyclean-target-libmudflap \
231 maybe-mostlyclean-target-libssp \
232 maybe-mostlyclean-target-newlib \
233- maybe-mostlyclean-target-libgfortran \
234 maybe-mostlyclean-target-libobjc \
235 maybe-mostlyclean-target-libtermcap \
236 maybe-mostlyclean-target-winsup \
237@@ -1660,7 +1646,6 @@
238 maybe-clean-target-libmudflap \
239 maybe-clean-target-libssp \
240 maybe-clean-target-newlib \
241- maybe-clean-target-libgfortran \
242 maybe-clean-target-libobjc \
243 maybe-clean-target-libtermcap \
244 maybe-clean-target-winsup \
245@@ -1762,7 +1747,6 @@
246 maybe-distclean-target-libmudflap \
247 maybe-distclean-target-libssp \
248 maybe-distclean-target-newlib \
249- maybe-distclean-target-libgfortran \
250 maybe-distclean-target-libobjc \
251 maybe-distclean-target-libtermcap \
252 maybe-distclean-target-winsup \
253@@ -1864,7 +1848,6 @@
254 maybe-maintainer-clean-target-libmudflap \
255 maybe-maintainer-clean-target-libssp \
256 maybe-maintainer-clean-target-newlib \
257- maybe-maintainer-clean-target-libgfortran \
258 maybe-maintainer-clean-target-libobjc \
259 maybe-maintainer-clean-target-libtermcap \
260 maybe-maintainer-clean-target-winsup \
261@@ -2024,7 +2007,6 @@
262 maybe-check-target-libmudflap \
263 maybe-check-target-libssp \
264 maybe-check-target-newlib \
265- maybe-check-target-libgfortran \
266 maybe-check-target-libobjc \
267 maybe-check-target-libtermcap \
268 maybe-check-target-winsup \
269@@ -2223,7 +2205,6 @@
270 maybe-install-target-libmudflap \
271 maybe-install-target-libssp \
272 maybe-install-target-newlib \
273- maybe-install-target-libgfortran \
274 maybe-install-target-libobjc \
275 maybe-install-target-libtermcap \
276 maybe-install-target-winsup \
277@@ -31606,382 +31587,6 @@
278
279
280 # There's only one multilib.out. Cleverer subdirs shouldn't need it copied.
281-@if target-libgfortran
282-$(TARGET_SUBDIR)/libgfortran/multilib.out: multilib.out
283- $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libgfortran ; \
284- rm -f $(TARGET_SUBDIR)/libgfortran/Makefile || : ; \
285- cp multilib.out $(TARGET_SUBDIR)/libgfortran/multilib.out
286-@endif target-libgfortran
287-
288-
289-
290-.PHONY: configure-target-libgfortran maybe-configure-target-libgfortran
291-maybe-configure-target-libgfortran:
292-@if target-libgfortran
293-maybe-configure-target-libgfortran: configure-target-libgfortran
294-configure-target-libgfortran: $(TARGET_SUBDIR)/libgfortran/multilib.out
295- @$(unstage)
296- @test ! -f $(TARGET_SUBDIR)/libgfortran/Makefile || exit 0; \
297- $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libgfortran ; \
298- r=`${PWD_COMMAND}`; export r; \
299- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
300- $(NORMAL_TARGET_EXPORTS) \
301- echo Configuring in $(TARGET_SUBDIR)/libgfortran; \
302- cd "$(TARGET_SUBDIR)/libgfortran" || exit 1; \
303- case $(srcdir) in \
304- /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
305- *) topdir=`echo $(TARGET_SUBDIR)/libgfortran/ | \
306- sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
307- esac; \
308- srcdiroption="--srcdir=$${topdir}/libgfortran"; \
309- libsrcdir="$$s/libgfortran"; \
310- rm -f no-such-file || : ; \
311- CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
312- $(TARGET_CONFIGARGS) $${srcdiroption} \
313- || exit 1
314-@endif target-libgfortran
315-
316-
317-
318-
319-
320-.PHONY: all-target-libgfortran maybe-all-target-libgfortran
321-maybe-all-target-libgfortran:
322-@if target-libgfortran
323-TARGET-target-libgfortran=all
324-maybe-all-target-libgfortran: all-target-libgfortran
325-all-target-libgfortran: configure-target-libgfortran
326- @$(unstage)
327- @r=`${PWD_COMMAND}`; export r; \
328- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
329- $(NORMAL_TARGET_EXPORTS) \
330- (cd $(TARGET_SUBDIR)/libgfortran && \
331- $(MAKE) $(TARGET_FLAGS_TO_PASS) $(TARGET-target-libgfortran))
332-@endif target-libgfortran
333-
334-
335-
336-
337-
338-.PHONY: check-target-libgfortran maybe-check-target-libgfortran
339-maybe-check-target-libgfortran:
340-@if target-libgfortran
341-maybe-check-target-libgfortran: check-target-libgfortran
342-
343-check-target-libgfortran:
344- @: $(MAKE); $(unstage)
345- @r=`${PWD_COMMAND}`; export r; \
346- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
347- $(NORMAL_TARGET_EXPORTS) \
348- (cd $(TARGET_SUBDIR)/libgfortran && \
349- $(MAKE) $(TARGET_FLAGS_TO_PASS) check)
350-
351-@endif target-libgfortran
352-
353-.PHONY: install-target-libgfortran maybe-install-target-libgfortran
354-maybe-install-target-libgfortran:
355-@if target-libgfortran
356-maybe-install-target-libgfortran: install-target-libgfortran
357-
358-install-target-libgfortran: installdirs
359- @: $(MAKE); $(unstage)
360- @r=`${PWD_COMMAND}`; export r; \
361- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
362- $(NORMAL_TARGET_EXPORTS) \
363- (cd $(TARGET_SUBDIR)/libgfortran && \
364- $(MAKE) $(TARGET_FLAGS_TO_PASS) install)
365-
366-@endif target-libgfortran
367-
368-# Other targets (info, dvi, etc.)
369-
370-.PHONY: maybe-info-target-libgfortran info-target-libgfortran
371-maybe-info-target-libgfortran:
372-@if target-libgfortran
373-maybe-info-target-libgfortran: info-target-libgfortran
374-
375-info-target-libgfortran: \
376- configure-target-libgfortran
377- @: $(MAKE); $(unstage)
378- @[ -f $(TARGET_SUBDIR)/libgfortran/Makefile ] || exit 0 ; \
379- r=`${PWD_COMMAND}`; export r; \
380- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
381- $(NORMAL_TARGET_EXPORTS) \
382- echo "Doing info in $(TARGET_SUBDIR)/libgfortran" ; \
383- for flag in $(EXTRA_TARGET_FLAGS); do \
384- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
385- done; \
386- (cd $(TARGET_SUBDIR)/libgfortran && \
387- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
388- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
389- "RANLIB=$${RANLIB}" \
390- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
391- info) \
392- || exit 1
393-
394-@endif target-libgfortran
395-
396-.PHONY: maybe-dvi-target-libgfortran dvi-target-libgfortran
397-maybe-dvi-target-libgfortran:
398-@if target-libgfortran
399-maybe-dvi-target-libgfortran: dvi-target-libgfortran
400-
401-dvi-target-libgfortran: \
402- configure-target-libgfortran
403- @: $(MAKE); $(unstage)
404- @[ -f $(TARGET_SUBDIR)/libgfortran/Makefile ] || exit 0 ; \
405- r=`${PWD_COMMAND}`; export r; \
406- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
407- $(NORMAL_TARGET_EXPORTS) \
408- echo "Doing dvi in $(TARGET_SUBDIR)/libgfortran" ; \
409- for flag in $(EXTRA_TARGET_FLAGS); do \
410- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
411- done; \
412- (cd $(TARGET_SUBDIR)/libgfortran && \
413- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
414- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
415- "RANLIB=$${RANLIB}" \
416- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
417- dvi) \
418- || exit 1
419-
420-@endif target-libgfortran
421-
422-.PHONY: maybe-html-target-libgfortran html-target-libgfortran
423-maybe-html-target-libgfortran:
424-@if target-libgfortran
425-maybe-html-target-libgfortran: html-target-libgfortran
426-
427-html-target-libgfortran: \
428- configure-target-libgfortran
429- @: $(MAKE); $(unstage)
430- @[ -f $(TARGET_SUBDIR)/libgfortran/Makefile ] || exit 0 ; \
431- r=`${PWD_COMMAND}`; export r; \
432- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
433- $(NORMAL_TARGET_EXPORTS) \
434- echo "Doing html in $(TARGET_SUBDIR)/libgfortran" ; \
435- for flag in $(EXTRA_TARGET_FLAGS); do \
436- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
437- done; \
438- (cd $(TARGET_SUBDIR)/libgfortran && \
439- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
440- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
441- "RANLIB=$${RANLIB}" \
442- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
443- html) \
444- || exit 1
445-
446-@endif target-libgfortran
447-
448-.PHONY: maybe-TAGS-target-libgfortran TAGS-target-libgfortran
449-maybe-TAGS-target-libgfortran:
450-@if target-libgfortran
451-maybe-TAGS-target-libgfortran: TAGS-target-libgfortran
452-
453-TAGS-target-libgfortran: \
454- configure-target-libgfortran
455- @: $(MAKE); $(unstage)
456- @[ -f $(TARGET_SUBDIR)/libgfortran/Makefile ] || exit 0 ; \
457- r=`${PWD_COMMAND}`; export r; \
458- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
459- $(NORMAL_TARGET_EXPORTS) \
460- echo "Doing TAGS in $(TARGET_SUBDIR)/libgfortran" ; \
461- for flag in $(EXTRA_TARGET_FLAGS); do \
462- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
463- done; \
464- (cd $(TARGET_SUBDIR)/libgfortran && \
465- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
466- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
467- "RANLIB=$${RANLIB}" \
468- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
469- TAGS) \
470- || exit 1
471-
472-@endif target-libgfortran
473-
474-.PHONY: maybe-install-info-target-libgfortran install-info-target-libgfortran
475-maybe-install-info-target-libgfortran:
476-@if target-libgfortran
477-maybe-install-info-target-libgfortran: install-info-target-libgfortran
478-
479-install-info-target-libgfortran: \
480- configure-target-libgfortran \
481- info-target-libgfortran
482- @: $(MAKE); $(unstage)
483- @[ -f $(TARGET_SUBDIR)/libgfortran/Makefile ] || exit 0 ; \
484- r=`${PWD_COMMAND}`; export r; \
485- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
486- $(NORMAL_TARGET_EXPORTS) \
487- echo "Doing install-info in $(TARGET_SUBDIR)/libgfortran" ; \
488- for flag in $(EXTRA_TARGET_FLAGS); do \
489- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
490- done; \
491- (cd $(TARGET_SUBDIR)/libgfortran && \
492- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
493- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
494- "RANLIB=$${RANLIB}" \
495- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
496- install-info) \
497- || exit 1
498-
499-@endif target-libgfortran
500-
501-.PHONY: maybe-install-html-target-libgfortran install-html-target-libgfortran
502-maybe-install-html-target-libgfortran:
503-@if target-libgfortran
504-maybe-install-html-target-libgfortran: install-html-target-libgfortran
505-
506-install-html-target-libgfortran: \
507- configure-target-libgfortran \
508- html-target-libgfortran
509- @: $(MAKE); $(unstage)
510- @[ -f $(TARGET_SUBDIR)/libgfortran/Makefile ] || exit 0 ; \
511- r=`${PWD_COMMAND}`; export r; \
512- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
513- $(NORMAL_TARGET_EXPORTS) \
514- echo "Doing install-html in $(TARGET_SUBDIR)/libgfortran" ; \
515- for flag in $(EXTRA_TARGET_FLAGS); do \
516- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
517- done; \
518- (cd $(TARGET_SUBDIR)/libgfortran && \
519- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
520- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
521- "RANLIB=$${RANLIB}" \
522- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
523- install-html) \
524- || exit 1
525-
526-@endif target-libgfortran
527-
528-.PHONY: maybe-installcheck-target-libgfortran installcheck-target-libgfortran
529-maybe-installcheck-target-libgfortran:
530-@if target-libgfortran
531-maybe-installcheck-target-libgfortran: installcheck-target-libgfortran
532-
533-installcheck-target-libgfortran: \
534- configure-target-libgfortran
535- @: $(MAKE); $(unstage)
536- @[ -f $(TARGET_SUBDIR)/libgfortran/Makefile ] || exit 0 ; \
537- r=`${PWD_COMMAND}`; export r; \
538- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
539- $(NORMAL_TARGET_EXPORTS) \
540- echo "Doing installcheck in $(TARGET_SUBDIR)/libgfortran" ; \
541- for flag in $(EXTRA_TARGET_FLAGS); do \
542- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
543- done; \
544- (cd $(TARGET_SUBDIR)/libgfortran && \
545- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
546- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
547- "RANLIB=$${RANLIB}" \
548- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
549- installcheck) \
550- || exit 1
551-
552-@endif target-libgfortran
553-
554-.PHONY: maybe-mostlyclean-target-libgfortran mostlyclean-target-libgfortran
555-maybe-mostlyclean-target-libgfortran:
556-@if target-libgfortran
557-maybe-mostlyclean-target-libgfortran: mostlyclean-target-libgfortran
558-
559-mostlyclean-target-libgfortran:
560- @: $(MAKE); $(unstage)
561- @[ -f $(TARGET_SUBDIR)/libgfortran/Makefile ] || exit 0 ; \
562- r=`${PWD_COMMAND}`; export r; \
563- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
564- $(NORMAL_TARGET_EXPORTS) \
565- echo "Doing mostlyclean in $(TARGET_SUBDIR)/libgfortran" ; \
566- for flag in $(EXTRA_TARGET_FLAGS); do \
567- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
568- done; \
569- (cd $(TARGET_SUBDIR)/libgfortran && \
570- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
571- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
572- "RANLIB=$${RANLIB}" \
573- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
574- mostlyclean) \
575- || exit 1
576-
577-@endif target-libgfortran
578-
579-.PHONY: maybe-clean-target-libgfortran clean-target-libgfortran
580-maybe-clean-target-libgfortran:
581-@if target-libgfortran
582-maybe-clean-target-libgfortran: clean-target-libgfortran
583-
584-clean-target-libgfortran:
585- @: $(MAKE); $(unstage)
586- @[ -f $(TARGET_SUBDIR)/libgfortran/Makefile ] || exit 0 ; \
587- r=`${PWD_COMMAND}`; export r; \
588- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
589- $(NORMAL_TARGET_EXPORTS) \
590- echo "Doing clean in $(TARGET_SUBDIR)/libgfortran" ; \
591- for flag in $(EXTRA_TARGET_FLAGS); do \
592- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
593- done; \
594- (cd $(TARGET_SUBDIR)/libgfortran && \
595- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
596- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
597- "RANLIB=$${RANLIB}" \
598- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
599- clean) \
600- || exit 1
601-
602-@endif target-libgfortran
603-
604-.PHONY: maybe-distclean-target-libgfortran distclean-target-libgfortran
605-maybe-distclean-target-libgfortran:
606-@if target-libgfortran
607-maybe-distclean-target-libgfortran: distclean-target-libgfortran
608-
609-distclean-target-libgfortran:
610- @: $(MAKE); $(unstage)
611- @[ -f $(TARGET_SUBDIR)/libgfortran/Makefile ] || exit 0 ; \
612- r=`${PWD_COMMAND}`; export r; \
613- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
614- $(NORMAL_TARGET_EXPORTS) \
615- echo "Doing distclean in $(TARGET_SUBDIR)/libgfortran" ; \
616- for flag in $(EXTRA_TARGET_FLAGS); do \
617- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
618- done; \
619- (cd $(TARGET_SUBDIR)/libgfortran && \
620- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
621- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
622- "RANLIB=$${RANLIB}" \
623- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
624- distclean) \
625- || exit 1
626-
627-@endif target-libgfortran
628-
629-.PHONY: maybe-maintainer-clean-target-libgfortran maintainer-clean-target-libgfortran
630-maybe-maintainer-clean-target-libgfortran:
631-@if target-libgfortran
632-maybe-maintainer-clean-target-libgfortran: maintainer-clean-target-libgfortran
633-
634-maintainer-clean-target-libgfortran:
635- @: $(MAKE); $(unstage)
636- @[ -f $(TARGET_SUBDIR)/libgfortran/Makefile ] || exit 0 ; \
637- r=`${PWD_COMMAND}`; export r; \
638- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
639- $(NORMAL_TARGET_EXPORTS) \
640- echo "Doing maintainer-clean in $(TARGET_SUBDIR)/libgfortran" ; \
641- for flag in $(EXTRA_TARGET_FLAGS); do \
642- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
643- done; \
644- (cd $(TARGET_SUBDIR)/libgfortran && \
645- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
646- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
647- "RANLIB=$${RANLIB}" \
648- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
649- maintainer-clean) \
650- || exit 1
651-
652-@endif target-libgfortran
653-
654-
655-
656-# There's only one multilib.out. Cleverer subdirs shouldn't need it copied.
657 @if target-libobjc
658 $(TARGET_SUBDIR)/libobjc/multilib.out: multilib.out
659 $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libobjc ; \
660@@ -38574,8 +38179,6 @@
661
662 configure-target-newlib: maybe-all-gcc
663
664-configure-target-libgfortran: maybe-all-gcc
665-
666 configure-target-libobjc: maybe-all-gcc
667
668 configure-target-libtermcap: maybe-all-gcc
669@@ -38613,9 +38216,7 @@
670
671 configure-target-libada: maybe-all-target-newlib maybe-all-target-libgloss
672
673-configure-target-libgfortran: maybe-all-target-newlib maybe-all-target-libgloss
674-
675 configure-target-libffi: maybe-all-target-newlib maybe-all-target-libgloss
676
677 configure-target-libjava: maybe-all-target-newlib maybe-all-target-libgloss
678
679--- tmp/Makefile.tpl.orig 2006-09-06 08:36:52.000000000 +0100
680+++ tmp/Makefile.tpl 2006-09-06 08:36:52.000000000 +0100
681@@ -122,7 +122,6 @@
682 CXX="$(CXX_FOR_BUILD)"; export CXX; \
683 CXXFLAGS="$(CXXFLAGS_FOR_BUILD)"; export CXXFLAGS; \
684 GCJ="$(GCJ_FOR_BUILD)"; export GCJ; \
685- GFORTRAN="$(GFORTRAN_FOR_BUILD)"; export GFORTRAN; \
686 DLLTOOL="$(DLLTOOL_FOR_BUILD)"; export DLLTOOL; \
687 LD="$(LD_FOR_BUILD)"; export LD; \
688 LDFLAGS="$(LDFLAGS_FOR_BUILD)"; export LDFLAGS; \
689@@ -204,7 +203,6 @@
690 CPPFLAGS="$(CPPFLAGS_FOR_TARGET)"; export CPPFLAGS; \
691 CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
692 GCJ="$(GCJ_FOR_TARGET)"; export GCJ; \
693- GFORTRAN="$(GFORTRAN_FOR_TARGET)"; export GFORTRAN; \
694 DLLTOOL="$(DLLTOOL_FOR_TARGET)"; export DLLTOOL; \
695 LD="$(COMPILER_LD_FOR_TARGET)"; export LD; \
696 LDFLAGS="$(LDFLAGS_FOR_TARGET)"; export LDFLAGS; \
697@@ -316,7 +314,6 @@
698 CXX_FOR_TARGET=$(STAGE_CC_WRAPPER) @CXX_FOR_TARGET@ $(FLAGS_FOR_TARGET)
699 RAW_CXX_FOR_TARGET=$(STAGE_CC_WRAPPER) @RAW_CXX_FOR_TARGET@ $(FLAGS_FOR_TARGET)
700 GCJ_FOR_TARGET=$(STAGE_CC_WRAPPER) @GCJ_FOR_TARGET@ $(FLAGS_FOR_TARGET)
701-GFORTRAN_FOR_TARGET=$(STAGE_CC_WRAPPER) @GFORTRAN_FOR_TARGET@ $(FLAGS_FOR_TARGET)
702 DLLTOOL_FOR_TARGET=@DLLTOOL_FOR_TARGET@
703 LD_FOR_TARGET=@LD_FOR_TARGET@
704
705--- tmp/Makefile.def.orig 2006-09-06 08:38:50.000000000 +0100
706+++ tmp/Makefile.def 2006-09-06 08:38:50.000000000 +0100
707@@ -117,7 +117,6 @@
708 target_modules = { module= libmudflap; lib_path=.libs; };
709 target_modules = { module= libssp; lib_path=.libs; };
710 target_modules = { module= newlib; };
711-target_modules = { module= libgfortran; };
712 target_modules = { module= libobjc; };
713 target_modules = { module= libtermcap; no_check=true;
714 missing=mostlyclean;
715@@ -227,7 +226,6 @@
716 flags_to_pass = { flag= CXXFLAGS_FOR_TARGET ; };
717 flags_to_pass = { flag= DLLTOOL_FOR_TARGET ; };
718 flags_to_pass = { flag= GCJ_FOR_TARGET ; };
719-flags_to_pass = { flag= GFORTRAN_FOR_TARGET ; };
720 flags_to_pass = { flag= LD_FOR_TARGET ; };
721 flags_to_pass = { flag= LIPO_FOR_TARGET ; };
722 flags_to_pass = { flag= LDFLAGS_FOR_TARGET ; };
723@@ -415,7 +413,6 @@
724 lang_env_dependencies = { module=boehm-gc; };
725 lang_env_dependencies = { module=gperf; cxx=true; };
726 lang_env_dependencies = { module=libada; };
727-lang_env_dependencies = { module=libgfortran; };
728 lang_env_dependencies = { module=libffi; };
729 lang_env_dependencies = { module=libjava; cxx=true; };
730 lang_env_dependencies = { module=libmudflap; };
731
732--- tmp/configure.orgig 2006-09-06 10:01:52.000000000 +0100
733+++ tmp/configure 2006-09-06 10:01:52.000000000 +0100
734@@ -921,7 +921,6 @@
735 target-libstdc++-v3 \
736 target-libmudflap \
737 target-libssp \
738- target-libgfortran \
739 ${libgcj} \
740 target-libobjc \
741 target-libada"
742@@ -2246,135 +2245,6 @@
743 fi
744
745
746-
747-
748-
749-
750-# Check for GMP and MPFR
751-gmplibs=
752-gmpinc=
753-have_gmp=yes
754-# Specify a location for mpfr
755-# check for this first so it ends up on the link line before gmp.
756-# Check whether --with-mpfr-dir or --without-mpfr-dir was given.
757-if test "${with_mpfr_dir+set}" = set; then
758- withval="$with_mpfr_dir"
759- :
760-fi
761-
762-
763-if test "x$with_mpfr_dir" != x; then
764- gmpinc="-I$with_mpfr_dir"
765- gmplibs="$with_mpfr_dir/libmpfr.a"
766-else
767- gmplibs="-lmpfr"
768-fi
769-
770-# Check whether --with-mpfr or --without-mpfr was given.
771-if test "${with_mpfr+set}" = set; then
772- withval="$with_mpfr"
773- :
774-fi
775-
776-
777-if test "x$with_mpfr" != x; then
778- gmplibs="-L$with_mpfr/lib $gmplibs"
779- gmpinc="-I$with_mpfr/include"
780-fi
781-
782-# Specify a location for gmp
783-# Check whether --with-gmp-dir or --without-gmp-dir was given.
784-if test "${with_gmp_dir+set}" = set; then
785- withval="$with_gmp_dir"
786- :
787-fi
788-
789-
790-if test "x$with_gmp_dir" != x; then
791- gmpinc="$gmpinc -I$with_gmp_dir"
792- if test -f "$with_gmp_dir/.libs/libgmp.a"; then
793- gmplibs="$gmplibs $with_gmp_dir/.libs/libgmp.a"
794- elif test -f "$with_gmp_dir/_libs/libgmp.a"; then
795- gmplibs="$gmplibs $with_gmp_dir/_libs/libgmp.a"
796- fi
797- # One of the later tests will catch the error if neither library is present.
798-else
799- gmplibs="$gmplibs -lgmp"
800-fi
801-
802-# Check whether --with-gmp or --without-gmp was given.
803-if test "${with_gmp+set}" = set; then
804- withval="$with_gmp"
805- :
806-fi
807-
808-
809-if test "x$with_gmp" != x; then
810- gmplibs="-L$with_gmp/lib $gmplibs"
811- gmpinc="-I$with_gmp/include $gmpinc"
812-fi
813-
814-saved_CFLAGS="$CFLAGS"
815-CFLAGS="$CFLAGS $gmpinc"
816-# Check GMP actually works
817-echo $ac_n "checking for correct version of gmp.h""... $ac_c" 1>&6
818-echo "configure:2322: checking for correct version of gmp.h" >&5
819-cat > conftest.$ac_ext <<EOF
820-#line 2324 "configure"
821-#include "confdefs.h"
822-#include "gmp.h"
823-int main() {
824-
825-#if __GNU_MP_VERSION < 3
826-choke me
827-#endif
828-
829-; return 0; }
830-EOF
831-if { (eval echo configure:2335: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
832- rm -rf conftest*
833- echo "$ac_t""yes" 1>&6
834-else
835- echo "configure: failed program was:" >&5
836- cat conftest.$ac_ext >&5
837- rm -rf conftest*
838- echo "$ac_t""no" 1>&6; have_gmp=no
839-fi
840-rm -f conftest*
841-
842-if test x"$have_gmp" = xyes; then
843- echo $ac_n "checking for MPFR""... $ac_c" 1>&6
844-echo "configure:2348: checking for MPFR" >&5
845-
846- saved_LIBS="$LIBS"
847- LIBS="$LIBS $gmplibs"
848- cat > conftest.$ac_ext <<EOF
849-#line 2353 "configure"
850-#include "confdefs.h"
851-#include <gmp.h>
852-#include <mpfr.h>
853-int main() {
854-mpfr_t n; mpfr_init(n);
855-; return 0; }
856-EOF
857-if { (eval echo configure:2361: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
858- rm -rf conftest*
859- echo "$ac_t""yes" 1>&6
860-else
861- echo "configure: failed program was:" >&5
862- cat conftest.$ac_ext >&5
863- rm -rf conftest*
864- echo "$ac_t""no" 1>&6; have_gmp=no
865-fi
866-rm -f conftest*
867- LIBS="$saved_LIBS"
868- CFLAGS="$saved_CFLAGS"
869-fi
870-
871-# Flags needed for both GMP and/or MPFR
872-
873-
874-
875 # By default, C is the only stage 1 language.
876 stage1_languages=c
877
878@@ -2402,15 +2272,6 @@
879 fi
880 enable_languages=`echo "${enable_languages}" | sed -e 's/[ ,][ ,]*/,/g' -e 's/,$//'`
881
882- # 'f95' is the old name for the 'fortran' language. We issue a warning
883- # and make the substitution.
884- case ,${enable_languages}, in
885- *,f95,*)
886- echo configure.in: warning: 'f95' as language name is deprecated, use 'fortran' instead 1>&2
887- enable_languages=`echo "${enable_languages}" | sed -e 's/f95/fortran/g'`
888- ;;
889- esac
890-
891 # First scan to see if an enabled language requires some other language.
892 # We assume that a given config-lang.in will list all the language
893 # front ends it requires, even if some are required indirectly.
894@@ -5036,81 +4897,6 @@
895 fi
896 fi
897
898- for ncn_progname in gfortran; do
899- if test -n "$ncn_target_tool_prefix"; then
900- # Extract the first word of "${ncn_target_tool_prefix}${ncn_progname}", so it can be a program name with args.
901-set dummy ${ncn_target_tool_prefix}${ncn_progname}; ac_word=$2
902-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
903-echo "configure:5045: checking for $ac_word" >&5
904-if eval "test \"`echo '$''{'ac_cv_prog_GFORTRAN_FOR_TARGET'+set}'`\" = set"; then
905- echo $ac_n "(cached) $ac_c" 1>&6
906-else
907- if test -n "$GFORTRAN_FOR_TARGET"; then
908- ac_cv_prog_GFORTRAN_FOR_TARGET="$GFORTRAN_FOR_TARGET" # Let the user override the test.
909-else
910- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
911- ac_dummy="$PATH"
912- for ac_dir in $ac_dummy; do
913- test -z "$ac_dir" && ac_dir=.
914- if test -f $ac_dir/$ac_word; then
915- ac_cv_prog_GFORTRAN_FOR_TARGET="${ncn_target_tool_prefix}${ncn_progname}"
916- break
917- fi
918- done
919- IFS="$ac_save_ifs"
920-fi
921-fi
922-GFORTRAN_FOR_TARGET="$ac_cv_prog_GFORTRAN_FOR_TARGET"
923-if test -n "$GFORTRAN_FOR_TARGET"; then
924- echo "$ac_t""$GFORTRAN_FOR_TARGET" 1>&6
925-else
926- echo "$ac_t""no" 1>&6
927-fi
928-
929- fi
930- if test -z "$ac_cv_prog_GFORTRAN_FOR_TARGET" && test $build = $target ; then
931- # Extract the first word of "${ncn_progname}", so it can be a program name with args.
932-set dummy ${ncn_progname}; ac_word=$2
933-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
934-echo "configure:5076: checking for $ac_word" >&5
935-if eval "test \"`echo '$''{'ac_cv_prog_GFORTRAN_FOR_TARGET'+set}'`\" = set"; then
936- echo $ac_n "(cached) $ac_c" 1>&6
937-else
938- if test -n "$GFORTRAN_FOR_TARGET"; then
939- ac_cv_prog_GFORTRAN_FOR_TARGET="$GFORTRAN_FOR_TARGET" # Let the user override the test.
940-else
941- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
942- ac_dummy="$PATH"
943- for ac_dir in $ac_dummy; do
944- test -z "$ac_dir" && ac_dir=.
945- if test -f $ac_dir/$ac_word; then
946- ac_cv_prog_GFORTRAN_FOR_TARGET="${ncn_progname}"
947- break
948- fi
949- done
950- IFS="$ac_save_ifs"
951-fi
952-fi
953-GFORTRAN_FOR_TARGET="$ac_cv_prog_GFORTRAN_FOR_TARGET"
954-if test -n "$GFORTRAN_FOR_TARGET"; then
955- echo "$ac_t""$GFORTRAN_FOR_TARGET" 1>&6
956-else
957- echo "$ac_t""no" 1>&6
958-fi
959-
960- fi
961- test -n "$ac_cv_prog_GFORTRAN_FOR_TARGET" && break
962-done
963-
964-if test -z "$ac_cv_prog_GFORTRAN_FOR_TARGET" ; then
965- set dummy gfortran
966- if test $build = $target ; then
967- GFORTRAN_FOR_TARGET="$2"
968- else
969- GFORTRAN_FOR_TARGET="${ncn_target_tool_prefix}$2"
970- fi
971-fi
972-
973 for ncn_progname in ld; do
974 if test -n "$ncn_target_tool_prefix"; then
975 # Extract the first word of "${ncn_target_tool_prefix}${ncn_progname}", so it can be a program name with args.
976@@ -5843,34 +5629,6 @@
977 echo "$ac_t""pre-installed" 1>&6
978 fi
979 fi
980-echo $ac_n "checking where to find the target gfortran""... $ac_c" 1>&6
981-echo "configure:5848: checking where to find the target gfortran" >&5
982-if test "x${build}" != "x${host}" ; then
983- # Canadian cross, just use what we found
984- echo "$ac_t""pre-installed" 1>&6
985-else
986- ok=yes
987- case " ${configdirs} " in
988- *" gcc "*) ;;
989- *) ok=no ;;
990- esac
991- case ,${enable_languages}, in
992- *,fortran,*) ;;
993- *) ok=no ;;
994- esac
995- if test $ok = yes; then
996- # An in-tree tool is available and we can use it
997- GFORTRAN_FOR_TARGET='$$r/$(HOST_SUBDIR)/gcc/gfortran -B$$r/$(HOST_SUBDIR)/gcc/'
998- echo "$ac_t""just compiled" 1>&6
999- elif test "x$target" = "x$host"; then
1000- # We can use an host tool
1001- GFORTRAN_FOR_TARGET='$(GFORTRAN)'
1002- echo "$ac_t""host tool" 1>&6
1003- else
1004- # We need a cross tool
1005- echo "$ac_t""pre-installed" 1>&6
1006- fi
1007-fi
1008 echo $ac_n "checking where to find the target ld""... $ac_c" 1>&6
1009 echo "configure:5876: checking where to find the target ld" >&5
1010 if test "x${build}" != "x${host}" ; then
1011@@ -6413,7 +6171,6 @@
1012 s%@DLLTOOL_FOR_TARGET@%$DLLTOOL_FOR_TARGET%g
1013 s%@GCC_FOR_TARGET@%$GCC_FOR_TARGET%g
1014 s%@GCJ_FOR_TARGET@%$GCJ_FOR_TARGET%g
1015-s%@GFORTRAN_FOR_TARGET@%$GFORTRAN_FOR_TARGET%g
1016 s%@LD_FOR_TARGET@%$LD_FOR_TARGET%g
1017 s%@LIPO_FOR_TARGET@%$LIPO_FOR_TARGET%g
1018 s%@NM_FOR_TARGET@%$NM_FOR_TARGET%g
1019
1020--- tmp/config-ml.in.orig 2006-09-06 10:27:49.000000000 +0100
1021+++ tmp/config-ml.in 2006-09-06 10:27:49.000000000 +0100
1022@@ -785,14 +785,12 @@
1023 break
1024 fi
1025 done
1026- ml_config_env='CC="${CC_}$flags" CXX="${CXX_}$flags" F77="${F77_}$flags" GCJ="${GCJ_}$flags" GFORTRAN="${GFORTRAN_}$flags"'
1027+ ml_config_env='CC="${CC_}$flags" CXX="${CXX_}$flags" GCJ="${GCJ_}$flags"'
1028
1029 if [ "${with_target_subdir}" = "." ]; then
1030 CC_=$CC' '
1031 CXX_=$CXX' '
1032- F77_=$F77' '
1033 GCJ_=$GCJ' '
1034- GFORTRAN_=$GFORTRAN' '
1035 else
1036 # Create a regular expression that matches any string as long
1037 # as ML_POPDIR.
1038@@ -821,18 +819,6 @@
1039 esac
1040 done
1041
1042- F77_=
1043- for arg in ${F77}; do
1044- case $arg in
1045- -[BIL]"${ML_POPDIR}"/*)
1046- F77_="${F77_}"`echo "X${arg}" | sed -n "s/X\\(-[BIL]${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X-[BIL]${popdir_rx}\\(.*\\)/\\1/p"`' ' ;;
1047- "${ML_POPDIR}"/*)
1048- F77_="${F77_}"`echo "X${arg}" | sed -n "s/X\\(${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X${popdir_rx}\\(.*\\)/\\1/p"`' ' ;;
1049- *)
1050- F77_="${F77_}${arg} " ;;
1051- esac
1052- done
1053-
1054 GCJ_=
1055 for arg in ${GCJ}; do
1056 case $arg in
1057@@ -845,18 +831,6 @@
1058 esac
1059 done
1060
1061- GFORTRAN_=
1062- for arg in ${GFORTRAN}; do
1063- case $arg in
1064- -[BIL]"${ML_POPDIR}"/*)
1065- GFORTRAN_="${GFORTRAN_}"`echo "X${arg}" | sed -n "s/X\\(-[BIL]${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X-[BIL]${popdir_rx}\\(.*\\)/\\1/p"`' ' ;;
1066- "${ML_POPDIR}"/*)
1067- GFORTRAN_="${GFORTRAN_}"`echo "X${arg}" | sed -n "s/X\\(${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X${popdir_rx}\\(.*\\)/\\1/p"`' ' ;;
1068- *)
1069- GFORTRAN_="${GFORTRAN_}${arg} " ;;
1070- esac
1071- done
1072-
1073 if test "x${LD_LIBRARY_PATH+set}" = xset; then
1074 LD_LIBRARY_PATH_=
1075 for arg in `echo "$LD_LIBRARY_PATH" | tr ':' ' '`; do
diff --git a/meta/packages/gcc/gcc-package-cross-no-fortran.inc b/meta/packages/gcc/gcc-package-cross-no-fortran.inc
new file mode 100644
index 0000000000..3548c0bb8e
--- /dev/null
+++ b/meta/packages/gcc/gcc-package-cross-no-fortran.inc
@@ -0,0 +1,66 @@
1# Packages emitted by our gcc-cross builds.
2#
3INHIBIT_PACKAGE_STRIP ?= ""
4HAS_G2C ?= "yes"
5OLD_INHIBIT_PACKAGE_STRIP := "${INHIBIT_PACKAGE_STRIP}"
6INHIBIT_PACKAGE_STRIP = "1"
7
8PACKAGES = "libgcc libstdc++ libg2c libg2c-dev"
9
10PACKAGE_ARCH_libg2c = "${TARGET_ARCH}"
11PACKAGE_ARCH_libg2c-dev = "${TARGET_ARCH}"
12
13# Called from within gcc-cross, so libdir is set wrong
14FILES_libg2c = "${target_libdir}/libg2c.so.*"
15FILES_libg2c-dev = "${target_libdir}/libg2c.so \
16 ${target_libdir}/libg2c.a \
17 ${target_libdir}/libfrtbegin.a"
18
19PACKAGE_ARCH_libgcc = "${TARGET_ARCH}"
20FILES_libgcc = "${target_base_libdir}/libgcc_s.so.1"
21
22PACKAGE_ARCH_libstdc++ = "${TARGET_ARCH}"
23PACKAGE_ARCH_libstdc++-dev = "${TARGET_ARCH}"
24FILES_libstdc++ = "${target_libdir}/libstdc++.so.*"
25FILES_libstdc++-dev = "${target_includedir}/c++/${PV} \
26 ${target_libdir}/libstdc++.so \
27 ${target_libdir}/libstdc++.la \
28 ${target_libdir}/libstdc++.a \
29 ${target_libdir}/libsupc++.la \
30 ${target_libdir}/libsupc++.a"
31
32python do_package() {
33 if bb.data.getVar('DEBIAN_NAMES', d, 1):
34 bb.data.setVar('PKG_libgcc', 'libgcc1', d)
35 bb.build.exec_func('package_do_package', d)
36}
37
38do_install () {
39 oe_runmake 'DESTDIR=${D}' install
40
41 # Move libgcc_s into /lib
42 mkdir -p ${D}${target_base_libdir}
43 if [ -f ${D}${target_base_libdir}/libgcc_s.so.? ]; then
44 # Already in the right location
45 :
46 elif [ -f ${D}${prefix}/lib/libgcc_s.so.? ]; then
47 mv -f ${D}${prefix}/lib/libgcc_s.so.* ${D}${target_base_libdir}
48 else
49 mv -f ${D}${prefix}/*/lib/libgcc_s.so.* ${D}${target_base_libdir}
50 fi
51
52 # Move libstdc++ and libg2c into libdir (resetting our prefix to /usr
53 mkdir -p ${D}${target_libdir}
54 mv -f ${D}${prefix}/*/lib/libstdc++.so.* ${D}${target_libdir}
55 if [ "${HAS_G2C}" = "yes" ]; then
56 mv -f ${D}${prefix}/*/lib/libg2c.so.* ${D}${target_libdir}
57 fi
58
59 # Manually run the target stripper since we won't get it run by
60 # the packaging.
61 if [ "x${OLD_INHIBIT_PACKAGE_STRIP}" != "x1" ]; then
62 ${TARGET_PREFIX}strip ${D}${target_libdir}/libstdc++.so.*
63 ${TARGET_PREFIX}strip ${D}${target_libdir}/libg2c.so.*
64 ${TARGET_PREFIX}strip ${D}${target_base_libdir}/libgcc_s.so.*
65 fi
66}
diff --git a/meta/packages/gcc/gcc-package-no-fortran.inc b/meta/packages/gcc/gcc-package-no-fortran.inc
new file mode 100644
index 0000000000..a5b5ad867a
--- /dev/null
+++ b/meta/packages/gcc/gcc-package-no-fortran.inc
@@ -0,0 +1,103 @@
1gcclibdir ?= "${libdir}/gcc"
2BINV ?= "${PV}"
3
4# libgcc libstdc++ libg2c are listed in our FILES_*, but are actually
5# packaged in the respective cross packages.
6PACKAGES = "${PN} ${PN}-symlinks \
7 g++ g++-symlinks \
8 cpp cpp-symlinks \
9 gcov gcov-symlinks \
10 libstdc++-dev libg2c-dev \
11 ${PN}-doc"
12
13FILES_${PN} = "${bindir}/${TARGET_PREFIX}gcc \
14 ${bindir}/${TARGET_PREFIX}gccbug \
15 ${libexecdir}/gcc/${TARGET_SYS}/${BINV}/cc1 \
16 ${libexecdir}/gcc/${TARGET_SYS}/${BINV}/collect2 \
17 ${gcclibdir}/${TARGET_SYS}/${BINV}/*.o \
18 ${gcclibdir}/${TARGET_SYS}/${BINV}/specs \
19 ${gcclibdir}/${TARGET_SYS}/${BINV}/lib* \
20 ${gcclibdir}/${TARGET_SYS}/${BINV}/include"
21FILES_${PN}-symlinks = "${bindir}/cc \
22 ${bindir}/gcc \
23 ${bindir}/gccbug"
24
25FILES_cpp = "${bindir}/${TARGET_PREFIX}cpp \
26 ${base_libdir}/cpp"
27FILES_cpp-symlinks = "${bindir}/cpp"
28
29FILES_gcov = "${bindir}/${TARGET_PREFIX}gcov"
30FILES_gcov-symlinks = "${bindir}/gcov"
31
32PACKAGE_ARCH_libg2c-dev = "${TARGET_ARCH}"
33# Called from within gcc-cross, so libdir is set wrong
34FILES_libg2c-dev = "${libdir}/libg2c.so \
35 ${libdir}/libg2c.a \
36 ${libdir}/libfrtbegin.a"
37
38FILES_g++ = "${bindir}/${TARGET_PREFIX}g++ \
39 ${libexecdir}/gcc/${TARGET_SYS}/${BINV}/cc1plus"
40FILES_g++-symlinks = "${bindir}/c++ \
41 ${bindir}/g++"
42
43PACKAGE_ARCH_libstdc++-dev = "${TARGET_ARCH}"
44FILES_libstdc++-dev = "${includedir}/c++/${BINV} \
45 ${libdir}/libstdc++.so \
46 ${libdir}/libstdc++.la \
47 ${libdir}/libstdc++.a \
48 ${libdir}/libsupc++.la \
49 ${libdir}/libsupc++.a"
50
51FILES_${PN}-doc = "${infodir} \
52 ${mandir} \
53 ${gcclibdir}/${TARGET_SYS}/${BINV}/include/README"
54
55
56do_install () {
57 autotools_do_install
58
59 # Cleanup some of the ${libdir}{,exec}/gcc stuff ...
60 rm -r ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/install-tools
61 rm -r ${D}${libexecdir}/gcc/${TARGET_SYS}/${BINV}/install-tools
62
63 # Hack around specs file assumptions
64 sed -i -e '/^*cross_compile:$/ { n; s/1/0/; }' ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/specs &>/dev/null || true
65
66 # Move libgcc_s into /lib
67 mkdir -p ${D}${base_libdir}
68 mv ${D}${libdir}/libgcc_s.so.* ${D}${base_libdir}
69 rm ${D}${libdir}/libgcc_s.so
70 ln -sf `echo ${libdir}/gcc/${TARGET_SYS}/${BINV} \
71 | tr -s / \
72 | sed -e 's,^/,,' -e 's,[^/]*,..,g'`/lib/libgcc_s.so.1 \
73 ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/libgcc_s.so
74
75 # We don't need libtool libraries
76 rm ${D}${libdir}/libg2c.la &>/dev/null || true
77
78
79 # Cleanup manpages..
80 rm -r ${D}${mandir}/man7
81
82 # We use libiberty from binutils
83 rm ${D}${libdir}/libiberty.a
84
85 cd ${D}${bindir}
86
87 # We care about g++ not c++
88 rm *c++
89
90 # We don't care about the gcc-<version> ones for this
91 rm *gcc-?.?*
92
93 # These sometimes show up, they are strange, we remove them
94 rm -f ${TARGET_ARCH}-*${TARGET_ARCH}-*
95
96 # Symlinks so we can use these trivially on the target
97 ln -sf ${TARGET_SYS}-g++ g++
98 ln -sf ${TARGET_SYS}-gcc gcc
99 ln -sf g++ c++
100 ln -sf gcc cc
101 ln -sf ${bindir}/${TARGET_SYS}-cpp ${D}${base_libdir}/cpp
102 ln -sf ${bindir}/${TARGET_SYS}-cpp ${D}${bindir}/cpp
103}
diff --git a/meta/packages/gcc/gcc4-build-cross.inc b/meta/packages/gcc/gcc4-build-cross.inc
new file mode 100644
index 0000000000..905e7d3839
--- /dev/null
+++ b/meta/packages/gcc/gcc4-build-cross.inc
@@ -0,0 +1,6 @@
1FORTRAN = "f95"
2HAS_GFORTRAN = "yes"
3HAS_G2C = "no"
4
5include gcc3-build-cross.inc
6
diff --git a/meta/packages/gcc/gcc4-build.inc b/meta/packages/gcc/gcc4-build.inc
index 8b80f4820a..0f86ff2a31 100644
--- a/meta/packages/gcc/gcc4-build.inc
+++ b/meta/packages/gcc/gcc4-build.inc
@@ -1,6 +1,100 @@
1FORTRAN = "f95" 1HAS_GFORTRAN = "no"
2HAS_GFORTRAN = "yes"
3HAS_G2C = "no" 2HAS_G2C = "no"
4 3
5include gcc3-build.inc 4MIRRORS_prepend () {
5${GNU_MIRROR}/gcc/releases/ ftp://gcc.gnu.org/pub/gcc/releases/
6${GNU_MIRROR}/gcc/ http://mirrors.rcn.net/pub/sourceware/gcc/releases/
7${GNU_MIRROR}/gcc/releases/ http://gcc.get-software.com/releases/
8${GNU_MIRROR}/gcc/ http://gcc.get-software.com/releases/
9}
10
11gcclibdir ?= "${libdir}/gcc"
12S = "${WORKDIR}/gcc-${PV}"
13B = "${S}/build.${HOST_SYS}.${TARGET_SYS}"
14BINV ?= "${PV}"
15
16# gcj doesn't work on some architectures
17JAVA = ",java"
18JAVA_arm = ""
19JAVA_armeb = ""
20JAVA_mipsel = ""
21JAVA_sh3 = ""
22# gcc4-build sets this to f95
23#FORTRAN ?= "f77"
24#LANGUAGES ?= "c,c++,${JAVA}"
25LANGUAGES ?= "c,c++,${JAVA}"
26
27EXTRA_OECONF = "${@['--enable-clocale=generic', ''][bb.data.getVar('USE_NLS', d, 1) != 'no']} \
28 --with-gnu-ld \
29 --enable-shared \
30 --enable-target-optspace \
31 --enable-languages=${LANGUAGES} \
32 --enable-threads=posix \
33 --enable-multilib \
34 --enable-c99 \
35 --enable-long-long \
36 --enable-symvers=gnu \
37 --enable-libstdcxx-pch \
38 --program-prefix=${TARGET_PREFIX} \
39 ${EXTRA_OECONF_PATHS} \
40 ${EXTRA_OECONF_DEP}"
41
42EXTRA_OECONF_PATHS = " \
43 --with-local-prefix=${prefix}/local \
44 --with-gxx-include-dir=${includedir}/c++/${BINV}"
45
46EXTRA_OECONF_DEP = ""
47EXTRA_OECONF_uclibc = "--disable-__cxa_atexit"
48EXTRA_OECONF_glibc = "--enable-__cxa_atexit"
49EXTRA_OECONF += "${@get_gcc_fpu_setting(bb, d)}"
50CPPFLAGS = ""
51
52# Used by configure to define additional values for FLAGS_FOR_TARGET -
53# passed to all the compilers.
54ARCH_FLAGS_FOR_TARGET = ""
55#NOTE: not tested on other platforms, the following is probably correct
56# everywhere!
57ARCH_FLAGS_FOR_TARGET_slugos = "${TARGET_CC_ARCH}"
58ARCH_FLAGS_FOR_TARGET_unslung = "${TARGET_CC_ARCH}"
59EXTRA_OEMAKE += "ARCH_FLAGS_FOR_TARGET='${ARCH_FLAGS_FOR_TARGET}'"
60
61def get_gcc_fpu_setting(bb, d):
62 if bb.data.getVar('TARGET_FPU', d, 1) in [ 'soft' ]:
63 return "--with-float=soft"
64 return ""
65
66python __anonymous () {
67 import bb, re
68 if (re.match('linux-uclibc$', bb.data.getVar('TARGET_OS', d, 1)) != None):
69 bb.data.setVar('EXTRA_OECONF_DEP', '${EXTRA_OECONF_uclibc}', d)
70 elif (re.match('linux$', bb.data.getVar('TARGET_OS', d, 1)) != None):
71 bb.data.setVar('EXTRA_OECONF_DEP', '${EXTRA_OECONF_glibc}', d)
72}
73
74do_configure () {
75 # Setup these vars for cross building only
76 # ... because foo_FOR_TARGET apparently gets misinterpreted inside the
77 # gcc build stuff when the build is producing a cross compiler - i.e.
78 # when the 'current' target is the 'host' system, and the host is not
79 # the target (because the build is actually making a cross compiler!)
80 if [ "${BUILD_SYS}" != "${HOST_SYS}" ]; then
81 export CC_FOR_TARGET="${CC}"
82 export GCC_FOR_TARGET="${CC}"
83 export CXX_FOR_TARGET="${CXX}"
84 export AS_FOR_TARGET="${HOST_PREFIX}as"
85 export LD_FOR_TARGET="${HOST_PREFIX}ld"
86 export NM_FOR_TARGET="${HOST_PREFIX}nm"
87 export AR_FOR_TARGET="${HOST_PREFIX}ar"
88 export RANLIB_FOR_TARGET="${HOST_PREFIX}ranlib"
89 fi
90 export CC_FOR_BUILD="${BUILD_CC}"
91 export CXX_FOR_BUILD="${BUILD_CXX}"
92 export CFLAGS_FOR_BUILD="${BUILD_CFLAGS}"
93 export CPPFLAGS_FOR_BUILD="${BUILD_CPPFLAGS}"
94 export CXXFLAGS_FOR_BUILD="${BUILD_CXXFLAGS}"
95 export LDFLAGS_FOR_BUILD="${BUILD_LDFLAGS}"
96 export ARCH_FLAGS_FOR_TARGET="${ARCH_FLAGS_FOR_TARGET}"
97 (cd ${S} && gnu-configize) || die "failure running gnu-configize"
98 oe_runconf
99}
6 100
diff --git a/meta/packages/gcc/gcc_csl-arm-2006q1.bb b/meta/packages/gcc/gcc_csl-arm-2006q1.bb
new file mode 100644
index 0000000000..88f7c7ebd6
--- /dev/null
+++ b/meta/packages/gcc/gcc_csl-arm-2006q1.bb
@@ -0,0 +1,30 @@
1DESCRIPTION = "The GNU cc and gcc C compilers."
2HOMEPAGE = "http://www.gnu.org/software/gcc/"
3SECTION = "devel"
4LICENSE = "GPL"
5BINV = "4.1.0"
6PV = "4.1.0+csl-arm-2006q1-6"
7PR = "r1"
8
9FILESDIR = "${FILE_DIRNAME}/gcc-csl-arm"
10
11inherit autotools gettext
12
13require gcc-package-no-fortran.inc
14
15SRC_URI = "http://www.codesourcery.com/public/gnu_toolchain/arm-none-eabi/arm-2006q1-6-arm-none-eabi.src.tar.bz2 \
16 file://gcc-configure-no-fortran.patch;patch=1;pnum=1"
17
18#the optabi patch is already applied
19
20do_unpack2() {
21 cd ${WORKDIR}
22 pwd
23 tar -xvjf ./arm-2006q1-6-arm-none-eabi/gcc-2006q1-6.tar.bz2
24}
25
26addtask unpack2 after do_unpack before do_patch
27
28require gcc4-build.inc
29
30S = "${WORKDIR}/gcc-2006q1"