DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH
 

(autocf21.info.gz) Site Defaults

Info Catalog (autocf21.info.gz) Transforming Names (autocf21.info.gz) Site Configuration
 
 9.5 Setting Site Defaults
 =========================
 
 Autoconf-generated `configure' scripts allow your site to provide
 default values for some configuration values.  You do this by creating
 site- and system-wide initialization files.
 
    If the environment variable `CONFIG_SITE' is set, `configure' uses
 its value as the name of a shell script to read.  Otherwise, it reads
 the shell script `PREFIX/share/config.site' if it exists, then
 `PREFIX/etc/config.site' if it exists.  Thus, settings in
 machine-specific files override those in machine-independent ones in
 case of conflict.
 
    Site files can be arbitrary shell scripts, but only certain kinds of
 code are really appropriate to be in them.  Because `configure' reads
 any cache file after it has read any site files, a site file can define
 a default cache file to be shared between all Autoconf-generated
 `configure' scripts run on that system.  If you set a default cache
 file in a site file, it is a good idea to also set the output variable
 `CC' in that site file, because the cache file is only valid for a
 particular compiler, but many systems have several available.
 
    You can examine or override the value set by a command line option to
 `configure' in a site file; options set shell variables that have the
 same names as the options, with any dashes turned into underscores.
 The exceptions are that `--without-' and `--disable-' options are like
 giving the corresponding `--with-' or `--enable-' option and the value
 `no'.  Thus, `--cache-file=localcache' sets the variable `cache_file'
 to the value `localcache'; `--enable-warnings=no' or
 `--disable-warnings' sets the variable `enable_warnings' to the value
 `no'; `--prefix=/usr' sets the variable `prefix' to the value `/usr';
 etc.
 
    Site files are also good places to set default values for other
 output variables, such as `CFLAGS', if you need to give them non-default
 values: anything you would normally do, repetitively, on the command
 line.  If you use non-default values for PREFIX or EXEC_PREFIX
 (wherever you locate the site file), you can set them in the site file
 if you specify it with the `CONFIG_SITE' environment variable.
 
    You can set some cache values in the site file itself.  Doing this is
 useful if you are cross-compiling, so it is impossible to check features
 that require running a test program.  You could "prime the cache" by
 setting those values correctly for that system in
 `PREFIX/etc/config.site'.  To find out the names of the cache variables
 you need to set, look for shell variables with `_cv_' in their names in
 the affected `configure' scripts, or in the Autoconf `m4' source code
 for those macros.
 
    The cache file is careful to not override any variables set in the
 site files.  Similarly, you should not override command-line options in
 the site files.  Your code should check that variables such as `prefix'
 and `cache_file' have their default values (as set near the top of
 `configure') before changing them.
 
    Here is a sample file `/usr/share/local/gnu/share/config.site'.  The
 command `configure --prefix=/usr/share/local/gnu' would read this file
 (if `CONFIG_SITE' is not set to a different file).
 
      # config.site for configure
      #
      # Change some defaults.
      test "$prefix" = NONE && prefix=/usr/share/local/gnu
      test "$exec_prefix" = NONE && exec_prefix=/usr/local/gnu
      test "$sharedstatedir" = '${prefix}/com' && sharedstatedir=/var
      test "$localstatedir" = '${prefix}/var' && localstatedir=/var
      #
      # Give Autoconf 2.x generated configure scripts a shared default
      # cache file for feature test results, architecture-specific.
      if test "$cache_file" = ./config.cache; then
        cache_file="$prefix/var/config.cache"
        # A cache file is only valid for one C compiler.
        CC=gcc
      fi
 
Info Catalog (autocf21.info.gz) Transforming Names (autocf21.info.gz) Site Configuration
automatically generated byinfo2html