##
##  GNU Pth - The GNU Portable Threads
##  Copyright (c) 1999-2006 Ralf S. Engelschall <rse@engelschall.com>
##
##  This file is part of GNU Pth, a non-preemptive thread scheduling
##  library which can be found at http://www.gnu.org/software/pth/.
##
##  This library is free software; you can redistribute it and/or
##  modify it under the terms of the GNU Lesser General Public
##  License as published by the Free Software Foundation; either
##  version 2.1 of the License, or (at your option) any later version.
##
##  This library 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
##  Lesser General Public License for more details.
##
##  You should have received a copy of the GNU Lesser General Public
##  License along with this library; if not, write to the Free Software
##  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
##  USA, or contact Ralf S. Engelschall <rse@engelschall.com>.
##
##  pthread-config.pod: pthread library build utility manual page
##

=pod

=head1 NAME

B<pthread-config> - Pth pthread library build utility

=head1 VERSION

pthsem PTH_VERSION_STR

=head1 SYNOPSIS

B<pthread-config>
[B<--help>]
[B<--version>]
[B<--all>]
[B<--prefix>]
[B<--exec-prefix>]
[B<--bindir>]
[B<--libdir>]
[B<--includedir>]
[B<--mandir>]
[B<--cflags>]
[B<--ldflags>]
[B<--libs>]

=head1 DESCRIPTION

The B<pthread-config> program is a little helper utility for easy configuring
and building applications based on the pthread emulation API of the GNU
Portable Threads (pth) library.  It can be used to query the C compiler and
linker flags which are required to correctly compile and link the application
against the pth(3) library.

=head1 OPTIONS

B<pthread-config> accepts the following options:

=over 4

=item B<--help>

Prints the short usage information.

=item B<--version>

Prints the version number and date of the installed pth(3) library.

=item B<--all>

Forces the output of all flags, that is, including extra flags which are not
B<Pth> specific.

=item B<--prefix>

Prints the installation prefix of architecture independent files

=item B<--exec-prefix>

Prints the installation prefix of architecture dependent files.

=item B<--bindir>

Prints the installation directory of binaries.

=item B<--libdir>

Prints the installation directory of libraries.

=item B<--includedir>

Prints the installation directory of include headers.

=item B<--mandir>

Prints the installation directory of manual pages.

=item B<--cflags>

Prints the C compiler flags which are needed to compile the pth(3)-based
application. The output is usually added to the C<CFLAGS> variable of the
applications C<Makefile>.

=item B<--ldflags>

Prints the linker flags (C<-L>) which are needed to link the application with
the pth(3) library. The output is usually added to the C<LDFLAGS> variable of
the applications C<Makefile>.

=item B<--libs>

Prints the library flags (C<-l>) which are needed to link the application with
the pth(3) library. The output is usually added to the C<LIBS> variable of the
applications C<Makefile>.

=back

=head1 EXAMPLE

 CC      = cc
 CFLAGS  = -O `pthread-config --cflags`
 LDFLAGS = `pthread-config --ldflags`
 LIBS    = -lm `pthread-config --libs`

 all: foo
 foo: foo.o
     $(CC) $(LDFLAGS) -o foo foo.o $(LIBS)
 foo.o: foo.c
     $(CC) $(CFLAGS) -c foo.c

=head1 SEE ALSO

pthread(3), cc(1).

=head1 AUTHOR

 Ralf S. Engelschall
 rse@engelschall.com
 www.engelschall.com

=cut

