summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarc Kleine-Budde <mkl@pengutronix.de>2008-10-13 09:38:47 +0000
committerMarc Kleine-Budde <mkl@pengutronix.de>2008-10-13 09:38:47 +0000
commitef7a515140bb16527e8fcf628c2440fe029d2a03 (patch)
treeec441f7d4c4b13b4e6798e9e24dbc7b35dd0a101
parent642d7e034e97dda79db4fd6bdb1f43de838adfcd (diff)
downloadOSELAS.Toolchain-ef7a515140bb16527e8fcf628c2440fe029d2a03.tar.gz
OSELAS.Toolchain-ef7a515140bb16527e8fcf628c2440fe029d2a03.tar.xz
* rules/cross-gcc-first.make, rules/glibc.in, rules/pre/toolchain.make, rules/cross-gcc.in, rules/cross-binutils.make, rules/cross-gdb.make, rules/cross-gcc.make, rules/libc.in:
make more stuff configurable via selects git-svn-id: https://svn.pengutronix.de/svn/oselas/toolchain/trunks/OSELAS.Toolchain-trunk@7761 f8d472c7-5700-0410-ac5a-87979cec3adf
-rw-r--r--rules/cross-binutils.make9
-rw-r--r--rules/cross-gcc-first.make4
-rw-r--r--rules/cross-gcc.in55
-rw-r--r--rules/cross-gcc.make24
-rw-r--r--rules/cross-gdb.make7
-rw-r--r--rules/glibc.in12
-rw-r--r--rules/libc.in32
-rw-r--r--rules/pre/toolchain.make16
8 files changed, 105 insertions, 54 deletions
diff --git a/rules/cross-binutils.make b/rules/cross-binutils.make
index 2f94eae..f229186 100644
--- a/rules/cross-binutils.make
+++ b/rules/cross-binutils.make
@@ -62,12 +62,9 @@ CROSS_BINUTILS_AUTOCONF := \
--prefix=$(PTXCONF_SYSROOT_CROSS) \
--target=$(PTXCONF_GNU_TARGET) \
--disable-werror \
- --disable-nls
-
-# for all other architecture than AVR a sysroot is required
-ifndef PTXCONF_ARCH_AVR
-CROSS_BINUTILS_AUTOCONF += --with-sysroot=$(SYSROOT)
-endif
+ --disable-nls \
+ \
+ $(PTXCONF_GENERIC_CONFIG_SYSROOT)
$(STATEDIR)/cross-binutils.prepare:
@$(call targetinfo)
diff --git a/rules/cross-gcc-first.make b/rules/cross-gcc-first.make
index 1d890e2..b6f6533 100644
--- a/rules/cross-gcc-first.make
+++ b/rules/cross-gcc-first.make
@@ -94,10 +94,6 @@ $(STATEDIR)/cross-gcc-first.install:
-print-libgcc-file-name | \
sed 's/libgcc/&_s/'`
-#ifdef PTXCONF_CROSS_GCC_43
-# # FIXME - fix copy target
-# cp $(CROSS_GCC_FIRST_BUILDDIR)/gcc/include-fixed/limits.h $(SYSROOT)/usr/include/limits.h
-#endif
@$(call touch)
# ----------------------------------------------------------------------------
diff --git a/rules/cross-gcc.in b/rules/cross-gcc.in
index c8e89db..e29f776 100644
--- a/rules/cross-gcc.in
+++ b/rules/cross-gcc.in
@@ -15,13 +15,14 @@ if CROSS_GCC
config CROSS_GCC_VERSION
string
prompt "gcc version"
- default "4.2.4"
+ default "4.3.2"
help
Specify the version of gcc here.
config CROSS_GCC_43
bool
prompt "additional deps for gcc >= 4.3"
+ default y
help
Add new dependencies for gcc >= 4.3: "GMP" and "MPFR"
@@ -30,7 +31,7 @@ config CROSS_GCC_SERIES
default "series"
prompt "gcc patch series file"
-config CROSS_GCC_EXTRA_CONFIG
+config CROSS_GCC_CONFIG_EXTRA
string
prompt "extra configure options"
help
@@ -74,44 +75,72 @@ endif
###
### --with-newlib
###
-config CROSS_GCC_EXTRA_CONFIG_LIBC
+config CROSS_GCC_CONFIG_LIBC
string
- default "--with-newlib" if LIBC_NEWLIB
+ default "--with-newlib" if LIBC_NEWLIB
###
-### ___cxa_atexit
+### __cxa_atexit
###
config CROSS_GCC_ENABLE_CXA_ATEXIT
bool
+ default !CROSS_GCC_DISABLE_CXA_ATEXIT
+
+config CROSS_GCC_DISABLE_CXA_ATEXIT
+ bool
-config CROSS_GCC_EXTRA_CONFIG_CXA_ATEXIT
+config CROSS_GCC_CONFIG_CXA_ATEXIT
string
default "--enable-__cxa_atexit" if CROSS_GCC_ENABLE_CXA_ATEXIT
- default "--disable-__cxa_atexit" if !CROSS_GCC_ENABLE_CXA_ATEXIT
+ default "--disable-__cxa_atexit" if CROSS_GCC_DISABLE_CXA_ATEXIT
###
-### ___sjlj_exceptions
+### sjlj-exceptions
###
+config CROSS_GCC_ENABLE_SJLJ_EXCEPTIONS
+ bool
+
config CROSS_GCC_DISABLE_SJLJ_EXCEPTIONS
bool
+ default !CROSS_GCC_ENABLE_SJLJ_EXCEPTIONS
-config CROSS_GCC_EXTRA_CONFIG_SJLJ_EXCEPTIONS
+config CROSS_GCC_CONFIG_SJLJ_EXCEPTIONS
string
+ default "--enable-sjlj-exceptions" if CROSS_GCC_ENABLE_SJLJ_EXCEPTIONS
default "--disable-sjlj-exceptions" if CROSS_GCC_DISABLE_SJLJ_EXCEPTIONS
+###
+### libssp
+###
+config CROSS_GCC_ENABLE_LIBSSP
+ bool
+ default !CROSS_GCC_DISABLE_LIBSSP
+
+config CROSS_GCC_DISABLE_LIBSSP
+ bool
+
+config CROSS_GCC_CONFIG_LIBSSP
+ string
+ default "--enable-libssp" if CROSS_GCC_ENABLE_LIBSSP
+ default "--disable-libssp" if CROSS_GCC_DISABLE_LIBSSP
+
###
### shared
###
-config CROSS_GCC_SHARED
+config CROSS_GCC_ENABLE_SHARED
+ bool
+ default !CROSS_GCC_DISABLE_SHARED
+
+config CROSS_GCC_DISABLE_SHARED
bool
-config CROSS_GCC_EXTRA_CONFIG_SHARED
+config CROSS_GCC_CONFIG_SHARED
string
- default "--enable-shared" if CROSS_GCC_SHARED
- default "--disable-shared" if !CROSS_GCC_SHARED
+ default "--enable-shared" if CROSS_GCC_ENABLE_SHARED
+ default "--disable-shared" if CROSS_GCC_DISABLE_SHARED
###
diff --git a/rules/cross-gcc.make b/rules/cross-gcc.make
index f1b11b0..8cb8a8b 100644
--- a/rules/cross-gcc.make
+++ b/rules/cross-gcc.make
@@ -63,10 +63,13 @@ CROSS_GCC_ENV := $(HOSTCC_ENV)
#
CROSS_GCC_AUTOCONF_COMMON := \
--target=$(PTXCONF_GNU_TARGET) \
- $(PTXCONF_CROSS_GCC_EXTRA_CONFIG) \
- $(PTXCONF_CROSS_GCC_EXTRA_CONFIG_LIBC) \
- $(PTXCONF_CROSS_GCC_EXTRA_CONFIG_CXA_ATEXIT) \
- $(PTXCONF_CROSS_GCC_EXTRA_CONFIG_SJLJ_EXCEPTIONS) \
+ \
+ $(PTXCONF_GENERIC_CONFIG_SYSROOT) \
+ $(PTXCONF_GENERIC_CONFIG_MULTILIB) \
+ $(PTXCONF_CROSS_GCC_CONFIG_EXTRA) \
+ $(PTXCONF_CROSS_GCC_CONFIG_LIBC) \
+ $(PTXCONF_CROSS_GCC_CONFIG_CXA_ATEXIT) \
+ $(PTXCONF_CROSS_GCC_CONFIG_SJLJ_EXCEPTIONS) \
\
--disable-nls \
--disable-decimal-float \
@@ -85,16 +88,6 @@ ifdef PTXCONF_HOST_MPFR
CROSS_GCC_AUTOCONF_COMMON += --with-mpfr=$(PTXCONF_SYSROOT_HOST)
endif
-#
-# for other architectures than AVR its not usefull to have multilib,
-# but we need a sysroot for them
-#
-ifndef PTXCONF_ARCH_AVR
-CROSS_GCC_AUTOCONF_COMMON += \
- --disable-multilib \
- --with-sysroot=$(SYSROOT)
-endif
-
# --enable-tls enable or disable generation of tls code
# overriding the assembler check for tls support
# --enable-initfini-array use .init_array/.fini_array sections
@@ -124,7 +117,8 @@ CROSS_GCC_AUTOCONF := \
--enable-profile \
--enable-checking=release \
\
- $(PTXCONF_CROSS_GCC_EXTRA_CONFIG_SHARED)
+ $(PTXCONF_CROSS_GCC_CONFIG_SHARED) \
+ $(PTXCONF_CROSS_GCC_CONFIG_LIBSSP)
$(STATEDIR)/cross-gcc.prepare:
@$(call targetinfo)
diff --git a/rules/cross-gdb.make b/rules/cross-gdb.make
index ff0989b..023ab12 100644
--- a/rules/cross-gdb.make
+++ b/rules/cross-gdb.make
@@ -58,15 +58,12 @@ CROSS_GDB_AUTOCONF := \
--build=$(GNU_HOST) \
--host=$(GNU_HOST) \
--target=$(PTXCONF_GNU_TARGET) \
+ $(PTXCONF_GENERIC_CONFIG_SYSROOT) \
+ \
--disable-werror \
--enable-tui
# --enable-gdbtk
-# for other architectures than AVR a sysroot is required
-ifndef PTXCONF_ARCH_AVR
-CROSS_GDB_AUTOCONF += --with-sysroot=$(SYSROOT)
-endif
-
$(STATEDIR)/cross-gdb.prepare:
@$(call targetinfo)
@$(call clean, $(CROSS_GDB_DIR)/config.cache)
diff --git a/rules/glibc.in b/rules/glibc.in
index ad4d206..1a7db58 100644
--- a/rules/glibc.in
+++ b/rules/glibc.in
@@ -14,15 +14,21 @@ config GLIBC_FIRST
menuconfig GLIBC
bool
+
select GLIBC_CRT
select GLIBC_PORTS if GLIBC_ADDON_NPTL && ( ARCH_ARM || ARCH_MIPS )
select GLIBC_LINUXTHREADS if GLIBC_ADDON_LINUXTHREADS
+ select GENERIC_SYSROOT
+ select GENERIC_DISABLE_MULTILIB
+
select CROSS_GCC
- select CROSS_GCC_SHARED
- select CROSS_GCC_THREADS_POSIX
select CROSS_GCC_ENABLE_CXA_ATEXIT
select CROSS_GCC_DISABLE_SJLJ_EXCEPTIONS
+ select CROSS_GCC_ENABLE_LIBSSP
+ select CROSS_GCC_ENABLE_SHARED
+ select CROSS_GCC_THREADS_POSIX
+
prompt "glibc "
config GLIBC_VERSION
@@ -57,7 +63,7 @@ config GLIBC_ENABLE_KERNEL
prompt "mininum kernel version"
default "2.6.23"
-config GLIBC_EXTRA_CONFIG
+config GLIBC_CONFIG_EXTRA
depends on GLIBC
string
prompt "extra configure options"
diff --git a/rules/libc.in b/rules/libc.in
index 47b5644..f084b65 100644
--- a/rules/libc.in
+++ b/rules/libc.in
@@ -1,6 +1,3 @@
-config LIBC_KERNEL_HEADERS
- bool
-
config LIBC_HEADERS
bool
select GLIBC_HEADERS if LIBC_GLIBC
@@ -53,3 +50,32 @@ choice
microcontrollers (harvard architecture)
endchoice
+
+
+#
+# sysroot support
+#
+config GENERIC_SYSROOT
+ bool
+
+config GENERIC_CONFIG_SYSROOT
+ string
+ default "--with-sysroot=${SYSROOT}" if GENERIC_SYSROOT
+
+
+#
+# multilib support
+#
+config GENERIC_ENABLE_MULTILIB
+ bool
+
+config GENERIC_DISABLE_MULTILIB
+ bool
+ default !GENERIC_ENABLE_MULTILIB
+
+config GENERIC_CONFIG_MULTILIB
+ string
+ default "--enable-multilib" if GENERIC_ENABLE_MULTILIB
+ default "--disable-multilib" if GENERIC_DISABLE_MULTILIB
+
+
diff --git a/rules/pre/toolchain.make b/rules/pre/toolchain.make
index cc85c29..bf68c89 100644
--- a/rules/pre/toolchain.make
+++ b/rules/pre/toolchain.make
@@ -1,12 +1,18 @@
# -*-makefile-*-
+PTXCONF_GENERIC_CONFIG_SYSROOT := $(call remove_quotes, $(PTXCONF_GENERIC_CONFIG_SYSROOT))
+PTXCONF_GENERIC_CONFIG_MULTILIB := $(call remove_quotes, $(PTXCONF_GENERIC_CONFIG_MULTILIB))
+
PTXCONF_GLIBC_HEADERS_FAKE_CROSS := $(call remove_quotes, $(PTXCONF_GLIBC_HEADERS_FAKE_CROSS))
-PTXCONF_GLIBC_EXTRA_CONFIG := $(call remove_quotes, $(PTXCONF_GLIBC_EXTRA_CONFIG))
+PTXCONF_GLIBC_CONFIG_EXTRA := $(call remove_quotes, $(PTXCONF_GLIBC_CONFIG_EXTRA))
+
+PTXCONF_CROSS_GCC_CONFIG_EXTRA := $(call remove_quotes, $(PTXCONF_CROSS_GCC_CONFIG_EXTRA))
+PTXCONF_CROSS_GCC_CONFIG_LIBC := $(call remove_quotes, $(PTXCONF_CROSS_GCC_CONFIG_LIBC))
+PTXCONF_CROSS_GCC_CONFIG_CXA_ATEXIT := $(call remove_quotes, $(PTXCONF_CROSS_GCC_CONFIG_CXA_ATEXIT))
+PTXCONF_CROSS_GCC_CONFIG_SJLJ_EXCEPTIONS := $(call remove_quotes, $(PTXCONF_CROSS_GCC_CONFIG_SJLJ_EXCEPTIONS))
+PTXCONF_CROSS_GCC_CONFIG_LIBSSP := $(call remove_quotes, $(PTXCONF_CROSS_GCC_CONFIG_LIBSSP))
+PTXCONF_CROSS_GCC_CONFIG_SHARED := $(call remove_quotes, $(PTXCONF_CROSS_GCC_CONFIG_SHARED))
-PTXCONF_CROSS_GCC_EXTRA_CONFIG := $(call remove_quotes, $(PTXCONF_CROSS_GCC_EXTRA_CONFIG))
-PTXCONF_CROSS_GCC_EXTRA_CONFIG_LIBC := $(call remove_quotes, $(PTXCONF_CROSS_GCC_EXTRA_CONFIG_LIBC))
-PTXCONF_CROSS_GCC_EXTRA_CONFIG_CXA_ATEXIT := $(call remove_quotes, $(PTXCONF_CROSS_GCC_EXTRA_CONFIG_CXA_ATEXIT))
-PTXCONF_CROSS_GCC_EXTRA_CONFIG_SHARED := $(call remove_quotes, $(PTXCONF_CROSS_GCC_EXTRA_CONFIG_SHARED))
PTXCONF_ARCH := $(call remove_quotes, $(PTXCONF_ARCH))