summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYann E. MORIN" <yann.morin.1998@anciens.enib.fr>2009-05-07 18:56:31 (GMT)
committerYann E. MORIN" <yann.morin.1998@anciens.enib.fr>2009-05-07 18:56:31 (GMT)
commit7032dea8baab47ca4c52346689004837c6d85329 (patch)
tree207542dffedc2f9634ad14ae20dc82272e43471c
parentd9378214ccb3fbdee65e56e63441aff938c79a70 (diff)
Fix installing uClibc headers for versions prior to 0.9.30.
Fix a comment about installing uClibc. Automatically enable // build for uClibc versions that can be built in //. -------- diffstat follows -------- /trunk/scripts/build/libc/uClibc.sh | 32 23 9 0 +++++++++++++++++++++++--------- /trunk/config/libc/uClibc.in | 12 7 5 0 +++++++----- 2 files changed, 30 insertions(+), 14 deletions(-)
-rw-r--r--config/libc/uClibc.in12
-rw-r--r--scripts/build/libc/uClibc.sh32
2 files changed, 30 insertions, 14 deletions
diff --git a/config/libc/uClibc.in b/config/libc/uClibc.in
index 7bc0501..dbd659c 100644
--- a/config/libc/uClibc.in
+++ b/config/libc/uClibc.in
@@ -38,10 +38,12 @@ config LIBC_V_0_9_29
config LIBC_V_0_9_30
bool
prompt "0.9.30"
+ select LIBC_UCLIBC_0_9_30_or_later
config LIBC_V_0_9_30_1
bool
prompt "0.9.30.1"
+ select LIBC_UCLIBC_0_9_30_or_later
# CT_INSERT_VERSION_ABOVE
# Don't remove above line!
@@ -72,14 +74,14 @@ config LIBC_VERSION
# CT_INSERT_VERSION_STRING_ABOVE
# Don't remove above line!
+config LIBC_UCLIBC_0_9_30_or_later
+ bool
+ default n
+ select LIBC_UCLIBC_PARALLEL
+
config LIBC_UCLIBC_PARALLEL
bool
- prompt "Build uClibc in //" if LIBC_V_snapshot || LIBC_V_specific_date
default n
- help
- Build uClibc using parallel jobs.
- Some 'old' versions won't build in //, but it works starting with
- 0.9.30 release candidates.
choice
bool
diff --git a/scripts/build/libc/uClibc.sh b/scripts/build/libc/uClibc.sh
index c65606c..52f7ee3 100644
--- a/scripts/build/libc/uClibc.sh
+++ b/scripts/build/libc/uClibc.sh
@@ -54,6 +54,8 @@ do_libc_check_config() {
# This functions installs uClibc's headers
do_libc_headers() {
+ local install_rule
+
CT_DoStep INFO "Installing C library headers"
mkdir -p "${CT_BUILD_DIR}/build-libc-headers"
@@ -61,7 +63,7 @@ do_libc_headers() {
# Simply copy files until uClibc has the ablity to build out-of-tree
CT_DoLog EXTRA "Copying sources to build dir"
- { cd "${CT_SRC_DIR}/uClibc-${CT_LIBC_VERSION}"; tar cf - .; } |tar xf -
+ tar cf - -C "${CT_SRC_DIR}/uClibc-${CT_LIBC_VERSION}" . |tar xf -
# Retrieve the config file
cp "${CT_CONFIG_DIR}/uClibc.config" .config
@@ -76,8 +78,14 @@ do_libc_headers() {
CT_DoLog EXTRA "Building headers"
CT_DoExecLog ALL make ${CT_LIBC_UCLIBC_VERBOSITY} CROSS= PREFIX="${CT_SYSROOT_DIR}/" headers
+ if [ "${CT_LIBC_UCLIBC_0_9_30_or_later}" = "y" ]; then
+ install_rule=install_headers
+ else
+ install_rule=install_dev
+ fi
+
CT_DoLog EXTRA "Installing headers"
- CT_DoExecLog ALL make ${CT_LIBC_UCLIBC_VERBOSITY} CROSS= PREFIX="${CT_SYSROOT_DIR}/" install_headers
+ CT_DoExecLog ALL make ${CT_LIBC_UCLIBC_VERBOSITY} CROSS= PREFIX="${CT_SYSROOT_DIR}/" ${install_rule}"
CT_EndStep
}
@@ -96,7 +104,7 @@ do_libc() {
# Simply copy files until uClibc has the ablity to build out-of-tree
CT_DoLog EXTRA "Copying sources to build dir"
- { cd "${CT_SRC_DIR}/uClibc-${CT_LIBC_VERSION}"; tar cf - .; } |tar xf -
+ tar cf - -C "${CT_SRC_DIR}/uClibc-${CT_LIBC_VERSION}" . |tar xf -
# Retrieve the config file
cp "${CT_CONFIG_DIR}/uClibc.config" .config
@@ -126,14 +134,20 @@ do_libc() {
${CT_LIBC_UCLIBC_VERBOSITY} \
all
- # YEM-FIXME: we want to install libraries in $SYSROOT/lib, but we don't want
- # to install headers in $SYSROOT/include, thus making only install_runtime.
- # Plus, the headers were previously installed earlier with install_headers,
- # so all should be well. Unfortunately, the install_headers target does not
- # install crti.o and consorts... :-( So reverting to target 'install'.
- # Note: PARALLELMFLAGS is not usefull for installation.
+ # YEM-FIXME:
+ # - we want to install 'runtime' files, eg. lib*.{a,so*}, crti.o and
+ # such files, except the headers as they already are installed
+ # - "make install_dev" installs the headers, the crti.o... and the
+ # static libs, but not the dynamic libs
+ # - "make install_runtime" installs the dynamic libs only
+ # - "make install" calls install_runtime and install_dev
+ # - so we're left with re-installing the headers... Sigh...
+ #
# We do _not_ want to strip anything for now, in case we specifically
# asked for a debug toolchain, hence the STRIPTOOL= assignment
+ #
+ # Note: PARALLELMFLAGS is not usefull for installation.
+ #
CT_DoLog EXTRA "Installing C library"
CT_DoExecLog ALL \
make CROSS=${CT_TARGET}- \