Name

configure — Used to configure the build environment for the xml-vaisala-common package.

Synopsis

configure [ --usr FILENAME ] [ --etc FILENAME ] [ --docs FILENAME ] [ --docs-url FILENAME ] [ --uri-root FILENAME ] [ --common-dir FILENAME ] [ --build-root FILENAME ] [ --sourceforge-mirror TEXT ] [ --java TEXT ] [ --docbook-xsl TEXT ] [ -c FILENAME | --config FILENAME ]

Description

The configure script is used when a developer needs to prepare the build environment for working on the xml-vaisala-common. The configure script attempts to make reasonable guesses at what settings will work well for you the developer. In its most simplistic form (and if things go well), you should be able to do the following:

[pkb@salsa common]$ ./configure
... informational output ...
[pkb@salsa common]$ make
... informational output ...
[pkb@salsa common]$ make install
... informational output ...
[pkb@salsa common]$ 

If the above goes smoothly, then everything should build and install in your local environment (under $HOME/usr). It's also recommended that you invoke the following to see the different build targets that are available (building packages typically requires a root login):

[pkb@salsa common]$ make help
... informational output ...
[pkb@salsa common]$ 

If things don't go well (and there is a 70% chance of this), you will need to read about the various options which you can pass to the configure script to tell it where things are located.

NOTE: Each time you invoke configure, it will clean out any previous builds.

Options

The following command line options are available:

[ --usr FILENAME ]

This field can be used to specify the top level directory for the installation of all files. By default, applications, configuration, documentation, etc will be installed in sub directories found under this root location. It defaults to ${HOME}/usr if not specified. If you are installing as a regular user, it is suggested that you leave it at its default value. If you are installing as root for an entire system or network, you will probably want to set this to /usr, /usr/local, or /opt/vaisala/common.

[ --etc FILENAME ]

All configuration files, which the user or system administrator may later want to tweak, will be placed under this directory (most likely in further sub directories). If you are installing as root for an entire system or network, you may want to set this to /etc, otherwise, the default value should work fine.

[ --docs FILENAME ]

By default, we will install documentation in a sub directory under ${ROOT}/share/doc. Use this option to override. For example, if you have a web server running on your system that makes files placed under ${HOME}/public_html available, you should consider specifying ${HOME}/public_html as this root directory.

[ --docs-url FILENAME ]

If you have a web server running on your development system which is able to access your document root directory, you will want to set this parameter to match (the equivalent URL mapping to what you specified in your). A typical Linux developer would specify: --docs $HOME/public_html --docs-url /~${USER}.

[ --uri-root FILENAME ]

Typically, one does not need to adjust this setting. It specifies the final public anchor point in which we plan to make the package available to the world at large via the Internet. Currently, it is set to a public web server which Paul Blankenbaker has access to.

[ --common-dir FILENAME ]

Many of the XML packages (like the keyval package) require files from the common area in order to build. This allows one to specify the exact location (like /usr/share/vaisala/xml/common). However, if you don't specify a value here, we will search several reasonable locations and most likely find it (unless you've worked pretty hard to hide it).

[ --build-root FILENAME ]

All of the files which can be installed by this package will be placed under this directory during a 'make all'. When you then invoke 'make install', they will be transferred to their final destination.

[ --sourceforge-mirror TEXT ]

There are many useful software packages available from SourceForge.net. This URL serves as the base anchor of the mirror site to use when forming URL's to download packages which are made available through the many SourceForge.net mirror sites.

[ --java TEXT ]

It is recommended to use a Java run time of 1.4.2 or later. Use this option if you need to specify the path to the Java run time. Also, if you need to go through a proxy server in order to access the Internet, you should include those settings here as well. For example: --java "/usr/bin/java -DproxyHost=172.26.0.232 -DproxyPort=3128". NOTE: If you choose to, you set the XML_COMMON_JAVA environment variable instead of specifying it on the command line.

[ --docbook-xsl TEXT ]

When converting XML DocBook documents, we need a set of XSL files. By default, we will search several directories on you system (preferring /usr/share/sgml/docbook/xsl-stylesheets) looking for the root directory (we detect this by looking for html/chunk.xsl in each top level directory checked). If we fail to find it on your local system, we will fall back to the Internet root of http://docbook.sourceforge.net/release/xsl/current. While this works, it is slower as we will need to download files as we process the documents. If you've installed a local copy of the XSL files somewhere else, you can use this option to specify where (or set the XML_COMMON_DOCBOOK environment variable). For example: --docbook-xsl /liz3/pkb/usr/share/sgml/docbook/docbook-xsl.

[ -c FILENAME | --config FILENAME ]

It can become tedious to specify a long list of command line arguments. This command line option allows one to automate this process via configuration files. If one specifies --config save, then the current configuration will be saved under the user's home directory. The name of the file will be displayed in this case, and you can adjust the default settings with any text editor. If one specifies --config auto (the default) and the default config file (from a previous save) is found, its settings will be loaded (thus allowing one to tweak their default settings). If one specifies --config load, it will behave similar to auto with the exception that a error message will be displayed if the configuration file is not found. Specify --config no to disable the automatic loading of an existing configuration. If one specifies --config show, we will show the current configuration settings. If one specifies --config FILE we will attempt to load the configuration from the FILE specified.

Files

${HOME}/.vaisala-xml-configure.sh

When run, we will search for this file and if found, use the settings contained as our defaults. This allows a developer to save their configuration settings for future use. See the --configure CMD command line option for more details).

Authors

Paul Blankenbaker created initial version.