Re: support for SunPRO C/C++ on Linux

2006-05-15 Thread Ralf Wildenhues
* /me wrote yesterday:
 
 Unless anyone has complaints about these patches, I'll probably apply
 within the couple of days.

Done now.

Cheers,
Ralf

HEAD:
2006-05-15  Bruno Haible  [EMAIL PROTECTED],
Ralf Wildenhues  [EMAIL PROTECTED]

* libltdl/m4/libtool.m4 (_LT_COMPILER_PIC, _LT_LINKER_SHLIBS)
(_LT_LANG_CXX_CONFIG, _LT_SYS_HIDDEN_LIBDEPS) [ linux ]:
Add support for Sun C 5.9, Sun C++ 5.9, and Sun Fortran 8.3 on
GNU/Linux.
* NEWS: Update.

branch-1-5:
2006-05-15  Bruno Haible  [EMAIL PROTECTED],
Ralf Wildenhues  [EMAIL PROTECTED]

* libtool.m4 [ linux ] (AC_LIBTOOL_LANG_CXX_CONFIG)
(AC_LIBTOOL_POSTDEP_PREDEP, AC_LIBTOOL_PROG_COMPILER_PIC)
(AC_LIBTOOL_PROG_LD_SHLIBS): Add support for Sun C 5.9,
Sun C++ 5.9, and Sun Fortran 8.3 on GNU/Linux.
* NEWS: Update.




Re: support for SunPRO C/C++ on Linux

2006-05-14 Thread Ralf Wildenhues
Hi Bruno, all,

 + _LT_AC_TAGVAR(whole_archive_flag_spec,
 $1)='${wl}--whole-archive`new_convenience=; for conv in
 +$convenience\\; do test -z \$conv\ ||
 new_convenience=\$new_convenience,$conv\; done; $echo
 \$new_convenience\`+${wl}--no-whole-archive'

 Are you sure the compiler driver won't reorder arguments here?

I tested this now, this issue seems ok for the time being.  Let's hope
they don't break it.

The CVS HEAD test suite exposed some further issues:
- whole_archive_flag_spec needs to be adjusted the way you suggested also
  for the C compiler.
- We can trick the C compiler driver into accepting only whole archives
  (and no other objects) by adding a dummy /dev/null argument: it will
  be ignored by GNU binutils ld.  :-)
- The Fortran compilers need an empty $wl: they'll forward everything
  they don't understand to the linker.  Let's not worry about their
  overly verbose warnings about them.
- This means we need white space separators in whole_archive for
  Fortran.
- For the compiler matching, we need more than the first line: the f77
  driver will prepend all output; 5 lines should be sufficient.
| NOTICE: Invoking /home/ralf/download/software/sunstudio/sunstudiomars/bin/f90 
-f77 -ftrap=%none --version
 

Furthermore, the GCJ convenience test fails, due to insufficient
variable resetting done in the Java section of libtool.m4 ($wl in this
case).  I reported this issue a while ago, but never got around to
fixing it yet.

So this is where I'm at now.  I think the postdeps for Fortran are still
wrong, but we can fix that later.

It should be noted that currently, newer versions of config.guess and
config.sub are needed than the checked-in copies of branch-1-5; in any
case they need to be newer than those shipped with Autoconf-2.59, so
they will be updated first.

On i686-pc-linux-gnu, HEAD passes all tests except the GCJ convenience
one, branch-1-5 passes all its tests plus the non-FC HEAD convenience
tests; you can test this with overriding $LIBTOOL for the HEAD testsuite
(plus my pending patch):
  make check-local \
TESTSUITE_FLAGS='-v -d 11 LIBTOOL=/tmp/branch-1-5/build-suncc/libtool'


Unless anyone has complaints about these patches, I'll probably apply
within the couple of days.

Cheers,
Ralf

HEAD:
2006-05-14  Bruno Haible  [EMAIL PROTECTED],
Ralf Wildenhues  [EMAIL PROTECTED]

* libltdl/m4/libtool.m4 (_LT_COMPILER_PIC, _LT_LINKER_SHLIBS)
(_LT_LANG_CXX_CONFIG, _LT_SYS_HIDDEN_LIBDEPS) [ linux ]:
Add support for Sun C 5.9, Sun C++ 5.9, and Sun Fortran 8.3 on
Linux.
* NEWS: Update.

branch-1-5:
2006-05-14  Bruno Haible  [EMAIL PROTECTED],
Ralf Wildenhues  [EMAIL PROTECTED]

* libtool.m4 [ linux ] (AC_LIBTOOL_LANG_CXX_CONFIG)
(AC_LIBTOOL_POSTDEP_PREDEP, AC_LIBTOOL_PROG_COMPILER_PIC)
(AC_LIBTOOL_PROG_LD_SHLIBS): Add support for Sun C 5.9,
Sun C++ 5.9, and Sun Fortran 8.3 on Linux.
* NEWS: Update.
2006-05-14  Bruno Haible  [EMAIL PROTECTED],
Ralf Wildenhues  [EMAIL PROTECTED]

* libltdl/m4/libtool.m4 (_LT_COMPILER_PIC, _LT_LINKER_SHLIBS)
(_LT_LANG_CXX_CONFIG, _LT_SYS_HIDDEN_LIBDEPS) [ linux ]:
Add support for Sun C 5.9, Sun C++ 5.9, and Sun Fortran 8.3 on
Linux.
* NEWS: Update.

Index: NEWS
===
RCS file: /cvsroot/libtool/libtool/NEWS,v
retrieving revision 1.193
diff -u -r1.193 NEWS
--- NEWS14 May 2006 08:20:11 -  1.193
+++ NEWS14 May 2006 12:41:54 -
@@ -33,6 +33,7 @@
 * Initial support for RDOS.
 * Fix error with -version-info on systems with version_type=none, such
   as BeOS.
+* Initial support for the Sun compiler suite on GNU/Linux.
 * Bug fixes.
 
 New in 1.9f: 2004-10-23; CVS version 1.9e, Libtool team:
Index: libltdl/m4/libtool.m4
===
RCS file: /cvsroot/libtool/libtool/libltdl/m4/libtool.m4,v
retrieving revision 1.64
diff -u -r1.64 libtool.m4
--- libltdl/m4/libtool.m4   14 May 2006 08:43:58 -  1.64
+++ libltdl/m4/libtool.m4   14 May 2006 16:01:37 -
@@ -3525,6 +3525,14 @@
_LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
;;
  *)
+   case `$CC -V 21 | sed 5q` in
+   *Sun\ C*)
+ # Sun C++ 5.9
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+ ;;
+   esac
;;
esac
;;
@@ -3779,6 +3787,22 @@
 # All Alpha code is PIC.
 _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
 ;;
+  *)
+   case `$CC -V 21 | sed 5q` in
+   *Sun\ C*)
+ # Sun C 5.9
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+