.\" $HeadURL$ $LastChangedRevision$ .\" .TH ADECONF 1 "1 January 2003" .SH NAME adeconf \- compile-time path configuration .br .ne 5 .SH SYNOPSIS .B adeconf [ .B \-V | .B \-\-version ] [ .B \-v | .B \-\-verbose | .B \-d .I level | .B \-\-debug .I level ] [ .B \-h | .B \-\-help ] [ .B \-p | .B \-\-list\-paths ] [ .B \-\-prefix\fR=\fIprefix ] [ .B \-\-bindir\fR=\fIbindir ] [ .B \-\-mandir\fR=\fImandir ] [ .B \-\-libdir\fR=\fIlibdir ] [ .B \-\-incdir\fR=\fIincdir ] [ .B \-\-docdir\fR=\fIdocdir ] [ .B \-\-cfgdir\fR=\fIcfgdir ] [ .B \-\-logdir\fR=\fIlogdir ] [ .B \-\-sttdir\fR=\fIsttdir ] [ .B \-\-lckdir\fR=\fIlckdir ] .I package .br .ne 5 .SH DESCRIPTION This manual page documents version SPPSYM_RELEASEID of .B adeconf\fR. .PP .B Adeconf generates files containing path information in several formats. These files can then be included in sources and Makefiles of .I package\fR. .PP The paths which can be controlled are as follows: .TP 25 .I prefix In practice this path is not referenced directly; .B adeconf uses it to derive default values for other paths. .br .TP .I bindir The directory where user-accessible executable components of .I package are stored. Typically this is used only by the \(oqinstall' target in .I package\fR's Makefiles. .TP .I mandir The directory where the man pages for a program are stored. Typically this is used only by the \(oqinstall' target in .I package\fR's Makefiles. .TP .I libdir The directory where support libraries and support executables are stored. Typically this is referenced by the user-accessible executables in .I package and by the \(oqinstall' target in .I package\fR's Makefiles. .TP .I incdir The directory where user-includable files are stored. Typically it is up to the user to specify this directory in any programs .I they write which need to include files from .I package\fR. It is normally also referenced by the \(oqinstall' target in .I package\fR's Makefile, and possibly the Makefiles of the programs they write. .TP .I docdir The directory where any documentation excluding man pages are stored. Typically this is only referenced by .I package\fR's Makefiles. .TP .I cfgdir The directory where a program's configuration files are stored. Typically this is only refenced by the user-accessible executables in .I package and perhaps by things installed under .I libdir\fR. .TP .I logdir The directory where the programs in .I package write their log files. Typically this is only referenced by the user-accessible executables and perhaps by things installed under .I libdir\fR. .TP .I sttdir The directory where the programs in .I package write their variant state data. Typically this is only referenced by the user-accessible executables and perhaps by things installed under .I libdir\fR. The paths of user-specific state data files should be encoded directly in your program and should not rely on this sort of path configuration. .TP .I lckdir The directory where the program in .I package write their lock files. Typically this is only referenced by the user-accessible executables. The paths of user-specific lock files should be encoded directly in your program and should not rely on this sort of path configuration. .PP .B Adeconf writes files with the following names: .TP 25 .B paths.mk This contains Makefile variable definitions (see .B make\fR(1)) and is suitable to be included into Makefiles. .TP .B paths.spp This contains SPP definitions (see .B adespp\fR(1)) and is suitable to be included in files preprocessed by .B adespp\fR(1). .PP .I Package is an single-word identifier. .br .ne 5 .SH CONFIGURATION None. .br .ne 5 .SH OPTIONS .TP 25 .B \-d \fIlevel\fR,\fB \-\-debug \fIlevel\fR Determines how verbose .B adeconf will be. The message types displayed for the different values of .I level are as follows: .RS 25 .TP 5 .B 0 internal errors only .TP .B 1 internal errors and normal errors .TP .B 2 internal errors, normal errors and warnings .TP .B 3 internal errors, normal errors, warnings and informational messages .TP .B >3 all the above plus application-specific debug messages. .RE .TP .B \-h \fR,\fB \-\-help isplays a brief usage message. .TP .B \-p \fR,\fB \-\-list\-paths List the compiled-in paths of various files and directories that .B adeconf uses. .TP .B \-v \fR,\fB \-\-verbose Equivalent to .B \-d 3\fR. .TP .B \-V \fR,\fB \-\-version Print the program's version number and exit. .TP .B \-\-prefix\fB=\fIprefix Specify an alternate prefix for the other configuration options. The default is .B /usr/local\fR. .TP .B \-\-bindir\fB=\fIbindir Specify an alternate directory for the user-accessible executables. The default is .I prefix\fB/bin\fR. .TP .B \-\-mandir\fB=\fImandir Specify an alternate directory for the man pages. The default is .I prefix\fB/man\fR. .TP .B \-\-libdir\fB=\fIlibdir Specify an alternate directory for the libraries and non-user-accessible executables. The default is .I prefix\fB/lib\fR. .TP .B \-\-incdir\fB=\fIincdir Specify an alternate directory for the user-includable files. The default is .I prefix\fB/include\fR. .TP .B \-\-docdir\fB=\fIdocdir Specify an alternate directory for the non-man-page documentation. The default is .I prefix\fB/doc\fR. .TP .B \-\-cfgdir\fB=\fIcfgdir Specify an alternate directory for the configuration files. The default is .I prefix\fB/etc\fR. .TP .B \-\-logdir\fB=\fIlogdir Specify an alternate directory for the log files. The default is .B /var/adm or .B /var/log\fR, whichever is found first. It is an error for neither of these to exist and no alternative to be specified using this option. .TP .B \-\-sttdir\fB=\fIsttdir Specify an alternate directory for the variant state information files. If .I prefix is .B /usr/local then the default for this is .B /var/local\fR, otherwise the default is .B /var\fR. .TP .B \-\-lckdir\fB=\fIlckdir Specify an alternate directory for the lock files. The default is .B /var/locks\fR, .B /var/lock or .B /var/run\fR, whichever is found first. It is an error for none of these to exist and no alternative to be specified using this option. .ne 5 .SH EXIT STATUS On success .B adeconf returns zero. On failure it returns non-zero and displays a diagnostic message. .br .ne 5 .SH FILES .TP 25 .B paths.mk Path definitions in .B make\fR(1)-compatible syntax .TP .B paths.spp Path definitions in .B adespp\fR(1)-compatible syntax .ne 5 .SH ENVIRONMENT VARIABLES None. .ne 5 .SH EXAMPLES The following command would be used to configure the paths for the \(oqfoo' daemon on a Debian system, where \(oqfoo's configuration and log files do not need their own directories: .IP .nf .fam C .B adeconf --prefix=/usr --mandir=/usr/share/man --docdir=/usr/share/doc \(rs .B --cfgdir=/etc --logdir=/var/log --sttdir=/var/lib --lckdir=/var/run .fam T .fi .br .PP If you like to install software in /opt-like application-specific trees, then try something like: .IP .nf .fam C .B adeconf --prefix=/opt/\fIpackage\fB --cfgdir=/etc --logdir=/var/log \(rs .B --sttdir=/var/lib --lckdir=/var/run .fam T .fi .br .PP .SH CAVEATS It is expected that .B adeconf will be modified to generate C header files at some time in the future, but for the time being use SPP files, which can also be used by C files, with a little overhead in your Makefiles. .PP It is expected that in a future release the default value for .I cfgdir will change to .B /etc\fR. .PP Currently the .I package command line argument is not used by this program and there are no references to it in any of the generated files. However this may change in a future release. .ne 5 .SH SEE ALSO make(1), adespp(1) .br .ne 5 .SH AUTHOR SPPSYM_AUTHOR_NAME .br .ne 5 .SH COPYRIGHT & DISTRIBUTION POLICY Copyright (C) 1998-2002 SPPSYM_AUTHOR_NAME .PP This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. .PP This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. .PP You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.