OLD | NEW |
1 # _GCC_PICFLAG(FLAG, DISPATCH) | 1 # _GCC_PICFLAG(FLAG, DISPATCH) |
2 # ---------------------------- | 2 # ---------------------------- |
3 # Store PIC flag corresponding to DISPATCH triplet in FLAG. | 3 # Store PIC flag corresponding to DISPATCH triplet in FLAG. |
4 # Explit use of -fpic in CFLAGS corresponding to FLAG overrides default. | 4 # Explit use of -fpic in CFLAGS corresponding to FLAG overrides default. |
5 AC_DEFUN([_GCC_PICFLAG], [ | 5 AC_DEFUN([_GCC_PICFLAG], [ |
6 | 6 |
7 case "${$2}" in | 7 case "${$2}" in |
8 # PIC is the default on some targets or must not be used. | 8 # PIC is the default on some targets or must not be used. |
9 *-*-darwin*) | 9 *-*-darwin*) |
10 # PIC is the default on this platform | 10 # PIC is the default on this platform |
11 # Common symbols not allowed in MH_DYLIB files | 11 # Common symbols not allowed in MH_DYLIB files |
12 $1=-fno-common | 12 $1=-fno-common |
13 ;; | 13 ;; |
14 alpha*-dec-osf5*) | 14 alpha*-dec-osf5*) |
15 # PIC is the default. | 15 # PIC is the default. |
16 ;; | 16 ;; |
17 hppa*64*-*-hpux*) | 17 hppa*64*-*-hpux*) |
18 # PIC is the default for 64-bit PA HP-UX. | 18 # PIC is the default for 64-bit PA HP-UX. |
19 ;; | 19 ;; |
20 i[[34567]]86-*-cygwin* | i[[34567]]86-*-mingw* | x86_64-*-mingw*) | 20 i[[34567]]86-*-cygwin* | x86_64-*-cygwin*) |
| 21 » ;; |
| 22 i[[34567]]86-*-mingw* | x86_64-*-mingw*) |
21 ;; | 23 ;; |
22 i[[34567]]86-*-interix[[3-9]]*) | 24 i[[34567]]86-*-interix[[3-9]]*) |
23 # Interix 3.x gcc -fpic/-fPIC options generate broken code. | 25 # Interix 3.x gcc -fpic/-fPIC options generate broken code. |
24 # Instead, we relocate shared libraries at runtime. | 26 # Instead, we relocate shared libraries at runtime. |
25 ;; | 27 ;; |
26 i[[34567]]86-*-nto-qnx*) | 28 i[[34567]]86-*-nto-qnx*) |
27 # QNX uses GNU C++, but need to define -shared option too, otherwise | 29 # QNX uses GNU C++, but need to define -shared option too, otherwise |
28 # it will coredump. | 30 # it will coredump. |
29 $1='-fPIC -shared' | 31 $1='-fPIC -shared' |
30 ;; | 32 ;; |
(...skipping 10 matching lines...) Expand all Loading... |
41 ;; | 43 ;; |
42 rs6000-ibm-aix* | powerpc-ibm-aix*) | 44 rs6000-ibm-aix* | powerpc-ibm-aix*) |
43 # All AIX code is PIC. | 45 # All AIX code is PIC. |
44 ;; | 46 ;; |
45 | 47 |
46 # Some targets support both -fPIC and -fpic, but prefer the latter. | 48 # Some targets support both -fPIC and -fpic, but prefer the latter. |
47 # FIXME: Why? | 49 # FIXME: Why? |
48 i[[34567]]86-*-* | x86_64-*-*) | 50 i[[34567]]86-*-* | x86_64-*-*) |
49 $1=-fpic | 51 $1=-fpic |
50 ;; | 52 ;; |
51 m68k-*-*) | |
52 $1=-fpic | |
53 ;; | |
54 # FIXME: Override -fPIC default in libgcc only? | 53 # FIXME: Override -fPIC default in libgcc only? |
55 sh-*-linux* | sh[[2346lbe]]*-*-linux*) | 54 sh-*-linux* | sh[[2346lbe]]*-*-linux*) |
56 $1=-fpic | 55 $1=-fpic |
57 ;; | 56 ;; |
58 # FIXME: Simplify to sh*-*-netbsd*? | 57 # FIXME: Simplify to sh*-*-netbsd*? |
59 sh-*-netbsdelf* | shl*-*-netbsdelf* | sh5-*-netbsd* | sh5l*-*-netbsd* | \ | 58 sh-*-netbsdelf* | shl*-*-netbsdelf* | sh5-*-netbsd* | sh5l*-*-netbsd* | \ |
60 sh64-*-netbsd* | sh64l*-*-netbsd*) | 59 sh64-*-netbsd* | sh64l*-*-netbsd*) |
61 $1=-fpic | 60 $1=-fpic |
62 ;; | 61 ;; |
63 # Default to -fPIC unless specified otherwise. | 62 # Default to -fPIC unless specified otherwise. |
(...skipping 19 matching lines...) Expand all Loading... |
83 AC_DEFUN([GCC_PICFLAG], [ | 82 AC_DEFUN([GCC_PICFLAG], [ |
84 AC_REQUIRE([AC_CANONICAL_HOST]) | 83 AC_REQUIRE([AC_CANONICAL_HOST]) |
85 _GCC_PICFLAG([PICFLAG], [host])]) | 84 _GCC_PICFLAG([PICFLAG], [host])]) |
86 | 85 |
87 # GCC_PICFLAG_FOR_TARGET | 86 # GCC_PICFLAG_FOR_TARGET |
88 # ---------------------- | 87 # ---------------------- |
89 # Store target PIC flag in PICFLAG_FOR_TARGET. | 88 # Store target PIC flag in PICFLAG_FOR_TARGET. |
90 AC_DEFUN([GCC_PICFLAG_FOR_TARGET], [ | 89 AC_DEFUN([GCC_PICFLAG_FOR_TARGET], [ |
91 AC_REQUIRE([AC_CANONICAL_TARGET]) | 90 AC_REQUIRE([AC_CANONICAL_TARGET]) |
92 _GCC_PICFLAG([PICFLAG_FOR_TARGET], [target])]) | 91 _GCC_PICFLAG([PICFLAG_FOR_TARGET], [target])]) |
OLD | NEW |