Hi Aleksey,

Aleksey Sanin wrote:

Roumen,

I have some questions about this patch:

   1) Why do you want to use "includedir" / "libdir" instead of
   "pkgincludedir" / "pkglibdir"? I don't have a lot of knowledge
   about pkg-config but the current stuff seems to be working.
   Why do you want to change this?

Please find attached file pkg.sh, save it in xmlsec ${top_builddir} and run. See output for xmlsec1-nss:
....
[EMAIL PROTECTED]@ -lxmlsec1-nss -lxmlsec1 -lxslt -lxml2 -lz -lm
....
No one of scripts configure or config.status contain command to substitute @pkglibdir@ and @[EMAIL PROTECTED]
Other xmlsec1-*.pc files at moment are not affected, but proprosed patch try to fix future problems.



   2) You have added some variables to xmlSecConf.sh.in
   but I don't see who these variables are used. Do I miss something?

First configure script was run only with --prefix=/usr option and without --XXXdir options (especially without --libdir).



just run "sh -x xmlsec1Conf.sh" without quotes and check the output: + [EMAIL PROTECTED]@ .... + XMLSEC_LIBS=-L/lib -lxmlsec1-openssl .... ....


No one of scripts configure or config.status contain command to substitute @[EMAIL PROTECTED]
We have two solutions:
- to define this in configure.{ac|in} as in proposed patch;
- to replease @XMLSEC_LIBDIR@ with @libdir@ in xmlsec1Conf.sh.in.



When xmlsec1Conf.sh.in template contain lines: ======================================= prefix="@prefix@" exec_prefix="@exec_prefix@" libdir="@libdir@" includedir="@includedir@" ======================================= output is : .... + XMLSEC_LIBS=-L/usr/lib -lxmlsec1-openssl .... ....


Now let we comment exec_prefix in template and after "./config.status" and "sh -x xmlsec1Conf.sh" output is:
....
+ XMLSEC_LIBS=-L/lib -lxmlsec1-openssl ....
....


differece is -L/lib (incorrect) vs -L/usr/lib (from patch).


   3) I am not sure I understand your comment about coping file.
   Why do you need to put it in a different place?

Let builddir != srcdir
Command "ln -s $srcdir/Copyright COPYING" will create a link in builddir, but good (default/standard) plase for file COPYING is ${top_srcdir}.



I'm not sure that configure script should create that link.
$ cd /usr/local/src/.work/.builds/xmlsec1-1.1.0
$ /bin/ls -l COPYING
lrwxrwxrwx .... COPYING -> /usr/local/src/.work/.sources/xmlsec1-1.1.0/Copyright



When is necessary COPYING to be created my suggestion is (xmlsec with proposed patch):
$ cd /usr/local/src/.work/.sources/xmlsec1-current
$ /bin/ls -l COPYING
lrwxrwxrwx .... COPYING -> Copyright



File COPYING exist in ${top_srcdir} (check tar archive) and I think that COPYING should be replaced with a symbolic link (when OS support this) in same plase.



Proprosed patch contain replacement of "ln -s" with $LN_S. I don't have problems and I don't have OS without symbolic link support. In that case I cannot fix a bug :-) I can only suggest a enhancement. May be only in hypothetic situation when build dir is located in mounted vfat partition. In that case we can see difference between ln -s and $LN_S ;-).



Thanks,
Aleksey

P.S. I guess I have these questions because everything works just
fine on my system and you have some problems on yours :) It would bee

I think that everything works fine too, but suddenly ... :-)
Realy I don't use xmlsecConf.sh and I don't know how to use.
I don't know why to use "pkg-config ... xmlsec1" to get cflags,libs and etc. instead of "xmlsec1-config ..." and my system use OpenSSL not NSS.
My filesystem support symbolic links, i.e. ln -s works fine.


a good idea to describe these problems in a bug thus the patch would
fix a bug rather than just do something :)

:-) treat proposed patch as enhancement which fix potential problems ;-)


<SNIP>


#!/bin/sh

export PKG_CONFIG_PATH=`pwd`

PKG_CONFIG="pkg-config --silence-errors"
PKG_CONFIG="pkg-config"


cat > mozilla-nss.pc <<EOF
Name: mozilla-nss
Version: 1.4
Description: dummy mozilla-nss package
EOF

for MODULE in \
  xmlsec1-openssl \
  xmlsec1-gnutls \
  xmlsec1-nss \
; do
  echo "=== ${MODULE} ==="
  ${PKG_CONFIG} --variable=prefix      ${MODULE}
  ${PKG_CONFIG} --variable=exec_prefix ${MODULE}
  ${PKG_CONFIG} --variable=libdir      ${MODULE}
  ${PKG_CONFIG} --variable=includedir  ${MODULE}
  ${PKG_CONFIG} --cflags               ${MODULE}
  ${PKG_CONFIG} --libs                 ${MODULE}
done

rm -f mozilla-nss.pc

Reply via email to