summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Petazzoni <thomas.petazzoni@free-electrons.com>2009-12-14 11:47:55 +0100
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>2009-12-14 23:54:43 +0100
commit3a24927a0e6f041a018085b5a7fc50312001fddc (patch)
tree3ef525d640c1809fbb9a11799a29a89736ae4028
parent9f21bfee0877be5ec1e3fe3a8cb98fa7de539827 (diff)
uclibc: add avr32 special version
* Add a new 0.9.30-avr32-2.1.5 version of uClibc in Config.in * Add a patch for 0.9.20-avr32-2.1.5 * Select a different UCLIBC_SITE for avr32 versions in uclibc.mk * Add the LINKRELAX=y configuration option to the uClibc .config file in uclibc.mk Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
-rw-r--r--toolchain/uClibc/Config.in10
-rw-r--r--toolchain/uClibc/uClibc-0.9.30-avr32-2.1.5-unifdef-getline.patch29
-rw-r--r--toolchain/uClibc/uclibc.mk8
3 files changed, 44 insertions, 3 deletions
diff --git a/toolchain/uClibc/Config.in b/toolchain/uClibc/Config.in
index d0486abd6..c0ec220f8 100644
--- a/toolchain/uClibc/Config.in
+++ b/toolchain/uClibc/Config.in
@@ -5,7 +5,8 @@ comment "uClibc Options"
choice
prompt "uClibc C library Version"
- default BR2_UCLIBC_VERSION_0_9_30_1
+ default BR2_UCLIBC_VERSION_0_9_30_1 if !BR2_avr32
+ default BR2_UCLIBC_VERSION_0_9_30_AVR32_2_1_5 if BR2_avr32
help
Select the version of uClibc you wish to use.
@@ -22,7 +23,10 @@ choice
config BR2_UCLIBC_VERSION_0_9_30
depends on BR2_RECENT || BR2_DEPRECATED
bool "uClibc 0.9.30"
- depends on BR2_EXT_UCLIBC_VERSION_0_9_30
+
+ config BR2_UCLIBC_VERSION_0_9_30_AVR32_2_1_5
+ depends on BR2_avr32
+ bool "uClibc 0.9.30-avr32-2.1.5"
config BR2_UCLIBC_VERSION_0_9_30_1
bool "uClibc 0.9.30.1"
@@ -47,6 +51,7 @@ config BR2_UCLIBC_VERSION_STRING
default 0.9.29 if BR2_UCLIBC_VERSION_0_9_29
default 0.9.30 if BR2_UCLIBC_VERSION_0_9_30
default 0.9.30.1 if BR2_UCLIBC_VERSION_0_9_30_1
+ default 0.9.30-avr32-2.1.5 if BR2_UCLIBC_VERSION_0_9_30_AVR32_2_1_5
default $BR2_USE_UCLIBC_SNAPSHOT if BR2_UCLIBC_VERSION_SNAPSHOT
config BR2_UCLIBC_CONFIG
@@ -55,6 +60,7 @@ config BR2_UCLIBC_CONFIG
default "toolchain/uClibc/uClibc-0.9.29.config" if BR2_UCLIBC_VERSION_0_9_29
default "toolchain/uClibc/uClibc-0.9.30.config" if BR2_UCLIBC_VERSION_0_9_30
default "toolchain/uClibc/uClibc-0.9.30.config" if BR2_UCLIBC_VERSION_0_9_30_1
+ default "toolchain/uClibc/uClibc-0.9.30.config" if BR2_UCLIBC_VERSION_0_9_30_AVR32_2_1_5
default "toolchain/uClibc/uClibc-snapshot.config" if BR2_UCLIBC_VERSION_SNAPSHOT
help
Some people may wish to use their own modified uClibc configuration
diff --git a/toolchain/uClibc/uClibc-0.9.30-avr32-2.1.5-unifdef-getline.patch b/toolchain/uClibc/uClibc-0.9.30-avr32-2.1.5-unifdef-getline.patch
new file mode 100644
index 000000000..eb8888470
--- /dev/null
+++ b/toolchain/uClibc/uClibc-0.9.30-avr32-2.1.5-unifdef-getline.patch
@@ -0,0 +1,29 @@
+--- uClibc-0.9.30.1.orig/extra/scripts/unifdef.c
++++ uClibc-0.9.30.1/extra/scripts/unifdef.c
+@@ -206,7 +206,7 @@ static void done(void);
+ static void error(const char *);
+ static int findsym(const char *);
+ static void flushline(bool);
+-static Linetype getline(void);
++static Linetype get_line(void);
+ static Linetype ifeval(const char **);
+ static void ignoreoff(void);
+ static void ignoreon(void);
+@@ -512,7 +512,7 @@ process(void)
+
+ for (;;) {
+ linenum++;
+- lineval = getline();
++ lineval = get_line();
+ trans_table[ifstate[depth]][lineval]();
+ debug("process %s -> %s depth %d",
+ linetype_name[lineval],
+@@ -526,7 +526,7 @@ process(void)
+ * help from skipcomment().
+ */
+ static Linetype
+-getline(void)
++get_line(void)
+ {
+ const char *cp;
+ int cursym;
diff --git a/toolchain/uClibc/uclibc.mk b/toolchain/uClibc/uclibc.mk
index 62fc40b26..67601b161 100644
--- a/toolchain/uClibc/uclibc.mk
+++ b/toolchain/uClibc/uclibc.mk
@@ -19,9 +19,12 @@ UCLIBC_OFFICIAL_VERSION:=$(UCLIBC_VER)$(VENDOR_SUFFIX)$(VENDOR_UCLIBC_RELEASE)
ifeq ($(BR2_UCLIBC_VERSION_SNAPSHOT),y)
UCLIBC_SITE:=http://www.uclibc.org/downloads/snapshots
UCLIBC_DIR:=$(TOOLCHAIN_DIR)/uClibc
-else
+else ifeq ($(findstring avr32,$(UCLIBC_VERSION)),avr32)
+UCLIBC_SITE:=ftp://www.at91.com/pub/buildroot/
UCLIBC_DIR:=$(TOOLCHAIN_DIR)/uClibc-$(UCLIBC_OFFICIAL_VERSION)
+else
UCLIBC_SITE:=http://www.uclibc.org/downloads
+UCLIBC_DIR:=$(TOOLCHAIN_DIR)/uClibc-$(UCLIBC_OFFICIAL_VERSION)
ifeq ($(BR2_TOOLCHAIN_EXTERNAL_SOURCE),y)
UCLIBC_SITE:=$(VENDOR_SITE)
endif
@@ -257,6 +260,9 @@ else
/bin/echo "# CONFIG_E500 is not set" >> $(UCLIBC_DIR)/.oldconfig
endif
endif
+ifeq ($(UCLIBC_TARGET_ARCH),avr32)
+ /bin/echo "LINKRELAX=y" >> $(UCLIBC_DIR)/.oldconfig
+endif
ifneq ($(UCLIBC_TARGET_ENDIAN),)
# The above doesn't work for me, so redo
$(SED) 's/.*\(ARCH_$(UCLIBC_NOT_TARGET_ENDIAN)_ENDIAN\).*/# \1 is not set/g' \