diff -r 1ab3d2e08c8b -r 35cf5e2f110a scripts/build/companion_libs/libelf.sh --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/scripts/build/companion_libs/libelf.sh Wed Feb 17 23:41:17 2010 +0100 @@ -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