libtool
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH] Re: Problem on rs6000-ibm-aix4.3.2.0 (Fortran) -DPIC


From: Robert Boehne
Subject: [PATCH] Re: Problem on rs6000-ibm-aix4.3.2.0 (Fortran) -DPIC
Date: Wed, 15 Jan 2003 21:52:25 -0600

Ok, here it is.  This patch changes AC_LIBTOOL_PROG_COMPILER_PIC
so that it only appends -DPIC to the default "C" tag and the CXX
tag for C++.  I would also like to deprecate -DPIC in the 1.5 release
to make it clear we intend to do away with it.  I would also like
to ask anyone who does depend on this to let us know when/where/why &
how
so we can add a section to the documentation on how to modify
code to not need -DPIC.

Here is a sample of before & after the patch is applied:
before:
address@hidden ~/libtool]$ ./libtool --tag=C --config | grep pic_flag=
libtool: ignoring unknown tag C
pic_flag=" -fPIC -DPIC"
address@hidden ~/libtool]$ ./libtool --tag=GCJ --config | grep pic_flag=
pic_flag=" -fPIC -DPIC"
pic_flag=" -fPIC"
address@hidden ~/libtool]$ ./libtool --tag=F77 --config | grep pic_flag=
pic_flag=" -fPIC -DPIC"
pic_flag=" -DPIC"
address@hidden ~/libtool]$ ./libtool --tag=CXX --config | grep pic_flag=
pic_flag=" -fPIC -DPIC"
pic_flag=" -fPIC -DPIC"

after:
address@hidden ~/libtool]$ ./libtool --config | grep pic_flag=
pic_flag=" -fPIC -DPIC"
address@hidden ~/libtool]$ ./libtool --tag=CXX --config | grep pic_flag=
pic_flag=" -fPIC -DPIC"
pic_flag=" -fPIC -DPIC"
address@hidden ~/libtool]$ ./libtool --tag=GCJ --config | grep pic_flag=
pic_flag=" -fPIC -DPIC"
pic_flag=" -fPIC"
address@hidden ~/libtool]$ ./libtool --tag=F77 --config | grep pic_flag=
pic_flag=" -fPIC -DPIC"
pic_flag=""


ChangeLog entry:

2003-01-15  Robert Boehne  <address@hidden>

        * libtool.m4 (AC_LIBTOOL_PROG_COMPILER_PIC): Don't add -DPIC
        for languages other than C and C++.


Simon Richter wrote:
> 
> Robert,
> 
> > I think you can ignore inline assembler for anything other than
> > C (including C++).  I've never thought about it, but inline assembler
> > in Fortran code sounds truly frightening!  Anyway, if it was so
> > important, why doesn't the compiler define it for you?
> 
> Current gcc defines __PIC__ and __pic__ if -fPIC or -fpic is used (this
> is defined in the specs file), and actually this is the right way to do
> it, but I fear that people are still using #ifdef PIC because they have
> seen it defined on the command line and are not aware of __PIC__.
> 
> What would be needed is a good transition plan. For example, the
> libtoolize command could list the incompatible changes since the last
> version.
> 
>    Simon
> 
> --
> GPG Fingerprint: 040E B5F7 84F1 4FBC CEAD  ADC6 18A0 CC8D 5706 A4B4
> 
>   ------------------------------------------------------------------------
>    Part 1.1.2Type: application/pgp-signature
> 
>   ------------------------------------------------------------------------
> _______________________________________________
> Libtool mailing list
> address@hidden
> http://mail.gnu.org/mailman/listinfo/libtool
Index: libtool.m4
===================================================================
RCS file: /cvsroot/libtool/libtool/libtool.m4,v
retrieving revision 1.290
diff -u -r1.290 libtool.m4
--- libtool.m4  15 Jan 2003 02:55:33 -0000      1.290
+++ libtool.m4  16 Jan 2003 03:47:07 -0000
@@ -4758,7 +4758,7 @@
 if test -n "$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)"; then
   AC_LIBTOOL_COMPILER_OPTION([if $compiler PIC flag 
$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) works],
     _LT_AC_TAGVAR(lt_prog_compiler_pic_works, $1),
-    [$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[GCJ],[],[ -DPIC])], 
[],
+    [$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ 
-DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])], [],
     [case $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) in
      "" | " "*) ;;
      *) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=" 
$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)" ;;
@@ -4772,7 +4772,7 @@
     _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
     ;;
   *)
-    _LT_AC_TAGVAR(lt_prog_compiler_pic, 
$1)="$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[GCJ],[],[ -DPIC])"
+    _LT_AC_TAGVAR(lt_prog_compiler_pic, 
$1)="$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ 
-DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])"
     ;;
 esac
 ])

reply via email to

[Prev in Thread] Current Thread [Next in Thread]