.\" ucommon-config - script to get information about ucommon library
.\" Copyright (c) 2009 David Sugar <dyfet@gnutelephony.org>
.\"
.\" This manual page 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 3 of the License, or
.\" (at your option) any later version.
.\"
.\" 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.
.\"
.\" 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.,59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
.\"
.\" This manual page is written especially for Debian GNU/Linux.
.\"
.TH ucommon-config "1" "July 2009" "GNU Common C++ uCommon" "GNU Telephony"
.SH NAME
ucommon-config \- script to get information about ucommon library
.SH SYNOPSIS
.B ucommon-config
.RB [ options ]
.SH DESCRIPTION
.B ucommon-config
is a tool that is used to configure to determine the compiler and
linker flags that should be used to compile and link programs that use the
.BR ucommon
library.
.IR Note :
.B ucommon-config
is provided for compatibility with legacy software only.  Current
projects should use
.B pkg-config
instead!
.SH OPTIONS
.TP
.B --version
Print the currently installed version of
.B ucommon
on the standard output.
.TP
.B --secure
Print additional libraries needed to link a program with
.BR ucommon secure crytographic library
.TP
.B --scripting
Print additional linker flags needed to link a program with
.BR ucommon script library
.TP
.B --includes
Print the include directory for
.BR ucommon headers
.TP
.B --libs
Print the linker flags that are necessary to link a program with
.BR ucommon
.TP
.B --plugins
Print the directory for
.BR ucommon plugins
.TP
.B --cflags
Print the compiler flags that are necessary to compile a program with
.BR ucommon
.TP
.BI  --prefix= PREFIX
If specified, use
.I PREFIX
instead of the installation prefix that
.B ucommon
was built with when computing the output for the
.B --cflags
and
.B --libs
options. This option is also used for the exec prefix if
.B --exec-prefix
was not specified. This option must be specified before any
.B --libs
or
.B --cflags
options.
.TP
.BI --exec-prefix= PREFIX
If specified, use
.I PREFIX
instead of the installation exec prefix that
.B ucommon
was built with when computing the output for the
.B --cflags
and
.B --libs
options. This option must be specified before any
.B --libs
or
.B --cflags
options.
.SH "SEE ALSO"
.IR pkg-config (1).
.SH AUTHOR
.B ucommon-config
was written by David Sugar <dyfet@gnutelephony.org>.
.SH COPYRIGHT
Copyright \(co 2009 David Sugar, Tycho Softworks.
.br
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE.



