yann@1380: # This file adds the functions to build the CLooG library yann@1380: # Copyright 2009 Yann E. MORIN yann@1380: # Licensed under the GPL v2. See COPYING in the root of this package yann@1380: yann@1380: do_cloog_get() { :; } yann@1380: do_cloog_extract() { :; } yann@1380: do_cloog() { :; } yann@1380: do_cloog_target() { :; } yann@1380: yann@1380: # Overide functions depending on configuration yann@1808: if [ "${CT_CLOOG}" = "y" ]; then yann@1380: yann@1380: # Download CLooG yann@1380: do_cloog_get() { yann@1380: CT_GetFile "cloog-ppl-${CT_CLOOG_VERSION}" \ yann@1380: ftp://gcc.gnu.org/pub/gcc/infrastructure yann@1380: } yann@1380: yann@1380: # Extract CLooG yann@1380: do_cloog_extract() { yann@1530: local _t yann@1530: yann@1380: CT_Extract "cloog-ppl-${CT_CLOOG_VERSION}" yann@1530: yann@1530: # Version 0.15.3 has a dirname 'cloog-ppl' (with no version in it!) yann@1530: # while versions 0.15.4 onward do have the version in the dirname. yann@1530: case "${CT_CLOOG_VERSION}" in yann@1530: 0.15.3) _t="";; yann@1530: *) _t="-${CT_CLOOG_VERSION}";; yann@1530: esac yann@1530: CT_Pushd "${CT_SRC_DIR}/cloog-ppl${_t}" yann@1761: CT_Patch nochdir "cloog-ppl-${CT_CLOOG_VERSION}" yann@1380: CT_Popd yann@1380: } yann@1380: yann@1380: do_cloog() { yann@1537: local _t yann@1892: local cloog_LDFLAGS yann@1892: local -a cloog_opts yann@1537: yann@1537: # Version 0.15.3 has a dirname 'cloog-ppl' (with no version in it!) yann@1537: # while versions 0.15.4 onward do have the version in the dirname. yann@1537: case "${CT_CLOOG_VERSION}" in yann@1537: 0.15.3) _t="";; yann@1537: *) _t="-${CT_CLOOG_VERSION}";; yann@1537: esac yann@1537: yann@1380: mkdir -p "${CT_BUILD_DIR}/build-cloog-ppl" yann@1380: cd "${CT_BUILD_DIR}/build-cloog-ppl" yann@1380: yann@1380: CT_DoStep INFO "Installing CLooG/ppl" yann@1380: yann@1380: CT_DoLog EXTRA "Configuring CLooG/ppl" yann@1892: yann@1892: if [ "${CT_COMPLIBS_SHARED}" = "y" ]; then yann@1892: cloog_opts+=( --enable-shared --disable-static ) yann@1892: else yann@1892: cloog_opts+=( --disable-shared --enable-static ) yann@1892: cloog_LDFLAGS='-lstdc++' yann@1892: fi yann@1892: yann@1537: CFLAGS="${CT_CFLAGS_FOR_HOST}" \ yann@1892: LDFLAGS="${cloog_LDFLAGS}" \ yann@1537: CT_DoExecLog ALL \ yann@1537: "${CT_SRC_DIR}/cloog-ppl${_t}/configure" \ yann@1537: --build=${CT_BUILD} \ yann@1537: --host=${CT_HOST} \ yann@1537: --prefix="${CT_PREFIX_DIR}" \ yann@1537: --with-gmp="${CT_PREFIX_DIR}" \ yann@1537: --with-ppl="${CT_PREFIX_DIR}" \ yann@1892: --with-bits=gmp \ yann@1892: "${cloog_opts[@]}" yann@1380: yann@1380: CT_DoLog EXTRA "Building CLooG/ppl" yann@1380: CT_DoExecLog ALL make ${PARALLELMFLAGS} yann@1380: yann@1890: if [ "${CT_COMPLIBS_CHECK}" = "y" ]; then yann@1380: CT_DoLog EXTRA "Checking CLooG/ppl" yann@1380: CT_DoExecLog ALL make ${PARALLELMFLAGS} -s check yann@1380: fi yann@1380: yann@1380: CT_DoLog EXTRA "Installing CLooG/ppl" yann@1380: CT_DoExecLog ALL make install yann@1380: yann@1397: # Remove spuriously installed file yann@1397: CT_DoExecLog ALL rm -f "${CT_PREFIX_DIR}/bin/cloog" yann@1397: yann@1380: CT_EndStep yann@1380: } yann@1380: yann@1808: fi # CT_CLOOG