OSDN Git Service

PR tree-optimization/50596
[pf3gnuchains/gcc-fork.git] / gcc / config / linux-android.h
1 /* Configuration file for Linux Android targets.
2    Copyright (C) 2008, 2010
3    Free Software Foundation, Inc.
4    Contributed by Doug Kwan (dougkwan@google.com)
5    Rewritten by CodeSourcery, Inc.
6
7    This file is part of GCC.
8
9    GCC is free software; you can redistribute it and/or modify it
10    under the terms of the GNU General Public License as published
11    by the Free Software Foundation; either version 3, or (at your
12    option) any later version.
13
14    GCC is distributed in the hope that it will be useful, but WITHOUT
15    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
16    or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
17    License for more details.
18
19    You should have received a copy of the GNU General Public License
20    along with GCC; see the file COPYING3.  If not see
21    <http://www.gnu.org/licenses/>.  */
22
23 #define ANDROID_TARGET_OS_CPP_BUILTINS()                        \
24     do {                                                        \
25         if (OPTION_ANDROID)                                     \
26           builtin_define ("__ANDROID__");                       \
27     } while (0)
28
29 #if ANDROID_DEFAULT
30 # define NOANDROID "mno-android"
31 #else
32 # define NOANDROID "!mandroid"
33 #endif
34
35 #define LINUX_OR_ANDROID_CC(LINUX_SPEC, ANDROID_SPEC) \
36   "%{" NOANDROID "|tno-android-cc:" LINUX_SPEC ";:" ANDROID_SPEC "}"
37
38 #define LINUX_OR_ANDROID_LD(LINUX_SPEC, ANDROID_SPEC) \
39   "%{" NOANDROID "|tno-android-ld:" LINUX_SPEC ";:" ANDROID_SPEC "}"
40
41 #define ANDROID_LINK_SPEC \
42   "%{shared: -Bsymbolic}"
43
44 #define ANDROID_CC1_SPEC                                                \
45   "%{!mglibc:%{!muclibc:%{!mbionic: -mbionic}}} "                       \
46   "%{!fno-pic:%{!fno-PIC:%{!fpic:%{!fPIC: -fPIC}}}}"
47
48 #define ANDROID_CC1PLUS_SPEC                                            \
49   "%{!fexceptions:%{!fno-exceptions: -fno-exceptions}} "                \
50   "%{!frtti:%{!fno-rtti: -fno-rtti}}"
51
52 #define ANDROID_LIB_SPEC \
53   "%{!static: -ldl}"
54
55 #define ANDROID_STARTFILE_SPEC                                          \
56   "%{!shared:"                                                          \
57   "  %{static: crtbegin_static%O%s;: crtbegin_dynamic%O%s}}"
58
59 #define ANDROID_ENDFILE_SPEC \
60   "%{!shared: crtend_android%O%s}"