scripts/build/companion_libs/ppl.sh
changeset 2927 ddaae597fd7c
parent 2461 ec30b191f0e3
child 2929 22e495b7bee8
     1.1 --- a/scripts/build/companion_libs/ppl.sh	Thu May 19 23:06:16 2011 +0200
     1.2 +++ b/scripts/build/companion_libs/ppl.sh	Sun Jul 17 18:56:30 2011 +0200
     1.3 @@ -4,7 +4,7 @@
     1.4  
     1.5  do_ppl_get() { :; }
     1.6  do_ppl_extract() { :; }
     1.7 -do_ppl() { :; }
     1.8 +do_ppl_for_host() { :; }
     1.9  
    1.10  # Overide functions depending on configuration
    1.11  if [ "${CT_PPL}" = "y" ]; then
    1.12 @@ -23,25 +23,49 @@
    1.13      CT_Patch "ppl" "${CT_PPL_VERSION}"
    1.14  }
    1.15  
    1.16 -do_ppl() {
    1.17 -    mkdir -p "${CT_BUILD_DIR}/build-ppl"
    1.18 -    cd "${CT_BUILD_DIR}/build-ppl"
    1.19 +# Build PPL for running on host
    1.20 +do_ppl_for_host() {
    1.21 +    local -a ppl_opts
    1.22  
    1.23 -    CT_DoStep INFO "Installing PPL"
    1.24 +    CT_DoStep INFO "Installing PPL for host"
    1.25 +    CT_mkdir_pushd "${CT_BUILD_DIR}/build-ppl-host-${CT_HOST}"
    1.26 +
    1.27 +    ppl_opts+=( "host=${CT_HOST}" )
    1.28 +    ppl_opts+=( "prefix=${CT_COMPLIBS_DIR}" )
    1.29 +    ppl_opts+=( "cflags=${CT_CFLAGS_FOR_HOST}" )
    1.30 +    do_ppl_backend "${ppl_opts[@]}"
    1.31 +
    1.32 +    CT_Popd
    1.33 +    CT_EndStep
    1.34 +}
    1.35 +
    1.36 +# Build PPL
    1.37 +#     Parameter     : description               : type      : default
    1.38 +#     host          : machine to run on         : tuple     : (none)
    1.39 +#     prefix        : prefix to install into    : dir       : (none)
    1.40 +#     cflags        : host cflags to use        : string    : (empty)
    1.41 +do_ppl_backend() {
    1.42 +    local host
    1.43 +    local prefix
    1.44 +    local cflags
    1.45 +    local arg
    1.46 +
    1.47 +    for arg in "$@"; do
    1.48 +        eval "${arg// /\\ }"
    1.49 +    done
    1.50  
    1.51      CT_DoLog EXTRA "Configuring PPL"
    1.52  
    1.53 -
    1.54      CT_DoExecLog CFG                                \
    1.55 -    CFLAGS="${CT_CFLAGS_FOR_HOST}"                  \
    1.56 -    CXXFLAGS="${CT_CFLAGS_FOR_HOST}"                \
    1.57 +    CFLAGS="${cflags}"                              \
    1.58 +    CXXFLAGS="${cflags}"                            \
    1.59      "${CT_SRC_DIR}/ppl-${CT_PPL_VERSION}/configure" \
    1.60          --build=${CT_BUILD}                         \
    1.61 -        --host=${CT_HOST}                           \
    1.62 -        --prefix="${CT_COMPLIBS_DIR}"               \
    1.63 -        --with-libgmp-prefix="${CT_COMPLIBS_DIR}"   \
    1.64 -        --with-libgmpxx-prefix="${CT_COMPLIBS_DIR}" \
    1.65 -        --with-gmp-prefix="${CT_COMPLIBS_DIR}"      \
    1.66 +        --host=${host}                              \
    1.67 +        --prefix="${prefix}"                        \
    1.68 +        --with-libgmp-prefix="${prefix}"            \
    1.69 +        --with-libgmpxx-prefix="${prefix}"          \
    1.70 +        --with-gmp-prefix="${prefix}"               \
    1.71          --enable-watchdog                           \
    1.72          --disable-debugging                         \
    1.73          --disable-assertions                        \
    1.74 @@ -66,9 +90,7 @@
    1.75      CT_DoExecLog ALL make install
    1.76  
    1.77      # Remove spuriously installed file
    1.78 -    CT_DoExecLog ALL rm -f "${CT_PREFIX_DIR}/bin/ppl-config"
    1.79 -
    1.80 -    CT_EndStep
    1.81 +    CT_DoExecLog ALL rm -f "${prefix}/bin/ppl-config"
    1.82  }
    1.83  
    1.84  fi # CT_PPL