mailarchive of the ptxdist mailing list
 help / color / mirror / Atom feed
From: Michael Olbrich <m.olbrich@pengutronix.de>
To: ptxdist@pengutronix.de
Subject: Re: [ptxdist] Hardcoded path in pkg-config file
Date: Fri, 12 Dec 2014 11:22:58 +0100	[thread overview]
Message-ID: <20141212102258.GH31594@pengutronix.de> (raw)
In-Reply-To: <CABDcavYpf6NtKus+Z9-+RRpmTfVzvCk=FZ6RUa_Mx-VyGe4b6A@mail.gmail.com>

Hi,

On Thu, Dec 11, 2014 at 12:12:40PM +0100, Guillermo Rodriguez Garcia wrote:
> 2014-12-11 11:46 GMT+01:00 Juergen Borleis <jbe@pengutronix.de>:
> > Hi Guillermo,
> >
> > On Wednesday 10 December 2014 17:14:06 Guillermo Rodriguez Garcia wrote:
> >> I am trying to port a package to ptxdist (libzip). This package
> >> creates a pkg-config .pc file that contains some hardcoded paths.
> >> During the install stage, it looks like ptxdist already does some
> >> magic to "fix" the hardcoded paths (where is this done?), however not
> >> all paths are fixed.
> >>
> >> Here's the .pc file that gets copied to sysroot-target:
> >>
> >> prefix=${pcfiledir}/../..
> >> exec_prefix=${prefix}
> >> libdir=${exec_prefix}/lib
> >> includedir=${prefix}/include
> >> libincludedir=/usr/lib/libzip/include
> >> ^^^^^^^^^^^
> >> [...]
> >
> > What is the difference between 'includedir' and 'libincludedir'?
> > What kind of files does the install stage install to these locations?
> 
> Apparently these are just two locations for header files. Here's the
> complete .pc.in file:

Yes, some packages have (generated) headers that are platform specific.
Those are installed separately to handle multiarch correctly.

> ===
> prefix=@prefix@
> exec_prefix=@exec_prefix@
> libdir=@libdir@
> includedir=@includedir@
> libincludedir=@libdir@/@PACKAGE@/include

Patch this to change this to:

libincludedir=${libdir}/@PACKAGE@/include

> zipcmp=@prefix@/bin/zipcmp
> 
> Name: libzip
> Description: library for handling zip archives
> Version: @VERSION@
> Libs: -L${libdir} -lzip @LIBS@
> Cflags: -I${includedir} -I${libincludedir}
> ===
> 
> This is probably not very common (they could have just used includedir
> for all paths) but as far as I can see it is valid syntax.
> 
> After some digging (the post-install processing does not seem to be
> documented anywhere) I already found where ptxdist is patching these
> files (ptxd_make_world_install_mangle_pc.awk), which was my original
> question. Now the question is, should this awk script handle all paths
> in the .pc file? Or only the "common cases" prefix / exec_prefix /
> libdir / includedir?

ptxd_make_world_install_mangle_pc.awk tries to do the right thing, but that
only goes so far. We already have some other corner-cases where patching
the pc file is necessary.

Michael

-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

-- 
ptxdist mailing list
ptxdist@pengutronix.de

  reply	other threads:[~2014-12-12 10:22 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-12-10 16:14 Guillermo Rodriguez Garcia
2014-12-11 10:46 ` Juergen Borleis
2014-12-11 11:12   ` Guillermo Rodriguez Garcia
2014-12-12 10:22     ` Michael Olbrich [this message]
2014-12-12 15:48       ` Guillermo Rodriguez Garcia
2015-01-09 11:32         ` Guillermo Rodriguez Garcia

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20141212102258.GH31594@pengutronix.de \
    --to=m.olbrich@pengutronix.de \
    --cc=ptxdist@pengutronix.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox