diff options
author | Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> | 2010-02-17 22:41:17 (GMT) |
---|---|---|
committer | Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> | 2010-02-17 22:41:17 (GMT) |
commit | 991b90f2425a6f14115efee2456919063d4e1a2b (patch) | |
tree | f165dbbc68303aac3b97516a5ef2da457c24c646 /scripts/build/companion_libs/libelf.sh | |
parent | 2949150cbe92e9e90e9738a2b77489cb0593b5a7 (diff) |
comp-libs: make libelf a companion library
When gcc-4.5 is out, it will require libelf. So better make it a
companion library now rather than postponing the ineluctable.
Diffstat (limited to 'scripts/build/companion_libs/libelf.sh')
-rw-r--r-- | scripts/build/companion_libs/libelf.sh | 91 |
1 files changed, 91 insertions, 0 deletions
diff --git a/scripts/build/companion_libs/libelf.sh b/scripts/build/companion_libs/libelf.sh new file mode 100644 index 0000000..ecda8ff --- /dev/null +++ b/scripts/build/companion_libs/libelf.sh @@ -0,0 +1,91 @@ +# Build script for libelf + +do_libelf_get() { :; } +do_libelf_extract() { :; } +do_libelf() { :; } +do_libelf_target() { :; } + +if [ "${CT_LIBELF}" = "y" -o "${CT_LIBELF_TARGET}" = "y" ]; then + +do_libelf_get() { + # The server hosting libelf will return an "HTTP 300 : Multiple Choices" + # error code if we try to download a file that does not exists there. + # So we have to request the file with an explicit extension. + CT_GetFile "libelf-${CT_LIBELF_VERSION}" .tar.gz http://www.mr511.de/software/ +} + +do_libelf_extract() { + CT_Extract "libelf-${CT_LIBELF_VERSION}" + CT_Patch "libelf-${CT_LIBELF_VERSION}" +} + +if [ "${CT_LIBELF}" = "y" ]; then + +# Uncomment when we need it for gcc-4.5 +# WARNING! This function is absolutely UNTESTED yet! +do_libelf() { + : # Remove this line! +# CT_DoStep INFO "Installing libelf" +# mkdir -p "${CT_BUILD_DIR}/build-libelf" +# CT_Pushd "${CT_BUILD_DIR}/build-libelf" +# +# CT_DoLog EXTRA "Configuring libelf" +# CC="${CT_TARGET}-gcc" \ +# CT_DoExecLog ALL \ +# "${CT_SRC_DIR}/libelf-${CT_LIBELF_VERSION}/configure" \ +# --build=${CT_BUILD} \ +# --host=${CT_HOST} \ +# --target=${CT_TARGET} \ +# --prefix="${CT_PREFIX_DIR}" \ +# --enable-compat \ +# --enable-elf64 \ +# --enable-static \ +# --enable-shared \ +# --enable-extended-format +# +# CT_DoLog EXTRA "Building libelf" +# CT_DoExecLog ALL make +# +# CT_DoLog EXTRA "Installing libelf" +# CT_DoExecLog ALL make instroot="${CT_SYSROOT_DIR}" install +# +# CT_Popd +# CT_EndStep +} + +fi # CT_LIBELF + +if [ "${CT_LIBELF_TARGET}" = "y" ]; then + +do_libelf_target() { + CT_DoStep INFO "Installing libelf for the target" + mkdir -p "${CT_BUILD_DIR}/build-libelf" + CT_Pushd "${CT_BUILD_DIR}/build-libelf" + + CT_DoLog EXTRA "Configuring libelf" + CC="${CT_TARGET}-gcc" \ + CT_DoExecLog ALL \ + "${CT_SRC_DIR}/libelf-${CT_LIBELF_VERSION}/configure" \ + --build=${CT_BUILD} \ + --host=${CT_TARGET} \ + --target=${CT_TARGET} \ + --prefix=/usr \ + --enable-compat \ + --enable-elf64 \ + --enable-shared \ + --enable-extended-format \ + --enable-static + + CT_DoLog EXTRA "Building libelf" + CT_DoExecLog ALL make + + CT_DoLog EXTRA "Installing libelf" + CT_DoExecLog ALL make instroot="${CT_SYSROOT_DIR}" install + + CT_Popd + CT_EndStep +} + +fi # CT_LIBELF_TARGET + +fi # CT_LIBELF || CT_LIBELF_TARGET |