You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
86 lines
2.3 KiB
Bash
86 lines
2.3 KiB
Bash
#!/bin/sh
|
|
# configure gnucap-custom
|
|
# (c) 2018-2019 Felix Salfelder
|
|
# GPLv3+
|
|
|
|
GNUCAP_CONF=gnucap-conf
|
|
#------------- Stuff added to enable --prefix --------------
|
|
if test "x$1" != "x"; then
|
|
# echo Found input parameter -- $1
|
|
# Now see if the parameter is --prefix=
|
|
if test "x${1#--prefix=}" != "x$1"; then
|
|
# echo "Found --prefix in input args. Setting prefix directory."
|
|
prefix=${1#--prefix=}
|
|
else
|
|
# echo "Found unrecognized parameter in input args."
|
|
# Just use the default prefix dir.
|
|
prefix=/usr/local
|
|
fi
|
|
|
|
pkglibdir=${prefix}/lib/gnucap
|
|
plugpath=${pkglibdir}:$( gnucap-conf --pkglibdir )
|
|
sysconfdir=${prefix}/etc
|
|
else
|
|
# echo "No input parameter found."
|
|
# Just use the default prefix dir
|
|
prefix=$( ${GNUCAP_CONF} --exec-prefix )
|
|
pkglibdir=$( ${GNUCAP_CONF} --pkglibdir )
|
|
plugpath=$( ${GNUCAP_CONF} --pkglibdir )
|
|
sysconfdir=$( ${GNUCAP_CONF} --sysconfdir )
|
|
fi
|
|
|
|
cxx=$( ${GNUCAP_CONF} --cxx )
|
|
|
|
# bug. this is not implemented consistently.
|
|
GNUCAP_CPPFLAGS="$(${GNUCAP_CONF} --cppflags) -DADD_VERSION -DPIC"
|
|
GNUCAP_CXXFLAGS="$(${GNUCAP_CONF} --cxxflags) -fPIC -shared"
|
|
GNUCAP_LDFLAGS="$(${GNUCAP_CONF} --ldflags)"
|
|
CXX=${cxx}
|
|
if [ -n "$GNUCAP_CXX" ]; then
|
|
CXX="${GNUCAP_CXX}"
|
|
fi
|
|
WHICH_MAKE="$(which make)"
|
|
|
|
echo prefix: $prefix
|
|
echo pkglibdir: $pkglibdir
|
|
echo plugpath: $plugpath
|
|
echo cxx: $CXX
|
|
|
|
STATUS="$*"
|
|
|
|
fill_template() {
|
|
t=$( mktemp )
|
|
sed -e "s#@prefix@#$prefix#" \
|
|
-e "s#@exec_prefix@#$prefix#" \
|
|
-e "s#@libdir@#$prefix/lib#" \
|
|
-e "s#@includedir@#$\{prefix\}/include#" \
|
|
-e "s#@datarootdir@#$\{prefix\}/share/gnucap#" \
|
|
-e "s#@sysconfdir@#$sysconfdir#" \
|
|
-e "s#@pkglibdir@#$pkglibdir#" \
|
|
-e "s#@plugpath@#$plugpath#" \
|
|
-e "s#@CXXFLAGS@#$CCFLAGS#" \
|
|
-e "s#@LIBS@#-lgnucap#" \
|
|
-e "s#@STATUS@#$STATUS#" \
|
|
-e "s#@GNUCAP_CPPFLAGS@#${GNUCAP_CPPFLAGS}#" \
|
|
-e "s#@GNUCAP_LDFLAGS@#${GNUCAP_LDFLAGS}#" \
|
|
-e "s#@GNUCAP_CXXFLAGS@#${GNUCAP_CXXFLAGS}#" \
|
|
-e "s#@WHICH_MAKE@#${WHICH_MAKE}#" \
|
|
-e "s#@cxx@#$CXX#" < $1.in > $t
|
|
if diff $1 $t 2>/dev/null >/dev/null; then
|
|
echo "$1 is up to date"
|
|
rm $t;
|
|
else
|
|
echo "creating $1"
|
|
mv $t $1;
|
|
fi
|
|
}
|
|
|
|
fill_template config.h
|
|
fill_template Makefile
|
|
fill_template gnucap.mk
|
|
chmod +x gnucap.mk
|
|
|
|
echo -n "# " > config.log
|
|
date >> config.log
|
|
echo GNUCAP_CXX=\"${GNUCAP_CXX}\" $0 "$@" >> config.log
|