summaryrefslogtreecommitdiff
path: root/scripts/build
diff options
context:
space:
mode:
authorYann E. MORIN" <yann.morin.1998@anciens.enib.fr>2009-01-05 23:02:43 (GMT)
committerYann E. MORIN" <yann.morin.1998@anciens.enib.fr>2009-01-05 23:02:43 (GMT)
commitebf01acb41f0f6bb0e0d5629aac9f98733730329 (patch)
tree31636a16f970ae3eb86b0c098224ac92b49bf647 /scripts/build
parent4bcd72fb1604341116621e7e7655520779592103 (diff)
Split CT_ExtractAndPatch in two: CT_Extract and CT_Patch:
- it is unworkable to have CT_ExtactAndPAtch cope with all those silly glibc addons: - they can have 'short' (as 'ports') or 'long' (as glibc-ports-2.7) names - patches are against eithe the short or long name, but non-uniformly use one or the other - it is the reposibility of the component (glibc in this case) to handle corner cases such as those - update all components to use the new functions /trunk/scripts/build/tools/000-template.sh | 3 2 1 0 +- /trunk/scripts/build/tools/100-libelf.sh | 3 2 1 0 +- /trunk/scripts/build/tools/200-sstrip.sh | 3 2 1 0 +- /trunk/scripts/build/kernel/linux.sh | 3 2 1 0 +- /trunk/scripts/build/binutils.sh | 3 2 1 0 +- /trunk/scripts/build/cc/gcc.sh | 3 2 1 0 +- /trunk/scripts/build/debug/000-template.sh | 3 2 1 0 +- /trunk/scripts/build/debug/100-dmalloc.sh | 3 2 1 0 +- /trunk/scripts/build/debug/400-ltrace.sh | 3 2 1 0 +- /trunk/scripts/build/debug/300-gdb.sh | 9 6 3 0 +++-- /trunk/scripts/build/debug/500-strace.sh | 7 3 4 0 ++-- /trunk/scripts/build/debug/200-duma.sh | 19 8 11 0 ++++------ /trunk/scripts/build/libc/glibc.sh | 14 12 2 0 ++++++- /trunk/scripts/build/libc/uClibc.sh | 13 9 4 0 +++++-- /trunk/scripts/build/libc/eglibc.sh | 14 12 2 0 ++++++- /trunk/scripts/build/gmp.sh | 3 2 1 0 +- /trunk/scripts/build/mpfr.sh | 3 2 1 0 +- /trunk/scripts/functions | 68 36 32 0 +++++++++++++++++++----------------- 18 files changed, 108 insertions(+), 69 deletions(-)
Diffstat (limited to 'scripts/build')
-rw-r--r--scripts/build/binutils.sh3
-rw-r--r--scripts/build/cc/gcc.sh3
-rw-r--r--scripts/build/debug/000-template.sh3
-rw-r--r--scripts/build/debug/100-dmalloc.sh3
-rw-r--r--scripts/build/debug/200-duma.sh19
-rw-r--r--scripts/build/debug/300-gdb.sh9
-rw-r--r--scripts/build/debug/400-ltrace.sh3
-rw-r--r--scripts/build/debug/500-strace.sh7
-rw-r--r--scripts/build/gmp.sh3
-rw-r--r--scripts/build/kernel/linux.sh3
-rw-r--r--scripts/build/libc/eglibc.sh14
-rw-r--r--scripts/build/libc/glibc.sh14
-rw-r--r--scripts/build/libc/uClibc.sh13
-rw-r--r--scripts/build/mpfr.sh3
-rw-r--r--scripts/build/tools/000-template.sh3
-rw-r--r--scripts/build/tools/100-libelf.sh3
-rw-r--r--scripts/build/tools/200-sstrip.sh3
17 files changed, 72 insertions, 37 deletions
diff --git a/scripts/build/binutils.sh b/scripts/build/binutils.sh
index d1f3522..17f04fb 100644
--- a/scripts/build/binutils.sh
+++ b/scripts/build/binutils.sh
@@ -11,7 +11,8 @@ do_binutils_get() {
# Extract binutils
do_binutils_extract() {
- CT_ExtractAndPatch "binutils-${CT_BINUTILS_VERSION}"
+ CT_Extract "binutils-${CT_BINUTILS_VERSION}"
+ CT_Patch "binutils-${CT_BINUTILS_VERSION}"
}
# Build binutils
diff --git a/scripts/build/cc/gcc.sh b/scripts/build/cc/gcc.sh
index 66fbae5..1263e76 100644
--- a/scripts/build/cc/gcc.sh
+++ b/scripts/build/cc/gcc.sh
@@ -16,7 +16,8 @@ do_cc_get() {
# Extract gcc
do_cc_extract() {
- CT_ExtractAndPatch "gcc-${CT_CC_VERSION}"
+ CT_Extract "gcc-${CT_CC_VERSION}"
+ CT_Patch "gcc-${CT_CC_VERSION}"
}
#------------------------------------------------------------------------------
diff --git a/scripts/build/debug/000-template.sh b/scripts/build/debug/000-template.sh
index c5fba91..793d786 100644
--- a/scripts/build/debug/000-template.sh
+++ b/scripts/build/debug/000-template.sh
@@ -10,7 +10,8 @@ do_debug_foobar_get() {
# Put your extract code here
do_debug_foobar_extract() {
# For example:
- # CT_ExtractAndPatch "foobar-${CT_FOOBAR_VERSION}"
+ # CT_Extract "foobar-${CT_FOOBAR_VERSION}"
+ # CT_Patch "foobar-${CT_FOOBAR_VERSION}"
:
}
diff --git a/scripts/build/debug/100-dmalloc.sh b/scripts/build/debug/100-dmalloc.sh
index 27a70a8..2766ff8 100644
--- a/scripts/build/debug/100-dmalloc.sh
+++ b/scripts/build/debug/100-dmalloc.sh
@@ -5,7 +5,8 @@ do_debug_dmalloc_get() {
}
do_debug_dmalloc_extract() {
- CT_ExtractAndPatch "dmalloc-${CT_DMALLOC_VERSION}"
+ CT_Extract "dmalloc-${CT_DMALLOC_VERSION}"
+ CT_Patch "dmalloc-${CT_DMALLOC_VERSION}"
}
do_debug_dmalloc_build() {
diff --git a/scripts/build/debug/200-duma.sh b/scripts/build/debug/200-duma.sh
index cf52234..b8ef5a6 100644
--- a/scripts/build/debug/200-duma.sh
+++ b/scripts/build/debug/200-duma.sh
@@ -2,26 +2,23 @@
do_debug_duma_get() {
CT_GetFile "duma_${CT_DUMA_VERSION}" http://mesh.dl.sourceforge.net/sourceforge/duma/
- # D.U.M.A. doesn't separate its name from its version with a dash,
- # but with an underscore. Create a link so that crosstool-NG can
- # work correctly:
- CT_Pushd "${CT_TARBALLS_DIR}"
- duma_ext=$(CT_GetFileExtension "duma_${CT_DUMA_VERSION}")
- rm -f "duma-${CT_DUMA_VERSION}${duma_ext}"
- ln -sf "duma_${CT_DUMA_VERSION}${duma_ext}" "duma-${CT_DUMA_VERSION}${duma_ext}"
# Downloading from sourceforge leaves garbage, cleanup
- rm -f showfiles.php\?group_id\=*
- CT_Popd
+ CT_DoExecLog ALL rm -f "${CT_TARBALLS_DIR}/showfiles.php"*
}
do_debug_duma_extract() {
- CT_ExtractAndPatch "duma-${CT_DUMA_VERSION}"
+ CT_Extract "duma_${CT_DUMA_VERSION}"
+ CT_Pushd "${CT_SRC_DIR}/duma_${CT_DUMA_VERSION}"
+ # Even if DUMA uses _ and not -, crosstool-NG uses the dash to split the
+ # name from the version in order to find the appropriate patches
+ # YEM: FIXME: make CT_Patch more intelligent, Eg.: CT_Patch duma _ "${CT_DUMA_VERSION}"
+ CT_Patch "duma-${CT_DUMA_VERSION}" nochdir
+ CT_Popd
}
do_debug_duma_build() {
CT_DoStep INFO "Installing D.U.M.A."
CT_DoLog EXTRA "Copying sources"
- # DUMA separates its name from the version with an underscore, not a dash
cp -a "${CT_SRC_DIR}/duma_${CT_DUMA_VERSION}" "${CT_BUILD_DIR}/build-duma"
CT_Pushd "${CT_BUILD_DIR}/build-duma"
diff --git a/scripts/build/debug/300-gdb.sh b/scripts/build/debug/300-gdb.sh
index c2a964e..24d87dd 100644
--- a/scripts/build/debug/300-gdb.sh
+++ b/scripts/build/debug/300-gdb.sh
@@ -57,15 +57,18 @@ do_debug_gdb_extract() {
do_debug_gdb_parts
if [ "${do_gdb}" = "y" ]; then
- CT_ExtractAndPatch "gdb$(do_debug_gdb_suffix)"
+ CT_Extract "gdb$(do_debug_gdb_suffix)"
+ CT_Patch "gdb$(do_debug_gdb_suffix)"
fi
if [ "${do_insight}" = "y" ]; then
- CT_ExtractAndPatch "insight-${CT_GDB_VERSION}"
+ CT_Extract "insight-${CT_GDB_VERSION}"
+ CT_Patch "insight-${CT_GDB_VERSION}"
fi
if [ "${do_ncurses}" = "y" ]; then
- CT_ExtractAndPatch "ncurses-${CT_NCURSES_VERSION}"
+ CT_Extract "ncurses-${CT_NCURSES_VERSION}"
+ CT_Patch "ncurses-${CT_NCURSES_VERSION}"
fi
}
diff --git a/scripts/build/debug/400-ltrace.sh b/scripts/build/debug/400-ltrace.sh
index 231a61f..8654e20 100644
--- a/scripts/build/debug/400-ltrace.sh
+++ b/scripts/build/debug/400-ltrace.sh
@@ -9,7 +9,8 @@ do_debug_ltrace_get() {
}
do_debug_ltrace_extract() {
- CT_ExtractAndPatch "ltrace-${CT_LTRACE_VERSION}"
+ CT_Extract "ltrace-${CT_LTRACE_VERSION}"
+ CT_Patch "ltrace-${CT_LTRACE_VERSION}"
}
do_debug_ltrace_build() {
diff --git a/scripts/build/debug/500-strace.sh b/scripts/build/debug/500-strace.sh
index 8e3c682..6b1ff4d 100644
--- a/scripts/build/debug/500-strace.sh
+++ b/scripts/build/debug/500-strace.sh
@@ -3,13 +3,12 @@
do_debug_strace_get() {
CT_GetFile "strace-${CT_STRACE_VERSION}" http://mesh.dl.sourceforge.net/sourceforge/strace/
# Downloading from sourceforge leaves garbage, cleanup
- CT_Pushd "${CT_TARBALLS_DIR}"
- rm -f showfiles.php\?group_id\=*
- CT_Popd
+ CT_DoExecLog ALL rm -f "${CT_TARBALLS_DIR}/showfiles.php"*
}
do_debug_strace_extract() {
- CT_ExtractAndPatch "strace-${CT_STRACE_VERSION}"
+ CT_Extract "strace-${CT_STRACE_VERSION}"
+ CT_Patch "strace-${CT_STRACE_VERSION}"
}
do_debug_strace_build() {
diff --git a/scripts/build/gmp.sh b/scripts/build/gmp.sh
index ab40374..51134da 100644
--- a/scripts/build/gmp.sh
+++ b/scripts/build/gmp.sh
@@ -17,7 +17,8 @@ do_gmp_get() {
# Extract GMP
do_gmp_extract() {
- CT_ExtractAndPatch "gmp-${CT_GMP_VERSION}"
+ CT_Extract "gmp-${CT_GMP_VERSION}"
+ CT_Patch "gmp-${CT_GMP_VERSION}"
}
do_gmp() {
diff --git a/scripts/build/kernel/linux.sh b/scripts/build/kernel/linux.sh
index 27aaa30..c8dbead 100644
--- a/scripts/build/kernel/linux.sh
+++ b/scripts/build/kernel/linux.sh
@@ -19,7 +19,8 @@ do_kernel_get() {
# Extract kernel
do_kernel_extract() {
if [ "${CT_KERNEL_LINUX_USE_CUSTOM_DIR}" != "y" ]; then
- CT_ExtractAndPatch "linux-${CT_KERNEL_VERSION}"
+ CT_Extract "linux-${CT_KERNEL_VERSION}"
+ CT_Patch "linux-${CT_KERNEL_VERSION}"
fi
return 0
}
diff --git a/scripts/build/libc/eglibc.sh b/scripts/build/libc/eglibc.sh
index 1d5608a..478a230 100644
--- a/scripts/build/libc/eglibc.sh
+++ b/scripts/build/libc/eglibc.sh
@@ -92,14 +92,24 @@ do_libc_get() {
# Extract eglibc
do_libc_extract() {
- CT_ExtractAndPatch "eglibc-${CT_LIBC_VERSION}"
+ CT_Extract "eglibc-${CT_LIBC_VERSION}"
+ CT_Patch "eglibc-${CT_LIBC_VERSION}"
# C library addons
for addon in $(do_libc_add_ons_list " "); do
# NPTL addon is not to be extracted, in any case
[ "${addon}" = "nptl" ] && continue || true
CT_Pushd "${CT_SRC_DIR}/eglibc-${CT_LIBC_VERSION}"
- CT_ExtractAndPatch "${CT_LIBC}-${addon}-${CT_LIBC_VERSION}" nochdir
+ CT_Extract "eglibc-${addon}-${CT_LIBC_VERSION}" nochdir
+ # Some addons have the 'long' name, while others have the
+ # 'short' name, but patches are non-uniformly built with
+ # either the 'long' or 'short' name, whatever the addons name
+ # so we have to make symlinks from the existing to the missing
+ # Fortunately for us, [ -d foo ], when foo is a symlink to a
+ # directory, returns true!
+ [ -d "${addon}" ] || ln -s "eglibc-${addon}-${CT_LIBC_VERSION}" "${addon}"
+ [ -d "eglibc-${addon}-${CT_LIBC_VERSION}" ] || ln -s "${addon}" "eglibc-${addon}-${CT_LIBC_VERSION}"
+ CT_Patch "eglibc-${addon}-${CT_LIBC_VERSION}" nochdir
CT_Popd
done
diff --git a/scripts/build/libc/glibc.sh b/scripts/build/libc/glibc.sh
index 146a5b2..b56905e 100644
--- a/scripts/build/libc/glibc.sh
+++ b/scripts/build/libc/glibc.sh
@@ -55,14 +55,24 @@ do_libc_get() {
# Extract glibc
do_libc_extract() {
- CT_ExtractAndPatch "glibc-${CT_LIBC_VERSION}"
+ CT_Extract "glibc-${CT_LIBC_VERSION}"
+ CT_Patch "glibc-${CT_LIBC_VERSION}"
# C library addons
for addon in $(do_libc_add_ons_list " "); do
# NPTL addon is not to be extracted, in any case
[ "${addon}" = "nptl" ] && continue || true
CT_Pushd "${CT_SRC_DIR}/glibc-${CT_LIBC_VERSION}"
- CT_ExtractAndPatch "glibc-${addon}-${CT_LIBC_VERSION}" nochdir
+ CT_Extract "glibc-${addon}-${CT_LIBC_VERSION}" nochdir
+ # Some addons have the 'long' name, while others have the
+ # 'short' name, but patches are non-uniformly built with
+ # either the 'long' or 'short' name, whatever the addons name
+ # so we have to make symlinks from the existing to the missing
+ # Fortunately for us, [ -d foo ], when foo is a symlink to a
+ # directory, returns true!
+ [ -d "${addon}" ] || ln -s "glibc-${addon}-${CT_LIBC_VERSION}" "${addon}"
+ [ -d "glibc-${addon}-${CT_LIBC_VERSION}" ] || ln -s "${addon}" "glibc-${addon}-${CT_LIBC_VERSION}"
+ CT_Patch "glibc-${addon}-${CT_LIBC_VERSION}" nochdir
CT_Popd
done
diff --git a/scripts/build/libc/uClibc.sh b/scripts/build/libc/uClibc.sh
index cf1623e..e2345ed 100644
--- a/scripts/build/libc/uClibc.sh
+++ b/scripts/build/libc/uClibc.sh
@@ -12,18 +12,23 @@ do_libc_get() {
# later...
CT_GetFile "uClibc-${CT_LIBC_VERSION}" ${libc_src}
# uClibc locales
- [ "${CT_LIBC_UCLIBC_LOCALES}" = "y" ] && CT_GetFile "uClibc-locale-030818" ${libc_src} || true
+ if [ "${CT_LIBC_UCLIBC_LOCALES}" = "y" ]; then
+ CT_GetFile "uClibc-locale-030818" ${libc_src}
+ fi
return 0
}
# Extract uClibc
do_libc_extract() {
- CT_ExtractAndPatch "uClibc-${CT_LIBC_VERSION}"
+ CT_Extract "uClibc-${CT_LIBC_VERSION}"
+ CT_Patch "uClibc-${CT_LIBC_VERSION}"
+
# uClibc locales
if [ "${CT_LIBC_UCLIBC_LOCALES}" = "y" ]; then
- CT_Pushd "${CT_SRC_DIR}/uClibc-${CT_LIBC_VERSION}"
- CT_ExtractAndPatch "uClibc-locale-030818" nochdir || true
+ CT_Pushd "${CT_SRC_DIR}/uClibc-${CT_LIBC_VERSION}/extra/locale"
+ CT_Extract "uClibc-locale-030818" nochdir
+ CT_Patch "uClibc-locale-030818" nochdir
CT_Popd
fi
diff --git a/scripts/build/mpfr.sh b/scripts/build/mpfr.sh
index c39cfa3..032e5d6 100644
--- a/scripts/build/mpfr.sh
+++ b/scripts/build/mpfr.sh
@@ -18,7 +18,8 @@ do_mpfr_get() {
# Extract MPFR
do_mpfr_extract() {
- CT_ExtractAndPatch "mpfr-${CT_MPFR_VERSION}"
+ CT_Extract "mpfr-${CT_MPFR_VERSION}"
+ CT_Patch "mpfr-${CT_MPFR_VERSION}"
# OK, Gentoo have a sanity check that libtool.m4 and ltmain.sh have the
# same version number. Unfortunately, some tarballs of MPFR are not
diff --git a/scripts/build/tools/000-template.sh b/scripts/build/tools/000-template.sh
index 23c9575..032f289 100644
--- a/scripts/build/tools/000-template.sh
+++ b/scripts/build/tools/000-template.sh
@@ -10,7 +10,8 @@ do_tools_foobar_get() {
# Put your extract code here
do_tools_foobar_extract() {
# For example:
- # CT_ExtractAndPatch "foobar-${CT_FOOBAR_VERSION}"
+ # CT_Extract "foobar-${CT_FOOBAR_VERSION}"
+ # CT_Patch "foobar-${CT_FOOBAR_VERSION}"
:
}
diff --git a/scripts/build/tools/100-libelf.sh b/scripts/build/tools/100-libelf.sh
index b82e3cf..2ee9292 100644
--- a/scripts/build/tools/100-libelf.sh
+++ b/scripts/build/tools/100-libelf.sh
@@ -8,7 +8,8 @@ do_tools_libelf_get() {
}
do_tools_libelf_extract() {
- CT_ExtractAndPatch "libelf-${CT_LIBELF_VERSION}"
+ CT_Extract "libelf-${CT_LIBELF_VERSION}"
+ CT_Patch "libelf-${CT_LIBELF_VERSION}"
}
do_tools_libelf_build() {
diff --git a/scripts/build/tools/200-sstrip.sh b/scripts/build/tools/200-sstrip.sh
index 9009075..b29a079 100644
--- a/scripts/build/tools/200-sstrip.sh
+++ b/scripts/build/tools/200-sstrip.sh
@@ -7,7 +7,8 @@ case "${CT_SSTRIP_FROM}" in
http://www.muppetlabs.com/~breadbox/pub/software
}
do_tools_sstrip_extract() {
- CT_ExtractAndPatch "ELFkickers-${CT_SSTRIP_ELFKICKERS_VERSION}"
+ CT_Extract "ELFkickers-${CT_SSTRIP_ELFKICKERS_VERSION}"
+ CT_Patch "ELFkickers-${CT_SSTRIP_ELFKICKERS_VERSION}"
}
do_tools_sstrip_build() {
CT_DoStep INFO "Installing sstrip"