emacs-pretest-bug
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: GTK build crashes under X


From: Jan Djärv
Subject: Re: GTK build crashes under X
Date: Fri, 08 Dec 2006 09:05:27 +0100
User-agent: Thunderbird 1.5.0.8 (X11/20061107)



Eli Zaretskii skrev:
Date: Fri, 08 Dec 2006 08:27:21 +0100
From: =?ISO-8859-1?Q?Jan_Dj=E4rv?= <address@hidden>
Cc: address@hidden, address@hidden
Alas, I couldn't find any documentation of the *.pc files' format, so
that I could edit the files.
It is in the man page for pkg-config.

What man page?  I'm quite sure I tried "man pkg-config" and didn't
find it there.

Hmm, there may be version differences.  Here is what my man-page says:




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
       URL: http://www.gtk.org
       Requires: glib-2.0 = 1.3.1
       Conflicts: foobar <= 4.5
       Libs: -L${libdir} -lgobject-1.3
       Libs.private: -lm
       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 mean-
       ing 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 lit-
       eral "${" 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

       URL:   An URL where people can get more information about and  download
              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 operators =, <,
              >, >=, <=); 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 san-
              ity checks, primarily to detect broken 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 mentioned package.  If a user tries to use your
              package 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.


       Libs.private:
              This  line  should  list  any private libraries in use.  Private
              libraries are libraries  which  are  not  exposed  through  your
              library, but are needed in the case of static linking.


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


        Jan D.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]