All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATH 00/10] toolchain/crosstool-NG: fixes before release, v2
@ 2010-11-27 20:50 Yann E. MORIN
  2010-11-27 20:50 ` [Buildroot] [PATCH 01/10] toolchain/crosstool-NG: add dependencies on host- tools Yann E. MORIN
                   ` (10 more replies)
  0 siblings, 11 replies; 13+ messages in thread
From: Yann E. MORIN @ 2010-11-27 20:50 UTC (permalink / raw)
  To: buildroot

Hello All!

This patch series enables building on a minimalistic host (patch 1, tested in
the same mini-environemnt as Thomas), adds some infrastructure (patches 2-5)
to be able to push Buildroot options down to uClibc's config (patches 6-10).

Changes since v1:
- use order-only dependencies on host tools

 [PATCH 01/10] toolchain/crosstool-NG: add dependencies on host- tools
 [PATCH 02/10] toolchain/crosstool-NG: reorder sed expressions
 [PATCH 03/10] toolchain/crosstool-NG: use a copy of the uClibc .config
 [PATCH 04/10] toolchain/crosstool-NG: move munging functions
 [PATCH 05/10] toolchain/crosstool-NG: add C library config munging
 [PATCH 06/10] toolchain/crosstool-NG: use wide-char option
 [PATCH 07/10] toolchain/crosstool-NG: use locales option
 [PATCH 08/10] toolchain/crosstool-NG: use LFS option
 [PATCH 09/10] toolchain/crosstool-NG: use IPv6 option
 [PATCH 10/10] toolchain/crosstool-NG: use RPC option

 toolchain/toolchain-crosstool-ng/001-no-cvs.patch |   15 ++
 toolchain/toolchain-crosstool-ng/crosstool-ng.mk  |  146 ++++++++++++++++-----
 2 files changed, 127 insertions(+), 34 deletions(-)

Regards,
Yann E. MORIN.

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Buildroot] [PATCH 01/10] toolchain/crosstool-NG: add dependencies on host- tools
  2010-11-27 20:50 [Buildroot] [PATH 00/10] toolchain/crosstool-NG: fixes before release, v2 Yann E. MORIN
@ 2010-11-27 20:50 ` Yann E. MORIN
  2010-11-27 20:50 ` [Buildroot] [PATCH 02/10] toolchain/crosstool-NG: reorder sed expressions Yann E. MORIN
                   ` (9 subsequent siblings)
  10 siblings, 0 replies; 13+ messages in thread
From: Yann E. MORIN @ 2010-11-27 20:50 UTC (permalink / raw)
  To: buildroot

Depends on:
- GNU awk       --> host-gawk
- GNU automake  --> host-automake

Remove dependency on 'cvs'. cvs is used to retrieve newlib,
which is not supported under Buildroot.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
---
 toolchain/toolchain-crosstool-ng/001-no-cvs.patch |   15 +++++++++++++++
 toolchain/toolchain-crosstool-ng/crosstool-ng.mk  |   10 +++++++++-
 2 files changed, 24 insertions(+), 1 deletions(-)
 create mode 100644 toolchain/toolchain-crosstool-ng/001-no-cvs.patch

diff --git a/toolchain/toolchain-crosstool-ng/001-no-cvs.patch b/toolchain/toolchain-crosstool-ng/001-no-cvs.patch
new file mode 100644
index 0000000..fd805d3
--- /dev/null
+++ b/toolchain/toolchain-crosstool-ng/001-no-cvs.patch
@@ -0,0 +1,15 @@
+Remove dependency on cvs.
+
+cvs is used to retrieve newlib, which is not supported
+under Buildroot, so cvs is not required.
+
+--- crosstool-ng-1.8.0/configure.orig	2010-11-27 15:43:52.000000000 +0000
++++ crosstool-ng-1.8.0/configure	2010-11-27 15:44:10.000000000 +0000
+@@ -359,7 +359,6 @@
+              err="'libtool' 1.5.26 or above was not found"
+ has_or_abort prog=stat
+ has_or_abort prog="aria2c curl wget"
+-has_or_abort prog=cvs
+ has_or_abort prog=patch
+ has_or_abort prog=tar
+ has_or_abort prog=gzip
diff --git a/toolchain/toolchain-crosstool-ng/crosstool-ng.mk b/toolchain/toolchain-crosstool-ng/crosstool-ng.mk
index 0812216..9a9f272 100644
--- a/toolchain/toolchain-crosstool-ng/crosstool-ng.mk
+++ b/toolchain/toolchain-crosstool-ng/crosstool-ng.mk
@@ -267,8 +267,16 @@ $(CTNG_DIR)/.patched: $(CTNG_DIR)/.unpacked
 	                              \*.patch.$(ARCH)
 	$(Q)touch $@
 
+# Use order-only dependencies on host-* as they
+# are virtual targets with no rules, and so are
+# considered always remade. But we do not want
+# to reconfigure and rebuild ct-ng every time
+# we need to run it...
+$(CTNG_DIR)/.configured: | host-gawk        \
+                           host-automake
+
 $(CTNG_DIR)/.configured: $(CTNG_DIR)/.patched
-	$(Q)cd $(CTNG_DIR) && ./configure --local
+	$(Q)cd $(CTNG_DIR) && PATH=$(HOST_PATH) ./configure --local
 	$(Q)touch $@
 
 $(CTNG_DIR)/ct-ng: $(CTNG_DIR)/.configured
-- 
1.7.1

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [Buildroot] [PATCH 02/10] toolchain/crosstool-NG: reorder sed expressions
  2010-11-27 20:50 [Buildroot] [PATH 00/10] toolchain/crosstool-NG: fixes before release, v2 Yann E. MORIN
  2010-11-27 20:50 ` [Buildroot] [PATCH 01/10] toolchain/crosstool-NG: add dependencies on host- tools Yann E. MORIN
@ 2010-11-27 20:50 ` Yann E. MORIN
  2010-11-27 20:50 ` [Buildroot] [PATCH 03/10] toolchain/crosstool-NG: use a copy of the uClibc .config Yann E. MORIN
                   ` (8 subsequent siblings)
  10 siblings, 0 replies; 13+ messages in thread
From: Yann E. MORIN @ 2010-11-27 20:50 UTC (permalink / raw)
  To: buildroot

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
---
 toolchain/toolchain-crosstool-ng/crosstool-ng.mk |   20 +++++++++++++++++---
 1 files changed, 17 insertions(+), 3 deletions(-)

diff --git a/toolchain/toolchain-crosstool-ng/crosstool-ng.mk b/toolchain/toolchain-crosstool-ng/crosstool-ng.mk
index 9a9f272..4040dcd 100644
--- a/toolchain/toolchain-crosstool-ng/crosstool-ng.mk
+++ b/toolchain/toolchain-crosstool-ng/crosstool-ng.mk
@@ -85,6 +85,15 @@ $(STAMP_DIR)/ct-ng-toolchain-built: $(CTNG_DIR)/.config
 #-----------------------------------------------------------------------------
 # Configuring the toolchain
 
+#--------------
+# We push BR options down to CT-NG, munging the default configuration
+# with sed expressions.
+# - first one for non-path options
+# - second for path options (because they have no prompt, they
+#                            always get set to the default value)
+CTNG_FIX_DOT_CONFIG_SED       :=
+CTNG_FIX_DOT_CONFIG_PATHS_SED :=
+
 # Note: a lot of the following tricks would become unneeded if one day
 # buildroot and crosstool-NG had matching options, especially for the
 # target description: arch name, bitness, endianness...
@@ -151,8 +160,6 @@ endif
 # with BR2 config options.
 # Known missing: arch variant & options, floating point (HW/SW), uClibc/eglibc config...
 #
-
-CTNG_FIX_DOT_CONFIG_SED :=
 CTNG_FIX_DOT_CONFIG_SED += s:^(CT_INSTALL_DIR_RO)=y:\# \1 is not set:;
 CTNG_FIX_DOT_CONFIG_SED += s:^(|\# )(CT_ARCH_[BL]E).*:\# \2 is not set:;
 CTNG_FIX_DOT_CONFIG_SED += s:^\# (CT_ARCH_$(CTNG_ENDIAN)) is not set:\1=y:;
@@ -173,10 +180,12 @@ endif
 
 #--------------
 # And the specials for paths
-CTNG_FIX_DOT_CONFIG_PATHS_SED :=
 CTNG_FIX_DOT_CONFIG_PATHS_SED += s:^(CT_PREFIX_DIR)=.*:\1="$(TOOLCHAIN_DIR)":;
 CTNG_FIX_DOT_CONFIG_PATHS_SED += s:^(CT_LOCAL_TARBALLS_DIR)=.*:\1="$(DL_DIR)":;
 CTNG_FIX_DOT_CONFIG_PATHS_SED += s:^(CT_SYSROOT_DIR_PREFIX)=.*:\1="":;
+
+#--------------
+# uClibc specific options
 ifeq ($(BR2_TOOLCHAIN_CTNG_uClibc),y)
 CTNG_FIX_DOT_CONFIG_PATHS_SED += s:^(CT_LIBC_UCLIBC_CONFIG_FILE)=.*:\1="$(CTNG_UCLIBC_CONFIG_FILE)":;
 endif
@@ -230,9 +239,14 @@ endef
 # Depends on top-level .config because it has options we have to shoe-horn
 # into crosstool-NG's .config
 # Only copy the original .config file if we don't have one already
+# We need to call oldconfig twice in a row to ensure the options
+# are correctly set ( eg. if an option is new, then the initial sed
+# can't do anything about it ) Ideally, this should go in oldconfig
+# itself, but it's much easier to handle here.
 $(CTNG_DIR)/.config: $(CTNG_CONFIG_FILE) $(CTNG_DIR)/ct-ng $(CONFIG_DIR)/.config
 	$(Q)[ -f $@ ] && cp -a $@ $@.timestamp || cp -f $< $@
 	$(call ctng-oldconfig,$@)
+	$(call ctng-oldconfig,$@)
 	$(call ctng-check-config-changed,$@,$@.timestamp)
 	$(Q)rm -f $@.timestamp
 
-- 
1.7.1

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [Buildroot] [PATCH 03/10] toolchain/crosstool-NG: use a copy of the uClibc .config
  2010-11-27 20:50 [Buildroot] [PATH 00/10] toolchain/crosstool-NG: fixes before release, v2 Yann E. MORIN
  2010-11-27 20:50 ` [Buildroot] [PATCH 01/10] toolchain/crosstool-NG: add dependencies on host- tools Yann E. MORIN
  2010-11-27 20:50 ` [Buildroot] [PATCH 02/10] toolchain/crosstool-NG: reorder sed expressions Yann E. MORIN
@ 2010-11-27 20:50 ` Yann E. MORIN
  2010-11-27 20:50 ` [Buildroot] [PATCH 04/10] toolchain/crosstool-NG: move munging functions Yann E. MORIN
                   ` (7 subsequent siblings)
  10 siblings, 0 replies; 13+ messages in thread
From: Yann E. MORIN @ 2010-11-27 20:50 UTC (permalink / raw)
  To: buildroot

Before we can munge the uClibc .config file, we have to use a copy.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
---
 toolchain/toolchain-crosstool-ng/crosstool-ng.mk |   16 ++++++++++++++--
 1 files changed, 14 insertions(+), 2 deletions(-)

diff --git a/toolchain/toolchain-crosstool-ng/crosstool-ng.mk b/toolchain/toolchain-crosstool-ng/crosstool-ng.mk
index 4040dcd..b92aed0 100644
--- a/toolchain/toolchain-crosstool-ng/crosstool-ng.mk
+++ b/toolchain/toolchain-crosstool-ng/crosstool-ng.mk
@@ -76,6 +76,8 @@ $(STAMP_DIR)/ct-ng-toolchain-installed: $(STAMP_DIR)/ct-ng-toolchain-built
 
 #-----------------------------------------------------------------------------
 # Building the toolchain
+# Note: $(STAMP_DIR)/ct-ng-toolchain-built can have more dependencies,
+#       depending on the selected C library. Those deps are added later
 
 $(STAMP_DIR)/ct-ng-toolchain-built: $(CTNG_DIR)/.config
 	$(Q)$(call ctng,build.$(BR2_JLEVEL))
@@ -187,8 +189,18 @@ CTNG_FIX_DOT_CONFIG_PATHS_SED += s:^(CT_SYSROOT_DIR_PREFIX)=.*:\1="":;
 #--------------
 # uClibc specific options
 ifeq ($(BR2_TOOLCHAIN_CTNG_uClibc),y)
-CTNG_FIX_DOT_CONFIG_PATHS_SED += s:^(CT_LIBC_UCLIBC_CONFIG_FILE)=.*:\1="$(CTNG_UCLIBC_CONFIG_FILE)":;
-endif
+
+# Instruct CT-NG's .config where to find the uClibc's .config
+CTNG_FIX_DOT_CONFIG_PATHS_SED += s:^(CT_LIBC_UCLIBC_CONFIG_FILE)=.*:\1="$(CTNG_DIR)/libc.config":;
+
+# And add this to the toolchain build dependency
+$(STAMP_DIR)/ct-ng-toolchain-built: $(CTNG_DIR)/libc.config
+
+# And here is how we get this uClibc's .config
+$(CTNG_DIR)/libc.config: $(CTNG_UCLIBC_CONFIG_FILE)
+	$(Q)cp -f $< $@
+
+endif # LIBC is uClibc
 
 #--------------
 # Small functions to shoe-horn the above into crosstool-NG's .config
-- 
1.7.1

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [Buildroot] [PATCH 04/10] toolchain/crosstool-NG: move munging functions
  2010-11-27 20:50 [Buildroot] [PATH 00/10] toolchain/crosstool-NG: fixes before release, v2 Yann E. MORIN
                   ` (2 preceding siblings ...)
  2010-11-27 20:50 ` [Buildroot] [PATCH 03/10] toolchain/crosstool-NG: use a copy of the uClibc .config Yann E. MORIN
@ 2010-11-27 20:50 ` Yann E. MORIN
  2010-11-27 20:50 ` [Buildroot] [PATCH 05/10] toolchain/crosstool-NG: add C library config munging Yann E. MORIN
                   ` (6 subsequent siblings)
  10 siblings, 0 replies; 13+ messages in thread
From: Yann E. MORIN @ 2010-11-27 20:50 UTC (permalink / raw)
  To: buildroot

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
---
 toolchain/toolchain-crosstool-ng/crosstool-ng.mk |   62 ++++++++++++----------
 1 files changed, 34 insertions(+), 28 deletions(-)

diff --git a/toolchain/toolchain-crosstool-ng/crosstool-ng.mk b/toolchain/toolchain-crosstool-ng/crosstool-ng.mk
index b92aed0..48116af 100644
--- a/toolchain/toolchain-crosstool-ng/crosstool-ng.mk
+++ b/toolchain/toolchain-crosstool-ng/crosstool-ng.mk
@@ -96,15 +96,46 @@ $(STAMP_DIR)/ct-ng-toolchain-built: $(CTNG_DIR)/.config
 CTNG_FIX_DOT_CONFIG_SED       :=
 CTNG_FIX_DOT_CONFIG_PATHS_SED :=
 
+#--------------
+# A few generic functions
+
+# Munge a config file, given a sed expression
+# $1: the .config file to munge
+# $2: the sed expression to apply
+define ctng-fix-dot-config
+	$(Q)sed -r -e '$(2)' $(1) >$(1).sed
+	$(Q)cmp $(1) $(1).sed >/dev/null 2>&1 && rm -f $(1).sed || mv -f $(1).sed $(1)
+endef
+
+# This function checks the .config did actually change
+# If not changed, then current .config will be touched with reference to the
+# stamp file. If the configuration did change, nothing is done.
+# $1: the current .config to check
+# $2: the time-stamped .config file
+define ctng-check-config-changed
+	$(Q)old_md5="$$( grep -v -E '^(#|$$)' $(2) 2>/dev/null  \
+	                 |md5sum                                \
+	                 |cut -d ' ' -f 1                       \
+	               )";                                      \
+	    new_md5="$$( grep -v -E '^(#|$$)' $(1) 2>/dev/null  \
+	                 |md5sum                                \
+	                 |cut -d ' ' -f 1                       \
+	               )";                                      \
+	    if [ $${old_md5} = $${new_md5} -a -f $(2) ]; then   \
+	        touch -r $(2) $(1);                             \
+	    fi
+endef
+
+#--------------
+# Massage BR2_ARCH so that it matches CT-NG's ARCH
+#
 # Note: a lot of the following tricks would become unneeded if one day
 # buildroot and crosstool-NG had matching options, especially for the
 # target description: arch name, bitness, endianness...
-
+#
 # Note-2: missing conformity check between BR's .config and libc features.
 # Use check_uclibc or check_glibc.
 
-#--------------
-# Massage BR2_ARCH so that it matches CT-NG's ARCH
 # Defaults:
 CTNG_ARCH   := $(CTNG_BR2_ARCH)
 CTNG_ENDIAN :=
@@ -204,12 +235,6 @@ endif # LIBC is uClibc
 
 #--------------
 # Small functions to shoe-horn the above into crosstool-NG's .config
-# $1: the .config file to munge
-# $2: the sed expression to apply
-define ctng-fix-dot-config
-	$(Q)sed -r -e '$(2)' $(1) >$(1).sed
-	$(Q)cmp $(1) $(1).sed >/dev/null 2>&1 && rm -f $(1).sed || mv -f $(1).sed $(1)
-endef
 
 # Function to update the .config
 # We first munge the .config to shoe-horn defaults, then we push that unto
@@ -228,25 +253,6 @@ define ctng-oldconfig
 	$(call ctng-fix-dot-config,$(1),$(CTNG_FIX_DOT_CONFIG_PATHS_SED))
 endef
 
-# This function checks the confguration of the toolchain did actually change
-# If not changed, then current .config will be touched with reference to the
-# stamp file. If the configuration did change, nothing is done.
-# $1: the current .config to check
-# $2: the time-stamped .config file
-define ctng-check-config-changed
-	$(Q)old_md5="$$( grep -v -E '^(#|$$)' $(2) 2>/dev/null  \
-	                 |md5sum                                \
-	                 |cut -d ' ' -f 1                       \
-	               )";                                      \
-	    new_md5="$$( grep -v -E '^(#|$$)' $(1) 2>/dev/null  \
-	                 |md5sum                                \
-	                 |cut -d ' ' -f 1                       \
-	               )";                                      \
-	    if [ $${old_md5} = $${new_md5} -a -f $(2) ]; then   \
-	        touch -r $(2) $(1);                             \
-	    fi
-endef
-
 # Default configuration
 # Depends on top-level .config because it has options we have to shoe-horn
 # into crosstool-NG's .config
-- 
1.7.1

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [Buildroot] [PATCH 05/10] toolchain/crosstool-NG: add C library config munging
  2010-11-27 20:50 [Buildroot] [PATH 00/10] toolchain/crosstool-NG: fixes before release, v2 Yann E. MORIN
                   ` (3 preceding siblings ...)
  2010-11-27 20:50 ` [Buildroot] [PATCH 04/10] toolchain/crosstool-NG: move munging functions Yann E. MORIN
@ 2010-11-27 20:50 ` Yann E. MORIN
  2010-11-27 20:50 ` [Buildroot] [PATCH 06/10] toolchain/crosstool-NG: use wide-char option Yann E. MORIN
                   ` (5 subsequent siblings)
  10 siblings, 0 replies; 13+ messages in thread
From: Yann E. MORIN @ 2010-11-27 20:50 UTC (permalink / raw)
  To: buildroot

For some C libraries, it can be necessary to push the BR settings
down to the libc configuration file. Prepare the infrastructure.

(Note: it will apply only to uClibc for now, and although eglibc
can also be configured, it is not currently supported)

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
---
 toolchain/toolchain-crosstool-ng/crosstool-ng.mk |    8 +++++++-
 1 files changed, 7 insertions(+), 1 deletions(-)

diff --git a/toolchain/toolchain-crosstool-ng/crosstool-ng.mk b/toolchain/toolchain-crosstool-ng/crosstool-ng.mk
index 48116af..25e12d2 100644
--- a/toolchain/toolchain-crosstool-ng/crosstool-ng.mk
+++ b/toolchain/toolchain-crosstool-ng/crosstool-ng.mk
@@ -93,8 +93,10 @@ $(STAMP_DIR)/ct-ng-toolchain-built: $(CTNG_DIR)/.config
 # - first one for non-path options
 # - second for path options (because they have no prompt, they
 #                            always get set to the default value)
+# - third for C library .config (if it has one, eg. uClibc)
 CTNG_FIX_DOT_CONFIG_SED       :=
 CTNG_FIX_DOT_CONFIG_PATHS_SED :=
+CTNG_FIX_DOT_CONFIG_LIBC_SED  :=
 
 #--------------
 # A few generic functions
@@ -228,8 +230,12 @@ CTNG_FIX_DOT_CONFIG_PATHS_SED += s:^(CT_LIBC_UCLIBC_CONFIG_FILE)=.*:\1="$(CTNG_D
 $(STAMP_DIR)/ct-ng-toolchain-built: $(CTNG_DIR)/libc.config
 
 # And here is how we get this uClibc's .config
-$(CTNG_DIR)/libc.config: $(CTNG_UCLIBC_CONFIG_FILE)
+$(CTNG_DIR)/libc.config: $(CTNG_UCLIBC_CONFIG_FILE) $(CONFIG_DIR)/.config
+	-$(Q)cp -a $@ $@.timestamp
 	$(Q)cp -f $< $@
+	$(call ctng-fix-dot-config,$@,$(CTNG_FIX_DOT_CONFIG_LIBC_SED))
+	$(call ctng-check-config-changed,$@,$@.timestamp)
+	$(Q)rm -f $@.timestamp
 
 endif # LIBC is uClibc
 
-- 
1.7.1

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [Buildroot] [PATCH 06/10] toolchain/crosstool-NG: use wide-char option
  2010-11-27 20:50 [Buildroot] [PATH 00/10] toolchain/crosstool-NG: fixes before release, v2 Yann E. MORIN
                   ` (4 preceding siblings ...)
  2010-11-27 20:50 ` [Buildroot] [PATCH 05/10] toolchain/crosstool-NG: add C library config munging Yann E. MORIN
@ 2010-11-27 20:50 ` Yann E. MORIN
  2010-11-27 20:50 ` [Buildroot] [PATCH 07/10] toolchain/crosstool-NG: use locales option Yann E. MORIN
                   ` (4 subsequent siblings)
  10 siblings, 0 replies; 13+ messages in thread
From: Yann E. MORIN @ 2010-11-27 20:50 UTC (permalink / raw)
  To: buildroot

Push the wide-char options down to crosstool-NG config

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
---
 toolchain/toolchain-crosstool-ng/crosstool-ng.mk |    7 +++++++
 1 files changed, 7 insertions(+), 0 deletions(-)

diff --git a/toolchain/toolchain-crosstool-ng/crosstool-ng.mk b/toolchain/toolchain-crosstool-ng/crosstool-ng.mk
index 25e12d2..2281daf 100644
--- a/toolchain/toolchain-crosstool-ng/crosstool-ng.mk
+++ b/toolchain/toolchain-crosstool-ng/crosstool-ng.mk
@@ -223,6 +223,13 @@ CTNG_FIX_DOT_CONFIG_PATHS_SED += s:^(CT_SYSROOT_DIR_PREFIX)=.*:\1="":;
 # uClibc specific options
 ifeq ($(BR2_TOOLCHAIN_CTNG_uClibc),y)
 
+# Handle the wide-char option
+ifneq ($(call qstrip,$(BR2_USE_WCHAR)),)
+CTNG_FIX_DOT_CONFIG_SED += s:^\# (CT_LIBC_UCLIBC_WCHAR) is not set:\1=y:;
+else
+CTNG_FIX_DOT_CONFIG_SED += s:^(CT_LIBC_UCLIBC_WCHAR)=.*:\# \1 is not set:;
+endif
+
 # Instruct CT-NG's .config where to find the uClibc's .config
 CTNG_FIX_DOT_CONFIG_PATHS_SED += s:^(CT_LIBC_UCLIBC_CONFIG_FILE)=.*:\1="$(CTNG_DIR)/libc.config":;
 
-- 
1.7.1

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [Buildroot] [PATCH 07/10] toolchain/crosstool-NG: use locales option
  2010-11-27 20:50 [Buildroot] [PATH 00/10] toolchain/crosstool-NG: fixes before release, v2 Yann E. MORIN
                   ` (5 preceding siblings ...)
  2010-11-27 20:50 ` [Buildroot] [PATCH 06/10] toolchain/crosstool-NG: use wide-char option Yann E. MORIN
@ 2010-11-27 20:50 ` Yann E. MORIN
  2010-11-27 20:50 ` [Buildroot] [PATCH 08/10] toolchain/crosstool-NG: use LFS option Yann E. MORIN
                   ` (3 subsequent siblings)
  10 siblings, 0 replies; 13+ messages in thread
From: Yann E. MORIN @ 2010-11-27 20:50 UTC (permalink / raw)
  To: buildroot

Push the locales option down to crosstool-NG config

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
---
 toolchain/toolchain-crosstool-ng/crosstool-ng.mk |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)

diff --git a/toolchain/toolchain-crosstool-ng/crosstool-ng.mk b/toolchain/toolchain-crosstool-ng/crosstool-ng.mk
index 2281daf..e944b93 100644
--- a/toolchain/toolchain-crosstool-ng/crosstool-ng.mk
+++ b/toolchain/toolchain-crosstool-ng/crosstool-ng.mk
@@ -223,6 +223,14 @@ CTNG_FIX_DOT_CONFIG_PATHS_SED += s:^(CT_SYSROOT_DIR_PREFIX)=.*:\1="":;
 # uClibc specific options
 ifeq ($(BR2_TOOLCHAIN_CTNG_uClibc),y)
 
+# Handle the locales option
+ifneq ($(call qstrip,$(BR2_ENABLE_LOCALE)),)
+CTNG_FIX_DOT_CONFIG_SED += s:^\# (CT_LIBC_UCLIBC_LOCALES) is not set:\1=y\n\# CT_LIBC_UCLIBC_LOCALES_PREGEN_DATA is not set:;
+CTNG_FIX_DOT_CONFIG_SED += s:^(CT_LIBC_UCLIBC_LOCALES_PREGEN_DATA)=.*:\# \1 is not set:;
+else
+CTNG_FIX_DOT_CONFIG_SED += s:^(CT_LIBC_UCLIBC_LOCALES)=.*:\# \1 is not set:;
+endif
+
 # Handle the wide-char option
 ifneq ($(call qstrip,$(BR2_USE_WCHAR)),)
 CTNG_FIX_DOT_CONFIG_SED += s:^\# (CT_LIBC_UCLIBC_WCHAR) is not set:\1=y:;
-- 
1.7.1

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [Buildroot] [PATCH 08/10] toolchain/crosstool-NG: use LFS option
  2010-11-27 20:50 [Buildroot] [PATH 00/10] toolchain/crosstool-NG: fixes before release, v2 Yann E. MORIN
                   ` (6 preceding siblings ...)
  2010-11-27 20:50 ` [Buildroot] [PATCH 07/10] toolchain/crosstool-NG: use locales option Yann E. MORIN
@ 2010-11-27 20:50 ` Yann E. MORIN
  2010-11-27 20:50 ` [Buildroot] [PATCH 09/10] toolchain/crosstool-NG: use IPv6 option Yann E. MORIN
                   ` (2 subsequent siblings)
  10 siblings, 0 replies; 13+ messages in thread
From: Yann E. MORIN @ 2010-11-27 20:50 UTC (permalink / raw)
  To: buildroot

Push the LFS option down to uClibc config

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
---
 toolchain/toolchain-crosstool-ng/crosstool-ng.mk |    7 +++++++
 1 files changed, 7 insertions(+), 0 deletions(-)

diff --git a/toolchain/toolchain-crosstool-ng/crosstool-ng.mk b/toolchain/toolchain-crosstool-ng/crosstool-ng.mk
index e944b93..97224a1 100644
--- a/toolchain/toolchain-crosstool-ng/crosstool-ng.mk
+++ b/toolchain/toolchain-crosstool-ng/crosstool-ng.mk
@@ -238,6 +238,13 @@ else
 CTNG_FIX_DOT_CONFIG_SED += s:^(CT_LIBC_UCLIBC_WCHAR)=.*:\# \1 is not set:;
 endif
 
+# Handle the LFS option
+ifneq ($(call qstrip,$(BR2_LARGEFILE)),)
+CTNG_FIX_DOT_CONFIG_LIBC_SED += s:^\# (UCLIBC_HAS_LFS) is not set:\1=y:;
+else
+CTNG_FIX_DOT_CONFIG_LIBC_SED += s:^(UCLIBC_HAS_LFS)=.*:\# \1 is not set:;
+endif
+
 # Instruct CT-NG's .config where to find the uClibc's .config
 CTNG_FIX_DOT_CONFIG_PATHS_SED += s:^(CT_LIBC_UCLIBC_CONFIG_FILE)=.*:\1="$(CTNG_DIR)/libc.config":;
 
-- 
1.7.1

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [Buildroot] [PATCH 09/10] toolchain/crosstool-NG: use IPv6 option
  2010-11-27 20:50 [Buildroot] [PATH 00/10] toolchain/crosstool-NG: fixes before release, v2 Yann E. MORIN
                   ` (7 preceding siblings ...)
  2010-11-27 20:50 ` [Buildroot] [PATCH 08/10] toolchain/crosstool-NG: use LFS option Yann E. MORIN
@ 2010-11-27 20:50 ` Yann E. MORIN
  2010-11-27 20:50 ` [Buildroot] [PATCH 10/10] toolchain/crosstool-NG: use RPC option Yann E. MORIN
  2010-11-27 21:30 ` [Buildroot] [PATH 00/10] toolchain/crosstool-NG: fixes before release, v2 Peter Korsgaard
  10 siblings, 0 replies; 13+ messages in thread
From: Yann E. MORIN @ 2010-11-27 20:50 UTC (permalink / raw)
  To: buildroot

Push the IPv6 option down to uClibc config

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
---
 toolchain/toolchain-crosstool-ng/crosstool-ng.mk |    7 +++++++
 1 files changed, 7 insertions(+), 0 deletions(-)

diff --git a/toolchain/toolchain-crosstool-ng/crosstool-ng.mk b/toolchain/toolchain-crosstool-ng/crosstool-ng.mk
index 97224a1..92ed932 100644
--- a/toolchain/toolchain-crosstool-ng/crosstool-ng.mk
+++ b/toolchain/toolchain-crosstool-ng/crosstool-ng.mk
@@ -245,6 +245,13 @@ else
 CTNG_FIX_DOT_CONFIG_LIBC_SED += s:^(UCLIBC_HAS_LFS)=.*:\# \1 is not set:;
 endif
 
+# Handle the IPv6 option
+ifneq ($(call qstrip,$(BR2_INET_IPV6)),)
+CTNG_FIX_DOT_CONFIG_LIBC_SED += s:^\# (UCLIBC_HAS_IPV6) is not set:\1=y:;
+else
+CTNG_FIX_DOT_CONFIG_LIBC_SED += s:^(UCLIBC_HAS_IPV6)=.*:\# \1 is not set:;
+endif
+
 # Instruct CT-NG's .config where to find the uClibc's .config
 CTNG_FIX_DOT_CONFIG_PATHS_SED += s:^(CT_LIBC_UCLIBC_CONFIG_FILE)=.*:\1="$(CTNG_DIR)/libc.config":;
 
-- 
1.7.1

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [Buildroot] [PATCH 10/10] toolchain/crosstool-NG: use RPC option
  2010-11-27 20:50 [Buildroot] [PATH 00/10] toolchain/crosstool-NG: fixes before release, v2 Yann E. MORIN
                   ` (8 preceding siblings ...)
  2010-11-27 20:50 ` [Buildroot] [PATCH 09/10] toolchain/crosstool-NG: use IPv6 option Yann E. MORIN
@ 2010-11-27 20:50 ` Yann E. MORIN
  2010-11-27 21:30 ` [Buildroot] [PATH 00/10] toolchain/crosstool-NG: fixes before release, v2 Peter Korsgaard
  10 siblings, 0 replies; 13+ messages in thread
From: Yann E. MORIN @ 2010-11-27 20:50 UTC (permalink / raw)
  To: buildroot

Push the RPC option down to uClibc config

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
---
 toolchain/toolchain-crosstool-ng/crosstool-ng.mk |    9 +++++++++
 1 files changed, 9 insertions(+), 0 deletions(-)

diff --git a/toolchain/toolchain-crosstool-ng/crosstool-ng.mk b/toolchain/toolchain-crosstool-ng/crosstool-ng.mk
index 92ed932..1e8fa7a 100644
--- a/toolchain/toolchain-crosstool-ng/crosstool-ng.mk
+++ b/toolchain/toolchain-crosstool-ng/crosstool-ng.mk
@@ -252,6 +252,15 @@ else
 CTNG_FIX_DOT_CONFIG_LIBC_SED += s:^(UCLIBC_HAS_IPV6)=.*:\# \1 is not set:;
 endif
 
+# Handle the RPC option
+ifneq ($(call qstrip,$(BR2_INET_RPC)),)
+CTNG_FIX_DOT_CONFIG_LIBC_SED += s:^\# (UCLIBC_HAS_RPC) is not set:\1=y\nUCLIBC_HAS_FULL_RPC=y\nUCLIBC_HAS_REENTRANT_RPC=y:;
+CTNG_FIX_DOT_CONFIG_LIBC_SED += s:^\# (UCLIBC_HAS_FULL_RPC) is not set:\1=y:;
+CTNG_FIX_DOT_CONFIG_LIBC_SED += s:^\# (UCLIBC_HAS_REENTRANT_RPC) is not set:\1=y:;
+else
+CTNG_FIX_DOT_CONFIG_LIBC_SED += s:^(UCLIBC_HAS_RPC)=.*:\# \1 is not set:;
+endif
+
 # Instruct CT-NG's .config where to find the uClibc's .config
 CTNG_FIX_DOT_CONFIG_PATHS_SED += s:^(CT_LIBC_UCLIBC_CONFIG_FILE)=.*:\1="$(CTNG_DIR)/libc.config":;
 
-- 
1.7.1

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [Buildroot] [PATH 00/10] toolchain/crosstool-NG: fixes before release, v2
  2010-11-27 20:50 [Buildroot] [PATH 00/10] toolchain/crosstool-NG: fixes before release, v2 Yann E. MORIN
                   ` (9 preceding siblings ...)
  2010-11-27 20:50 ` [Buildroot] [PATCH 10/10] toolchain/crosstool-NG: use RPC option Yann E. MORIN
@ 2010-11-27 21:30 ` Peter Korsgaard
  10 siblings, 0 replies; 13+ messages in thread
From: Peter Korsgaard @ 2010-11-27 21:30 UTC (permalink / raw)
  To: buildroot

>>>>> "Yann" == Yann E MORIN <yann.morin.1998@anciens.enib.fr> writes:

 Yann> Hello All!

 Yann> This patch series enables building on a minimalistic host (patch
 Yann> 1, tested in the same mini-environemnt as Thomas), adds some
 Yann> infrastructure (patches 2-5) to be able to push Buildroot options
 Yann> down to uClibc's config (patches 6-10).

Committed, thanks!

 Yann> Changes since v1:
 Yann> - use order-only dependencies on host tools

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Buildroot] [PATCH 01/10] toolchain/crosstool-NG: add dependencies on host- tools
  2010-11-27 16:45 [Buildroot] [PATH 00/10] toolchain/crosstool-NG: fixes before release Yann E. MORIN
@ 2010-11-27 16:45 ` Yann E. MORIN
  0 siblings, 0 replies; 13+ messages in thread
From: Yann E. MORIN @ 2010-11-27 16:45 UTC (permalink / raw)
  To: buildroot

Depends on:
- GNU awk       --> host-gawk
- GNU automake  --> host-automake

Remove dependency on 'cvs'. cvs is used to retrieve newlib,
which is not supported under Buildroot.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
---
 toolchain/toolchain-crosstool-ng/001-no-cvs.patch |   15 +++++++++++++++
 toolchain/toolchain-crosstool-ng/crosstool-ng.mk  |    6 ++++--
 2 files changed, 19 insertions(+), 2 deletions(-)
 create mode 100644 toolchain/toolchain-crosstool-ng/001-no-cvs.patch

diff --git a/toolchain/toolchain-crosstool-ng/001-no-cvs.patch b/toolchain/toolchain-crosstool-ng/001-no-cvs.patch
new file mode 100644
index 0000000..fd805d3
--- /dev/null
+++ b/toolchain/toolchain-crosstool-ng/001-no-cvs.patch
@@ -0,0 +1,15 @@
+Remove dependency on cvs.
+
+cvs is used to retrieve newlib, which is not supported
+under Buildroot, so cvs is not required.
+
+--- crosstool-ng-1.8.0/configure.orig	2010-11-27 15:43:52.000000000 +0000
++++ crosstool-ng-1.8.0/configure	2010-11-27 15:44:10.000000000 +0000
+@@ -359,7 +359,6 @@
+              err="'libtool' 1.5.26 or above was not found"
+ has_or_abort prog=stat
+ has_or_abort prog="aria2c curl wget"
+-has_or_abort prog=cvs
+ has_or_abort prog=patch
+ has_or_abort prog=tar
+ has_or_abort prog=gzip
diff --git a/toolchain/toolchain-crosstool-ng/crosstool-ng.mk b/toolchain/toolchain-crosstool-ng/crosstool-ng.mk
index 0812216..990452c 100644
--- a/toolchain/toolchain-crosstool-ng/crosstool-ng.mk
+++ b/toolchain/toolchain-crosstool-ng/crosstool-ng.mk
@@ -267,8 +267,10 @@ $(CTNG_DIR)/.patched: $(CTNG_DIR)/.unpacked
 	                              \*.patch.$(ARCH)
 	$(Q)touch $@
 
-$(CTNG_DIR)/.configured: $(CTNG_DIR)/.patched
-	$(Q)cd $(CTNG_DIR) && ./configure --local
+$(CTNG_DIR)/.configured: host-gawk              \
+                         host-automake          \
+                         $(CTNG_DIR)/.patched
+	$(Q)cd $(CTNG_DIR) && PATH=$(HOST_PATH) ./configure --local
 	$(Q)touch $@
 
 $(CTNG_DIR)/ct-ng: $(CTNG_DIR)/.configured
-- 
1.7.1

^ permalink raw reply related	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2010-11-27 21:30 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-11-27 20:50 [Buildroot] [PATH 00/10] toolchain/crosstool-NG: fixes before release, v2 Yann E. MORIN
2010-11-27 20:50 ` [Buildroot] [PATCH 01/10] toolchain/crosstool-NG: add dependencies on host- tools Yann E. MORIN
2010-11-27 20:50 ` [Buildroot] [PATCH 02/10] toolchain/crosstool-NG: reorder sed expressions Yann E. MORIN
2010-11-27 20:50 ` [Buildroot] [PATCH 03/10] toolchain/crosstool-NG: use a copy of the uClibc .config Yann E. MORIN
2010-11-27 20:50 ` [Buildroot] [PATCH 04/10] toolchain/crosstool-NG: move munging functions Yann E. MORIN
2010-11-27 20:50 ` [Buildroot] [PATCH 05/10] toolchain/crosstool-NG: add C library config munging Yann E. MORIN
2010-11-27 20:50 ` [Buildroot] [PATCH 06/10] toolchain/crosstool-NG: use wide-char option Yann E. MORIN
2010-11-27 20:50 ` [Buildroot] [PATCH 07/10] toolchain/crosstool-NG: use locales option Yann E. MORIN
2010-11-27 20:50 ` [Buildroot] [PATCH 08/10] toolchain/crosstool-NG: use LFS option Yann E. MORIN
2010-11-27 20:50 ` [Buildroot] [PATCH 09/10] toolchain/crosstool-NG: use IPv6 option Yann E. MORIN
2010-11-27 20:50 ` [Buildroot] [PATCH 10/10] toolchain/crosstool-NG: use RPC option Yann E. MORIN
2010-11-27 21:30 ` [Buildroot] [PATH 00/10] toolchain/crosstool-NG: fixes before release, v2 Peter Korsgaard
  -- strict thread matches above, loose matches on Subject: below --
2010-11-27 16:45 [Buildroot] [PATH 00/10] toolchain/crosstool-NG: fixes before release Yann E. MORIN
2010-11-27 16:45 ` [Buildroot] [PATCH 01/10] toolchain/crosstool-NG: add dependencies on host- tools Yann E. MORIN

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.