@ -7,12 +7,24 @@ do_cloog_extract() { :; }
do_cloog_for_build( ) { :; }
do_cloog_for_host( ) { :; }
cloog_basename( ) {
printf "cloog"
if [ " ${ CT_PPL } " = "y" ] ; then
printf -- "-ppl"
fi
}
cloog_basename_version( ) {
cloog_basename
printf -- " - ${ CT_CLOOG_VERSION } "
}
# Overide functions depending on configuration
if [ " ${ CT_CLOOG } " = "y" ] ; then
# Download CLooG
do_cloog_get( ) {
CT_GetFile " cloog-ppl- ${ CT_CLOOG_VERSION } " \
CT_GetFile " $( cloog_basename_version) " \
http://www.bastoul.net/cloog/pages/download \
ftp://gcc.gnu.org/pub/gcc/infrastructure
}
@ -24,20 +36,20 @@ do_cloog_extract() {
# while versions 0.15.4 onward do have the version in the dirname.
# But, because the infrastructure properly creates the extracted
# directories (with tar's --strip-components), we can live safely...
CT_Extract " cloog-ppl- ${ CT_CLOOG_VERSION } "
CT_Patch " cloog-ppl " " ${ CT_CLOOG_VERSION } "
CT_Extract " $( cloog_basename_version) "
CT_Patch " $( cloog_basename) " " ${ CT_CLOOG_VERSION } "
# Help the autostuff in case it thinks there are things to regenerate...
CT_DoExecLog DEBUG mkdir -p " ${ CT_SRC_DIR } / cloog-ppl-${ CT_CLOOG_VERSION } /m4 "
CT_DoExecLog DEBUG mkdir -p " ${ CT_SRC_DIR } / $( cloog_basename_version) /m4 "
if [ " ${ CT_CLOOG_NEEDS_AUTORECONF } " = "y" ] ; then
CT_Pushd " ${ CT_SRC_DIR } / cloog-ppl-${ CT_CLOOG_VERSION } "
CT_Pushd " ${ CT_SRC_DIR } / $( cloog_basename_version) "
CT_DoExecLog CFG ./autogen.sh
CT_Popd
fi
}
# Build CLooG /PPL for running on build
# Build CLooG for running on build
# - always build statically
# - we do not have build-specific CFLAGS
# - install in build-tools prefix
@ -48,8 +60,8 @@ do_cloog_for_build() {
native| cross) return 0; ;
esac
CT_DoStep INFO "Installing CLooG /PPL for build"
CT_mkdir_pushd " ${ CT_BUILD_DIR } /build-cloog- ppl- build-${ CT_BUILD } "
CT_DoStep INFO "Installing CLooG for build"
CT_mkdir_pushd " ${ CT_BUILD_DIR } /build-cloog- build-${ CT_BUILD } "
cloog_opts += ( " host= ${ CT_BUILD } " )
cloog_opts += ( " prefix= ${ CT_BUILDTOOLS_PREFIX_DIR } " )
@ -61,12 +73,12 @@ do_cloog_for_build() {
CT_EndStep
}
# Build CLooG /PPL for running on host
# Build CLooG for running on host
do_cloog_for_host( ) {
local -a cloog_opts
CT_DoStep INFO "Installing CLooG /PPL for host"
CT_mkdir_pushd " ${ CT_BUILD_DIR } /build-cloog- ppl- host-${ CT_HOST } "
CT_DoStep INFO "Installing CLooG for host"
CT_mkdir_pushd " ${ CT_BUILD_DIR } /build-cloog- host-${ CT_HOST } "
cloog_opts += ( " host= ${ CT_HOST } " )
cloog_opts += ( " prefix= ${ CT_HOST_COMPLIBS_DIR } " )
@ -78,7 +90,7 @@ do_cloog_for_host() {
CT_EndStep
}
# Build C looG/PPL
# Build C LooG
# Parameter : description : type : default
# host : machine to run on : tuple : (none)
# prefix : prefix to install into : dir : (none)
@ -89,14 +101,30 @@ do_cloog_backend() {
local prefix
local cflags
local ldflags
local cloog_src_dir = " ${ CT_SRC_DIR } / cloog-ppl-${ CT_CLOOG_VERSION } "
local cloog_src_dir = " ${ CT_SRC_DIR } / $( cloog_basename_version) "
local arg
local -a cloog_opts
local -a cloog_targets
local -a cloog_install_targets
for arg in " $@ " ; do
eval " ${ arg // / \\ } "
done
CT_DoLog EXTRA "Configuring CLooG/ppl"
if [ " ${ CT_CLOOG_0_18_or_later } " = y ] ; then
cloog_opts += ( --with-gmp= system --with-gmp-prefix= " ${ prefix } " )
cloog_opts += ( --with-isl= system --with-isl-prefix= " ${ prefix } " )
cloog_opts += ( --without-osl )
cloog_targets = ( all )
cloog_install_targets = ( install )
else
cloog_opts += ( --with-gmp= " ${ prefix } " )
cloog_opts += ( --with-ppl= " ${ prefix } " )
cloog_targets = ( libcloog.la )
cloog_install_targets = ( install-libLTLIBRARIES install-pkgincludeHEADERS )
fi
CT_DoLog EXTRA "Configuring CLooG"
CT_DoExecLog CFG \
CFLAGS = " ${ cflags } " \
@ -106,23 +134,22 @@ do_cloog_backend() {
--build= ${ CT_BUILD } \
--host= ${ host } \
--prefix= " ${ prefix } " \
--with-gmp= " ${ prefix } " \
--with-ppl= " ${ prefix } " \
--with-bits= gmp \
--with-host-libstdcxx= '-lstdc++' \
--disable-shared \
--enable-static
--enable-static \
" ${ cloog_opts [@] } "
CT_DoLog EXTRA "Building CLooG /ppl "
CT_DoExecLog ALL make ${ JOBSFLAGS } libcloog.la
CT_DoLog EXTRA "Building CLooG "
CT_DoExecLog ALL make ${ JOBSFLAGS } " ${ cloog_targets [@] } "
if [ " ${ CT_COMPLIBS_CHECK } " = "y" ] ; then
CT_DoLog EXTRA "Checking CLooG /ppl "
CT_DoLog EXTRA "Checking CLooG "
CT_DoExecLog ALL make ${ JOBSFLAGS } -s check
fi
CT_DoLog EXTRA "Installing CLooG /ppl "
CT_DoExecLog ALL make install-libLTLIBRARIES install-pkgincludeHEADERS
CT_DoLog EXTRA "Installing CLooG "
CT_DoExecLog ALL make " ${ cloog_install_targets [@] } "
}
fi # CT_CLOOG