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

2000-09-16 Thread Robert Boehne

Actually I was calling AC_LIBTOOL_CXX from configure.in,
the documentation seems to suggest that I should:
   ...  To enable C++
support in libtool, use the `AC_LIBTOOL_CXX' macro in your
`configure.in' file.

I commented out that call, but it didn't help.  What did
fix the problem was to put AC_PROG_CXX *before* the call
to AC_PROG_LIBTOOL.  According to this comment in libtool.m4
it should not matter:

dnl If AC_PROG_CXX has already been expanded, run AC_LIBTOOL_CXX
dnl immediately, otherwise, hook it in at the end of AC_PROG_CXX.

But it will only work if PROG_CXX is called first.  From reading the
config.log before and after, it is apparent that the C++ configuration
is not done unless AC_PROG_LIBTOOL is called after.
Alexandre: you wondered what version I'm using, it is up to date
with the repository (and was never more than a day from an update).

boreas::/boreas/libtool (128)% cvs status libtool.m4 
===
File: libtool.m4Status: Up-to-date

   Working revision:1.71.2.33
   Repository revision: 1.71.2.33   /home/cvs/libtool/libtool.m4,v
   Sticky Tag:  multi-language-branch (branch: 1.71.2)
   Sticky Date: (none)
   Sticky Options:  (none)

I'm using GNU m4 version 1.4, and CVS versions of automake and autoconf.
Could it be that GNU m4 isn't hooking the macro in properly here?:

AC_DEFUN(AC_PROG_LIBTOOL,[AC_REQUIRE([_AC_PROG_LIBTOOL])
dnl If AC_PROG_CXX has already been expanded, run AC_LIBTOOL_CXX
dnl immediately, otherwise, hook it in at the end of AC_PROG_CXX.
  AC_PROVIDE_IFELSE([AC_PROG_CXX],
[AC_LIBTOOL_CXX],
[define([AC_PROG_CXX], defn([AC_PROG_CXX])[AC_LIBTOOL_CXX
])])

I'm no M4 guru, but it looks right to me.   Any ideas?

PS:  I'd like to thank Alexandre and Ossama for helping me out
with this one, it certainly would have taken me much longer
to find this myself!

Robert Boehne Software Engineer
Ricardo Software   Chicago Technical Center
TEL: (630)789-0003 x. 238
FAX: (630)789-0127
email:  [EMAIL PROTECTED]




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

2000-09-16 Thread Alexandre Oliva

On Sep 16, 2000, Robert Boehne [EMAIL PROTECTED] wrote:

 I'm no M4 guru, but it looks right to me.   Any ideas?

It might be related with the behavioral differences of AC_REQUIRE
between autoconf 2.13 and CVS autoconf.  It works for me, with
autoconf 2.13, but AC_REQUIRE is known to be broken in certain corner
cases in it.

-- 
Alexandre Oliva   Enjoy Guarana', see http://www.ic.unicamp.br/~oliva/
Red Hat GCC Developer  aoliva@{cygnus.com, redhat.com}
CS PhD student at IC-Unicampoliva@{lsd.ic.unicamp.br, gnu.org}
Free Software Evangelist*Please* write to mailing lists, not to me




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

2000-09-15 Thread Alexandre Oliva

On Sep 14, 2000, Robert Boehne [EMAIL PROTECTED] wrote:

 /bin/sh ../../libtool --mode=compile g++ -DHAVE_CONFIG_H -I. -I. -I../..
[snip]
 libtool: compile: unable to infer tagged configuration
 libtool: compile: specify a tag with `--tag'

libtool.m4, that should be part of aclocal.m4, hooks into AC_PROG_CXX
some code to automatically add a CXX tag to libtool.  If you don't use
AC_PROG_CXX or you're using an incompatible libtool.m4, you will get
an error like this.

 Also, I read the documentation on how to port libtool, however
 it doesn't cover (as far as I could find) porting of C++ support.

It's highly outdated, at this point.  Basically, you have to modify
ltcf-cxx.sh.  Take a look at it and see if it makes any sense for you
:-)

-- 
Alexandre Oliva   Enjoy Guarana', see http://www.ic.unicamp.br/~oliva/
Red Hat GCC Developer  aoliva@{cygnus.com, redhat.com}
CS PhD student at IC-Unicampoliva@{lsd.ic.unicamp.br, gnu.org}
Free Software Evangelist*Please* write to mailing lists, not to me




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: multi-language-branch: --tag=CXX not specified

2000-09-15 Thread Alexandre Oliva

On Sep 15, 2000, Ossama Othman [EMAIL PROTECTED] wrote:

 Robert sent me his generated libtool script.  Part of the CXX
 configuration is listed below.  It appears that ltconfig wasn't
 invoked properly.

Then I'll re-iterate the question of what version of the libtool
scripts and libtool.m4 he's using.  Also, what are the libtool-related
macros called in configure.in?  Is AC_LIBTOOL_CXX being called
explicitly (it shouldn't), or is it called implicitly by the
AC_PROG_CXX hook?

-- 
Alexandre Oliva   Enjoy Guarana', see http://www.ic.unicamp.br/~oliva/
Red Hat GCC Developer  aoliva@{cygnus.com, redhat.com}
CS PhD student at IC-Unicampoliva@{lsd.ic.unicamp.br, gnu.org}
Free Software Evangelist*Please* write to mailing lists, not to me




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

2000-09-14 Thread Robert Boehne

I'm using the latest multi-language-branch of libtool,
with a deeply nested directory structure,
top/
top/src/
top/src/TKernel

I have Makefile.am's in each, (oh yeah, and the latest automake)
When I had only one Makefile.am in the top level that made
this library, it worked.  I then moved it down to the TKernel
directory (because I have 40+ libraries to build).  When I did
that it stopped working.

Making all in TKernel
make[3]: Entering directory `/boreas/rbo/new/OCC/OCC/src/TKernel'
/bin/sh ../../libtool --mode=compile g++ -DHAVE_CONFIG_H -I. -I. -I../..
-I../../inc -I../../drv/FSD -I../../drv/GraphDS -I../../drv/GraphTools
-I../../drv/MMgt -I../../drv/OSD -I../../drv/Plugin -I../../drv/Quantity
-I../../drv/Resource -I../../drv/SortTools -I../../drv/Standard
-I../../drv/StdFail -I../../drv/Storage -I../../drv/TColQuantity
-I../../drv/TColStd -I../../drv/TCollection -I../../drv/TShort
-I../../drv/Units -I../../drv/UnitsAPI -I../../drv/Dynamic
-I../../drv/Materials -I../../drv/Dico-g -O2 -c -o FSD_Archive.lo
`test -f ../../src/FSD/FSD_Archive.cxx || echo
'./'`../../src/FSD/FSD_Archive.cxx
libtool: compile: unable to infer tagged configuration
libtool: compile: specify a tag with `--tag'
make[3]: *** [FSD_Archive.lo] Error 1

This project is on Source Forge, so if anyone would like to
see the code go to http://sourceforge.net/cvs/?group_id=10503
Also, I read the documentation on how to port libtool, however
it doesn't cover (as far as I could find) porting of C++ support.
Did I miss it, or is it not written yet?  I'd love to contribute,
have access to various machines and C++ compilers, and can write
shell scripts.  Would someone like to help get me started?

Thanks!
-- 
Robert Boehne Software Engineer
Ricardo Software   Chicago Technical Center
TEL: (630)789-0003 x. 238
FAX: (630)789-0127
email:  [EMAIL PROTECTED]