diff options
author | Marc Kleine-Budde <mkl@pengutronix.de> | 2008-10-13 09:38:47 +0000 |
---|---|---|
committer | Marc Kleine-Budde <mkl@pengutronix.de> | 2008-10-13 09:38:47 +0000 |
commit | ef7a515140bb16527e8fcf628c2440fe029d2a03 (patch) | |
tree | ec441f7d4c4b13b4e6798e9e24dbc7b35dd0a101 | |
parent | 642d7e034e97dda79db4fd6bdb1f43de838adfcd (diff) | |
download | OSELAS.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.make | 9 | ||||
-rw-r--r-- | rules/cross-gcc-first.make | 4 | ||||
-rw-r--r-- | rules/cross-gcc.in | 55 | ||||
-rw-r--r-- | rules/cross-gcc.make | 24 | ||||
-rw-r--r-- | rules/cross-gdb.make | 7 | ||||
-rw-r--r-- | rules/glibc.in | 12 | ||||
-rw-r--r-- | rules/libc.in | 32 | ||||
-rw-r--r-- | rules/pre/toolchain.make | 16 |
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)) |