[systemd-devel] [PATCH] build: generate pkg-config files during configure

Zbigniew Jędrzejewski-Szmek zbyszek at in.waw.pl
Thu Mar 12 14:57:00 PDT 2015


On Thu, Mar 12, 2015 at 11:00:55AM +0100, Kay Sievers wrote:
> On Thu, Mar 12, 2015 at 5:09 AM, Lucas De Marchi
> <lucas.de.marchi at gmail.com> wrote:
> > On Tue, Mar 10, 2015 at 3:04 PM, Jeff Waugh <jdub at bethesignal.org> wrote:
> >> Generate pkg-config files during configure as God (Havoc) intended. This fixes
> >> all of systemd's pkg-config files when cross-compiling (and possibly other use
> >> cases).
> 
> > Kay, please take a look on this. There's a similar patch pending to
> > kmod on [1]. I'm still not sure what exactly it's fixing... seems like
> > just that it would not replace/expand all occurrences of the
> > variables...
> 
> AC_CONFIG_FILES is usually meant to create/prepare autoconf/automake
> related files needed for the build process, and not to produce plain
> package content to ship.
> 
> Not that quoting autoconf manuals would make the autotools mess any
> better, but there is also this. :)
> 
> "Similarly, you should not rely on AC_CONFIG_FILES to replace bindir
> and friends in your shell scripts and other files; instead, let make
> manage their replacement. For instance Autoconf ships templates of its
> shell scripts ending with ‘.in’, and uses a makefile snippet similar
> to the following to build scripts like autoheader and autom4te:
OK, but is there any difference for us, in the normal non-cross case?
(I guess that make is a bit more efficient, because it parallelizes, but
that step is tiny in any case, so the difference is most likely negligible.)

I asked some more questions about the motivation for this change in
the other branch of the thread. I'm just thinking that if there's a
good reason to change this for people who cross-compile, we should
consider doing it.

Zbyszek

> 
> edit = sed \
>    -e 's|@bindir[@]|$(bindir)|g' \
>    -e 's|@pkgdatadir[@]|$(pkgdatadir)|g' \
>    -e 's|@prefix[@]|$(prefix)|g'
> 
> autoheader autom4te: Makefile
>     rm -f $@ $@.tmp
>     srcdir=''; \
>     test -f ./$@.in || srcdir=$(srcdir)/; \
>     $(edit) $${srcdir}$@.in >$@.tmp
>     chmod +x $@.tmp
>     chmod a-w $@.tmp
>     mv $@.tmp $@
> 
> autoheader: $(srcdir)/autoheader.in
> autom4te: $(srcdir)/autom4te.in"
> 
> http://www.gnu.org/software/autoconf/manual/autoconf.html#Installation-Directory-Variables
> 
> Kay
> _______________________________________________
> systemd-devel mailing list
> systemd-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/systemd-devel


More information about the systemd-devel mailing list