Re: generating pc files

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

 



On Wed, Sep 19, 2012 at 10:01 AM, Peter Johansson <trojkan@xxxxxxxxx> wrote:
> On 09/19/2012 05:53 PM, Vincent Torri wrote:
>>
>> On Wed, Sep 19, 2012 at 9:46 AM, Russ Allbery<rra@xxxxxxxxxxxx>  wrote:
>>>
>>> Vincent Torri<vtorri@xxxxxxxxxxxx>  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 ?
>>
>>
> The major difference compared with using AC_CONFIG_FILES is that the sed
> version allows user to set e.g. prefix at make time.
>
> ./configure
> make prefix=/opt
>
> will work for Russ's method while it won't work using a simpler
> AC_CONFIG_FILES approach. Not sure how important that behavior is for you.
> But I if you care about GCS, I think the behavior is mandated there.
>
> Cheers,
> Peter


See autoconf-archive mavcros
http://www.gnu.org/software/autoconf-archive/ax_create_pkgconfig_info.html#ax_create_pkgconfig_info


>
> _______________________________________________
> Autoconf mailing list
> Autoconf@xxxxxxx
> https://lists.gnu.org/mailman/listinfo/autoconf

_______________________________________________
Autoconf mailing list
Autoconf@xxxxxxx
https://lists.gnu.org/mailman/listinfo/autoconf


[Index of Archives]     [GCC Help]     [Kernel Discussion]     [RPM Discussion]     [Red Hat Development]     [Yosemite News]     [Linux USB]     [Samba]

  Powered by Linux