On Wed, Sep 19, 2012 at 9:46 AM, Russ Allbery <[email protected]> wrote:
> Vincent Torri <[email protected]> writes:
>
>> But it seems that several projects use sed in their Makefile.am to use
>> the value of $libdir, $includedir, etc.. to generate their pc files. So
>> they have in foo.pc
>
>> libdir=${libdir}
>
>> So I would like to know the opinion of the autoconf dev about what the
>> correct way to generate pc file is.
>
> Well, I'm not an Autoconf developer, so feel free to ignore this, but I've
> been very happy with the following recipe. A *.pc.in file that looks
> like:
>
> prefix=@prefix@
> exec_prefix=@exec_prefix@
> includedir=@includedir@
> libdir=@libdir@
>
> Name: <name>
> Description: <description>
> URL: <url>
> Version: @PACKAGE_VERSION@
> Cflags: -I${includedir}
> Libs: -L${libdir} -l<library>
> Libs.private: <other-libs>
>
> with the <...> bits replaced with whatever is appropriate for your
> library, and then the following in Makefile.am (adjusting file paths
> accordingly, of course:
>
> client/libremctl.pc: $(srcdir)/client/libremctl.pc.in
> sed -e 's![@]prefix[@]!$(prefix)!g' \
> -e 's![@]exec_prefix[@]!$(exec_prefix)!g' \
> -e 's![@]includedir[@]!$(includedir)!g' \
> -e 's![@]libdir[@]!$(libdir)!g' \
> -e 's![@]PACKAGE_VERSION[@]!$(PACKAGE_VERSION)!g' \
> -e 's![@]GSSAPI_LDFLAGS[@]!$(GSSAPI_LDFLAGS)!g' \
> -e 's![@]GSSAPI_LIBS[@]!$(GSSAPI_LIBS)!g' \
> $(srcdir)/client/libremctl.pc.in > $@
I know that way. I mentioned it (" But it seems that several projects
use sed in their Makefile.am etc..." See above)
My question is : which solution is the correct one, as they obviously
don't give the same result ?
Vincent Torri
_______________________________________________
Autoconf mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/autoconf