Hi,

although XL is currently supported by the latest release of libtool, IBM's Cell toolchain preprends the name of the compiler with 'ppu' (standing for PPU, Power Processing Unit of the CBE Architecture). Compilers are thus called 'ppuxlc', 'ppuxlC' and 'ppuxlf' (the latest one for Fortran). Out of the box libtool does not recognize these compilers as XL and does not pass the proper flags to generate dynamic libraries.

Attached there is a minor patch to support 'ppuxl[cC]' and 'ppuxlf', besides plain 'xl[cC]' and 'xlf'. We initially considered something like '*xl[cC]' and '*xlf' but we think it is a bit crude (and 'spuxlc', which does not support dynamic libraries would be incorrectly guessed as doing so).

On the other hand, I wonder whether there is a way to tell libtool that the found compiler can be handled like another known to libtool, without having to resort on strategically named soft links or shell scripts.

Thanks a lot,

--
Roger Ferrer Ibáñez - [EMAIL PROTECTED]
--- libtool.m4.orig	2008-11-26 12:58:55.000000000 +0100
+++ libtool.m4	2008-11-26 13:00:10.000000000 +0100
@@ -3726,7 +3726,7 @@
 	    _LT_TAGVAR(lt_prog_compiler_pic, $1)=
 	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
 	    ;;
-	  xlc* | xlC*)
+	  xlc* | xlC* | ppuxlc* | ppuxlC*)
 	    # IBM XL 8.0 on PPC
 	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
 	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
@@ -4010,7 +4010,7 @@
         # All Alpha code is PIC.
         _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
         ;;
-      xl*)
+      *xl*)
 	# IBM XL C 8.0/Fortran 10.1 on PPC
 	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
 	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
@@ -4387,7 +4387,7 @@
 	lf95*)				# Lahey Fortran 8.1
 	  _LT_TAGVAR(whole_archive_flag_spec, $1)=
 	  tmp_sharedflag='--shared' ;;
-	xl[[cC]]*)			# IBM XL C 8.0 on PPC (deal with xlf below)
+	xl[[cC]]* | ppuxl[[cC]]*)			# IBM XL C 8.0 on PPC (deal with xlf below)
 	  tmp_sharedflag='-qmkshrobj'
 	  tmp_addflag= ;;
 	esac
@@ -4409,7 +4409,7 @@
         fi
 
 	case $cc_basename in
-	xlf*)
+	xlf* | ppuxlf*)
 	  # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
 	  _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive'
 	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
_______________________________________________
http://lists.gnu.org/mailman/listinfo/libtool

Reply via email to