Setting site defaults using CONFIG_SITE
Another way to pass options to configure is to use a site
configuration file. This file will be “sourced” by configure to set
some values and options, and will save you some bytes on your command
line when you’ll invoke configure.
First, write a config.site file:
# -*- shell-script -*-
echo "Loading config.site for $PACKAGE_TARNAME"
echo "(srcdir: $srcdir)"
echo
package=$PACKAGE_TARNAME
echo "config.site: $package"
echo
# Configuration specific to |epita| KB machines (GNU/Linux on x86-64).
case $package in
tc)
# Turn off optimization when building with debugging information
# (the build dir must have ``debug'' in its name).
case `pwd` in
*debug*) :
: ${CFLAGS="-ggdb -O0"}
: ${CXXFLAGS="-ggdb -O0 -D_GLIBCXX_DEBUG"}
;;
esac
# Help configure to find the Boost libraries on NetBSD.
if test -f /usr/pkg/include/boost/config.hpp; then
with_boost=/usr/pkg/include
fi
# Set CC, CXX, BISON, MONOBURG, and other programs as well.
: ${CC=/u/prof/acu/pub/NetBSD/bin/gcc}
: ${CXX=/u/prof/acu/pub/NetBSD/bin/g++}
: ${BISON=/u/prof/yaka/bin/bison}
: ${MONOBURG=/u/prof/yaka/bin/monoburg}
# ...
;;
esac
set +vx
Then, set the environment variable CONFIG_SITE to the path to
this file, and run configure:
$ export CONFIG_SITE="$HOME/src/config.site"
$ ../configure
or if you use a C-shell:
$ setenv CONFIG_SITE "$HOME/src/config.site"
$ ../configure
This is useful when invoking make distcheck: you don’t need to
pollute your environment, nor use Automake’s
DISTCHECK_CONFIGURE_FLAGS (Making a Tarball).
Of course, you can have several config.site files, one for each
architecture you work on for example, and set the CONFIG_SITE
variable according to the host/system.