mirror of
https://git.yoctoproject.org/git/poky
synced 2026-01-01 13:58:04 +00:00
configuration for csl2006q1-6 compiler and binutils
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@697 311d38ba-8fff-0310-9ca6-ca027cbcb966
This commit is contained in:
parent
8f47d85143
commit
e9b762802b
20
meta/conf/distro/include/poky-eabi3.inc
Normal file
20
meta/conf/distro/include/poky-eabi3.inc
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
#
|
||||
# Poky configuration to use EABI
|
||||
#
|
||||
|
||||
PREFERRED_PROVIDER_virtual/arm-poky-linux-gnueabi-libc-for-gcc = "glibc-intermediate"
|
||||
PREFERRED_PROVIDER_virtual/arm-linux-libc-for-gcc = "glibc-intermediate"
|
||||
|
||||
PREFERRED_VERSION_gcc ?= "4.1.0+csl-arm-2006q1-6"
|
||||
PREFERRED_VERSION_gcc-cross ?= "4.1.0+csl-arm-2006q1-6"
|
||||
PREFERRED_VERSION_gcc-cross-initial ?= "4.1.0+csl-arm-2006q1-6"
|
||||
PREFERRED_VERSION_binutils ?= "2.17+csl-arm-2006q1-6"
|
||||
PREFERRED_VERSION_binutils-cross ?= "2.17+csl-arm-2006q1-6"
|
||||
PREFERRED_VERSION_linux-libc-headers ?= "2.6.15.99"
|
||||
PREFERRED_VERSION_glibc ?= "2.4"
|
||||
PREFERRED_VERSION_glibc-intermediate ?= "2.4"
|
||||
|
||||
#Use the ARM EABI when building for an ARM cpu. We can't use overrides
|
||||
#here because this breaks all places where ":=" is used.
|
||||
TARGET_VENDOR = "${@['','-poky'][bb.data.getVar('TARGET_ARCH',d,1)=='arm']}"
|
||||
TARGET_OS = "linux${@['','-gnueabi'][bb.data.getVar('TARGET_ARCH',d,1)=='arm']}"
|
||||
|
|
@ -0,0 +1,31 @@
|
|||
# strip (and objcopy) fail to set the error code if there is no
|
||||
# output file name and the rename of the stripped (or copied) file
|
||||
# fails, yet the command fails to do anything. This fixes both
|
||||
# objcopy and strip.
|
||||
#
|
||||
# modification by bero: Ported to 2.16.91.0.6
|
||||
#
|
||||
#Signed-off-by: John Bowler <jbowler@acm.org>
|
||||
#Signed-off-by: Bernhard Rosenkraenzer <bero@arklinux.org>
|
||||
--- binutils-2.16.91.0.6/binutils/objcopy.c.ark 2006-03-11 15:59:07.000000000 +0100
|
||||
+++ binutils-2.16.91.0.6/binutils/objcopy.c 2006-03-11 15:59:45.000000000 +0100
|
||||
@@ -2593,7 +2593,8 @@
|
||||
if (preserve_dates)
|
||||
set_times (tmpname, &statbuf);
|
||||
if (output_file == NULL)
|
||||
- smart_rename (tmpname, argv[i], preserve_dates);
|
||||
+ if(smart_rename (tmpname, argv[i], preserve_dates))
|
||||
+ hold_status = 1;
|
||||
status = hold_status;
|
||||
}
|
||||
else
|
||||
@@ -3184,7 +3185,8 @@
|
||||
{
|
||||
if (preserve_dates)
|
||||
set_times (tmpname, &statbuf);
|
||||
- smart_rename (tmpname, input_filename, preserve_dates);
|
||||
+ if (smart_rename (tmpname, input_filename, preserve_dates))
|
||||
+ status = 1;
|
||||
}
|
||||
else
|
||||
unlink (tmpname);
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
--- binutils-2.17/gas/config/tc-arm.c.orig 2006-09-05 14:59:25.000000000 +0100
|
||||
+++ binutils-2.17/gas/config/tc-arm.c 2006-09-05 14:59:25.000000000 +0100
|
||||
@@ -1252,13 +1252,15 @@
|
||||
}
|
||||
|
||||
/* Undo polymorphism when a set of register types may be accepted. */
|
||||
- if ((type == REG_TYPE_NDQ
|
||||
- && (reg->type == REG_TYPE_NQ || reg->type == REG_TYPE_VFD))
|
||||
- || (type == REG_TYPE_VFSD
|
||||
- && (reg->type == REG_TYPE_VFS || reg->type == REG_TYPE_VFD))
|
||||
- || (type == REG_TYPE_NSDQ
|
||||
- && (reg->type == REG_TYPE_VFS || reg->type == REG_TYPE_VFD
|
||||
- || reg->type == REG_TYPE_NQ)))
|
||||
+ if (((type == REG_TYPE_NDQ
|
||||
+ && (reg->type == REG_TYPE_NQ || reg->type == REG_TYPE_VFD))
|
||||
+ || (type == REG_TYPE_VFSD
|
||||
+ && (reg->type == REG_TYPE_VFS || reg->type == REG_TYPE_VFD))
|
||||
+ || (type == REG_TYPE_NSDQ
|
||||
+ && (reg->type == REG_TYPE_VFS || reg->type == REG_TYPE_VFD
|
||||
+ || reg->type == REG_TYPE_NQ)))
|
||||
+ ||(type == REG_TYPE_MMXWC
|
||||
+ && (reg->type == REG_TYPE_MMXWCG)))
|
||||
type = reg->type;
|
||||
|
||||
if (type != reg->type)
|
||||
|
|
@ -0,0 +1,139 @@
|
|||
--- binutils-2.16.91.0.7/bfd/configure
|
||||
+++ binutils-2.16.91.0.7/bfd/configure
|
||||
@@ -3576,7 +3576,7 @@
|
||||
;;
|
||||
|
||||
# This must be Linux ELF.
|
||||
-linux-gnu*)
|
||||
+linux-gnu*|linux-uclibc*)
|
||||
lt_cv_deplibs_check_method=pass_all
|
||||
;;
|
||||
|
||||
--- binutils-2.16.91.0.7/binutils/configure
|
||||
+++ binutils-2.16.91.0.7/binutils/configure
|
||||
@@ -3411,7 +3411,7 @@
|
||||
;;
|
||||
|
||||
# This must be Linux ELF.
|
||||
-linux-gnu*)
|
||||
+linux-gnu*|linux-uclibc*)
|
||||
lt_cv_deplibs_check_method=pass_all
|
||||
;;
|
||||
|
||||
--- binutils-2.16.91.0.7/configure
|
||||
+++ binutils-2.16.91.0.7/configure
|
||||
@@ -1270,7 +1270,7 @@
|
||||
am33_2.0-*-linux*)
|
||||
noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss"
|
||||
;;
|
||||
- sh-*-linux*)
|
||||
+ sh*-*-linux*)
|
||||
noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss"
|
||||
;;
|
||||
sh*-*-pe|mips*-*-pe|*arm-wince-pe)
|
||||
@@ -1578,7 +1578,7 @@
|
||||
romp-*-*)
|
||||
noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes target-libgloss ${libgcj}"
|
||||
;;
|
||||
- sh-*-* | sh64-*-*)
|
||||
+ sh*-*-* | sh64-*-*)
|
||||
case "${host}" in
|
||||
i[3456789]86-*-vsta) ;; # don't add gprof back in
|
||||
i[3456789]86-*-go32*) ;; # don't add gprof back in
|
||||
--- binutils-2.16.91.0.7/configure.in
|
||||
+++ binutils-2.16.91.0.7/configure.in
|
||||
@@ -468,7 +468,7 @@
|
||||
am33_2.0-*-linux*)
|
||||
noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss"
|
||||
;;
|
||||
- sh-*-linux*)
|
||||
+ sh*-*-linux*)
|
||||
noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss"
|
||||
;;
|
||||
sh*-*-pe|mips*-*-pe|*arm-wince-pe)
|
||||
@@ -776,7 +776,7 @@
|
||||
romp-*-*)
|
||||
noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes target-libgloss ${libgcj}"
|
||||
;;
|
||||
- sh-*-* | sh64-*-*)
|
||||
+ sh*-*-* | sh64-*-*)
|
||||
case "${host}" in
|
||||
i[[3456789]]86-*-vsta) ;; # don't add gprof back in
|
||||
i[[3456789]]86-*-go32*) ;; # don't add gprof back in
|
||||
--- binutils-2.16.91.0.7/gas/configure
|
||||
+++ binutils-2.16.91.0.7/gas/configure
|
||||
@@ -3411,7 +3411,7 @@
|
||||
;;
|
||||
|
||||
# This must be Linux ELF.
|
||||
-linux-gnu*)
|
||||
+linux-gnu*|linux-uclibc*)
|
||||
lt_cv_deplibs_check_method=pass_all
|
||||
;;
|
||||
|
||||
--- binutils-2.16.91.0.7/gprof/configure
|
||||
+++ binutils-2.16.91.0.7/gprof/configure
|
||||
@@ -3419,6 +3419,11 @@
|
||||
lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
|
||||
;;
|
||||
|
||||
+linux-uclibc*)
|
||||
+ lt_cv_deplibs_check_method=pass_all
|
||||
+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
|
||||
+ ;;
|
||||
+
|
||||
netbsd* | knetbsd*-gnu)
|
||||
if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
|
||||
lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
|
||||
--- binutils-2.16.91.0.7/ld/configure
|
||||
+++ binutils-2.16.91.0.7/ld/configure
|
||||
@@ -3413,7 +3413,7 @@
|
||||
;;
|
||||
|
||||
# This must be Linux ELF.
|
||||
-linux-gnu*)
|
||||
+linux-gnu*|linux-uclibc*)
|
||||
lt_cv_deplibs_check_method=pass_all
|
||||
;;
|
||||
|
||||
--- binutils-2.16.91.0.7/libtool.m4
|
||||
+++ binutils-2.16.91.0.7/libtool.m4
|
||||
@@ -739,7 +739,7 @@
|
||||
;;
|
||||
|
||||
# This must be Linux ELF.
|
||||
-linux-gnu*)
|
||||
+linux-gnu*|linux-uclibc*)
|
||||
lt_cv_deplibs_check_method=pass_all
|
||||
;;
|
||||
|
||||
--- binutils-2.16.91.0.7/ltconfig
|
||||
+++ binutils-2.16.91.0.7/ltconfig
|
||||
@@ -602,6 +602,7 @@
|
||||
|
||||
# Transform linux* to *-*-linux-gnu*, to support old configure scripts.
|
||||
case $host_os in
|
||||
+linux-uclibc*) ;;
|
||||
linux-gnu*) ;;
|
||||
linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'`
|
||||
esac
|
||||
@@ -1247,7 +1248,7 @@
|
||||
;;
|
||||
|
||||
# This must be Linux ELF.
|
||||
-linux-gnu*)
|
||||
+linux-gnu*|linux-uclibc*)
|
||||
version_type=linux
|
||||
need_lib_prefix=no
|
||||
need_version=no
|
||||
--- binutils-2.16.91.0.7/opcodes/configure
|
||||
+++ binutils-2.16.91.0.7/opcodes/configure
|
||||
@@ -3579,7 +3579,7 @@
|
||||
;;
|
||||
|
||||
# This must be Linux ELF.
|
||||
-linux-gnu*)
|
||||
+linux-gnu*|linux-uclibc*)
|
||||
lt_cv_deplibs_check_method=pass_all
|
||||
;;
|
||||
|
||||
|
|
@ -0,0 +1,50 @@
|
|||
#!/bin/sh -e
|
||||
## 001_ld_makefile_patch.dpatch
|
||||
##
|
||||
## All lines beginning with `## DP:' are a description of the patch.
|
||||
## DP: Description: correct where ld scripts are installed
|
||||
## DP: Author: Chris Chimelis <chris@debian.org>
|
||||
## DP: Upstream status: N/A
|
||||
## DP: Date: ??
|
||||
|
||||
if [ $# -ne 1 ]; then
|
||||
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
|
||||
patch_opts="${patch_opts:--f --no-backup-if-mismatch}"
|
||||
|
||||
case "$1" in
|
||||
-patch) patch $patch_opts -p1 < $0;;
|
||||
-unpatch) patch $patch_opts -p1 -R < $0;;
|
||||
*)
|
||||
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
|
||||
exit 1;;
|
||||
esac
|
||||
|
||||
exit 0
|
||||
|
||||
@DPATCH@
|
||||
--- binutils-2.16.91.0.1/ld/Makefile.am
|
||||
+++ binutils-2.16.91.0.1/ld/Makefile.am
|
||||
@@ -20,7 +20,7 @@
|
||||
# We put the scripts in the directory $(scriptdir)/ldscripts.
|
||||
# We can't put the scripts in $(datadir) because the SEARCH_DIR
|
||||
# directives need to be different for native and cross linkers.
|
||||
-scriptdir = $(tooldir)/lib
|
||||
+scriptdir = $(libdir)
|
||||
|
||||
EMUL = @EMUL@
|
||||
EMULATION_OFILES = @EMULATION_OFILES@
|
||||
--- binutils-2.16.91.0.1/ld/Makefile.in
|
||||
+++ binutils-2.16.91.0.1/ld/Makefile.in
|
||||
@@ -268,7 +268,7 @@
|
||||
# We put the scripts in the directory $(scriptdir)/ldscripts.
|
||||
# We can't put the scripts in $(datadir) because the SEARCH_DIR
|
||||
# directives need to be different for native and cross linkers.
|
||||
-scriptdir = $(tooldir)/lib
|
||||
+scriptdir = $(libdir)
|
||||
BASEDIR = $(srcdir)/..
|
||||
BFDDIR = $(BASEDIR)/bfd
|
||||
INCDIR = $(BASEDIR)/include
|
||||
|
|
@ -0,0 +1,43 @@
|
|||
#!/bin/sh -e
|
||||
## 006_better_file_error.dpatch by David Kimdon <dwhedon@gordian.com>
|
||||
##
|
||||
## All lines beginning with `## DP:' are a description of the patch.
|
||||
## DP: Specify which filename is causing an error if the filename is a
|
||||
## DP: directory. (#45832)
|
||||
|
||||
if [ $# -ne 1 ]; then
|
||||
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
|
||||
patch_opts="${patch_opts:--f --no-backup-if-mismatch}"
|
||||
|
||||
case "$1" in
|
||||
-patch) patch $patch_opts -p1 < $0;;
|
||||
-unpatch) patch $patch_opts -p1 -R < $0;;
|
||||
*)
|
||||
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
|
||||
exit 1;;
|
||||
esac
|
||||
|
||||
exit 0
|
||||
|
||||
@DPATCH@
|
||||
diff -urNad /home/james/debian/packages/binutils/binutils-2.14.90.0.6/bfd/opncls.c binutils-2.14.90.0.6/bfd/opncls.c
|
||||
--- /home/james/debian/packages/binutils/binutils-2.14.90.0.6/bfd/opncls.c 2003-07-23 16:08:09.000000000 +0100
|
||||
+++ binutils-2.14.90.0.6/bfd/opncls.c 2003-09-10 22:35:00.000000000 +0100
|
||||
@@ -150,6 +150,13 @@
|
||||
{
|
||||
bfd *nbfd;
|
||||
const bfd_target *target_vec;
|
||||
+ struct stat s;
|
||||
+
|
||||
+ if (stat (filename, &s) == 0)
|
||||
+ if (S_ISDIR(s.st_mode)) {
|
||||
+ bfd_set_error (bfd_error_file_not_recognized);
|
||||
+ return NULL;
|
||||
+ }
|
||||
|
||||
nbfd = _bfd_new_bfd ();
|
||||
if (nbfd == NULL)
|
||||
|
|
@ -0,0 +1,47 @@
|
|||
#!/bin/sh -e
|
||||
## 012_check_ldrunpath_length.dpatch by Chris Chimelis <chris@debian.org>
|
||||
##
|
||||
## All lines beginning with `## DP:' are a description of the patch.
|
||||
## DP: Only generate an RPATH entry if LD_RUN_PATH is not empty, for
|
||||
## DP: cases where -rpath isn't specified. (#151024)
|
||||
|
||||
if [ $# -ne 1 ]; then
|
||||
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
|
||||
patch_opts="${patch_opts:--f --no-backup-if-mismatch}"
|
||||
|
||||
case "$1" in
|
||||
-patch) patch $patch_opts -p1 < $0;;
|
||||
-unpatch) patch $patch_opts -p1 -R < $0;;
|
||||
*)
|
||||
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
|
||||
exit 1;;
|
||||
esac
|
||||
|
||||
exit 0
|
||||
|
||||
@DPATCH@
|
||||
diff -urNad /home/james/debian/packages/binutils/new/binutils-2.15/ld/emultempl/elf32.em binutils-2.15/ld/emultempl/elf32.em
|
||||
--- /home/james/debian/packages/binutils/new/binutils-2.15/ld/emultempl/elf32.em 2004-05-21 23:12:58.000000000 +0100
|
||||
+++ binutils-2.15/ld/emultempl/elf32.em 2004-05-21 23:12:59.000000000 +0100
|
||||
@@ -692,6 +692,8 @@
|
||||
&& command_line.rpath == NULL)
|
||||
{
|
||||
lib_path = (const char *) getenv ("LD_RUN_PATH");
|
||||
+ if ((lib_path) && (strlen (lib_path) == 0))
|
||||
+ lib_path = NULL;
|
||||
if (gld${EMULATION_NAME}_search_needed (lib_path, &n,
|
||||
force))
|
||||
break;
|
||||
@@ -871,6 +873,8 @@
|
||||
rpath = command_line.rpath;
|
||||
if (rpath == NULL)
|
||||
rpath = (const char *) getenv ("LD_RUN_PATH");
|
||||
+ if ((rpath) && (strlen (rpath) == 0))
|
||||
+ rpath = NULL;
|
||||
if (! (bfd_elf_size_dynamic_sections
|
||||
(output_bfd, command_line.soname, rpath,
|
||||
command_line.filter_shlib,
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
--- binutils/bfd/elf32-mips.c~
|
||||
+++ binutils/bfd/elf32-mips.c
|
||||
@@ -1613,7 +1613,9 @@
|
||||
|
||||
/* The SVR4 MIPS ABI says that this should be 0x10000, and Linux uses
|
||||
page sizes of up to that limit, so we need to respect it. */
|
||||
-#define ELF_MAXPAGESIZE 0x10000
|
||||
+/*#define ELF_MAXPAGESIZE 0x10000*/
|
||||
+/* Use 4K to shrink the elf header. NOT for general use! */
|
||||
+#define ELF_MAXPAGESIZE 0x1000
|
||||
#define elf32_bed elf32_tradbed
|
||||
|
||||
/* Include the target file again for this target. */
|
||||
--- binutils/bfd/elfn32-mips.c~
|
||||
+++ binutils/bfd/elfn32-mips.c
|
||||
@@ -2399,7 +2399,9 @@
|
||||
|
||||
/* The SVR4 MIPS ABI says that this should be 0x10000, and Linux uses
|
||||
page sizes of up to that limit, so we need to respect it. */
|
||||
-#define ELF_MAXPAGESIZE 0x10000
|
||||
+/*#define ELF_MAXPAGESIZE 0x10000*/
|
||||
+/* Use 4K to shrink the elf header. NOT for general use! */
|
||||
+#define ELF_MAXPAGESIZE 0x1000
|
||||
#define elf32_bed elf32_tradbed
|
||||
|
||||
/* Include the target file again for this target. */
|
||||
|
|
@ -0,0 +1,93 @@
|
|||
Retrieved from http://sources.redhat.com/ml/binutils/2004-04/msg00646.html
|
||||
Fixes
|
||||
localealias.s:544: Error: junk at end of line, first unrecognized character is `,'
|
||||
when building glibc-2.3.2 with gcc-3.4.0 and binutils-2.15.90.0.3
|
||||
|
||||
Paths adjusted to match crosstool's patcher.
|
||||
|
||||
Message-Id: m3n052qw2g.fsf@whitebox.m5r.de
|
||||
From: Andreas Schwab <schwab at suse dot de>
|
||||
To: Nathan Sidwell <nathan at codesourcery dot com>
|
||||
Cc: Ian Lance Taylor <ian at wasabisystems dot com>, binutils at sources dot redhat dot com
|
||||
Date: Fri, 23 Apr 2004 22:27:19 +0200
|
||||
Subject: Re: demand_empty_rest_of_line and ignore_rest_of_line
|
||||
|
||||
Nathan Sidwell <nathan@codesourcery.com> writes:
|
||||
|
||||
> Index: read.c
|
||||
> ===================================================================
|
||||
> RCS file: /cvs/src/src/gas/read.c,v
|
||||
> retrieving revision 1.76
|
||||
> diff -c -3 -p -r1.76 read.c
|
||||
> *** read.c 12 Mar 2004 17:48:12 -0000 1.76
|
||||
> --- read.c 18 Mar 2004 09:56:05 -0000
|
||||
> *************** read_a_source_file (char *name)
|
||||
> *** 1053,1059 ****
|
||||
> #endif
|
||||
> input_line_pointer--;
|
||||
> /* Report unknown char as ignored. */
|
||||
> ! ignore_rest_of_line ();
|
||||
> }
|
||||
>
|
||||
> #ifdef md_after_pass_hook
|
||||
> --- 1053,1059 ----
|
||||
> #endif
|
||||
> input_line_pointer--;
|
||||
> /* Report unknown char as ignored. */
|
||||
> ! demand_empty_rest_of_line ();
|
||||
> }
|
||||
>
|
||||
> #ifdef md_after_pass_hook
|
||||
|
||||
This means that the unknown character is no longer ignored, despite the
|
||||
comment. As a side effect a line starting with a line comment character
|
||||
not followed by APP in NO_APP mode now triggers an error instead of just a
|
||||
warning, breaking builds of glibc on m68k-linux. Earlier in
|
||||
read_a_source_file where #APP is handled there is another comment that
|
||||
claims that unknown comments are ignored, when in fact they aren't (only
|
||||
the initial line comment character is skipped).
|
||||
|
||||
Note that the presence of #APP will mess up the line counters, but
|
||||
that appears to be difficult to fix.
|
||||
|
||||
Andreas.
|
||||
|
||||
2004-04-23 Andreas Schwab <schwab@suse.de>
|
||||
|
||||
* read.c (read_a_source_file): Ignore unknown text after line
|
||||
comment character. Fix misleading comment.
|
||||
|
||||
--- binutils/gas/read.c.~1.78.~ 2004-04-23 08:58:23.000000000 +0200
|
||||
+++ binutils/gas/read.c 2004-04-23 21:49:01.000000000 +0200
|
||||
@@ -950,10 +950,14 @@ read_a_source_file (char *name)
|
||||
unsigned int new_length;
|
||||
char *tmp_buf = 0;
|
||||
|
||||
- bump_line_counters ();
|
||||
s = input_line_pointer;
|
||||
if (strncmp (s, "APP\n", 4))
|
||||
- continue; /* We ignore it */
|
||||
+ {
|
||||
+ /* We ignore it */
|
||||
+ ignore_rest_of_line ();
|
||||
+ continue;
|
||||
+ }
|
||||
+ bump_line_counters ();
|
||||
s += 4;
|
||||
|
||||
sb_new (&sbuf);
|
||||
@@ -1052,7 +1056,7 @@ read_a_source_file (char *name)
|
||||
continue;
|
||||
#endif
|
||||
input_line_pointer--;
|
||||
- /* Report unknown char as ignored. */
|
||||
+ /* Report unknown char as error. */
|
||||
demand_empty_rest_of_line ();
|
||||
}
|
||||
|
||||
|
||||
--
|
||||
Andreas Schwab, SuSE Labs, schwab@suse.de
|
||||
SuSE Linux AG, MaxfeldstraÃe 5, 90409 NÃrnberg, Germany
|
||||
Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
|
||||
"And now for something completely different."
|
||||
34
meta/packages/binutils/binutils-cross_csl-arm-2006q1.bb
Normal file
34
meta/packages/binutils/binutils-cross_csl-arm-2006q1.bb
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
SECTION = "devel"
|
||||
require binutils_csl-arm-2006q1.bb
|
||||
inherit cross
|
||||
DEPENDS += "flex-native bison-native"
|
||||
PROVIDES = "virtual/${TARGET_PREFIX}binutils"
|
||||
FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/binutils-${PV}"
|
||||
PACKAGES = ""
|
||||
EXTRA_OECONF = "--with-sysroot=${CROSS_DIR}/${TARGET_SYS} \
|
||||
--program-prefix=${TARGET_PREFIX}"
|
||||
|
||||
S = "${WORKDIR}/binutils-2.17"
|
||||
|
||||
do_stage () {
|
||||
oe_runmake install
|
||||
|
||||
# We don't really need these, so we'll remove them...
|
||||
rm -rf ${CROSS_DIR}/lib/ldscripts
|
||||
rm -rf ${CROSS_DIR}/share/info
|
||||
rm -rf ${CROSS_DIR}/share/locale
|
||||
rm -rf ${CROSS_DIR}/share/man
|
||||
rmdir ${CROSS_DIR}/share || :
|
||||
rmdir ${CROSS_DIR}/${libdir}/gcc-lib || :
|
||||
rmdir ${CROSS_DIR}/${libdir} || :
|
||||
rmdir ${CROSS_DIR}/${prefix} || :
|
||||
|
||||
# We want to move this into the target specific location
|
||||
mkdir -p ${CROSS_DIR}/${TARGET_SYS}/lib
|
||||
mv -f ${CROSS_DIR}/lib/libiberty.a ${CROSS_DIR}/${TARGET_SYS}/lib
|
||||
rmdir ${CROSS_DIR}/lib || :
|
||||
}
|
||||
|
||||
do_install () {
|
||||
:
|
||||
}
|
||||
138
meta/packages/binutils/binutils_csl-arm-2006q1.bb
Normal file
138
meta/packages/binutils/binutils_csl-arm-2006q1.bb
Normal file
|
|
@ -0,0 +1,138 @@
|
|||
DESCRIPTION = "A GNU collection of binary utilities"
|
||||
HOMEPAGE = "http://www.gnu.org/software/binutils/"
|
||||
SECTION = "devel"
|
||||
LICENSE = "GPL"
|
||||
DEFAULT_PREFERENCE = "-1"
|
||||
|
||||
BINV = "2.17"
|
||||
PV = "2.17+csl-arm-2006q1-6"
|
||||
|
||||
#FILESDIR = "${FILE_DIRNAME}/binutils-"
|
||||
|
||||
S = "${WORKDIR}/binutils-2.17"
|
||||
|
||||
inherit autotools gettext
|
||||
|
||||
PACKAGES = "${PN} ${PN}-dev ${PN}-doc ${PN}-symlinks"
|
||||
|
||||
FILES_${PN} = " \
|
||||
${bindir}/${TARGET_PREFIX}* \
|
||||
${libdir}/lib*-*.so \
|
||||
${prefix}/${TARGET_SYS}/bin/*"
|
||||
|
||||
FILES_${PN}-dev = " \
|
||||
${includedir} \
|
||||
${libdir}/*.a \
|
||||
${libdir}/*.la \
|
||||
${libdir}/libbfd.so \
|
||||
${libdir}/libopcodes.so"
|
||||
|
||||
FILES_${PN}-symlinks = " \
|
||||
${bindir}/addr2line \
|
||||
${bindir}/ar \
|
||||
${bindir}/as \
|
||||
${bindir}/c++filt \
|
||||
${bindir}/gprof \
|
||||
${bindir}/ld \
|
||||
${bindir}/nm \
|
||||
${bindir}/objcopy \
|
||||
${bindir}/objdump \
|
||||
${bindir}/ranlib \
|
||||
${bindir}/readelf \
|
||||
${bindir}/size \
|
||||
${bindir}/strings \
|
||||
${bindir}/strip"
|
||||
|
||||
SRC_URI = \
|
||||
"http://www.codesourcery.com/public/gnu_toolchain/arm-none-eabi/arm-2006q1-6-arm-none-eabi.src.tar.bz2 \
|
||||
file://binutils-2.17-csl-tc-arm-mmxwc-polymorphism.patch;patch=1;pnum=1\
|
||||
file://binutils-2.16.91.0.6-objcopy-rename-errorcode.patch;patch=1;pnum=1\
|
||||
file://binutils-uclibc-100-uclibc-conf.patch;patch=1;pnum=1 \
|
||||
file://binutils-uclibc-300-001_ld_makefile_patch.patch;patch=1;pnum=1 \
|
||||
file://binutils-uclibc-300-006_better_file_error.patch;patch=1;pnum=1 \
|
||||
file://binutils-uclibc-300-012_check_ldrunpath_length.patch;patch=1;pnum=1 \
|
||||
file://binutils-uclibc-400-mips-ELF_MAXPAGESIZE-4K.patch;patch=1;pnum=1 \
|
||||
file://binutils-uclibc-702-binutils-skip-comments.patch;patch=1;pnum=1"
|
||||
|
||||
do_unpack2() {
|
||||
cd ${WORKDIR}
|
||||
pwd
|
||||
tar -xvjf ./arm-2006q1-6-arm-none-eabi/binutils-2006q1-6.tar.bz2
|
||||
}
|
||||
|
||||
addtask unpack2 after do_unpack before do_patch
|
||||
|
||||
B = "${S}/build.${HOST_SYS}.${TARGET_SYS}"
|
||||
|
||||
EXTRA_OECONF = "--program-prefix=${TARGET_PREFIX} \
|
||||
--enable-shared"
|
||||
|
||||
# This is necessary due to a bug in the binutils Makefiles
|
||||
EXTRA_OEMAKE = "configure-build-libiberty all"
|
||||
|
||||
export AR = "${HOST_PREFIX}ar"
|
||||
export AS = "${HOST_PREFIX}as"
|
||||
export LD = "${HOST_PREFIX}ld"
|
||||
export NM = "${HOST_PREFIX}nm"
|
||||
export RANLIB = "${HOST_PREFIX}ranlib"
|
||||
export OBJCOPY = "${HOST_PREFIX}objcopy"
|
||||
export OBJDUMP = "${HOST_PREFIX}objdump"
|
||||
|
||||
export AR_FOR_TARGET = "${TARGET_PREFIX}ar"
|
||||
export AS_FOR_TARGET = "${TARGET_PREFIX}as"
|
||||
export LD_FOR_TARGET = "${TARGET_PREFIX}ld"
|
||||
export NM_FOR_TARGET = "${TARGET_PREFIX}nm"
|
||||
export RANLIB_FOR_TARGET = "${TARGET_PREFIX}ranlib"
|
||||
|
||||
export CC_FOR_HOST = "${CCACHE} ${HOST_PREFIX}gcc ${HOST_CC_ARCH}"
|
||||
export CXX_FOR_HOST = "${CCACHE} ${HOST_PREFIX}gcc ${HOST_CC_ARCH}"
|
||||
|
||||
export CC_FOR_BUILD = "${BUILD_CC}"
|
||||
export CPP_FOR_BUILD = "${BUILD_CPP}"
|
||||
export CFLAGS_FOR_BUILD = "${BUILD_CFLAGS}"
|
||||
|
||||
export CC = "${CCACHE} ${HOST_PREFIX}gcc ${HOST_CC_ARCH}"
|
||||
|
||||
do_configure () {
|
||||
(cd ${S}; gnu-configize) || die "Failed to run gnu-configize"
|
||||
oe_runconf
|
||||
}
|
||||
|
||||
do_stage () {
|
||||
oe_libinstall -so -a -C opcodes libopcodes ${STAGING_LIBDIR}/
|
||||
oe_libinstall -a -C libiberty libiberty ${STAGING_LIBDIR}/
|
||||
oe_libinstall -so -a -C bfd libbfd ${STAGING_LIBDIR}/
|
||||
install -m 0644 ${S}/include/dis-asm.h ${STAGING_INCDIR}/
|
||||
install -m 0644 ${S}/include/symcat.h ${STAGING_INCDIR}/
|
||||
install -m 0644 ${S}/include/libiberty.h ${STAGING_INCDIR}/
|
||||
install -m 0644 ${S}/include/ansidecl.h ${STAGING_INCDIR}/
|
||||
install -m 0644 ${S}/include/bfdlink.h ${STAGING_INCDIR}/
|
||||
install -m 0644 bfd/bfd.h ${STAGING_INCDIR}/
|
||||
}
|
||||
|
||||
do_install () {
|
||||
autotools_do_install
|
||||
|
||||
# We don't really need these, so we'll remove them...
|
||||
rm -rf ${D}${libdir}/ldscripts
|
||||
|
||||
# Fix the /usr/${TARGET_SYS}/bin/* links
|
||||
for l in ${D}${prefix}/${TARGET_SYS}/bin/*; do
|
||||
rm -f $l
|
||||
ln -sf `echo ${prefix}/${TARGET_SYS}/bin \
|
||||
| tr -s / \
|
||||
| sed -e 's,^/,,' -e 's,[^/]*,..,g'`${bindir}/${TARGET_PREFIX}`basename $l` $l
|
||||
done
|
||||
|
||||
# Install the libiberty header
|
||||
install -d ${D}${includedir}
|
||||
install -m 644 ${S}/include/ansidecl.h ${D}${includedir}
|
||||
install -m 644 ${S}/include/libiberty.h ${D}${includedir}
|
||||
|
||||
cd ${D}${bindir}
|
||||
|
||||
# Symlinks for ease of running these on the native target
|
||||
for p in ${TARGET_SYS}-* ; do
|
||||
ln -sf $p `echo $p | sed -e s,${TARGET_SYS}-,,`
|
||||
done
|
||||
}
|
||||
32
meta/packages/gcc/gcc-cross-initial_csl-arm-2006q1.bb
Normal file
32
meta/packages/gcc/gcc-cross-initial_csl-arm-2006q1.bb
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
require gcc-cross_${PV}.bb
|
||||
|
||||
DEPENDS = "virtual/${TARGET_PREFIX}binutils"
|
||||
DEPENDS += "${@['virtual/${TARGET_PREFIX}libc-initial',''][bb.data.getVar('TARGET_ARCH', d, 1) in ['arm', 'armeb', 'mips', 'mipsel']]}"
|
||||
PROVIDES = "virtual/${TARGET_PREFIX}gcc-initial"
|
||||
PACKAGES = ""
|
||||
|
||||
S = "${WORKDIR}/gcc-2006q1"
|
||||
|
||||
# This is intended to be a -very- basic config
|
||||
EXTRA_OECONF = "--with-local-prefix=${CROSS_DIR}/${TARGET_SYS} \
|
||||
--with-newlib \
|
||||
--disable-shared \
|
||||
--disable-threads \
|
||||
--disable-multilib \
|
||||
--disable-__cxa_atexit \
|
||||
--disable-libmudflap \
|
||||
--disable-libssp \
|
||||
--enable-languages=c \
|
||||
--enable-target-optspace \
|
||||
--program-prefix=${TARGET_PREFIX} \
|
||||
${@get_gcc_fpu_setting(bb, d)}"
|
||||
|
||||
do_stage_prepend () {
|
||||
mkdir -p ${CROSS_DIR}/lib/gcc/${TARGET_SYS}/${BINV}
|
||||
ln -sf libgcc.a ${CROSS_DIR}/lib/gcc/${TARGET_SYS}/${BINV}/libgcc_eh.a
|
||||
}
|
||||
|
||||
# Override the method from gcc-cross so we don't try to install libgcc
|
||||
do_install () {
|
||||
oe_runmake 'DESTDIR=${D}' install
|
||||
}
|
||||
19
meta/packages/gcc/gcc-cross_csl-arm-2006q1.bb
Normal file
19
meta/packages/gcc/gcc-cross_csl-arm-2006q1.bb
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
require gcc_csl-arm-2006q1.bb
|
||||
# path mangling, needed by the cross packaging
|
||||
require gcc-paths-cross.inc
|
||||
inherit cross
|
||||
# NOTE: split PR. If the main .oe changes something that affects its *build*
|
||||
# remember to increment this one too.
|
||||
PR = "r0"
|
||||
|
||||
DEPENDS = "virtual/${TARGET_PREFIX}binutils virtual/${TARGET_PREFIX}libc-for-gcc"
|
||||
# gmp-native mpfr-native"
|
||||
|
||||
PROVIDES = "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}g++"
|
||||
|
||||
# cross build
|
||||
require gcc4-build-cross.inc
|
||||
# cross packaging
|
||||
require gcc-package-cross-no-fortran.inc
|
||||
|
||||
S = "${WORKDIR}/gcc-2006q1"
|
||||
1075
meta/packages/gcc/gcc-csl-arm/gcc-configure-no-fortran.patch
Normal file
1075
meta/packages/gcc/gcc-csl-arm/gcc-configure-no-fortran.patch
Normal file
File diff suppressed because it is too large
Load Diff
66
meta/packages/gcc/gcc-package-cross-no-fortran.inc
Normal file
66
meta/packages/gcc/gcc-package-cross-no-fortran.inc
Normal file
|
|
@ -0,0 +1,66 @@
|
|||
# Packages emitted by our gcc-cross builds.
|
||||
#
|
||||
INHIBIT_PACKAGE_STRIP ?= ""
|
||||
HAS_G2C ?= "yes"
|
||||
OLD_INHIBIT_PACKAGE_STRIP := "${INHIBIT_PACKAGE_STRIP}"
|
||||
INHIBIT_PACKAGE_STRIP = "1"
|
||||
|
||||
PACKAGES = "libgcc libstdc++ libg2c libg2c-dev"
|
||||
|
||||
PACKAGE_ARCH_libg2c = "${TARGET_ARCH}"
|
||||
PACKAGE_ARCH_libg2c-dev = "${TARGET_ARCH}"
|
||||
|
||||
# Called from within gcc-cross, so libdir is set wrong
|
||||
FILES_libg2c = "${target_libdir}/libg2c.so.*"
|
||||
FILES_libg2c-dev = "${target_libdir}/libg2c.so \
|
||||
${target_libdir}/libg2c.a \
|
||||
${target_libdir}/libfrtbegin.a"
|
||||
|
||||
PACKAGE_ARCH_libgcc = "${TARGET_ARCH}"
|
||||
FILES_libgcc = "${target_base_libdir}/libgcc_s.so.1"
|
||||
|
||||
PACKAGE_ARCH_libstdc++ = "${TARGET_ARCH}"
|
||||
PACKAGE_ARCH_libstdc++-dev = "${TARGET_ARCH}"
|
||||
FILES_libstdc++ = "${target_libdir}/libstdc++.so.*"
|
||||
FILES_libstdc++-dev = "${target_includedir}/c++/${PV} \
|
||||
${target_libdir}/libstdc++.so \
|
||||
${target_libdir}/libstdc++.la \
|
||||
${target_libdir}/libstdc++.a \
|
||||
${target_libdir}/libsupc++.la \
|
||||
${target_libdir}/libsupc++.a"
|
||||
|
||||
python do_package() {
|
||||
if bb.data.getVar('DEBIAN_NAMES', d, 1):
|
||||
bb.data.setVar('PKG_libgcc', 'libgcc1', d)
|
||||
bb.build.exec_func('package_do_package', d)
|
||||
}
|
||||
|
||||
do_install () {
|
||||
oe_runmake 'DESTDIR=${D}' install
|
||||
|
||||
# Move libgcc_s into /lib
|
||||
mkdir -p ${D}${target_base_libdir}
|
||||
if [ -f ${D}${target_base_libdir}/libgcc_s.so.? ]; then
|
||||
# Already in the right location
|
||||
:
|
||||
elif [ -f ${D}${prefix}/lib/libgcc_s.so.? ]; then
|
||||
mv -f ${D}${prefix}/lib/libgcc_s.so.* ${D}${target_base_libdir}
|
||||
else
|
||||
mv -f ${D}${prefix}/*/lib/libgcc_s.so.* ${D}${target_base_libdir}
|
||||
fi
|
||||
|
||||
# Move libstdc++ and libg2c into libdir (resetting our prefix to /usr
|
||||
mkdir -p ${D}${target_libdir}
|
||||
mv -f ${D}${prefix}/*/lib/libstdc++.so.* ${D}${target_libdir}
|
||||
if [ "${HAS_G2C}" = "yes" ]; then
|
||||
mv -f ${D}${prefix}/*/lib/libg2c.so.* ${D}${target_libdir}
|
||||
fi
|
||||
|
||||
# Manually run the target stripper since we won't get it run by
|
||||
# the packaging.
|
||||
if [ "x${OLD_INHIBIT_PACKAGE_STRIP}" != "x1" ]; then
|
||||
${TARGET_PREFIX}strip ${D}${target_libdir}/libstdc++.so.*
|
||||
${TARGET_PREFIX}strip ${D}${target_libdir}/libg2c.so.*
|
||||
${TARGET_PREFIX}strip ${D}${target_base_libdir}/libgcc_s.so.*
|
||||
fi
|
||||
}
|
||||
103
meta/packages/gcc/gcc-package-no-fortran.inc
Normal file
103
meta/packages/gcc/gcc-package-no-fortran.inc
Normal file
|
|
@ -0,0 +1,103 @@
|
|||
gcclibdir ?= "${libdir}/gcc"
|
||||
BINV ?= "${PV}"
|
||||
|
||||
# libgcc libstdc++ libg2c are listed in our FILES_*, but are actually
|
||||
# packaged in the respective cross packages.
|
||||
PACKAGES = "${PN} ${PN}-symlinks \
|
||||
g++ g++-symlinks \
|
||||
cpp cpp-symlinks \
|
||||
gcov gcov-symlinks \
|
||||
libstdc++-dev libg2c-dev \
|
||||
${PN}-doc"
|
||||
|
||||
FILES_${PN} = "${bindir}/${TARGET_PREFIX}gcc \
|
||||
${bindir}/${TARGET_PREFIX}gccbug \
|
||||
${libexecdir}/gcc/${TARGET_SYS}/${BINV}/cc1 \
|
||||
${libexecdir}/gcc/${TARGET_SYS}/${BINV}/collect2 \
|
||||
${gcclibdir}/${TARGET_SYS}/${BINV}/*.o \
|
||||
${gcclibdir}/${TARGET_SYS}/${BINV}/specs \
|
||||
${gcclibdir}/${TARGET_SYS}/${BINV}/lib* \
|
||||
${gcclibdir}/${TARGET_SYS}/${BINV}/include"
|
||||
FILES_${PN}-symlinks = "${bindir}/cc \
|
||||
${bindir}/gcc \
|
||||
${bindir}/gccbug"
|
||||
|
||||
FILES_cpp = "${bindir}/${TARGET_PREFIX}cpp \
|
||||
${base_libdir}/cpp"
|
||||
FILES_cpp-symlinks = "${bindir}/cpp"
|
||||
|
||||
FILES_gcov = "${bindir}/${TARGET_PREFIX}gcov"
|
||||
FILES_gcov-symlinks = "${bindir}/gcov"
|
||||
|
||||
PACKAGE_ARCH_libg2c-dev = "${TARGET_ARCH}"
|
||||
# Called from within gcc-cross, so libdir is set wrong
|
||||
FILES_libg2c-dev = "${libdir}/libg2c.so \
|
||||
${libdir}/libg2c.a \
|
||||
${libdir}/libfrtbegin.a"
|
||||
|
||||
FILES_g++ = "${bindir}/${TARGET_PREFIX}g++ \
|
||||
${libexecdir}/gcc/${TARGET_SYS}/${BINV}/cc1plus"
|
||||
FILES_g++-symlinks = "${bindir}/c++ \
|
||||
${bindir}/g++"
|
||||
|
||||
PACKAGE_ARCH_libstdc++-dev = "${TARGET_ARCH}"
|
||||
FILES_libstdc++-dev = "${includedir}/c++/${BINV} \
|
||||
${libdir}/libstdc++.so \
|
||||
${libdir}/libstdc++.la \
|
||||
${libdir}/libstdc++.a \
|
||||
${libdir}/libsupc++.la \
|
||||
${libdir}/libsupc++.a"
|
||||
|
||||
FILES_${PN}-doc = "${infodir} \
|
||||
${mandir} \
|
||||
${gcclibdir}/${TARGET_SYS}/${BINV}/include/README"
|
||||
|
||||
|
||||
do_install () {
|
||||
autotools_do_install
|
||||
|
||||
# Cleanup some of the ${libdir}{,exec}/gcc stuff ...
|
||||
rm -r ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/install-tools
|
||||
rm -r ${D}${libexecdir}/gcc/${TARGET_SYS}/${BINV}/install-tools
|
||||
|
||||
# Hack around specs file assumptions
|
||||
sed -i -e '/^*cross_compile:$/ { n; s/1/0/; }' ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/specs &>/dev/null || true
|
||||
|
||||
# Move libgcc_s into /lib
|
||||
mkdir -p ${D}${base_libdir}
|
||||
mv ${D}${libdir}/libgcc_s.so.* ${D}${base_libdir}
|
||||
rm ${D}${libdir}/libgcc_s.so
|
||||
ln -sf `echo ${libdir}/gcc/${TARGET_SYS}/${BINV} \
|
||||
| tr -s / \
|
||||
| sed -e 's,^/,,' -e 's,[^/]*,..,g'`/lib/libgcc_s.so.1 \
|
||||
${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/libgcc_s.so
|
||||
|
||||
# We don't need libtool libraries
|
||||
rm ${D}${libdir}/libg2c.la &>/dev/null || true
|
||||
|
||||
|
||||
# Cleanup manpages..
|
||||
rm -r ${D}${mandir}/man7
|
||||
|
||||
# We use libiberty from binutils
|
||||
rm ${D}${libdir}/libiberty.a
|
||||
|
||||
cd ${D}${bindir}
|
||||
|
||||
# We care about g++ not c++
|
||||
rm *c++
|
||||
|
||||
# We don't care about the gcc-<version> ones for this
|
||||
rm *gcc-?.?*
|
||||
|
||||
# These sometimes show up, they are strange, we remove them
|
||||
rm -f ${TARGET_ARCH}-*${TARGET_ARCH}-*
|
||||
|
||||
# Symlinks so we can use these trivially on the target
|
||||
ln -sf ${TARGET_SYS}-g++ g++
|
||||
ln -sf ${TARGET_SYS}-gcc gcc
|
||||
ln -sf g++ c++
|
||||
ln -sf gcc cc
|
||||
ln -sf ${bindir}/${TARGET_SYS}-cpp ${D}${base_libdir}/cpp
|
||||
ln -sf ${bindir}/${TARGET_SYS}-cpp ${D}${bindir}/cpp
|
||||
}
|
||||
6
meta/packages/gcc/gcc4-build-cross.inc
Normal file
6
meta/packages/gcc/gcc4-build-cross.inc
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
FORTRAN = "f95"
|
||||
HAS_GFORTRAN = "yes"
|
||||
HAS_G2C = "no"
|
||||
|
||||
include gcc3-build-cross.inc
|
||||
|
||||
|
|
@ -1,6 +1,100 @@
|
|||
FORTRAN = "f95"
|
||||
HAS_GFORTRAN = "yes"
|
||||
HAS_GFORTRAN = "no"
|
||||
HAS_G2C = "no"
|
||||
|
||||
include gcc3-build.inc
|
||||
MIRRORS_prepend () {
|
||||
${GNU_MIRROR}/gcc/releases/ ftp://gcc.gnu.org/pub/gcc/releases/
|
||||
${GNU_MIRROR}/gcc/ http://mirrors.rcn.net/pub/sourceware/gcc/releases/
|
||||
${GNU_MIRROR}/gcc/releases/ http://gcc.get-software.com/releases/
|
||||
${GNU_MIRROR}/gcc/ http://gcc.get-software.com/releases/
|
||||
}
|
||||
|
||||
gcclibdir ?= "${libdir}/gcc"
|
||||
S = "${WORKDIR}/gcc-${PV}"
|
||||
B = "${S}/build.${HOST_SYS}.${TARGET_SYS}"
|
||||
BINV ?= "${PV}"
|
||||
|
||||
# gcj doesn't work on some architectures
|
||||
JAVA = ",java"
|
||||
JAVA_arm = ""
|
||||
JAVA_armeb = ""
|
||||
JAVA_mipsel = ""
|
||||
JAVA_sh3 = ""
|
||||
# gcc4-build sets this to f95
|
||||
#FORTRAN ?= "f77"
|
||||
#LANGUAGES ?= "c,c++,${JAVA}"
|
||||
LANGUAGES ?= "c,c++,${JAVA}"
|
||||
|
||||
EXTRA_OECONF = "${@['--enable-clocale=generic', ''][bb.data.getVar('USE_NLS', d, 1) != 'no']} \
|
||||
--with-gnu-ld \
|
||||
--enable-shared \
|
||||
--enable-target-optspace \
|
||||
--enable-languages=${LANGUAGES} \
|
||||
--enable-threads=posix \
|
||||
--enable-multilib \
|
||||
--enable-c99 \
|
||||
--enable-long-long \
|
||||
--enable-symvers=gnu \
|
||||
--enable-libstdcxx-pch \
|
||||
--program-prefix=${TARGET_PREFIX} \
|
||||
${EXTRA_OECONF_PATHS} \
|
||||
${EXTRA_OECONF_DEP}"
|
||||
|
||||
EXTRA_OECONF_PATHS = " \
|
||||
--with-local-prefix=${prefix}/local \
|
||||
--with-gxx-include-dir=${includedir}/c++/${BINV}"
|
||||
|
||||
EXTRA_OECONF_DEP = ""
|
||||
EXTRA_OECONF_uclibc = "--disable-__cxa_atexit"
|
||||
EXTRA_OECONF_glibc = "--enable-__cxa_atexit"
|
||||
EXTRA_OECONF += "${@get_gcc_fpu_setting(bb, d)}"
|
||||
CPPFLAGS = ""
|
||||
|
||||
# Used by configure to define additional values for FLAGS_FOR_TARGET -
|
||||
# passed to all the compilers.
|
||||
ARCH_FLAGS_FOR_TARGET = ""
|
||||
#NOTE: not tested on other platforms, the following is probably correct
|
||||
# everywhere!
|
||||
ARCH_FLAGS_FOR_TARGET_slugos = "${TARGET_CC_ARCH}"
|
||||
ARCH_FLAGS_FOR_TARGET_unslung = "${TARGET_CC_ARCH}"
|
||||
EXTRA_OEMAKE += "ARCH_FLAGS_FOR_TARGET='${ARCH_FLAGS_FOR_TARGET}'"
|
||||
|
||||
def get_gcc_fpu_setting(bb, d):
|
||||
if bb.data.getVar('TARGET_FPU', d, 1) in [ 'soft' ]:
|
||||
return "--with-float=soft"
|
||||
return ""
|
||||
|
||||
python __anonymous () {
|
||||
import bb, re
|
||||
if (re.match('linux-uclibc$', bb.data.getVar('TARGET_OS', d, 1)) != None):
|
||||
bb.data.setVar('EXTRA_OECONF_DEP', '${EXTRA_OECONF_uclibc}', d)
|
||||
elif (re.match('linux$', bb.data.getVar('TARGET_OS', d, 1)) != None):
|
||||
bb.data.setVar('EXTRA_OECONF_DEP', '${EXTRA_OECONF_glibc}', d)
|
||||
}
|
||||
|
||||
do_configure () {
|
||||
# Setup these vars for cross building only
|
||||
# ... because foo_FOR_TARGET apparently gets misinterpreted inside the
|
||||
# gcc build stuff when the build is producing a cross compiler - i.e.
|
||||
# when the 'current' target is the 'host' system, and the host is not
|
||||
# the target (because the build is actually making a cross compiler!)
|
||||
if [ "${BUILD_SYS}" != "${HOST_SYS}" ]; then
|
||||
export CC_FOR_TARGET="${CC}"
|
||||
export GCC_FOR_TARGET="${CC}"
|
||||
export CXX_FOR_TARGET="${CXX}"
|
||||
export AS_FOR_TARGET="${HOST_PREFIX}as"
|
||||
export LD_FOR_TARGET="${HOST_PREFIX}ld"
|
||||
export NM_FOR_TARGET="${HOST_PREFIX}nm"
|
||||
export AR_FOR_TARGET="${HOST_PREFIX}ar"
|
||||
export RANLIB_FOR_TARGET="${HOST_PREFIX}ranlib"
|
||||
fi
|
||||
export CC_FOR_BUILD="${BUILD_CC}"
|
||||
export CXX_FOR_BUILD="${BUILD_CXX}"
|
||||
export CFLAGS_FOR_BUILD="${BUILD_CFLAGS}"
|
||||
export CPPFLAGS_FOR_BUILD="${BUILD_CPPFLAGS}"
|
||||
export CXXFLAGS_FOR_BUILD="${BUILD_CXXFLAGS}"
|
||||
export LDFLAGS_FOR_BUILD="${BUILD_LDFLAGS}"
|
||||
export ARCH_FLAGS_FOR_TARGET="${ARCH_FLAGS_FOR_TARGET}"
|
||||
(cd ${S} && gnu-configize) || die "failure running gnu-configize"
|
||||
oe_runconf
|
||||
}
|
||||
|
||||
|
|
|
|||
30
meta/packages/gcc/gcc_csl-arm-2006q1.bb
Normal file
30
meta/packages/gcc/gcc_csl-arm-2006q1.bb
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
DESCRIPTION = "The GNU cc and gcc C compilers."
|
||||
HOMEPAGE = "http://www.gnu.org/software/gcc/"
|
||||
SECTION = "devel"
|
||||
LICENSE = "GPL"
|
||||
BINV = "4.1.0"
|
||||
PV = "4.1.0+csl-arm-2006q1-6"
|
||||
PR = "r1"
|
||||
|
||||
FILESDIR = "${FILE_DIRNAME}/gcc-csl-arm"
|
||||
|
||||
inherit autotools gettext
|
||||
|
||||
require gcc-package-no-fortran.inc
|
||||
|
||||
SRC_URI = "http://www.codesourcery.com/public/gnu_toolchain/arm-none-eabi/arm-2006q1-6-arm-none-eabi.src.tar.bz2 \
|
||||
file://gcc-configure-no-fortran.patch;patch=1;pnum=1"
|
||||
|
||||
#the optabi patch is already applied
|
||||
|
||||
do_unpack2() {
|
||||
cd ${WORKDIR}
|
||||
pwd
|
||||
tar -xvjf ./arm-2006q1-6-arm-none-eabi/gcc-2006q1-6.tar.bz2
|
||||
}
|
||||
|
||||
addtask unpack2 after do_unpack before do_patch
|
||||
|
||||
require gcc4-build.inc
|
||||
|
||||
S = "${WORKDIR}/gcc-2006q1"
|
||||
Loading…
Reference in New Issue
Block a user