[PATCH] Fix typo in libtool install mode usage text

2009-01-26 Thread Mike Frysinger
* libltdl/config/ltmain.m4sh (func_mode_help): Change -inst-prefix
to -inst-prefix-dir.

Signed-off-by: Mike Frysinger vap...@gentoo.org
---
 ChangeLog  |6 ++
 libltdl/config/ltmain.m4sh |2 +-
 2 files changed, 7 insertions(+), 1 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 424d296..a5f3a07 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2009-01-25  Mike Frysinger  vap...@gentoo.org
+
+   Fix typo in libtool install mode usage text.
+   * libltdl/config/ltmain.m4sh (func_mode_help): Change -inst-prefix
+   to -inst-prefix-dir.
+
 2009-01-24  Charles Wilson  libt...@cwilson.fastmail.fm
 
Add -Wall to cwrapper tests.
diff --git a/libltdl/config/ltmain.m4sh b/libltdl/config/ltmain.m4sh
index 82ee723..08045bf 100644
--- a/libltdl/config/ltmain.m4sh
+++ b/libltdl/config/ltmain.m4sh
@@ -1107,7 +1107,7 @@ either the \`install' or \`cp' program.
 
 The following components of INSTALL-COMMAND are treated specially:
 
-  -inst-prefix PREFIX-DIR  Use PREFIX-DIR as a staging area for installation
+  -inst-prefix-dir PREFIX-DIR  Use PREFIX-DIR as a staging area for 
installation
 
 The rest of the components are interpreted as arguments to that command (only
 BSD-compatible install options are recognized).
-- 
1.6.1





Re: [PATCH] Fix typo in libtool install mode usage text

2009-01-26 Thread Ralf Wildenhues
Hi Mike,

* Mike Frysinger wrote on Mon, Jan 26, 2009 at 05:29:15AM CET:
 * libltdl/config/ltmain.m4sh (func_mode_help): Change -inst-prefix
 to -inst-prefix-dir.

Thanks.  libtool.texi was wrong, too, so I pushed this.

I did consider renaming the option to match the documentation instead,
and am not sure which was better; typically, the user never needs to use
this option.  Have you?

Cheers,
Ralf

Fix typo in libtool install mode documentation.

* libltdl/config/ltmain.m4sh (func_mode_help): Change -inst-prefix
to -inst-prefix-dir.
* doc/libtool.texi (Install mode): Likewise.

Signed-off-by: Mike Frysinger vap...@gentoo.org
Signed-off-by: Ralf Wildenhues ralf.wildenh...@gmx.de

diff --git a/ChangeLog b/ChangeLog
index 424d296..92fc4c5 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2009-01-25  Mike Frysinger  vap...@gentoo.org
+
+   Fix typo in libtool install mode documentation.
+   * libltdl/config/ltmain.m4sh (func_mode_help): Change -inst-prefix
+   to -inst-prefix-dir.
+   * doc/libtool.texi (Install mode): Likewise.
+
 2009-01-24  Charles Wilson  libt...@cwilson.fastmail.fm
 
Add -Wall to cwrapper tests.
diff --git a/doc/libtool.texi b/doc/libtool.texi
index d304f28..c3a2906 100644
--- a/doc/libtool.texi
+++ b/doc/libtool.texi
@@ -1573,7 +1573,7 @@ In @dfn{install} mode, libtool interprets most of the 
elements of
 The following components of @var{mode-args} are treated specially:
 
 @table @option
-...@item -inst-prefix @var{inst-prefix-dir}
+...@item -inst-prefix-dir @var{inst-prefix-dir}
 When installing into a temporary staging area, rather than the
 final @var{prefix}, this argument is used to reflect the
 temporary path, in much the same way @command{automake} uses
diff --git a/libltdl/config/ltmain.m4sh b/libltdl/config/ltmain.m4sh
index 82ee723..08045bf 100644
--- a/libltdl/config/ltmain.m4sh
+++ b/libltdl/config/ltmain.m4sh
@@ -1107,7 +1107,7 @@ either the \`install' or \`cp' program.
 
 The following components of INSTALL-COMMAND are treated specially:
 
-  -inst-prefix PREFIX-DIR  Use PREFIX-DIR as a staging area for installation
+  -inst-prefix-dir PREFIX-DIR  Use PREFIX-DIR as a staging area for 
installation
 
 The rest of the components are interpreted as arguments to that command (only
 BSD-compatible install options are recognized).




Re: Add lib prefix to library name in the ltdl preloaded symbol lookup

2009-01-26 Thread Charles Wilson
Peter Rosin wrote:
 This is from need-lib-prefix.at: main.exeS.c when the test
 is run on the tip of the pr-msvc-support branch.
 
 lt__PROGRAM__LTX_preloaded_symbols[] =
 {  { @PROGRAM@, (void *) 0 },
   {foo1.lib, (void *) 0},
   {libfoo1_LTX_i, (void *) foo1_LTX_i},
   {libfoo1_LTX_f, (void *) foo1_LTX_f},
 
 The below patch makes that into
 
   {libfoo1.lib, (void *) 0},
   {libfoo1_LTX_i, (void *) foo1_LTX_i},
   {libfoo1_LTX_f, (void *) foo1_LTX_f},
 
 which works much better.
 
 The need-lib-prefix.at test still works on Cygwin after this test.

Did you test this in conjunction with the [cygwin|mingw] fix dlpreopen
with --disable-static take 4 changes, or do I need to do that?  Also,
what if the library is not libfooN.lib, but is instead cygfoo-N.dll
(or foo-N.dll) -- which is another way of asking the same question, I
guess?

--
Chuck




Re: [PATCH] Fix typo in libtool install mode usage text

2009-01-26 Thread Ralf Wildenhues
* Mike Frysinger wrote on Mon, Jan 26, 2009 at 09:23:42PM CET:
 On Monday 26 January 2009 14:27:43 Ralf Wildenhues wrote:
 
  I did consider renaming the option to match the documentation instead,
  and am not sure which was better; typically, the user never needs to use
  this option.  Have you?
 
 i was working with a package that doesnt use automake but does use libtool 
 and 
 was trying to figure out if i needed to tell libtool about installing 
 temporarily into DESTDIR rather than the real root.  if libtool keys off of 
 DESTDIR in the env (and it seemed to), then no, i didnt need to use this 
 option

libtool just looks if the install dir is a prefix of the argument that
was passed to -rpath at link time, and uses that as inst_prefix_dir.

Cheers,
Ralf




Re: Add lib prefix to library name in the ltdl preloaded symbol lookup

2009-01-26 Thread Peter Rosin

Den 2009-01-26 21:19 skrev Charles Wilson:

Peter Rosin wrote:

This is from need-lib-prefix.at: main.exeS.c when the test
is run on the tip of the pr-msvc-support branch.

lt__PROGRAM__LTX_preloaded_symbols[] =
{  { @PROGRAM@, (void *) 0 },
  {foo1.lib, (void *) 0},
  {libfoo1_LTX_i, (void *) foo1_LTX_i},
  {libfoo1_LTX_f, (void *) foo1_LTX_f},

The below patch makes that into

  {libfoo1.lib, (void *) 0},
  {libfoo1_LTX_i, (void *) foo1_LTX_i},
  {libfoo1_LTX_f, (void *) foo1_LTX_f},

which works much better.

The need-lib-prefix.at test still works on Cygwin after this test.


Did you test this in conjunction with the [cygwin|mingw] fix dlpreopen
with --disable-static take 4 changes, or do I need to do that?  Also,
what if the library is not libfooN.lib, but is instead cygfoo-N.dll
(or foo-N.dll) -- which is another way of asking the same question, I
guess?


Ooops, sorry for broadsiding your pending patch like that, I failed to
notice the clash...

Please ignore my patch for now, and I'll do tests here before I resubmit
(once yours is through the queue).

But if you have some time, what tests to you think are likely
to belly up with yours and my changes combined?

Cheers,
Peter




Re: Add lib prefix to library name in the ltdl preloaded symbol lookup

2009-01-26 Thread Peter Rosin

Den 2009-01-26 21:54 skrev Peter Rosin:

Den 2009-01-26 21:19 skrev Charles Wilson:

Peter Rosin wrote:

This is from need-lib-prefix.at: main.exeS.c when the test
is run on the tip of the pr-msvc-support branch.

lt__PROGRAM__LTX_preloaded_symbols[] =
{  { @PROGRAM@, (void *) 0 },
  {foo1.lib, (void *) 0},
  {libfoo1_LTX_i, (void *) foo1_LTX_i},
  {libfoo1_LTX_f, (void *) foo1_LTX_f},

The below patch makes that into

  {libfoo1.lib, (void *) 0},
  {libfoo1_LTX_i, (void *) foo1_LTX_i},
  {libfoo1_LTX_f, (void *) foo1_LTX_f},

which works much better.

The need-lib-prefix.at test still works on Cygwin after this test.


Did you test this in conjunction with the [cygwin|mingw] fix dlpreopen
with --disable-static take 4 changes, or do I need to do that?  Also,
what if the library is not libfooN.lib, but is instead cygfoo-N.dll
(or foo-N.dll) -- which is another way of asking the same question, I
guess?


Ooops, sorry for broadsiding your pending patch like that, I failed to
notice the clash...

Please ignore my patch for now, and I'll do tests here before I resubmit
(once yours is through the queue).

But if you have some time, what tests to you think are likely
to belly up with yours and my changes combined?


Sorry to reply to self, but I think only the need-lib-prefix.at test is
affected by my patch (on cygwin/mingw and many others) since my patch
only changes things when need_lib_prefix!=no which it isn't normally.
Only so in need-lib-prefix.at where the libtool script is edited to fake
that scenario (probably to get testsuite exposure for an uncommon quirk).

need-lib-prefix.at is ok on cygwin and MSYS/MSVC with your and my changes
combined, and I tested that with both ordinary .../configure and
.../configure --disable-static.

But maintainers, please review [cygwin|mingw] fix dlpreopen with
--disable-static take 4 without regard to my patch.

Cheers,
Peter





Re: AWK is required by MS dumpbin symbol pipe.

2009-01-26 Thread Ralf Wildenhues
Hi Peter,

* Peter Rosin wrote on Mon, Jan 26, 2009 at 02:16:52PM CET:

 This patch make sure AWK is set, even for minimal configure
 script that doesn't bring it in from elsewhere.

OK for master.

Thanks,
Ralf

 2009-01-26  Peter Rosin  p...@lysator.liu.se

   AWK is required, make sure it is set.
   * libltdl/m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS: Make sure
   AWK is set (automake brings it in, but is not always used).
   Fixes old-m4-iface.at on MSYS/MSVC.




Re: Unify line endings in localization test

2009-01-26 Thread Ralf Wildenhues
* Peter Rosin wrote on Sat, Jan 24, 2009 at 08:47:03PM CET:
 Den 2009-01-24 14:03, skrev Ralf Wildenhues:
 * Eric Blake wrote on Sat, Jan 24, 2009 at 02:00:15PM CET:
 According to Ralf Wildenhues on 1/24/2009 2:37 AM:

 Ah yes, that sounds like it was the problem here.  Surely that makes
 criss cross merging (which we are effectively doing ATM) between two
 branches a bit more fun.  In the end, we might have to declare that the
 order of, say, master, is the one we'd like to have.  Maybe we can
 enhance git-merge-changelog to allow for such a prioritisation (sp?).

 Yes, I'm using git-merge-changelog. I don't see how which branch is
 'upstream' might make the merge driver mess up the ordering. When
 merging a bunch of commits from one branch to another, the ChangeLog
 entries should appear in the order the corresponding changes were
 made in the other branch. Sounds pretty simple. But at the same time,
 I acknowledge that what seems like a SMOP is not always that S...

Well, I think it really was because the driver's and your idea of
upstream diverged.  I found the long comment near the beginning of the
main function of git-merge-changelog intructive (also didn't know about
GIT_UPSTREAM or GIT_DOWNSTREAM before):
http://git.savannah.gnu.org/cgit/gnulib.git/tree/lib/git-merge-changelog.c

Hope that helps.

Cheers,
Ralf




Re: AWK is required by MS dumpbin symbol pipe.

2009-01-26 Thread Peter Rosin

Den 2009-01-26 22:15 skrev Ralf Wildenhues:

Hi Peter,

* Peter Rosin wrote on Mon, Jan 26, 2009 at 02:16:52PM CET:

This patch make sure AWK is set, even for minimal configure
script that doesn't bring it in from elsewhere.


OK for master.


Pushed, thanks!

Cheers,
Peter




Re: versioning test

2009-01-26 Thread Ralf Wildenhues
Hi Bob,

* Bob Friesenhahn wrote on Sat, Jan 24, 2009 at 05:18:32PM CET:
 On Sat, 24 Jan 2009, Ralf Wildenhues wrote:

 Here is a testsuite addition to get some exposure to versioning.
 OK to push (and add Mike to THANKS)?  It'd be good if somebody
 proof-read it so there are no silly typos or thinkos.

 I read it and did not see any silly typos or thinkos, but then again it 
 is not easy reading.  It should be interesting to see where these tests 
 report a failure.

Well, I did test that setting $version_type to qnx on my GNU/Linux
system would cause the failure that Mike reported, so one can expect
they are not completely useless, e.g., for porting to a new platform,
or for ensuring that future changes to ltmain will not break documented
semantics.

OTOH, the tests need a gloss over.  Mike's testing already exposed one
bug in them, in that one cannot assume the major version of a library is
$current - $age, it might just be $current (plus or minus one or so).

Another bit, my test for this hypothesis:

|If two libraries have identical CURRENT and AGE numbers, then the
| dynamic linker chooses the library with the greater REVISION number.

is too weak for what I thought of.  On GNU/Linux, you can install two
libraries differing only in revision, and `ldconfig -n $libdir' will
take care to let the respective versioned symlink point to the newer
revision.  Cool, huh?  I didn't even know that, but I think that's what
the sentence above tried to imply.  Problem of course is, this surely
doesn't happen for systems that don't encode a revision into the name,
and may not either hold for some that do.  I'd have to test, and will
try to come up with a better patch (and documentation fix) for this
hypothesis then.

Thanks for the review.

Cheers,
Ralf




Re: versioning test

2009-01-26 Thread Ralf Wildenhues
Hello Mike,

please keep the mailing list in Cc:, thanks.

* Mike Gorchak wrote on Mon, Jan 26, 2009 at 11:11:30AM CET:
 RW Here is a testsuite addition to get some exposure to versioning.
 RW OK to push (and add Mike to THANKS)?  It'd be good if somebody
 RW proof-read it so there are no silly typos or thinkos.

 Versioning test (with my patch regarding QNX versioning applied) has been 
 failed for me in strange way - couldn't find liba.so.0 library error at 
 the end of test during cleanup procedure (rm -f as far as I can 
 understand from logs).

See below, it is a bug in the test.

 As far as I can see in my previous letter all old tests are passed well. 
 In this letter in the attachment, verbosed log of stdout/stderr and  
 testsuite.log as for new tests, some of them are failed on QNX.

Thank you.  I see three distinct issues, and I'll quote the respective
logs for other readers:

1) The duplicate_member test:

| libtool: link: ar cru .libs/libc0.a 6/.libs/a.o 
| libtool: link: ranlib .libs/libc0.a
| libtool: link: ( cd .libs  rm -f libc0.la  ln -s ../libc0.la 
libc0.la )
| libtool: link: (cd .libs/libconv.lax/libc0.a  ar x 
/ports/temp/libtool-2.2.6-qnx/tests/testsuite.dir/15/./.libs/libc0.a)
| libtool: link: ar cru .libs/libconv.a 1/.libs/a.o 2/.libs/a.o 3/.libs/a.o 
4/.libs/a.o 5/.libs/a.o   .libs/libconv.lax/libc0.a/a.o 
| libtool: link: ranlib .libs/libconv.a
| libtool: link: rm -fr .libs/libconv.lax
| libtool: link: ( cd .libs  rm -f libconv.la  ln -s ../libconv.la 
libconv.la )
| libtool: compile:  qcc -V3.3.5,gcc_ntox86 -O3 -funroll-all-loops 
-I/usr/include -c bar.c  -fPIC -shared -DPIC -o .libs/bar.o
| libtool: compile:  qcc -V3.3.5,gcc_ntox86 -O3 -funroll-all-loops 
-I/usr/include -c bar.c -o bar.o /dev/null 21
| libtool: link: (cd .libs/libbar.lax/libconv.a  ar x 
/ports/temp/libtool-2.2.6-qnx/tests/testsuite.dir/15/./.libs/libconv.a)
| libtool: link: qcc -V3.3.5,gcc_ntox86 -shared  .libs/bar.o   
.libs/libbar.lax/libconv.a/a.o   -L/usr/lib-Wl,-soname -Wl,libbar.so.0 -o 
.libs/libbar.so.0
| libtool: link: (cd .libs  rm -f libbar.so  ln -s libbar.so.0 
libbar.so)
| libtool: link: (cd .libs/libbar.lax/lt1-libconv.a  ar x 
/ports/temp/libtool-2.2.6-qnx/tests/testsuite.dir/15/./.libs/libconv.a)
| libtool: link: ar cru .libs/libbar.a  bar.o  
.libs/libbar.lax/lt1-libconv.a/a.o 
| libtool: link: ranlib .libs/libbar.a
| libtool: link: rm -fr .libs/libbar.lax .libs/libbar.lax
| libtool: link: ( cd .libs  rm -f libbar.la  ln -s ../libbar.la 
libbar.la )
| libtool: compile:  qcc -V3.3.5,gcc_ntox86 -O3 -funroll-all-loops 
-I/usr/include -c main.c  -fPIC -shared -DPIC -o .libs/main.o
| libtool: compile:  qcc -V3.3.5,gcc_ntox86 -O3 -funroll-all-loops 
-I/usr/include -c main.c -o main.o /dev/null 21
| libtool: link: qcc -V3.3.5,gcc_ntox86 -O3 -funroll-all-loops -I/usr/include 
-o .libs/main .libs/main.o  -L/usr/lib ./.libs/libbar.so  -Wl,-rpath -Wl,/notexi
| ./.libs/libbar.so: undefined reference to `foo2'
| ./.libs/libbar.so: undefined reference to `foo3'
| ./.libs/libbar.so: undefined reference to `foo1'
| ./.libs/libbar.so: undefined reference to `foo4'
| ./.libs/libbar.so: undefined reference to `foo5'
| cc: /usr/qnx630/host/qnx6/x86/usr/bin/i386-pc-nto-qnx6.3.0-ld error 1
| ./duplicate_members.at:73: ./main; lt_status=$?; if test $lt_status -eq 0; 
then :;
|elif test X$host != X$build  \
| { test -x ./main || test -x ./main$EXEEXT; }
|then (exit 77); else (exit $lt_status); fi
| Not enabling shell tracing (command contains an embedded newline)
| stderr:
| /ports/temp/libtool-2.2.6-qnx/tests/testsuite: 
/ports/temp/libtool-2.2.6-qnx/tests/testsuite.dir/at-test-source[95]: ./main: 
not found
| stdout:
| ./duplicate_members.at:73: exit code was 127, expected 0


libtool does not take care to rename duplicate object members in
archives on your system.  Let's find out whether this is due to a
deficient sort binary or func_basename on QNX:  please cd into your
build tree in which you ran the testsuite.  Then enter these commands
and post all their output (gzip large output):

  cd tests/testsuite.dir/16
  ./libtool --debug --mode=link --tag=CC qcc -V3.3.5,gcc_ntox86 -O3 \
-funroll-all-loops -o libconv.la \
1/a.lo 2/a.lo 3/a.lo 4/a.lo 5/a.lo libc0.la

The duplicate_conv failure within the low max_cmd_len test is of the
same nature:
|  /duplicate_conv.at:51: $LIBTOOL --mode=link --tag=CC $CC $CFLAGS $LDFLAGS 
-o libcee.la c.lo a/liba.la b/liba.la
|  stderr:
|  stdout:
|  libtool: link: (cd .libs/libcee.lax/liba.a  ar x 
/ports/temp/libtool-2.2.6-qnx/tests/testsuite.dir/74/tests/testsuite.dir/16/a/.libs/liba.a)
|  libtool: link: (cd .libs/libcee.lax/lt1-liba.a  ar x 
/ports/temp/libtool-2.2.6-qnx/tests/testsuite.dir/74/tests/testsuite.dir/16/b/.libs/liba.a)
|  libtool: link: ar cru .libs/libcee.a .libs/c.o
|  libtool: link: : .libs/libcee.a
|  libtool: link: ar cru .libs/libcee.a .libs/libcee.lax/liba.a/a.o
|  libtool: link: : 

Re: versioning test

2009-01-26 Thread Mike Gorchak

Hello, Ralf!

RW please keep the mailing list in Cc:, thanks.

Sorry, my fault :)

RW libtool does not take care to rename duplicate object members in
RW archives on your system.  Let's find out whether this is due to a
RW deficient sort binary or func_basename on QNX:  please cd into your
RW build tree in which you ran the testsuite.  Then enter these commands
RW and post all their output (gzip large output):

RW   cd tests/testsuite.dir/16
RW   ./libtool --debug --mode=link --tag=CC qcc -V3.3.5,gcc_ntox86 -O3 \
RW -funroll-all-loops -o libconv.la \
RW 1/a.lo 2/a.lo 3/a.lo 4/a.lo 5/a.lo libc0.la

There is no tests/testsuite.dir/16 directory. I've 15, 17, 26, 35, 38, 68, 
74 only. What do I need to create it ?


RW 2) Failure test:

RW does this work on your system?
RW   echo 'int not_main () { return 0; }'  a.c
RW   qcc -V3.3.5,gcc_ntox86 -O3 -funroll-all-loops -c a.c
RW   qcc -V3.3.5,gcc_ntox86 -O3 -funroll-all-loops -o a a.o
RW   echo $?
RW   ls -l a

Yes, it works. Reporting 0 as exit code and: ls -l a reports:

-rwxrwxr-x  1 rootroot4110Jan 27 08:13a

ldd /ports/temp/libtool-2.2.6-qnx/a

/ports/temp/libtool-2.2.6-qnx/a
libc.so.2 = /usr/lib/ldqnx.so.2 (0xb030)

Is test code also contains 'int not_main () { return 0; }' as C code to 
compile and link ?


RW 3) The failure of the new versioning test.  This is interesting:

 P.S. Why tests which are marked at exit as expected failure did not
 appeared in the testsuite.log file with 'ok' status ?

RW Well, they fail.  Each of them represents a bug we know about and
RW should fix sometime.  :-)

Ah, ok :)

With best regards, Mike Gorchak.  E-mail: m...@malva.ua 






Re: versioning test

2009-01-26 Thread Mike Gorchak

Hello, Ralf!

 RW libtool does not take care to rename duplicate object members in
 RW archives on your system.  Let's find out whether this is due to a
 RW deficient sort binary or func_basename on QNX:  please cd into 
your

 RW build tree in which you ran the testsuite.  Then enter these
 RW commands and post all their output (gzip large output):
 RW   cd tests/testsuite.dir/16
 RW   ./libtool --debug --mode=link --tag=CC qcc -V3.3.5,gcc_ntox86 -O3
 RW \-funroll-all-loops -o libconv.la \1/a.lo
 RW 2/a.lo 3/a.lo 4/a.lo 5/a.lo libc0.la
 There is no tests/testsuite.dir/16 directory. I've 15, 17, 26, 35, 38,
 68, 74 only. What do I need to create it ?
RW I meant 15.  Sorry for the typo.

Log attached.

 RW 2) Failure test:
 RW does this work on your system?
 RW   echo 'int not_main () { return 0; }'  a.c
 RW   qcc -V3.3.5,gcc_ntox86 -O3 -funroll-all-loops -c a.c
 RW   qcc -V3.3.5,gcc_ntox86 -O3 -funroll-all-loops -o a a.o
 RW   echo $?
 RW   ls -l a

 Yes, it works. Reporting 0 as exit code and: ls -l a reports:

 -rwxrwxr-x  1 rootroot4110Jan 27 08:13a

 ldd /ports/temp/libtool-2.2.6-qnx/a

 /ports/temp/libtool-2.2.6-qnx/a
 libc.so.2 = /usr/lib/ldqnx.so.2 (0xb030)

RW Argh.  What happens if you try to execute it?
RW   ./a; echo $?

Exit code is 0x01.

With best regards, Mike Gorchak.  E-mail: m...@malva.ua 


stdout.txt.gz
Description: GNU Zip compressed data