Revision a910b1c41f343eca0704c5815ecd01752ba324db authored by Frank Winter on 27 May 2022, 16:17:05 UTC, committed by Frank Winter on 27 May 2022, 16:17:05 UTC
1 parent bdf30de
chroma-config.in
#!/bin/sh
# chroma-config
#
# Inspired by qdp++-config from George T. Fleming
#
# Tool for retrieving configuration information about the installed version
# of QDP.
#
# This script was copied from the qdp++-config. The latter was
# inspired by many similar scripts available in RedHat Linux,
# including gnome-config, gtk-config and xmms-config.
#
# Be on the lookout for problems with undesirable CXXFLAGS and LDFLAGS
# propagating through this script. Send email to flemingg@jlab.org
# if you find such a problem.
prefix="@prefix@"
exec_prefix="@exec_prefix@"
exec_prefix_set=no
version="@VERSION@"
extra_libs="-lqdp-lapack"
sse_dslash_enabled="@SSE_DSLASH_ENABLED@"
cpp_dslash_enabled="@CPP_DSLASH_ENABLED@"
qopdp_mg_enabled="@QOP_MG_ENABLED@"
mgproto_enabled="@MGPROTO_ENABLED@"
case $mgproto_enabled in
yes)
extra_libs="@MGPROTO_LIBS@ $extra_libs"
;;
*)
;;
esac
case $sse_dslash_enabled in
yes)
extra_libs="$extra_libs -llevel3"
;;
*)
;;
esac
case $cpp_dslash_enabled in
yes)
extra_libs="$extra_libs -ldslash"
;;
*)
;;
esac
cg_dwf_enabled="@CG_DWF_ENABLED@"
case $cg_dwf_enabled in
yes)
extra_libs="$extra_libs -lcg-dwf"
;;
*)
;;
esac
case $qopdp_mg_enabled in
yes)
extra_libs="$extra_libs @QOP_MG_LIBS@"
mg_ld_flags="@QOP_MG_LDFLAGS@"
mg_cxx_flags="@QOP_MG_CXXFLAGS@"
;;
*)
mg_ld_flags=""
mg_cxx_flags=""
;;
esac
chroma_cxx="@CXX@"
chroma_cxxflags="@CXXFLAGS@ -I@includedir@ @QDPXX_CXXFLAGS@ @MGPROTO_CXXFLAGS@ @BAGEL_WILSON_DSLASH_CXXFLAGS@ @BAGEL_CLOVER_CXXFLAGS@ @GMP_CXXFLAGS@ @QMT_CXXFLAGS@ @QUDA_CXXFLAGS@ @CUDA_CXXFLAGS@ @QPHIX_CXXFLAGS@ "$mg_cxx_flags
chroma_ldflags="@LDFLAGS@ -L@libdir@ @MGPROTO_LDFLAGS@ @QDPXX_LDFLAGS@ @BAGEL_WILSON_DSLASH_LDFLAGS@ @GMP_LDFLAGS@ @BAGEL_CLOVER_LDFLAGS@ @QMT_LDFLAGS@ @QUDA_LDFLAGS@ @CUDA_LDFLAGS@ @QPHIX_LDFLAGS@ "$mg_ld_flags
chroma_libs="-lchroma "$extra_libs" @QDPXX_LIBS@ @BAGEL_WILSON_DSLASH_LIBS@ @BAGEL_CLOVER_LIBS@ @LIBS@ @GMP_LIBS@ @QUDA_LIBS@ @CUDA_LIBS@ @QMT_LIBS@ @QPHIX_LIBS@"
mdwf_enabled="@MDWF_ENABLED@"
case ${mdwf_enabled} in
yes)
chroma_cxxflags=${chroma_cxxflags}" @MDWF_CXXFLAGS@"
chroma_ldflags=${chroma_ldflags}" @MDWF_LDFLAGS@"
chroma_libs=${chroma_libs}" @MDWF_LIBS@"
;;
*)
;;
esac
precision="@QDPXX_PRECISION@"
chroma_ranlib="@RANLIB@"
chroma_ar="@AR@"
usage()
{
cat <<EOF
Usage: chroma-config [OPTIONS]
Options:
[--prefix[=DIR]]
[--exec-prefix[=DIR]]
[--version]
[--Nd]
[--Nc]
[--Ns]
[--parallel-arch]
[--precision]
[--cxx]
[--cxxflags]
[--ldflags]
[--libs]
[--ranlib]
[--ar]
EOF
exit $1
}
if test $# -eq 0; then
usage 1 1>&2
fi
while test $# -gt 0; do
case "$1" in
-*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
*) optarg= ;;
esac
case $1 in
--prefix=*)
prefix=$optarg
if test $exec_prefix_set = no ; then
exec_prefix=$optarg
fi
;;
--prefix)
echo_prefix=yes
;;
--exec-prefix=*)
exec_prefix=$optarg
exec_prefix_set=yes
;;
--exec-prefix)
echo_exec_prefix=yes
;;
--version)
echo $version
;;
--Nd)
echo @QDPXX_ND@
;;
--Nc)
echo @QDPXX_NC@
;;
--Ns)
echo @QDPXX_NS@
;;
--parallel-arch)
echo @QDPXX_PARALLEL_ARCH@
;;
--cxx)
echo $chroma_cxx
;;
--cxxflags)
echo_cxxflags=yes
;;
--ldflags)
echo_ldflags=yes
;;
--libs)
echo_libs=yes
;;
--precision)
echo ${precision}
;;
--layout)
echo ${layout}
;;
--ranlib)
echo ${chroma_ranlib}
;;
--ar)
echo ${chroma_ar}
;;
*)
usage 1 1>&2
;;
esac
shift
done
if test "X${echo_prefix}X" = "XyesX" ; then
echo $prefix
fi
if test "X${echo_exec_prefix}X" = "XyesX" ; then
echo $exec_prefix
fi
if test "X${echo_cxxflags}X" = "XyesX" ; then
output_cxxflags=
for i in $chroma_cxxflags ; do
case $i in
-I/usr/include) ;;
-g) ;;
# -O*) ;;
# -W*) ;;
*)
case " $output_cxxflags " in
*\ $i\ *) ;; # already there, skip it
*) output_cxxflags="$output_cxxflags $i" # add it to output
esac
esac
done
echo $output_cxxflags
fi
if test "X${echo_ldflags}X" = "XyesX" ; then
output_ldflags=
for i in $chroma_ldflags ; do
if test "X${i}X" != "X-I/usr/libX" ; then
case " $output_ldflags " in
*\ $i\ *) ;; # already there, skip it
*) output_ldflags="$output_ldflags $i" # add it to output
esac
fi
done
echo $output_ldflags
fi
# Straight out any possible duplicates, but be careful to
# get `-lfoo -lbar -lbaz' for `-lfoo -lbaz -lbar -lbaz'
# NONONO!!! DON'T DO THIS. SOMETIMES you need a -l twice
if test "X${echo_libs}X" = "XyesX" ; then
rev_libs=
for i in $chroma_libs ; do
rev_libs="$i $rev_libs"
done
output_libs=
for i in $rev_libs ; do
case " $output_libs " in
*) output_libs="$i $output_libs" ;; # add it to output in reverse order
esac
done
echo $output_libs
fi
Computing file changes ...