pkg-config man page on IRIX

Man page or keyword search:  
man Server   31559 pages
apropos Keyword Search (all sections)
Output format
IRIX logo
[printable version]

pkg-config(1)					    pkg-config(1)

NAME
       pkg-config   -	Return	metainformation	 about	installed
       libraries

SYNOPSIS
       pkg-config   [--modversion]   [--help]	 [--print-errors]
       [--silence-errors]   [--cflags]	[--libs]  [--libs-only-L]
       [--libs-only-l]	[--cflags-only-I]   [--variable=VARIABLE-
       NAME]	   [--define-variable=VARIABLENAME=VARIABLEVALUE]
       [--uninstalled]	 [--exists]   [--atleast-version=VERSION]
       [--exact-version=VERSION]	  [--max-version=VERSION]
       [LIBRARIES...]

DESCRIPTION
       The pkg-config program is  used	to  retrieve  information
       about  installed libraries in the system.  It is typically
       used to compile and link against one  or	 more  libraries.
       Here is a typical usage scenario in a Makefile:

       program: program.c
	    cc program.c `pkg-config --cflags --libs gnomeui`

       pkg-config  retrieves information about packages from spe-
       cial metadata files. These files are named after the pack-
       age,  with the extension .pc. By default, pkg-config looks
       in the directory prefix/lib/pkgconfig for these files;  it
       will  also  look in the colon-separated (on Windows, semi-
       colon-separated) list  of  directories  specified  by  the
       PKG_CONFIG_PATH environment variable.

       The  package name specified on the pkg-config command line
       is defined to be the name of the metadata file, minus  the
       .pc  extension. If a library can install multiple versions
       simultaneously, it must give each  version  its	own  name
       (for  example,  GTK 1.2 might have the package name "gtk+"
       while GTK 2.0 has "gtk+-2.0").

OPTIONS
       The following options are supported:

       --modversion
	      Requests	that  the  version  information	 of   the
	      libraries	 specified  on	the  command line be dis-
	      played.  If pkg-config can find all  the	libraries
	      on  the command line, each library's version string
	      is printed to stdout, one version per line. In this
	      case  pkg-config exits successfully. If one or more
	      libraries	 is  unknown,  pkg-config  exits  with	a
	      nonzero  code, and the contents of stdout are unde-
	      fined.

       --help Displays a help message and terminates.

       --print-errors
	      If one or more of the modules on the command  line,
	      or  their	 dependencies,	are  not  found, or if an
	      error occurs in  parsing	a  .pc	file,  then  this
	      option  will cause errors explaining the problem to
	      be  printed.  With  "predicate"  options	such   as
	      "--exists"  pkg-config  runs  silently  by default,
	      because it's usually used in scripts that	 want  to
	      control  what's  output.	This  option  can be used
	      alone (to just print  errors  encountered	 locating
	      modules on the command line) or with other options.
	      The  PKG_CONFIG_DEBUG_SPEW   environment	 variable
	      overrides this option.

       --silence-errors
	      If  one or more of the modules on the command line,
	      or their dependencies, are  not  found,  or  if  an
	      error  occurs  in	 parsing  a a .pc file, then this
	      option will keep errors explaining the problem from
	      being  printed.  With  "predicate"  options such as
	      "--exists" pkg-config  runs  silently  by	 default,
	      because  it's  usually used in scripts that want to
	      control what's output. So this option is only  use-
	      ful  with	 options such as "--cflags" or "--modver-
	      sion" that print errors by  default.  The	 PKG_CON-
	      FIG_DEBUG_SPEW  environment variable overrides this
	      option.

       --errors-to-stdout
	      If printing errors, print	 them  to  stdout  rather
	      than the default stderr

       The  following  options	are used to compile and link pro-
       grams:

       --cflags
	      This  prints  pre-processor   and	  compile   flags
	      required	to  compile  the  packages on the command
	      line, including flags for all  their  dependencies.
	      Flags  are "compressed" so that each identical flag
	      appears only once. pkg-config exits with a  nonzero
	      code  if	it can't find metadata for one or more of
	      the packages on the command line.

       --libs This option is identical	to  "--cflags",	 only  it
	      prints  the  link flags. As with "--cflags", dupli-
	      cate flags are merged  (maintaining  proper  order-
	      ing),  and  flags	 for dependencies are included in
	      the output.

       --libs-only-L
	      This prints the -L/-R part of "--libs". That is, it
	      defines the library search path but doesn't specify
	      which libraries to link with.

       --libs-only-l
	      This  prints  the	 -l  part  of  "--libs"	 for  the
	      libraries	 specified on the command line. Note that
	      the union of  "--libs-only-l"  and  "--libs-only-L"
	      may  be smaller than "--libs", due to flags such as
	      -rdynamic.

       --variable=VARIABLENAME
	      This returns the value of a variable defined  in	a
	      package's	 .pc file. Most packages define the vari-
	      able "prefix", for example, so you can say:
		$ pkg-config --variable=prefix glib-2.0
		/usr/

       --define-variable=VARIABLENAME=VARIABLEVALUE
	      This sets a global value for a variable, overriding
	      the value in any example, so you can say:
		$ pkg-config --print-errors --define-variable=prefix=/foo --variable=prefix glib-2.0
		/foo

       --uninstalled
	      Normally	if  you request the package "foo" and the
	      package "foo-uninstalled" exists,	 pkg-config  will
	      prefer the "-uninstalled" variant. This allows com-
	      pilation/linking against uninstalled  packages.  If
	      you  specify the "--uninstalled" option, pkg-config
	      will  return  successfully  if  any  "-uninstalled"
	      packages are being used, and return failure (false)
	      otherwise.   (The	 "PKG_CONFIG_DISABLE_UNINSTALLED"
	      environment  variable keeps pkg-config from implic-
	      itly choosing "-uninstalled" packages, so	 if  that
	      variable	is  set, they will only have been used if
	      you pass a name like "foo-uninstalled" on the  com-
	      mand line explicitly.)

       --exists

       --atleast-version=VERSION

       --exact-version=VERSION

       --max-version=VERSION
	      These  options  test whether the package or list of
	      packages on the command line are known to	 pkg-con-
	      fig, and optionally whether the version number of a
	      package meets certain contraints.	 If all	 packages
	      exist  and  meet the specified version constraints,
	      pkg-config exits successfully. Otherwise	it  exits
	      unsuccessfully.

	      Rather than using the version-test options, you can
	      simply give a version constraint after each package
	      name, for example:
		$ pkg-config --exists 'glib-2.0 >= 1.3.4 libxml = 1.8.3'
	      Remember	to  use	 --print-errors if you want error
	      messages.

       --msvc-syntax
	      This option is available only on Windows. It causes
	      pkg-config  to  output  -l and -L flags in the form
	      recognized by the Microsoft Visual C++ command-line
	      compiler,	    cl.	   Specifically,    instead    of
	      -Lx:/some/path it prints /libpath:x/some/path,  and
	      instead  of  -lfoo it prints foo.lib. Note that the
	      --libs output consists of flags for the linker, and
	      should  be  placed  on  the cl command line after a
	      /link switch.

       --dont-define-prefix
	      This option is available only on Windows.	 It  pre-
	      vents pkg-config from automatically trying to over-
	      ride the value of the variable "prefix" in each .pc
	      file.

       --prefix-variable=PREFIX
	      Also  this  option is available only on Windows. It
	      sets the name of the variable that pkg-config auto-
	      matically sets as described above.

ENVIRONMENT VARIABLES
       PKG_CONFIG_PATH
	      A colon-separated (on Windows, semicolon-separated)
	      list of directories to search for .pc  files.   The
	      default  directory  will	always	be searched after
	      searching the path; the default is libdir/pkgconfig
	      where  libdir  is	 the  libdir where pkg-config was
	      installed.

       PKG_CONFIG_DEBUG_SPEW
	      If set, causes pkg-config to  print  all	kinds  of
	      debugging information and report all errors.

       PKG_CONFIG_TOP_BUILD_DIR
	      A value to set for the magic variable pc_top_build-
	      dir which may appear in .pc files. If the	 environ-
	      ment   variable  is  not	set,  the  default  value
	      '$(top_builddir)'	 will  be  used.  This	 variable
	      should  refer  to	 the top builddir of the Makefile
	      where the compile/link flags reported by pkg-config
	      will  be	used.	This  only  matters  when compil-
	      ing/linking against a package that hasn't yet  been
	      installed.

       PKG_CONFIG_DISABLE_UNINSTALLED
	      Normally	if  you request the package "foo" and the
	      package "foo-uninstalled" exists,	 pkg-config  will
	      prefer the "-uninstalled" variant. This allows com-
	      pilation/linking against uninstalled packages.   If
	      this  environment variable is set, it disables said
	      behavior.

       PKG_CONFIG_ALLOW_SYSTEM_CFLAGS
	      Don't strip -I/usr/include out of cflags.

       PKG_CONFIG_ALLOW_SYSTEM_LIBS
	      Don't strip -L/usr/lib out of libs

       PKG_CONFIG_LIBDIR
	      Replaces the default pkg-config search directory.

WINDOWS SPECIALITIES
       If a .pc file is found in a  directory  that  matches  the
       usual  conventions  (i.e.,  ends with \lib\pkgconfig), the
       prefix for that package is assumed to be	 the  grandparent
       of  the directory where the file was found, and the prefix
       variable is overridden for that file accordingly.

       In addition to the PKG_CONFIG_PATH  environment	variable,
       the   Registry	keys   HKEY_CURRENT_USER\Software\pkgcon-
       fig\PKG_CONFIG_PATH				      and
       HKEY_LOCAL_MACHINE\Software\pkgconfig\PKG_CONFIG_PATH  can
       be used to specify directories to search	 for  .pc  files.
       Each  (string)  value in these keys is treated as a direc-
       tory where to look for .pc files.

AUTOCONF MACROS
       PKG_CHECK_MODULES(VARIABLEBASE,MODULELIST[,ACTION-IF-
       FOUND,[ACTION-IF-NOT-FOUND]])

	      The macro PKG_CHECK_MODULES can be used in  config-
	      ure.in  to  check	 whether modules exist. A typical
	      usage would be:
	       PKG_CHECK_MODULES(MYSTUFF, gtk+-2.0 >= 1.3.5 libxml = 1.8.4)

	      This   would    result	in    MYSTUFF_LIBS    and
	      MYSTUFF_CFLAGS  substitution  variables, set to the
	      libs and cflags for the given module  list.   If	a
	      module  is  missing  or  has  the wrong version, by
	      default configure will abort  with  a  message.  To
	      replace  the  default action, specify an ACTION-IF-
	      NOT-FOUND. PKG_CHECK_MODULES  will  not  print  any
	      error  messages  if you specify your own ACTION-IF-
	      NOT-FOUND.   However,  it	 will  set  the	 variable
	      MYSTUFF_PKG_ERRORS,  which  you  can use to display
	      what went wrong.

	      If you want to use MYSTUFF_LIBS and  MYSTUFF_CFLAGS
	      as  Makefile.am  variables  (i.e.	 $(MYSTUFF_LIBS))
	      then you have to add AC_SUBST(MYSTUFF_LIBS) to your
	      configure.in so automake can find the variable. You
	      don't need to do this if you use the @MYSTUFF_LIBS@
	      syntax	in    your    Makefile.am    instead   of
	      $(MYSTUFF_LIBS).

METADATA FILE SYNTAX
       To add a library to the set of packages	pkg-config  knows
       about,  simply install a .pc file. You should install this
       file to libdir/pkgconfig.

       Here is an example file:
       # This is a comment
       prefix=/home/hp/unst   # this defines a variable
       exec_prefix=${prefix}  # defining another variable in terms of the first
       libdir=${exec_prefix}/lib
       includedir=${prefix}/include

       Name: GObject				# human-readable name
       Description: Object/type system for GLib # human-readable description
       Version: 1.3.1
       Requires: glib-2.0 = 1.3.1
       Conflicts: foobar <= 4.5
       Libs: -L${libdir} -lgobject-1.3
       Cflags: -I${includedir}/glib-2.0 -I${libdir}/glib/include

       You would normally generate the file using  configure,  of
       course,	so  that  the  prefix, etc. are set to the proper
       values.

       Files have two kinds of line: keyword lines start  with	a
       keyword	plus a colon, and variable definitions start with
       an alphanumeric string plus an equals sign.  Keywords  are
       defined in advance and have special meaning to pkg-config;
       variables do not, you can have any variables that you wish
       (however, users may expect to retrieve the usual directory
       name variables).

       Note that variable references are  written  "${foo}";  you
       can escape literal "${" as "$${".

       Name:  This  field should be a human-readable name for the
	      package. Note that it is not the name passed as  an
	      argument to pkg-config.

       Description:
	      This should be a brief description of the package

       Version:
	      This  should  be the most-specific-possible package
	      version string.

       Requires:
	      This is a comma-separated list of packages that are
	      required	by  your  package.  Flags  from dependent
	      packages will be merged in to  the  flags	 reported
	      for  your	 package. Optionally, you can specify the
	      version of the required package (using  the  opera-
	      tors  =, <, >, >=, <=); specifying a version allows
	      pkg-config to perform extra sanity checks. You  may
	      only  mention  the  same	package	 one  time on the
	      Requires: line. If the  version  of  a  package  is
	      unspecified,  any	 version  will	be  used  with no
	      checking.

       Conflicts:
	      This optional line  allows  pkg-config  to  perform
	      additional  sanity checks, primarily to detect bro-
	      ken user installations.  The syntax is the same  as
	      Requires: except that you can list the same package
	      more than once here, for example "foobar	=  1.2.3,
	      foobar  = 1.2.5, foobar >= 1.3", if you have reason
	      to do so. If a version isn't specified,  then  your
	      package  conflicts  with	all  versions of the men-
	      tioned package.  If a user tries to use your  pack-
	      age  and	a  conflicting	package at the same time,
	      then pkg-config will complain.

       Libs:  This line should give the link  flags  specific  to
	      your  package.   Don't  add  any flags for required
	      packages; pkg-config will add those  automatically.

       Cflags:
	      This line should list the compile flags specific to
	      your package.  Don't add	any  flags  for	 required
	      packages;	 pkg-config will add those automatically.

AUTHOR
       pkg-config was written by James Henstridge,  rewritten  by
       Martijn	van  Beers, and rewritten again by Havoc Penning-
       ton. Tim Janik, Owen Taylor, and Raja  Harinath	submitted
       suggestions  and	 some  code.  gnome-config was written by
       Miguel de Icaza, Raja Harinath and various hackers in  the
       GNOME  team.   It was inspired by Owen Taylor's gtk-config
       program.

BUGS
       Hah!

						    pkg-con1ig(1)
[top]

List of man pages available for IRIX

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net