This is a quick trick for those who have to continually set up common settings
when using Autotools style
configure scripts. One of the initial steps a
configure script does is to look for a
file and then to execute its contents. An example of how this may be useful is
if you have some common libraries that are not on the default search paths for
your compiler and you want
LDFLAGS set automatically. In my case
I commonly use the Nvidia OpenCL headers, which on the machines I use are
/usr/local/cuda/include. To use them, I could have a config.log
file like so in my default installation prefix.
Now when I run
configure, it picks up that additional flag for the C preprocessor.
A more complicated example is if you maintain a seperate prefix. I do this in my home folder for my CS department account. Because my home folder is shared over NFS to all of the department’s machines, and many of them have different architectures and operating environments, I keep a prefix for different classes of machines. For example:
~/local/ fast-sparc/ fast-ubuntu/ nv-s1070/ nv-c870/ src/
src directory is just a repository for all of the source packages that I
end up installing in the other directories. In my
.bashrc I export a
LOCAL_PREFIX, that is set to the prefix for the machine I’m logging
into. Then, all I need to do is
./configure --prefix=$LOCAL_PREFIX and the
compiler flags are properly set for that prefix. Another possibility is to
CONFIG_SITE variable set to the path to the config.site file for
that machine configuration.
More details about config.site can be found in the Autoconf manual.