status.m4 off-by-one (was: AC_CHECK_TOOL AC_SUBSTs more than necessary)

2005-11-08 Thread Ralf Wildenhues
[ please remove libtool-patches from followups ]

* Ralf Wildenhues wrote on Tue, Nov 08, 2005 at 09:53:59AM CET:
 
 This patch breaks/exposes an issue with the status.m4 code in CVS
 HEAD Libtool tests 34, 35 (early-libtool.at tests).  I have no idea
 whether autoconf or Libtool's LT_OUTPUT code is at fault; in any
 case, to me it looks like the patch has absolutely _nothing_ to do
 with the part that suddenly breaks.

It's an off-by-one in status.m4, I just don't know where.
Has nothing to do with Libtool.

I can reproduce it with 

(
echo AC_INIT
i=1
while test $i -le 59; do
  echo AC_SUBST([a$i])
  i=`expr $i + 1`
done
echo '
AC_CONFIG_FILES([Makefile])
AC_OUTPUT'
)  configure.ac
touch Makefile.in
autoconf
./configure

| configure: creating ./config.status
| ./configure: line 2360: _ACEOF: command not found
| grep: conf18837subs.sed: No such file or directory
| ./configure: line 2362: test: =: unary operator expected
| ./configure: line 2371: syntax error near unexpected token `done'
| ./configure: line 2371: `done'

It works with 58 or 60.  Presumably, this is around 100 substitutions in
total.

Cheers,
Ralf




HEAD: lt~obsolete.m4?

2005-11-08 Thread Ralf Wildenhues
The way I see it, if we do want to be compatible to aclocal-1.7, then
libtoolize needs to install lt~obsolete.m4 as well.  Otherwise
  aclocal-1.7.9 -I libltdl/m4
(15. old-m4-iface.at:92: test)

will copy everything from libltdl/m4/*m4 plus also the installed
libtool.m4 (from 1.5.x) into aclocal.m4.  ./libtool will later barf with
version mismatch.  If I change libtoolize manually to install it, test
15 will pass.

What I don't know yet: should lt~obsolete.m4 also be installed in
$aclocaldir?  Can this do any harm perchance?

Cheers,
Ralf




HEAD: testsuite update

2005-11-08 Thread Ralf Wildenhues
OK to apply this bunch of testsuite trivia (as one patch maybe)?

Rationale, where applicable (and one question):

- tst_aclocaldir is used in addition to _lt_pkgdatadir, so we don't
  interfere with the setting for the libtoolize script.
- The use of AC_LIBTOOL_DLOPEN is a workaround: without it, the tests
  fail on AIX (tested without -brtl).  Fixing that is not too important,
  I guess; real-world would always use it.
- The AIX linker barfs upon creation of a module without any exported
  symbols.  Not very likely to happen in real-life.  :)
- I needed an AT_TESTED emulation that does not fail.  This one XFAILs
  for the autotools used, rather than SKIPs -- should I change that?

With this in place, and the aforementioned lt~obsolete.m4 workaround in
place, for the automake-1.7 installed on an AIX system, and no -brtl, I
get one failure (test 12; due to broken gcj installation) and three
skips (subproject tests, due to newer automake needed).  No changes in
the old testsuite (mdemo-exec failures for non-brtl but not for brtl).

There are probably more bits coming later..

Cheers,
Ralf

* tests/deplibs-ident.at [ aix ]: No unexpected failure here.

* Makefile.am (BUILDCHECK_ENVIRONMENT, INSTALLCHECK_ENVIRONMENT)
Pass tst_aclocaldir for installcheck.
* tests/libtoolize.at: Use it.

* tests/libtoolize.at: Fix for distcheck (readonly sources).

* tests/nonrecursive.at: Set foo_la_SOURCES, for automake-1.7.

* tests/nonrecursive.at, tests/recursive.at, tests/subproject.at
(foo.c): Actually export a symbol, for AIX.

* tests/old-m4-iface.at: Use AC_LIBTOOL_DLOPEN, for AIX.

* tests/subproject.at: Require automake-1.9, we use indirect
subdirs.
* tests/testsuite.at (LT_AT_AUTOMAKE): Skip if we detect failure
due to old version.

(PREPARE_TESTS): Set autotool variables to `no' if not present.
(LT_AT_ACLOCAL, LT_AT_AUTOCONF, LT_AT_AUTOMAKE)
(LT_AT_AUTOHEADER, LT_AT_AUTORECONF): Use to XFAIL tests.
Reported by Tim Rice [EMAIL PROTECTED].

(LT_AT_MAKE): Do not use `make -e'.
(_LTDL_PROJECT_FILES): Adjust sub-make call.
Reported by Charles Wilson [EMAIL PROTECTED].

Index: tests/deplibs-ident.at
===
RCS file: /cvsroot/libtool/libtool/tests/deplibs-ident.at,v
retrieving revision 1.1
diff -u -r1.1 deplibs-ident.at
--- tests/deplibs-ident.at  30 Sep 2005 16:00:23 -  1.1
+++ tests/deplibs-ident.at  8 Nov 2005 22:03:48 -
@@ -58,7 +58,8 @@
   AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS -o b b.$OBJEXT 
../liba1.la ../liba2.la ../liba3.la ../../c/libcee.la -rpath /nowhere],
   [0],[stdout],[ignore])
   AT_CHECK([$EGREP 'cee.*cee' stdout], 1, [ignore], [ignore])
-  AT_XFAIL_IF(:) dnl This is currently broken in libtool
+  AT_XFAIL_IF([case $host_os in aix*) false;; *):;; esac])
+  dnl This is currently broken in libtool
 )
 
 AT_CLEANUP
Index: Makefile.am
===
RCS file: /cvsroot/libtool/libtool/Makefile.am,v
retrieving revision 1.177
diff -u -r1.177 Makefile.am
--- Makefile.am 7 Nov 2005 14:16:14 -   1.177
+++ Makefile.am 8 Nov 2005 22:03:43 -
@@ -387,11 +387,14 @@
FC=$(FC) FCFLAGS=$(FCFLAGS) \
GCJ=$(GCJ) GCJFLAGS=$(GCJFLAGS)
 
-BUILDCHECK_ENVIRONMENT = _lt_pkgdatadir=$(abs_top_srcdir) \
+BUILDCHECK_ENVIRONMENT = \
+   _lt_pkgdatadir=$(abs_top_srcdir) \
+   tst_aclocaldir=$(abs_top_srcdir)/$(m4dir) \
LIBTOOLIZE=$(abs_top_builddir)/libtoolize \
LIBTOOL=$(abs_top_builddir)/libtool
 
 INSTALLCHECK_ENVIRONMENT = \
+   tst_aclocaldir=$(aclocaldir) \
LIBTOOLIZE=$(bindir)/`echo libtoolize | sed 
'$(program_transform_name)'` \
LIBTOOL=$(bindir)/`echo libtool | sed '$(program_transform_name)'`
 
Index: tests/libtoolize.at
===
RCS file: /cvsroot/libtool/libtool/tests/libtoolize.at,v
retrieving revision 1.5
diff -u -r1.5 libtoolize.at
--- tests/libtoolize.at 1 Nov 2005 14:28:20 -   1.5
+++ tests/libtoolize.at 8 Nov 2005 22:03:48 -
@@ -38,6 +38,8 @@
 
 test -d m4 || { rm -f m4  mkdir m4; }
 
+rm -f m4/libtool.m4 m4/ltoptions.m4 config/ltmain.sh
+
 # This file should be upgraded.
 AT_DATA([m4/libtool.m4], [[
 # serial 25 LT_INIT
@@ -369,10 +371,10 @@
 libtoolize: putting files in AC_CONFIG_AUX_DIR, \`config'.
 libtoolize: copying file \`config/ltmain.sh'
 libtoolize: You should add the contents of the following files to 
\`aclocal.m4':
-libtoolize:   \`$_lt_pkgdatadir/libltdl/m4/libtool.m4'
-libtoolize:   \`$_lt_pkgdatadir/libltdl/m4/ltoptions.m4'
-libtoolize:   \`$_lt_pkgdatadir/libltdl/m4/ltversion.m4'
-libtoolize:   \`$_lt_pkgdatadir/libltdl/m4/ltsugar.m4'
+libtoolize:   \`$tst_aclocaldir/libtool.m4'
+libtoolize:   \`$tst_aclocaldir/ltoptions.m4'
+libtoolize:   

Re: SCO/bugfix patch 7 of 10: Improve SCO platform support

2005-11-08 Thread Tim Rice
On Tue, 1 Nov 2005, Ralf Wildenhues wrote:

 Hi Kean,
 
 * Kean Johnston wrote on Mon, Oct 31, 2005 at 06:43:03PM CET:
  Patch 7 of 10 attached ...
  
  Here's a re-submission using install_libdir instead of the
  'instrpath' hack I invented.
 
  Rationale:
  
  I like it when things work on my platform :)
 
 Ugh.  It's really difficult to judge over this huge patch -- would have
 been much easier without the SCOABSPATH part.  Also, I haven't checked
 closely yet (other eyes appreciated!), so I'll only give a few
 suggestions:

I don't know if this is any help or not, but here are the
before and after stats on the (sco) platforms I have running.
http://www.multitlents.net/branch-1-5-status.html

 By the way, is there good online documentation for these systems' ld and
 dynamic loader?

ld man pages are here.

UnixWare 7.1.1
http://docsrv.sco.com/cgi-bin/man/man?ld+1

UnixWare 7.1.4
http://uw714doc.sco.com/en/man/html.1/ld.1.html

OpenServer 6.0.0
http://osr600doc.sco.com/en/man/html.CP/ld.CP.html

OpenServer 5.0.7
http://osr507doc.sco.com/en/man/html.CP/ld.CP.html

OpenServer 5.0.6
http://osr5doc.ca.caldera.com:457/cgi-bin/man/man?ld+CP

OpenServer 5.0.5
http://osr5doc.ca.caldera.com:1997/cgi-bin/man/man?ld+CP

 
 Cheers,
 Ralf
 

-- 
Tim RiceMultitalents(707) 887-1469
[EMAIL PROTECTED]