Re: libtool 1.5.8 on Solaris 8

2004-08-27 Thread Ossama Othman
Hi Bob,

On Fri, 2004-08-27 at 17:53, Bob Friesenhahn wrote:
 I am glad to see that you responded to this since you were the one who 
 made multi-lingual libtool possible.  Thank you very much.

Thanks!

 It seems to me that if the C++ compiler is used to link, then C++ 
 exceptions will work.

That's what I thought at the time, too, and still think so.  However,
I'm sure there was a reason why we did things this way.  I unfortunately
don't recall the details.

   If the system linker is used, then it is 
 possible that C++ exceptions will not work at all, even if the extra 
 libraries are applied.

I missed part of the thread.  Is the system linker being using instead
of the compiler?  I thought that we were using the compiler in all
cases, and that we were manually prepending and appending start files
and libraries.  Is that not the case, i.e. are we using the linker?

-Ossama



___
Libtool mailing list
[EMAIL PROTECTED]
http://lists.gnu.org/mailman/listinfo/libtool


Re: Libtool 1.5 1.4.3

2002-10-09 Thread Ossama Othman

Hi Robert,

On Wed, Oct 09, 2002 at 02:57:39PM -0500, Robert Boehne wrote:
 I intend to spin a release 1.4.3 this weekend from the
 branch-1-4 sources.  Any properly formatted patches will
 be considered for inclusion before the release.  I have
 seen a tendency to post patches on any list in any
 format, which makes it more work to get that particular
 patch installed in CVS.  As of late, Gary and I have
 precious little of that!

Perhaps it might be useful to refresh everyone's memory about the
Libtool contribution guidelines available on the Libtool web site
here:

http://www.gnu.org/software/libtool/contribute.html

-Ossama
-- 
Ossama Othman [EMAIL PROTECTED]
Distributed Object Computing Laboratory, Univ. of California at Irvine
1024D/F7A394A8 - 84ED AA0B 1203 99E4 1068  70E6 5EB7 5E71 F7A3 94A8


___
Libtool mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/libtool



Re: Shared C++ libraries on AIX

2002-10-07 Thread Ossama Othman

Hi,

On Mon, Oct 07, 2002 at 07:01:04PM +0200, Martin Frydl wrote:
 progname=`$echo $0 | ${SED} 's%^.*/%%'`
 
 The problem is with SED variable, it is not defined anywhere in libtool 
 script. I think the CVS version is currently unstable.

Did you run aclocal in your package to pull in the latest libtool M4
macros?  Some of libtool's functionality is now at done at
`configure'-time, meaning that you have to pull in the latest libtool
M4 macros.

HTH,
-Ossama
-- 
Ossama Othman [EMAIL PROTECTED]
Distributed Object Computing Laboratory, Univ. of California at Irvine
1024D/F7A394A8 - 84ED AA0B 1203 99E4 1068  70E6 5EB7 5E71 F7A3 94A8


___
Libtool mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/libtool



libtool assumes all ARM distributions use glibc 2.1.1

2002-01-10 Thread Ossama Othman

Hi,

libtool.m4 (both head and 1.4 branch) has the following:

# This must be Linux ELF.
linux-gnu*)
  case $host_cpu in
  alpha* | hppa* | i*86 | powerpc* | sparc* | ia64* )
lt_cv_deplibs_check_method=pass_all ;;
  *)
# glibc up to 2.1.1 does not perform some relocations on ARM
lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared 
object|dynamic lib )' ;;
  esac
  lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
  ;;

This incorrectly assumes that all ARM builds use glibc 2.1.1, which is
no longer true for recent Linux distributions.

-Ossama
-- 
Ossama Othman [EMAIL PROTECTED]
Distributed Object Computing Laboratory, Univ. of California at Irvine
1024D/F7A394A8 - 84ED AA0B 1203 99E4 1068  70E6 5EB7 5E71 F7A3 94A8

___
Libtool mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/libtool



Re: libtool doesn't allow make DESTDIR=`pwd`/foo install anymore.

2001-11-28 Thread Ossama Othman

Hi,

On Tue, Nov 27, 2001 at 10:38:37AM -0600, Paul E Johnson wrote:
 I do now know what patch is required to make libtool-1.4.2 work as it is 
 currently released, I've been asking about. My understanding is that the 
 Debian packager of libtool has a patch which fixes the problem.

Yep, I applied Mo Dejong's patch.  However, I'll resynch with the
libtool-1-4 patch just in case.

-Ossama
-- 
Ossama Othman [EMAIL PROTECTED]
Distributed Object Computing Laboratory, Univ. of California at Irvine
1024D/F7A394A8 - 84ED AA0B 1203 99E4 1068  70E6 5EB7 5E71 F7A3 94A8

___
Libtool mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/libtool



[egagnon@j-meg.com: Bug#97759: libtool: build problem]

2001-05-17 Thread Ossama Othman

Hi guys,

Bug report for libtool 1.4 from a Debian user.  Any ideas?

-Ossama

- Forwarded message from Etienne M. Gagnon [EMAIL PROTECTED] -

Subject: Bug#97759: libtool: build problem
Reply-To: Etienne M. Gagnon [EMAIL PROTECTED], [EMAIL PROTECTED]
Resent-From: Etienne M. Gagnon [EMAIL PROTECTED]
Orignal-Sender: egagnon
Resent-To: [EMAIL PROTECTED]
Resent-CC: Ossama Othman [EMAIL PROTECTED]
Resent-Date: Thu, 17 May 2001 06:03:45 GMT
Resent-Message-ID: [EMAIL PROTECTED]
Resent-Sender: [EMAIL PROTECTED]
X-Debian-PR-Message: report 97759
X-Debian-PR-Package: libtool
X-Debian-PR-Keywords: 
X-Loop: [EMAIL PROTECTED]
Date: Thu, 17 May 2001 00:49:20 -0400
From: Etienne M. Gagnon [EMAIL PROTECTED]
Organization: J-Meg inc.
X-Mailer: Mozilla 4.7 [en] (X11; U; Linux 2.2.18 i586)
X-Accept-Language: en
To: [EMAIL PROTECTED]
Delivered-To: [EMAIL PROTECTED]

Hi again,

Sorry, bug seems to be buggy.  My message was cut in the middle.

Here it is, again

Package: libtool
Version: 1.4-1
Severity: important
 
Hi,
 
Here's a new problem that appeared since the upgrade to libtool 1.4.
I am also using a locally compiled automake 1.4-p1 (see bug #97690
for the reason I'm not using unstable's automake).

Here is what I get when I compile a project (sablevm).  The
Makefile.am contains:

libsablevm_la_LIBADD = -lffi -lpthread -lm -ldl

Of these 4 libraries, 3 are static, but libffi is dynamic.  Notice
how the gcc command fails because it tries to link to
/usr/lib/.libs/libffi.so
instead of /usr/lib/libffi.so.

I have manually added blank lines between commands, for clarity.
The 3rd commad is the interesting one.  The 1st one shows that
everything is in order.  I have taken time to check the generated
Makefile, it looks ok (it includes: 
libsablevm_la_LIBADD = -lffi -lpthread -lm -ldl
as expected).


/bin/sh ../../libtool --mode=link gcc  -g -O2 -Wall -W -Wundef
-Wshadow -Wpointer-arith -Wbad-function-cast
-Wcast-align-Wwrite-strings -Wsign-compare  
-Wstrict-prototypes -Wmissing-prototypes
-Wmissing-declarations -Wnested-externs
-Winline   -Wlong-long -O0 -ggdb -Werror  -o libsablevm.la
-rpath /home/egagnon/work/lib -version-info 0:6:0 invoke_interface.lo
init.lo alloc.lo thread.lo util.lo native_interface.lo class_loader.lo
macros.lo clalloc.lo error.lo system.lo class_file.lo class_init.lo
verifier.lo resolve.lo global_refs.lo local_refs.lo prepare.lo
prepare_code.lo heap_manager.lo interpreter.lo method_invoke.lo
pthread_rec_svm.lo vmlib.lo native.lo -lffi -lpthread -lm -ldl 
rm -fr .libs/libsablevm.la .libs/libsablevm.* .libs/libsablevm.*
gcc -shared  invoke_interface.lo init.lo alloc.lo thread.lo util.lo
native_interface.lo class_loader.lo macros.lo clalloc.lo error.lo
system.lo class_file.lo class_init.lo verifier.lo resolve.lo
global_refs.lo local_refs.lo prepare.lo prepare_code.lo heap_manager.lo
interpreter.lo method_invoke.lo pthread_rec_svm.lo vmlib.lo native.lo 
-Wl,--rpath -Wl,/usr/lib/.libs  /usr/lib/.libs/libffi.so -lpthread -lm
-ldl   -Wl,-soname -Wl,libsablevm.so.0 -o .libs/libsablevm.so.0.0.6
gcc: /usr/lib/.libs/libffi.so: No such file or directory
make[3]: *** [libsablevm.la] Error 1

This bug is relatively serious, to me.  Do you have any quick 
suggestion to circumvent this bug?  Or should I get an older libtool
version and compile it from sources manually?

Please, feel free to ask for precisions (and source code).

Thanks,

Etienne
-- 
--
Etienne M. Gagnon, M.Sc. e-mail: [EMAIL PROTECTED]
Author of SableCC: http://www.sablecc.org/
and SableVM:   http://www.sablevm.org/

-- System Information
Debian Release: testing/unstable
Kernel Version: Linux www 2.2.18 #1 Tue Jan 2 17:52:31 EST 2001 i586
unknown

Versions of the packages libtool depends on:
ii  cpp2.95.3-7   The GNU C preprocessor.
ii  file   3.33-5 Determines file type using magic
numbers
ii  gcc2.95.3-7   The GNU C compiler.
ii  libc6-dev  2.2.3-1GNU C Library: Development Libraries
and Hea
ii  gcc-2.95   2.95.4-0.01050 The GNU C compiler.
^^^ (Provides virtual package c-compiler)
ii  libc6-dev  2.2.3-1GNU C Library: Development Libraries
and Hea
^^^ (Provides virtual package libc-dev)

- End forwarded message -

-- 
Ossama Othman [EMAIL PROTECTED]
Distributed Object Computing Laboratory, Univ. of California at Irvine
1024D/F7A394A8 - 84ED AA0B 1203 99E4 1068  70E6 5EB7 5E71 F7A3 94A8

___
Libtool mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/libtool



[bam@snoopy.apana.org.au: Bug#97224: libtoolize reports aclocal.m4 out-of-date when it isn't]

2001-05-17 Thread Ossama Othman

Hi,

Another problem with libtool 1.4 reported by a Debian user.

-Ossama

- Forwarded message from Brian May [EMAIL PROTECTED] -
[snip]

[544] [snoopy:unstable:bam] ~/source/ext2fs/heimdal-0.3e/build-tree/heimdal-0.3e 
aclocal -I cf  
[545] [snoopy:unstable:bam] ~/source/ext2fs/heimdal-0.3e/build-tree/heimdal-0.3e 
libtoolize -f -c   
Using `AC_PROG_RANLIB' is rendered obsolete by `AC_PROG_LIBTOOL'
You should update your `aclocal.m4' by running aclocal.

My guess is that the problem is due to this condition:

if egrep '^AC_DEFUN\(A[MC]_PROG_LIBTOOL' aclocal.m4 /dev/null 21; then

which does not match this data:

egrep '^AC_DEFUN\(\[A[MC]_PROG_LIBTOOL' aclocal.m4
AC_DEFUN([AC_PROG_LIBTOOL],
AC_DEFUN([AM_PROG_LIBTOOL],   [AC_PROG_LIBTOOL])

because of the extra [.

-Ossama
-- 
Ossama Othman [EMAIL PROTECTED]
Distributed Object Computing Laboratory, Univ. of California at Irvine
1024D/F7A394A8 - 84ED AA0B 1203 99E4 1068  70E6 5EB7 5E71 F7A3 94A8

___
Libtool mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/libtool



lots of -lresolv added to command line?

2001-05-17 Thread Ossama Othman

Hi,

Here's another libtool 1.4 bug report from a Debian user:

---
Is this a bug or a feature?

/bin/sh ../../libtool --mode=link gcc  -Wall -Wmissing-prototypes -Wpointer-arith 
-Wbad-function-cast -Wmissing-declarations -Wnested-externs -g -O2   -o ipropd-slave  
ipropd_slave.o libkadm5srv.la ../../lib/hdb/libhdb.la  ../../lib/krb5/libkrb5.la 
../../lib/asn1/libasn1.la -lcrypto ../../lib/vers/libvers.la 
../../lib/roken/libroken.la -ldb  -lgdbm -ldl -lresolv -lresolv 
gcc -Wall -Wmissing-prototypes -Wpointer-arith -Wbad-function-cast 
-Wmissing-declarations -Wnested-externs -g -O2 -o .libs/ipropd-slave ipropd_slave.o  
./.libs/libkadm5srv.so -lresolv -lresolv -lresolv -lresolv -lresolv -lresolv -lresolv 
-lresolv -lresolv -lresolv -lresolv -lresolv -lresolv -lresolv -lresolv -lresolv 
-lresolv -lresolv -lresolv -lresolv -lresolv -lresolv -lresolv -lresolv -lresolv 
/home/bam/source/ext2fs/heimdal-0.3e/build-tree/heimdal-0.3e/lib/hdb/.libs/libhdb.so 
-lresolv -lresolv -lresolv -lresolv -lresolv -lresolv -lresolv -lresolv -lresolv 
-lresolv -lresolv -lresolv -lresolv -lresolv -lresolv -lresolv -lresolv -lresolv 
-lresolv -lresolv -lresolv -lresolv -lresolv -lresolv -lresolv -lresolv -lresolv 
-lresolv -lresolv ../../lib/hdb/.libs/libhdb.so 
/home/bam/source/ext2fs/heimdal-0.3e/build-tree/heimdal-0.3e/lib/krb5/.libs/libkrb5.so 
-lresolv -lresolv -lresolv -lresolv -lresolv -lresolv -lresolv -lresolv -lresolv 
-lresolv -lresolv -lresolv -lresolv -lresolv -lresolv -lresolv -lresolv -lresolv 
-lresolv -lresolv -lresolv -lresolv -lresolv -lresolv -lresolv -lresolv -lresolv 
../../lib/krb5/.libs/libkrb5.so -lresolv -lresolv -lresolv 
/home/bam/source/ext2fs/heimdal-0.3e/build-tree/heimdal-0.3e/lib/asn1/.libs/libasn1.so 
-lresolv -lresolv -lresolv -lresolv -lresolv -lresolv 
/home/bam/source/ext2fs/heimdal-0.3e/build-tree/heimdal-0.3e/lib/roken/.libs/libroken.so
 -lresolv -lresolv -lresolv -lresolv -lresolv ../../lib/asn1/.libs/libasn1.so 
/home/bam/source/ext2fs/heimdal-0.3e/build-tree/heimdal-0.3e/lib/com_err/.libs/libcom_err.so
 -lresolv -lresolv -lresolv -lresolv ../../lib/vers/.libs/libvers.al -lresolv -lresolv 
../../lib/roken/.libs/libroken.so -lresolv -lcrypto -lresolv -lresolv -ldb -lgdbm -ldl 
-lresolv -lresolv
creating ipropd-slave

___
Libtool mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/libtool



Re: lots of -lresolv added to command line?

2001-05-17 Thread Ossama Othman

Hi Robert,

  -lresolv -lresolv -lresolv -lresolv -lresolv -lresolv -lresolv -lresolv -lresolv 
-lresolv -lresolv -lresolv ../../lib/krb5/.libs/libkrb5.so -lresolv -lresolv -lresolv 
/home/bam/source/ext2fs/heimdal-0.3e/build-tree/heimdal-0.3e/lib/asn1/.libs/libasn1.so
 -lresolv -lresolv -lresolv -lresolv -lresolv -lresolv 
/home/bam/source/ext2fs/heimdal-0.3e/build-tree/heimdal-0.3e/lib/roken/.libs/libroken.so
 -lresolv -lresolv -lresolv -lresolv -lresolv ../../lib/asn1/.libs/libasn1.so 
/home/bam/source/ext2fs/heimdal-0.3e/build-tree/heimdal-0.3e/lib/com_err/.libs/libcom_err.so
 -lresolv -lresolv -lresolv -lresolv ../../lib/vers/.libs/libvers.al -lresolv 
-lresolv ../../lib/roken/.libs/libroken.so -lresolv -lcrypto -lresolv -lresolv -ldb 
-lgdbm -ldl -lresolv -lresolv
  creating ipropd-slave
  
 
 Ossama:
 
 That depends on your point of view.  :)  I don't think we totally
 resolved this issue when it came up last time, so I'll rehash.
 The duplicate library opetions are preserved to support some systems'
 static library linking that needs to have dependent libraries
 linked in particular order, sometimes that means with duplicates.
 So code was added to Libtool to preserve duplicates, or rather 
 duplicate removal code was taken out.  This turned out to cause
 problems when the list of duplicates gets long, often too long
 for the shell to execute.  So this code was revised to find 'special'
 libraries $special_deplibs, and preserve only those in duplicates.
 I can't tell you how these get deemed special though.  

Right, I recall that.  However, having a dozen or so libraries with
the same name one after the other such as above seems really
unnecessary.  Can't we just check if two consecutive libraries in the
link command are the same, and if so then zap the second one.  A
library certainly shouldn't depend on itself.  Doing so would fix the
duplicate consecutive libraries (e.g. -lresolv -lresolv -lresolv)
and still retain the semantics of having more than one instance of the
library in the link command such as -lgcc -lfoo -lgcc.

-Ossama
-- 
Ossama Othman [EMAIL PROTECTED]
Distributed Object Computing Laboratory, Univ. of California at Irvine
1024D/F7A394A8 - 84ED AA0B 1203 99E4 1068  70E6 5EB7 5E71 F7A3 94A8

___
Libtool mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/libtool



Re: lots of -lresolv added to command line?

2001-05-17 Thread Ossama Othman

Hi Thomas,

On Thu, May 17, 2001 at 07:02:50PM +0200, Thomas Tanner wrote:
 On 17-May-2001 Ossama Othman wrote:
  /bin/sh ../../libtool --mode=link gcc  -Wall -Wmissing-prototypes
  -Wpointer-arith -Wbad-function-cast -Wmissing-declarations -Wnested-externs
  -g -O2   -o ipropd-slave  ipropd_slave.o libkadm5srv.la
  ../../lib/hdb/libhdb.la  ../../lib/krb5/libkrb5.la ../../lib/asn1/libasn1.la
  -lcrypto ../../lib/vers/libvers.la ../../lib/roken/libroken.la -ldb  -lgdbm
  -ldl -lresolv -lresolv
 
 ^^^ simply remove the second -lresolv

Okay, I'll pass your suggestion on to the Debian user who had the
problem.  Thanks Thomas!

On the other hand, shouldn't libtool be able to handle stuff like this
without producing dozens of consecutive duplicates?

-Ossama
-- 
Ossama Othman [EMAIL PROTECTED]
Distributed Object Computing Laboratory, Univ. of California at Irvine
1024D/F7A394A8 - 84ED AA0B 1203 99E4 1068  70E6 5EB7 5E71 F7A3 94A8

___
Libtool mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/libtool



Re: Libtool drops -static from LDFLAGS?

2001-05-09 Thread Ossama Othman

Hi Alexandre,

On Tue, May 08, 2001 at 03:55:36PM -0300, Alexandre Oliva wrote:
 On May  8, 2001, Ossama Othman [EMAIL PROTECTED] wrote:
 
  Right, but the problem is that is it prevents users who know what
  they're doing from using gcc's -static option.
 
 Nope.  -all-static does that.  It's in the libtool manual.  If they
 ``know what they're doing'', they should know that :-D

I understand that, but why should a user who downloads a libtoolized
package have to read the libtool manual, especially since passing in
gcc's -static flag via $LDFLAGS is not an uncommon thing to do.
That behavior is now changed due to libtool's own -static flag
conflicting with gcc's -static flag.

-Ossama
-- 
Ossama Othman [EMAIL PROTECTED]
Distributed Object Computing Laboratory, Univ. of California at Irvine
1024D/F7A394A8 - 84ED AA0B 1203 99E4 1068  70E6 5EB7 5E71 F7A3 94A8

___
Libtool mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/libtool



Re: Libtool drops -static from LDFLAGS?

2001-05-08 Thread Ossama Othman

Hi Alexandre,

On Tue, May 08, 2001 at 07:49:30AM -0300, Alexandre Oliva wrote:
  Libtool drops the user supplied -static flag (e.g. in $LDFLAGS) from
  the link command.  Is this what we want?
 
 Yep.  To really force static linking, use -all-static.  -static tells
 libtool to *prefer* static libraries, not to *require* them.

Right, but the problem is that is it prevents users who know what
they're doing from using gcc's -static option.  It seems to me that
libtool shouldn't do this sort of filtering.

-Ossama
-- 
Ossama Othman [EMAIL PROTECTED]
Distributed Object Computing Laboratory, Univ. of California at Irvine
1024D/F7A394A8 - 84ED AA0B 1203 99E4 1068  70E6 5EB7 5E71 F7A3 94A8

___
Libtool mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/libtool



Libtool drops -static from LDFLAGS?

2001-05-07 Thread Ossama Othman

Hi,

Libtool drops the user supplied -static flag (e.g. in $LDFLAGS) from
the link command.  Is this what we want?  This behavior has been a
source of confusion for some users.

-Ossama
-- 
Ossama Othman [EMAIL PROTECTED]
Distributed Object Computing Laboratory, Univ. of California at Irvine
1024D/F7A394A8 - 84ED AA0B 1203 99E4 1068  70E6 5EB7 5E71 F7A3 94A8

___
Libtool mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/libtool



Re: Building c++ library with cxx/osf with libtool

2000-11-03 Thread Ossama Othman

Hi Patrick,

On Fri, Nov 03, 2000 at 07:45:08PM +0100, Patrick Guio wrote:
 Do you think it could be possible to insert this in the libtool?
 Maybe automake/depcomp has to be modified to be able to use the option -MD
 with the cxx compaq compiler for osf machines?

Does the Compaq C++ support in the libtool multi-language branch work
for you?  There may be no need to modify libtool, if so.

-Ossama
-- 
Ossama Othman [EMAIL PROTECTED]
Distributed Object Computing Laboratory, Univ. of California at Irvine
1024D/F7A394A8 - 84ED AA0B 1203 99E4 1068  70E6 5EB7 5E71 F7A3 94A8

___
Libtool mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/libtool



Re: KCC and cxx archiver

2000-10-27 Thread Ossama Othman

Hi Patrick,

On Fri, Oct 27, 2000 at 05:58:33PM +0200, Patrick Guio wrote:
 For the KCC compiler I had to include in the configure.in
 
   CXX="KCC"
   CXX_OPTIMIZE_FLAGS="+K3 -O3"
   CXX_DEBUG_FLAGS="-g +K0 -DBZ_DEBUG"
   CXXFLAGS="--restrict --strict_warnings --one_instantiation_per_object"
   AR="KCC"
   AR_FLAGS="-o"
 
 and of cours declare properly the AC_SUBST
 Note that the --one_instantiation_per_object is very important otherwise
 you get error message when linking about multi-definitions of
 instantiations...

Would you happen to know why "--one_instantiation_per_object" is not
the KCC default?  I'm not sure that it is a good idea to make libtool
change the default behavior of the compiler.  IMHO, it should be up to
the user to add "--one_instantiation_per_object" to CXXFLAGS if they
need it, not libtool.

 For the cxx compiler (for DEC alpha, maybe Compaq now?) I had to do

The Compaq C++ compiler is also already supported in the
multi-language branch libtool.

I'd be interested in any feedback you might have regarding that
support.

-Ossama
-- 
Ossama Othman [EMAIL PROTECTED]
Distributed Object Computing Laboratory, Univ. of California at Irvine
1024D/F7A394A8 - 84ED AA0B 1203 99E4 1068  70E6 5EB7 5E71 F7A3 94A8

___
Libtool mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/libtool



Re: arg list too long (so, split it into two?)

2000-10-05 Thread Ossama Othman

Hi,

On Thu, Oct 05, 2000 at 09:44:19PM +0200, Morten Eriksen wrote:
 * make larger and fewer object-files, by using some small
   number of sourcefiles to include the "real" sourcefiles by
   "#include" statements, and compile and link these instead.
 
   For an example of how this can be done and integrated as a
   configure and build-option, see the Coin library at
   http://www.coin3d.org.

Just an observation...

This strategy has the side-effect of increasing footprint, since
combining object files pulls in code that may not be necessary at
run-time, which is a problem if you're developing embedded
applications, for example.

This isn't an issue if your linker does function-level linking (MSVC's
linker does this I think), but many linkers link entire object files
to pull in the appropriate symbols, as I understand.

-Ossama
-- 
Ossama Othman [EMAIL PROTECTED]
Distributed Object Computing Laboratory, Univ. of California at Irvine
1024D/F7A394A8 - 84ED AA0B 1203 99E4 1068  70E6 5EB7 5E71 F7A3 94A8

___
Libtool mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/libtool



Re: Three problems with libtools

2000-10-02 Thread Ossama Othman

Hi Marc,


On Mon, Oct 02, 2000 at 10:41:12AM +0200, Marc Espie wrote:
 * the link lines output by libtool are ludicrously long. Since our linker
 does NOT prune excess libraries, but reloads the symbols each time, this
 is a fairly large problem... Observe:

I thought that we fixed this problem, but I also ran into this problem
with one my own packages.  I'll try to get this problem soon, if the
rest of the team doesn't have time.

-Ossama
-- 
Ossama Othman [EMAIL PROTECTED]
Distributed Object Computing Laboratory, Univ. of California at Irvine
1024D/F7A394A8 - 84ED AA0B 1203 99E4 1068  70E6 5EB7 5E71 F7A3 94A8

___
Libtool mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/libtool



libtool convenience library question

2000-09-29 Thread Ossama Othman

Hi,

Is there any reason why libtool convenience libraries use an
intermediate static library?  Isn't it possible to just add the object
files directly to the link command?  Are issues such as command line
length involved here?

Thanks,
-Ossama
-- 
Ossama Othman [EMAIL PROTECTED]
Distributed Object Computing Laboratory, Univ. of California at Irvine
1024D/F7A394A8 - 84ED AA0B 1203 99E4 1068  70E6 5EB7 5E71 F7A3 94A8

___
Libtool mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/libtool



Re: [Libtool] Multi-lingual libtool nit

2000-09-20 Thread Ossama Othman

Hi Bob,

On Mon, Sep 18, 2000 at 09:02:10PM -0500, Bob Friesenhahn wrote:
 checking for X... libraries /usr/openwin/lib, headers
 /usr/openwin/include
 checking whether -R must be followed by a space... cat: cannot open conftest.c
 cat: cannot open conftest.c

This one isn't coming from the ML-branch libtool.  It actually looks
like an autoconf test.

 this is in addition to the previously reported 
 
 checking for dlopen in -ldl... yes
 checking for dlfcn.h... yes
 checking whether a program can dlopen itself... cat: cannot open conftest.cc
 no

I just committed a fix for this to the ML-branch libtool.  Thanks for
the report Bob!

-Ossama
-- 
Ossama Othman [EMAIL PROTECTED]
Distributed Object Computing Laboratory, Univ. of California at Irvine
1024D/F7A394A8 - 84ED AA0B 1203 99E4 1068  70E6 5EB7 5E71 F7A3 94A8
___
Libtool mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/libtool



Re: [Libtool] How about a C++ test in the multi-language-branch?

2000-09-19 Thread Ossama Othman

Hi Robert,

On Tue, Sep 19, 2000 at 11:44:06AM -0500, Robert Boehne wrote:
 I'm currently attempting to add support for C++ under AIX
 to libtool, but it would be nice if there was a test case
 that created a C++ shared library that checked libtool for
 correct behavior.  I currently have g++ shared libraries being
 created in another project, but they are rather large and
 time consuming to build, any volunteers?

The `tagdemo' already does that.  It is part of the test suite.
However, it is a rather simple test.  It could be improved to take
advantage of additional libtool features.

-Ossama
-- 
Ossama Othman [EMAIL PROTECTED]
Distributed Object Computing Laboratory, Univ. of California at Irvine
1024D/F7A394A8 - 84ED AA0B 1203 99E4 1068  70E6 5EB7 5E71 F7A3 94A8
___
Libtool mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/libtool



Re: multi-language-branch: --tag=CXX not specified

2000-09-15 Thread Ossama Othman

Hi Robert,

On Fri, Sep 15, 2000 at 03:37:37PM -0500, Robert Boehne wrote:
 I can now run "make" from the top level and the library will be built.
 Perhaps there is some confustion using libtool with CXX and CC for
 files in the same Makefile?

This should be transparent.  A couple of months ago I added a feature
to libtool that automatically selects which tagged configuration to
use, even without the "--tag" argument, to specifically handle the
situation you describe above.  I'll try to reproduce the problem
you're getting but I'm fairly certain that this feature was working a
few months ago.

-Ossama
-- 
Ossama Othman [EMAIL PROTECTED]
Distributed Object Computing Laboratory, Univ. of California at Irvine
1024D/F7A394A8 - 84ED AA0B 1203 99E4 1068  70E6 5EB7 5E71 F7A3 94A8




Re: multi-language-branch: --tag=CXX not specified

2000-09-15 Thread Ossama Othman

Hi Robert,

I only noticed the following after I posted my last message:

On Fri, Sep 15, 2000 at 03:37:37PM -0500, Robert Boehne wrote:
 libtool: compile: unable to infer tagged configuration
 libtool: compile: specify a tag with `--tag'

Are you using a C++ compiler different (even if only by name) from the
one libtool was configured with?  Specifically, is the "CXX" tagged
configuration set up to use "c++" or "g++?"  The above message implies
that the libtool configured compiler and the compiler passed by
automake are different.  Is this the case?  BTW, the above message is
coming from the automatic tagged configuration selection code I
mentioned in my last message.

Thanks,
-Ossama
-- 
Ossama Othman [EMAIL PROTECTED]
Distributed Object Computing Laboratory, Univ. of California at Irvine
1024D/F7A394A8 - 84ED AA0B 1203 99E4 1068  70E6 5EB7 5E71 F7A3 94A8




Re: multi-language-branch: --tag=CXX not specified

2000-09-15 Thread Ossama Othman

Hi Alexandre,

On Fri, Sep 15, 2000 at 06:58:02PM -0300, Alexandre Oliva wrote:
 On Sep 15, 2000, Robert Boehne [EMAIL PROTECTED] wrote:
 
  %  ../../libtool --tag=CXX --config | grep '^CC=' | tail -1
  CC="cc"
 
 That's the problem.  It should be 'g++', in the CXX configuration.
 Remove the `tail -1' and make sure you get two lines, one for the
 default configuration and one overrider for CXX.
 
 Then go figure why ltconfig got the wrong value when creating the CXX
 configuration.  Search for `TAG CONFIG: CXX' to see the configuration
 variables passed to ltconfig.  Also check what version of libtool
 you're using.

Robert sent me his generated libtool script.  Part of the CXX
configuration is listed below.  It appears that ltconfig wasn't
invoked properly.  The C++ compiler was not set when configuring the
C++ tagged configuration.

### BEGIN LIBTOOL TAG CONFIG: CXX
# Libtool was configured as follows, on host boreas:
#
# AR="" AR_FLAGS="" LTCC="gcc" CC="" \
# CFLAGS="" CPPFLAGS="" \
# MAGIC="" LD="" LDFLAGS="" LIBS="" \
# LN_S="ln -s" NM="/bin/nm -B" RANLIB="ranlib" STRIP="strip" \
# AS="" DLLTOOL="" OBJDUMP="" \
# objext="" exeext="" reload_flag=" -r" \
# deplibs_check_method="pass_all" \
# file_magic_cmd="\${MAGIC}" \
#   make/ltconfig -o libtool --cache-file=/dev/null --with-gcc
--build=powerpc-ibm-aix4.3.3.0 --add-tag=CXX make/ltcf-cxx.sh
powerpc-ibm-aix4.3.3.0
#


BTW, Robert thanks so much for working on the AIX port!  I've been
aching to get that port completed but since I don't have access to an
AIX box I've been waiting for someone to come along to help out.  :-)

-Ossama
-- 
Ossama Othman [EMAIL PROTECTED]
Distributed Object Computing Laboratory, Univ. of California at Irvine
1024D/F7A394A8 - 84ED AA0B 1203 99E4 1068  70E6 5EB7 5E71 F7A3 94A8




Re: Link static library into libtool library

2000-07-20 Thread Ossama Othman

Hi,

On Thu, Jul 20, 2000 at 04:01:10PM -0400, Paul Berrevoets wrote:
 Thomas Tanner wrote:
 
   Yep. That's already implemented in CVS libtool:
 
 Just a minor question ... does CVS libtool require CVS autoconf and/or CVS
 automake?

No.  The multi-language branch should work with stable autoconf and
automake, in addition to the CVS versions.  However, there may still
be a problem with using CVS autoconf.  I'm not sure if the problem
was ever resolved.

-Ossama
-- 
Ossama Othman [EMAIL PROTECTED]
Distributed Object Computing Laboratory, Univ. of California at Irvine
1024D/F7A394A8 - 84ED AA0B 1203 99E4 1068  70E6 5EB7 5E71 F7A3 94A8




ML libtool: shared libs linked against static ones

2000-06-10 Thread Ossama Othman

Hi,

I finally got around to digging into the libtool code to figure out
why the static libstdc++.a was't being dropped when linking on Solaris
using g++.  It turns out that the culprit is the
"deplibs_check_method" setting used by libtool on Solaris.  It is
currently set to "pass_all," which is why the static lib never gets
dropped during the ILD analysis loop.  Does Solaris actually support
linking shared libs against static ones?  If not, then it may be a
better idea to use the "file_magic" deplibs check method.  Thoughts?

-Ossama
-- 
Ossama Othman [EMAIL PROTECTED]
Distributed Object Computing Laboratory, Univ. of California at Irvine
1024D/F7A394A8 - 84ED AA0B 1203 99E4 1068  70E6 5EB7 5E71 F7A3 94A8




Re: ML libtool: shared libs linked against static ones

2000-06-10 Thread Ossama Othman

Hi Michael,

On Sun, Jun 11, 2000 at 02:33:36AM +0200, Michael Matz wrote:
 On Sat, 10 Jun 2000, Ossama Othman wrote:
  
  BTW, I finally got around to setting up two default GNU C++
  configurations, one for when g++ uses GNU ld as its linker, and one
  for the general case (simple and not as robust).  I also fixed the
  cases where an assumption was made that the GNU linker was used with
  g++, instead of the native linker.  I'll submit the patch to
  libtool-patches in about half an hour.  This should make the KDE guys
  happy.  :-)
 
 Oops. I forgot to submit the patch for that, and only installed it in our
 own libtool copy :( FWIW it at least seem to work according to one Solaris
 user ;) Are you interested in it?

So much for avoiding duplication of effort. :-)

Feel free to send me the patch.  Your patch may be better than mine,
or maybe they can be integrated.

Thanks!
-Ossama
-- 
Ossama Othman [EMAIL PROTECTED]
Distributed Object Computing Laboratory, Univ. of California at Irvine
1024D/F7A394A8 - 84ED AA0B 1203 99E4 1068  70E6 5EB7 5E71 F7A3 94A8




Re: ML branch: okay to switch to CVS automake/autoconf?

2000-06-04 Thread Ossama Othman

Hi,

On Sat, Jun 03, 2000 at 06:15:34PM -0700, Mo DeJong wrote:
 Why don't we just create a new branch in the libtool CVS for
 autoconf 2.14 support? We can fix all the problems caused by the
 autoconf upgrade on the branch and then merge it back into
 the HEAD down the road. Does anyone see a problem with that?

Just one: time.  :-)
I don't have the time to maintain another branch.

-Ossama
-- 
Ossama Othman [EMAIL PROTECTED]
Distributed Object Computing Laboratory, Univ. of California at Irvine
1024D/F7A394A8 - 84ED AA0B 1203 99E4 1068  70E6 5EB7 5E71 F7A3 94A8




Re: ml weiredness

2000-06-03 Thread Ossama Othman

Hi Michael and Stephan,

On Fri, Jun 02, 2000 at 10:38:54PM +0200, Michael Matz wrote:
 On Fri, 2 Jun 2000, Stephan Kulow wrote:
 I only wanted to add, that $predeps are added before $libs if
 $linkmode==lib. This is also a problem, because e.g for me $predeps
 contains "-L/usr/local/lib/gcc-lib/i586-pc-linux-gnu/2.95.3
 -L/usr/local/lib". This also gets added in _front_ of the user specified
 -L* by libtool and may have undesired side effect. The problem is, that in
 the output of the compiler command which is parsed to get the libstdc++,
 these -L* are in front of the conftest.o.
 Now g++ itself of course would add any user specified -L* in front of
 them, and so should libtool too.

Thanks for pointing that out.  How does the following patch look to you?

Index: ltmain.in
===
RCS file: /cvs/libtool/ltmain.in,v
retrieving revision 1.200.2.19
diff -u -r1.200.2.19 ltmain.in
--- ltmain.in   2000/05/29 10:40:46 1.200.2.19
+++ ltmain.in   2000/06/03 21:23:09
@@ -1469,8 +1469,20 @@
   libs="$libs $deplib"
 done
 
-if test $linkmode = lib; then
-  libs="$predeps $libs $postdeps"
+if test $linkmode = lib; the
+  # Internal compiler library paths should come after those
+  # provided the user.  The postdeps already come after the user
+  # supplied libs so there is no need to process them.
+  old_predeps=$predeps
+  new_predeps=
+  predeps_lib_path=
+  for p in $old_predeps; do
+case "$p" in
+   -L*|-R*) predeps_lib_path="$predeps_lib_path $p";;
+   *) new_predeps="$new_predeps $p";;
+   esac
+  done
+  libs="$new_predeps $libs $predeps_lib_path $postdeps"
 fi
 
 deplibs=

 Furthermore this wrong ordering is saved into the .la files and every
 other lib I want to link against them picks that up.

The above patch should fix the problem.

-Ossama
-- 
Ossama Othman [EMAIL PROTECTED]
Distributed Object Computing Laboratory, Univ. of California at Irvine
1024D/F7A394A8 - 84ED AA0B 1203 99E4 1068  70E6 5EB7 5E71 F7A3 94A8




Re: ml weiredness

2000-06-03 Thread Ossama Othman

Hi,

There was a slight bug in the patch I just posted, but I think that
you get the idea of what it was supposed to do.

-Ossama
-- 
Ossama Othman [EMAIL PROTECTED]
Distributed Object Computing Laboratory, Univ. of California at Irvine
1024D/F7A394A8 - 84ED AA0B 1203 99E4 1068  70E6 5EB7 5E71 F7A3 94A8




Re: ml weiredness

2000-06-03 Thread Ossama Othman

Hi Stephan,

You're too quick. :-)

I'm testing a different patch which should be better, and incurs less
overhead during link-time, since it is run at config-time.

On Sun, Jun 04, 2000 at 01:12:53AM +0200, Stephan Kulow wrote:
 Ossama Othman wrote:
  There was a slight bug in the patch I just posted, but I think that
  you get the idea of what it was supposed to do.
 
 You were talking about the the, no? :)

Well, "slightly" more than that.  :-)

 OK, it doesn't work. 

Yep, I realized that just before I got your message.  Sorry for the
false alarm.

 I patched your patch to have some debug output:
  + echo "new_predeps $new_predeps"
  + echo "libs $libs"
  + echo "predepds $predeps_lib_path"
libs="$new_predeps $libs $predeps_lib_path $postdeps"
 
 And this is the result:
 
 /bin/sh ../libtool --mode=link g++  -g -ansi -D_XOPEN_SOURCE
 -D_BSD_SOURCE -fno-exceptions -fno-rtti -fno-check-new -Wall -pedantic
 -W -Wpointer-arith -Wmissing-prototypes -Wwrite-strings -Wno-long-long
 -fno-builtin -frtti -DQT_CLEAN_NAMESPACE  -L/usr/X11R6/lib
 -L/home/coolo/prod/qt/lib -L/home/coolo/prod/KDE/lib  -o dcopserver.la
 -rpath /home/coolo/prod/KDE/lib -module -avoid-version dcopserver.lo
 libDCOP.la
 new_predeps
 libs  -L/usr/X11R6/lib -L/home/coolo/prod/qt/lib
 -L/home/coolo/prod/KDE/lib libDCOP.la
 predepds  -L/usr/lib/gcc-lib/i386-linux/egcs-2.91.66
 -L/usr/i386-linux/lib
 rm -fr  .libs/dcopserver.la .libs/dcopserver.lai .libs/dcopserver.so
 g++ -shared -nostdlib /usr/lib/crti.o
 /usr/lib/gcc-lib/i386-linux/egcs-2.91.66/crtbeginS.o 
 .libs/dcopserver.o  -L/usr/lib -L/usr/i386-linux/lib
 -L/usr/lib/gcc-lib/i386-linux/egcs-2.91.66 -L/usr/X11R6/lib
 -L/home/coolo/prod/qt/lib -L/home/coolo/prod/KDE/lib ./.libs/libDCOP.so
 -lstdc++ -lm -lc
 -lgcc  -lc /usr/lib/gcc-lib/i386-linux/egcs-2.91.66/crtendS.o
 /usr/lib/crtn.o  -Wl,-soname -Wl,dcopserver.so -o .libs/dcopserver.so
 creating dcopserver.la  
 
 Note, that /usr/lib is unknown at the point the code runs you've patched

I'm not sure what you mean by it being "unknown."  Can you please
clarify that point?  In any case, my new patch should be better. I'm
testing it right now.

Thanks,
-Ossama
-- 
Ossama Othman [EMAIL PROTECTED]
Distributed Object Computing Laboratory, Univ. of California at Irvine
1024D/F7A394A8 - 84ED AA0B 1203 99E4 1068  70E6 5EB7 5E71 F7A3 94A8




Re: ml weiredness

2000-06-03 Thread Ossama Othman

Hi Stephan,

The following patch should be better:

Index: ltcf-cxx.sh
===
RCS file: /cvs/libtool/Attic/ltcf-cxx.sh,v
retrieving revision 1.1.2.11
diff -u -5 -r1.1.2.11 ltcf-cxx.sh
--- ltcf-cxx.sh 2000/05/26 05:49:14 1.1.2.11
+++ ltcf-cxx.sh 2000/06/03 23:24:52
@@ -725,11 +725,11 @@
 EOF
 
 
 if eval $ac_compile 25; then
   # Parse the compiler output and extract the necessary
-  # object, libraries and library flags.
+  # objects, libraries and library flags.
 
   # Sentinel used to keep track of whether or not we are before
   # the conftest object file.
   pre_test_object_deps_done=no
 
@@ -747,15 +747,24 @@
else
  prev=
fi
 
if test "$pre_test_object_deps_done" = no; then
- if test -z "$predeps"; then
-   predeps="${prev}${p}"
- else
-   predeps="${predeps} ${prev}${p}"
- fi
+ case $p in
+-L* | -R*)
+  # Internal compiler library paths should come after those
+  # provided the user.  The postdeps already come after the
+  # user supplied libs so there is no need to process them.
+   if test -z "$compiler_lib_search_path"; then
+ compiler_lib_search_path="${prev}${p}"
+   else
+ compiler_lib_search_path="${compiler_lib_search_path} ${prev}${p}"
+   fi
+   ;;
+# The "-l" case would never come before the object being
+ # linked, so don't bother handling this case.
+ esac
else
  if test -z "$postdeps"; then
postdeps="${prev}${p}"
  else
postdeps="${postdeps} ${prev}${p}"
Index: ltconfig.in
===
RCS file: /cvs/libtool/ltconfig.in,v
retrieving revision 1.246.2.18
diff -u -5 -r1.246.2.18 ltconfig.in
--- ltconfig.in 2000/05/30 00:31:59 1.246.2.18
+++ ltconfig.in 2000/06/03 23:24:52
@@ -220,10 +220,11 @@
 ## Dependencies to place before and after the object being linked:
 predep_objects=
 postdep_objects=
 predeps=
 postdeps=
+compiler_lib_search_path=
 
 ## Link characteristics:
 allow_undefined_flag=
 no_undefined_flag=
 need_lib_prefix=unknown
@@ -1923,11 +1924,11 @@
 thread_safe_flag_spec whole_archive_flag_spec libname_spec \
 library_names_spec soname_spec \
 RANLIB old_archive_cmds old_archive_from_new_cmds old_postinstall_cmds \
 old_postuninstall_cmds archive_cmds archive_expsym_cmds postinstall_cmds \
 postuninstall_cmds extract_expsyms_cmds old_archive_from_expsyms_cmds \
-predep_objects postdep_objects predeps postdeps \
+predep_objects postdep_objects predeps postdeps compiler_lib_search_path \
 old_striplib striplib file_magic_cmd export_symbols_cmds \
 deplibs_check_method allow_undefined_flag no_undefined_flag \
 finish_cmds finish_eval global_symbol_pipe global_symbol_to_cdecl \
 hardcode_libdir_flag_spec hardcode_libdir_separator  \
 sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
@@ -2216,10 +2217,14 @@
 predeps=$predeps
 
 # Dependencies to place after the objects being linked to create a
 # shared library.
 postdeps=$postdeps
+
+# The library search path used internally by the compiler when linking
+# a shared library.
+compiler_lib_search_path=$compiler_lib_search_path
 
 # Method to check whether dependent libraries are shared objects.
 deplibs_check_method=$deplibs_check_method
 
 # Command to use when deplibs_check_method == file_magic.
Index: ltmain.in
===
RCS file: /cvs/libtool/ltmain.in,v
retrieving revision 1.200.2.19
diff -u -5 -r1.200.2.19 ltmain.in
--- ltmain.in   2000/05/29 10:40:46 1.200.2.19
+++ ltmain.in   2000/06/03 23:24:53
@@ -1468,11 +1468,11 @@
   esac
   libs="$libs $deplib"
 done
 
 if test $linkmode = lib; then
-  libs="$predeps $libs $postdeps"
+  libs="$predeps $libs $compiler_lib_search_path $postdeps"
 fi
 
 deplibs=
 newdependency_libs=
 newlib_search_path=


Here are the results for the tagdemo in the libtool CXX tagged
configuration on Linux:

# Dependencies to place before the objects being linked to create a
# shared library.
predeps=""

# Dependencies to place after the objects being linked to create a
# shared library.
postdeps="-lstdc++ -lm -lgcc -lc -lgcc"

# The library search path used internally by the compiler when linking
# a shared library.
compiler_lib_search_path="-L/usr/lib/gcc-lib/i386-linux/2.95.2"


Here is the contents of the "$libs" variable passed to the ILD
analyser:

libs:  -lm -L/usr/lib/gcc-lib/i386-linux/2.95.2 -lstdc++ -lm -lgcc -lc -lgcc


You're KDE test is of course much more exhaustive then this simple
test.  Can you please g

Re: ml weiredness

2000-06-03 Thread Ossama Othman

Hi Stephan,

On Sun, Jun 04, 2000 at 01:42:18AM +0200, Stephan Kulow wrote:
 OK, your patch doesn't heal the problem and now that the deps are so
 much clearer,
 I think it's clear that the ml stuff isn't to blame per se :)

Whew! :-)

 /bin/sh ../libtool --mode=link g++  -g -ansi -D_XOPEN_SOURCE
 -D_BSD_SOURCE -fno-exceptions -fno-rtti -fno-check-new -Wall -pedantic
 -W -Wpointer-arith -Wmissing-prototypes -Wwrite-strings -Wno-long-long
 -fno-builtin -frtti -DQT_CLEAN_NAMESPACE  -L/usr/X11R6/lib
 -L/home/coolo/prod/qt/lib -L/home/coolo/prod/KDE/lib  -o dcopserver.la
 -rpath /home/coolo/prod/KDE/lib -module -avoid-version dcopserver.lo
 libDCOP.la
  
 libs = -L/usr/X11R6/lib -L/home/coolo/prod/qt/lib
 -L/home/coolo/prod/KDE/lib libDCOP.la
 -L/usr/lib/gcc-lib/i386-linux/egcs-2.91.66 -L/usr/i386-linux/lib
 -lstdc++ -lm -lgcc -lc -lgcc
  
 rm -fr  .libs/dcopserver.la .libs/dcopserver.lai .libs/dcopserver.so
 g++ -shared -nostdlib /usr/lib/crti.o
 /usr/lib/gcc-lib/i386-linux/egcs-2.91.66/crtbeginS.o 
 .libs/dcopserver.o  -L/usr/i386-linux/lib
 -L/usr/lib/gcc-lib/i386-linux/egcs-2.91.66 -L/usr/lib -L/usr/X11R6/lib
 -L/home/coolo/prod/qt/lib -L/home/coolo/prod/KDE/lib ./.libs/libDCOP.so
 -lstdc++ -lm -lc
 -lgcc  -lc /usr/lib/gcc-lib/i386-linux/egcs-2.91.66/crtendS.o
 /usr/lib/crtn.o  -Wl,-soname -Wl,dcopserver.so -o .libs/dcopserver.so
 creating dcopserver.la 
 
 to the libs = everything looks perfect, but then the conv pass seems to
 run wild ;)

Ah okay.  Well, at least we're narrowing down the problem.

 the libDCOP.la file looks like this
 
 dependency_libs=' -L/usr/X11R6/lib -L/home/coolo/prod/qt/lib
 -L/home/coolo/prod/KDE/lib -lSM -lICE -lICE -lqt -lpng -lz
 /usr/lib/libjpeg.la -lXext -lX11 -lSM -lICE
 -L/usr/lib/gcc-lib/i386-linux/egcs-2.91.66 -L/usr/i386-linux/lib
 -lstdc++ -lm -lc -lgcc' 
 
 Also quite perfect. I investigate further

Great! Thank you very much!

-Ossama
-- 
Ossama Othman [EMAIL PROTECTED]
Distributed Object Computing Laboratory, Univ. of California at Irvine
1024D/F7A394A8 - 84ED AA0B 1203 99E4 1068  70E6 5EB7 5E71 F7A3 94A8




ML branch: okay to switch to CVS automake/autoconf?

2000-06-02 Thread Ossama Othman

Hi,

Since many of you are using the libtool multi-language branch, I
wanted to check with you about switching that branch to use CVS
autoconf and CVS automake.  I have some patches ready for approval
(i.e. I haven't submitted them for approval yet), but if there is too
much opposition to such a move then I may rethink the switch.  Does
anyone have problems with such a change?

Thanks,
-Ossama
-- 
Ossama Othman [EMAIL PROTECTED]
Distributed Object Computing Laboratory, Univ. of California at Irvine
1024D/F7A394A8 - 84ED AA0B 1203 99E4 1068  70E6 5EB7 5E71 F7A3 94A8




Re: ML branch: okay to switch to CVS automake/autoconf?

2000-06-02 Thread Ossama Othman

Hi Stephan,

On Fri, Jun 02, 2000 at 09:46:59PM +0200, Stephan Kulow wrote:
 Ossama Othman wrote: 
  Since many of you are using the libtool multi-language branch, I
  wanted to check with you about switching that branch to use CVS
  autoconf and CVS automake.  I have some patches ready for approval
  (i.e. I haven't submitted them for approval yet), but if there is too
  much opposition to such a move then I may rethink the switch.  Does
  anyone have problems with such a change?
  
 It would make _my_ task a lot more difficult as I would have to backport
 your changes to released versions of auto*. We already keep our own copy
 of libtool in our CVS, anything else wouldn't work for KDE.

*sigh*  Maintaining backward compatiblity with Autoconf 2.13 and
Automake 1.4 makes things harder for me.  However, I don't
want to make your job harder either.  I'll try to make the patches
backward compatible.  If I can't then I'll hold off on them.

-Ossama
-- 
Ossama Othman [EMAIL PROTECTED]
Distributed Object Computing Laboratory, Univ. of California at Irvine
1024D/F7A394A8 - 84ED AA0B 1203 99E4 1068  70E6 5EB7 5E71 F7A3 94A8




Re: ltcf-cxx.sh

2000-05-31 Thread Ossama Othman

Hi Kevin,

On Wed, May 31, 2000 at 12:46:34AM -0400, Kevin Atkinson wrote:
 On Tue, 30 May 2000, Ossama Othman wrote:
  Thanks for the simple test.  I just need to find a Solaris system with
  a busted libstdc++ installation, i.e. one that built without
  "--enable-shared."
 
 That should not be too difficult because that is the default option when
 building gcc.

Right.  The problem is that we were aware of the problem with gcc
attempting to link a static libstdc++ on Solaris so we built all of our
gcc installations with "--enabled-shared."

  out the AC_LIBTOOL_CXX, so the C++ support is really transparent now
  (well, theoretically :-).
 
 Oh, that well it is insisting on having the unneeded ltcf-gcj.sh in the
 current directory if it is missing I get:
 
 ...
 loading cache ./config.cache
 ltconfig: `./ltcf-gcj.sh' does not exist
 Try `ltconfig --help' for more information.
 configure: error: libtool tag configuration failed
 
 Not that big of a deal but quite annoying, especially since libtoolize
 doesn't install it for you.

Hmm.  Alexandre?  In any case, if Alexandre doesn't get a chance to fix this
problem, I'll take a look at it tomorrow when I get in.

 Another thing, what version of autoconf/automake due you recommend
 using?  Using the CVS version I get all sorts of warning over obsolete
 variables, but don't want to change them as that will loose all hope with
 working with the released version.  I remember trying the released version
 and had some problems with automake making the file exec.C as the
 executable

I'm currently using Autoconf 2.13 and Automake 1.4.  However, Alexandre is
using the CVS Automake.  I'm going to switch to the CVS Automake very soon,
too.  Alexandre, Gary, Thomas, which version of Autoconf are you guys
using?

-Ossama
-- 
Ossama Othman [EMAIL PROTECTED]
Distributed Object Computing Laboratory, Univ. of California at Irvine
1024D/F7A394A8 - 84ED AA0B 1203 99E4 1068  70E6 5EB7 5E71 F7A3 94A8




Re: ltcf-cxx.sh

2000-05-30 Thread Ossama Othman

Hi Kevin,

I've run through the libtool code again, and I think that I was wrong
about the ML branch bypassing the part of libtool that drops static
libs.  AFAICT, the ML branch simply adds the libraries it detected
from the internal C++ compiler link commands, and adds them to the
list of libraries that libtool's inter-library dependency analyzer
goes through.  This means that libtool should be dropping the static
libs from the dependency list.  Do you get a warning message from
Libtool such as:

*** Warning: This library needs some functionality provided by some lib.
*** I have the capability to make that library automatically link in when
*** you link to this library.  But I can only do this if you have a
*** shared version of the library, which you do not appear to have.

or do you get this warning:

*** Warning: Linking the shared library some lib against the
*** static library some dep lib is not portable!

Do you get any warning from libtool?

Thanks,
-Ossama
-- 
Ossama Othman [EMAIL PROTECTED]
Distributed Object Computing Laboratory, Univ. of California at Irvine
1024D/F7A394A8 - 84ED AA0B 1203 99E4 1068  70E6 5EB7 5E71 F7A3 94A8




Re: ltcf-cxx.sh

2000-05-30 Thread Ossama Othman

Hi Kevin,

On Tue, May 30, 2000 at 05:37:59PM -0400, Kevin Atkinson wrote:
 On Tue, 30 May 2000, Ossama Othman wrote:
  goes through.  This means that libtool should be dropping the static
  libs from the dependency list.  Do you get a warning message from
  Libtool such as:
 
 None: This is what I get
 
 rac10:~/test: ./configure --enable-shared --disable-static
 creating cache ./config.cache
[snip]
 mkdir .libs
 c++ -DPACKAGE=\"test\" -DVERSION=\"1.0\" -I. -I. -g -O2 -c test.cc
 -Wp,-MD,.deps/test.TPlo  -fPIC -DPIC -o .libs/test.o
 /bin/sh ./libtool --mode=link c++  -g -O2   -o libtest.la -rpath
 /usr/local/lib  test.lo
[snip]
 _IO_do_write0x154
 /usr/local/gnu/lib/gcc-lib/sparc-sun-solaris2.6/2.95.1/libstdc++.a(filebuf.o)
 
 
 ld: fatal: relocations remain against allocatable but non-writable
 sections
 collect2: ld returned 1 exit status
 *** Error code 1
 make: Fatal error: Command failed for target `libtest.la'
 
 This is using the latest libtool ml checked out at arounf 5:00 PM EST.

*sigh* :-(

Okay, that's certainly busted.  I'll dive into the code again.  Thanks
for the feedback Kevin!

 I am using a CVS Version of Autoconf and automake not sure of the last
 checkout data but it was within a month.

AFAIK, this shouldn't be a problem.

-Ossama
-- 
Ossama Othman [EMAIL PROTECTED]
Distributed Object Computing Laboratory, Univ. of California at Irvine
1024D/F7A394A8 - 84ED AA0B 1203 99E4 1068  70E6 5EB7 5E71 F7A3 94A8




Re: ltcf-cxx.sh

2000-05-30 Thread Ossama Othman

Hi Kevin,

Thanks for the simple test.  I just need to find a Solaris system with
a busted libstdc++ installation, i.e. one that built without
"--enable-shared."

On Tue, May 30, 2000 at 08:43:17PM -0400, Kevin Atkinson wrote:
 
 AC_INIT(test.cc)
 AM_INIT_AUTOMAKE(test, 1.0)
 
 AC_PROG_CXX
 AC_LANG_CPLUSPLUS
 
 AM_PROG_LIBTOOL
 AC_LIBTOOL_CXX

BTW, Alexandre committed some changs that make it possible to leave
out the AC_LIBTOOL_CXX, so the C++ support is really transparent now
(well, theoretically :-).

 AC_OUTPUT(Makefile)
 
 test.cc:
 
 #include iostream
 
 void foo() {
cout  "What!"  endl;
 }

Thanks!
-Ossama
-- 
Ossama Othman [EMAIL PROTECTED]
Distributed Object Computing Laboratory, Univ. of California at Irvine
1024D/F7A394A8 - 84ED AA0B 1203 99E4 1068  70E6 5EB7 5E71 F7A3 94A8




Re: ltcf-cxx.sh

2000-05-28 Thread Ossama Othman

Hi Kevin,

On Sun, May 28, 2000 at 07:37:11PM -0400, Kevin Atkinson wrote:
 I was just informed that the HEAD branch does indeed drop static library
 dependencies when making shared libraries.  Perhaps the HEAD branch needs
 to be merged with the ML branch or is it something else?

The core HEAD branch libtool files ltmain.in, ltconfig.in and
libtool.m4 have been merged into the ML branch.  However, the ML
branch probably reintroduced the static libs due to the fact it
analyses what the C++ compiler links internally based on output from
"g++ -v," for example.  What is most likely happening is that the new
C++ library analysing code is bypassing the code in libtool that would
normally drop the static libs.

Now that I think about it, libtool is only reproducing what the C++
compiler would normally do internally, so why would libtool be wrong?
Specifically, libtool disables the internal library link commands that
the C++ compiler would normally perform automatically, and simply does
the linking itself.  Why does it work for the C++ compiler?

-Ossama
-- 
Ossama Othman [EMAIL PROTECTED]
Distributed Object Computing Laboratory, Univ. of California at Irvine
1024D/F7A394A8 - 84ED AA0B 1203 99E4 1068  70E6 5EB7 5E71 F7A3 94A8




Re: ltcf-cxx.sh

2000-05-27 Thread Ossama Othman

Hi Stephan,

On Sat, May 27, 2000 at 10:10:44AM +0200, Stephan Kulow wrote:
 Kevin Atkinson wrote:
  
  Hopefully since KDE will be using it some KDE people will help to improve
  the C++ support.  I am sure they will run into the problem with non-pic
  static libraries being linked into shared libraries also.  Especially on
  Solaries.
  
 If you look at http://bugs.kde.org/db/40/4094.html, you'll find out that
 they indeed didn't long to find the flaws in the ml-libtool :)

Is this flaw specific to the ML branch, or does the HEAD branch suffer
from this flaw too?

-Ossama
-- 
Ossama Othman [EMAIL PROTECTED]
Distributed Object Computing Laboratory, Univ. of California at Irvine
1024D/F7A394A8 - 84ED AA0B 1203 99E4 1068  70E6 5EB7 5E71 F7A3 94A8




Re: ltcf-cxx.sh

2000-05-25 Thread Ossama Othman

Hi Michael,

On Fri, May 26, 2000 at 12:51:01AM +0200, Michael Matz wrote:
 On Mon, 22 May 2000, Ossama Othman wrote:
  Great!  KDE would be a great smoke test for the multi-language branch
  libtool.
 
 It's smoking already ;) Even with problem reports ;)

Great! Well, at least for the libtool team.  :-)

 On Wed, 24 May 2000, Ossama Othman wrote:
  I'll try to move the general g++ configurations outside of the
  platform-specific configurations soon.
 
 Great. Note that it's all not only depending on the compiler, but also on
 the actual linker used, so $with_gnu_ld should also be tested. E.g. just
 today I had a report from someone using KDE on Solaris with gcc and GNU
 ld. Currently that won't work, because on Solaris ltcf-cxx.sh thinks its
 using the native linker. (for -export-symbols it tries to give -M bla.exp
 to the linker).

Ah!  Good point!

 I guess, the easiest solution would be, to structure ltcf-cxx.sh like:
 
 if test $with_gcc = yes  test $with_gnu_ld = yes ; then
  # do useful things, mostly independent from the OS
  # note, that mostly (if $with_gnu_ld -- also $with_gcc)
 else
   if test $with_gcc = yes ; then
 # do stuff where we at least can count on g++, while using the native
 # linker
   else
 # do ugly stuff for each OS
   fi
 fi
 
 That way, I think we can factorize out most similarities in behaviour.
 (I'm not just whining ;) on the weekend I'll try to implement something
 similar to above, the next BETA is not that far away ;)

That sounds good.  Thanks so much for your help Michael!  Needless to
say, it is greatly appreciated!

 Btw. just a small thing: in all 'case' statements testing for $CXX you
 should use $compiler, as $CXX can have arguments. In fact it is set
 already in the beginning, just not used. No diff, because it would be
 larger than the description ;)

Hmm, I though that Alexandre as already took care of this.  It must've
been a patch that wasn't integrated.  Alexandre, should I integrate
your patch?  Thanks for reminding me of this problem Michael!

All of this feedback is great!  I think that we can make some real
progress on the multi-language branch because of it!!!

Thanks again,
-Ossama
-- 
Ossama Othman [EMAIL PROTECTED]
Distributed Object Computing Laboratory, Univ. of California at Irvine
1024D/F7A394A8 - 84ED AA0B 1203 99E4 1068  70E6 5EB7 5E71 F7A3 94A8




Re: Status Update Request (C++, static libraries)

2000-05-18 Thread Ossama Othman

Hi Kevin,

On Thu, May 18, 2000 at 11:43:28PM -0400, Kevin Atkinson wrote:
 On Thu, 18 May 2000, Ossama Othman wrote:
 Sure.  I don't know anything about libtool's internals but if you send me
 a patch I can try it out on several different platforms including Digital
 UNIX which currently doesn't have C++ support.

I'll try to put one together soon, when I have some spare time.

  Donations are always welcome.  :-)
 
 Well if you point me in the right direction I may just give you one

I'll review the libtool code again to see where and how the static
library problem can be fixed.  Hopefully, I'll have some time to back
into this stuff this weekend.

-Ossama
-- 
Ossama Othman [EMAIL PROTECTED]
Distributed Object Computing Laboratory, Univ. of California at Irvine
1024D/F7A394A8 - 84ED AA0B 1203 99E4 1068  70E6 5EB7 5E71 F7A3 94A8




Re: parallel build

2000-02-24 Thread Ossama Othman

On Thu, Feb 24, 2000 at 10:46:47AM +0100, Stephan Kulow wrote:
 Thomas Tanner wrote:
  
  On 11-Feb-2000 Stephan Kulow wrote:
   mkdir .libs
   mkdir .libs
   mkdir: Failed to make directory ".libs"; File exists
   ../libtool: test: argument expected
   make[2]: *** [ksconfig.lo] Error 1
   make[2]: *** Waiting for unfinished jobs
   As it seems, the libtool runs start a little race to create the .libs
   directory and
   one failed ;(
  
   Strange. There should be no problem with creating .libs
   at the same time. How can the following code in libtool fail?
  
  if test -d "$dir"; then
$show "$rm $libobj"
$run $rm $libobj
  else
$show "$mkdir $dir"
$run $mkdir $dir
status=$?
if test $status -ne 0  test ! -d $dir; then
  exit $status
fi
  fi
  
   I suppose there's a bug in your shell that doesn't
   set status correctly. Could you please add
   "echo $status" after "status=$?" and try it again?
 
 Well, I think I found the bug. The multi-language branch 
 creates the objdir and the code looks like this:
 
   if test ! -d $objdir; then
 $show "$mkdir $objdir"
 $run $mkdir $objdir
 status=$?
 if test $status -ne 0  test ! -d $dir; then
   exit $status
 fi
   fi 
 
 And the $dir is quite not existant :)
 
 Thanks for pointing me at the right place.

Hmm, I guess I missed that one.  Sorry. :-)
I'll check in a fix later today.

Thanks!
-Ossama
-- 
Ossama Othman [EMAIL PROTECTED]
Distributed Object Computing Laboratory, Univ. of California at Irvine
1024D/F7A394A8 - 84ED AA0B 1203 99E4 1068  70E6 5EB7 5E71 F7A3 94A8