summaryrefslogtreecommitdiffstats
path: root/rules/uclibc.make
diff options
context:
space:
mode:
authorLadislav Michl <ladis@linux-mips.org>2007-03-19 15:40:46 +0000
committerLadislav Michl <ladis@linux-mips.org>2007-03-19 15:40:46 +0000
commit103aaa551a71411ac5aef45863560872e9112a30 (patch)
tree8036b354b492d0a1e42589a9fcf5549c24f31d6d /rules/uclibc.make
parentf1b31996906c532b149f2d59421eeccfd6bd811e (diff)
downloadOSELAS.Toolchain-103aaa551a71411ac5aef45863560872e9112a30.tar.gz
OSELAS.Toolchain-103aaa551a71411ac5aef45863560872e9112a30.tar.xz
Premiliary uClibc support.
git-svn-id: https://svn.pengutronix.de/svn/oselas/toolchain/trunks/OSELAS.Toolchain-trunk@2257 f8d472c7-5700-0410-ac5a-87979cec3adf
Diffstat (limited to 'rules/uclibc.make')
-rw-r--r--rules/uclibc.make28
1 files changed, 22 insertions, 6 deletions
diff --git a/rules/uclibc.make b/rules/uclibc.make
index d9f33db..de33be1 100644
--- a/rules/uclibc.make
+++ b/rules/uclibc.make
@@ -17,13 +17,25 @@ PACKAGES-$(PTXCONF_UCLIBC) += uclibc
#
# Paths and names
#
-UCLIBC_VERSION := 0.9.28
+UCLIBC_VERSION := $(call remove_quotes,$(PTXCONF_UCLIBC_VERSION))
+ifneq ($(PTXCONF_UCLIBC_RELEASE),"")
+UCLIBC_VERSION := $(UCLIBC_VERSION).$(call remove_quotes,$(PTXCONF_UCLIBC_RELEASE))
+endif
UCLIBC := uClibc-$(UCLIBC_VERSION)
UCLIBC_SUFFIX := tar.bz2
UCLIBC_URL := http://www.uclibc.org/downloads/$(UCLIBC).$(UCLIBC_SUFFIX)
UCLIBC_SOURCE := $(SRCDIR)/$(UCLIBC).$(UCLIBC_SUFFIX)
UCLIBC_DIR := $(BUILDDIR)/$(UCLIBC)
+uclibc_fix_config = \
+ echo 'KERNEL_SOURCE="$(SYSROOT)/usr"' >> $(1); \
+ echo 'SHARED_LIB_LOADER_PREFIX="/lib"' >> $(1); \
+ echo 'RUNTIME_PREFIX="/"' >> $(1); \
+ echo 'DEVEL_PREFIX=$(CROSS_LIB_DIR)' >> $(1); \
+ perl -i -p -e 's/^(.*=)"(.*?)"(.*)"(.*)"/$$1"$$2$$3$$4"/' $(1); \
+ perl -i -p -e 's/^(.*=)"(.*?)"(.*)/$$1"$$2$$3"/' $(1)
+
+
# ----------------------------------------------------------------------------
# Get
# ----------------------------------------------------------------------------
@@ -60,13 +72,17 @@ uclibc_prepare: $(STATEDIR)/uclibc.prepare
UCLIBC_PATH := PATH=$(CROSS_PATH)
UCLIBC_ENV := $(CROSS_ENV)
-#
-# autoconf
-#
-UCLIBC_AUTOCONF := $(CROSS_AUTOCONF_USR)
+UCLIBC_MAKEVARS := \
+ CROSS=$(COMPILER_PREFIX)
$(STATEDIR)/uclibc.prepare:
@$(call targetinfo, $@)
+ grep -e PTXCONF_UC_ $(PTXDIST_WORKSPACE)/ptxconfig > $(UCLIBC_DIR)/.config
+ perl -i -p -e 's/PTXCONF_UC_//g' $(UCLIBC_DIR)/.config
+ @$(call uclibc_fix_config, $(UCLIBC_DIR)/.config)
+ yes "" | $(UCLIBC_PATH) $(MAKE) -C $(UCLIBC_DIR) \
+ $(UCLIBC_MAKEVARS) \
+ oldconfig
@$(call touch, $@)
# ----------------------------------------------------------------------------
@@ -77,7 +93,7 @@ uclibc_compile: $(STATEDIR)/uclibc.compile
$(STATEDIR)/uclibc.compile:
@$(call targetinfo, $@)
- cd $(UCLIBC_DIR) && $(UCLIBC_PATH) $(MAKE)
+ cd $(UCLIBC_DIR) && $(UCLIBC_PATH) $(MAKE) $(UCLIBC_MAKEVARS)
@$(call touch, $@)
# ----------------------------------------------------------------------------