11debfc3dSmrg /* Configuration file for Linux Android targets. 2*8feb0f0bSmrg Copyright (C) 2008-2020 Free Software Foundation, Inc. 31debfc3dSmrg Contributed by Doug Kwan (dougkwan@google.com) 41debfc3dSmrg Rewritten by CodeSourcery, Inc. 51debfc3dSmrg 61debfc3dSmrg This file is part of GCC. 71debfc3dSmrg 81debfc3dSmrg GCC is free software; you can redistribute it and/or modify it 91debfc3dSmrg under the terms of the GNU General Public License as published 101debfc3dSmrg by the Free Software Foundation; either version 3, or (at your 111debfc3dSmrg option) any later version. 121debfc3dSmrg 131debfc3dSmrg GCC is distributed in the hope that it will be useful, but WITHOUT 141debfc3dSmrg ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 151debfc3dSmrg or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public 161debfc3dSmrg License for more details. 171debfc3dSmrg 181debfc3dSmrg You should have received a copy of the GNU General Public License 191debfc3dSmrg along with GCC; see the file COPYING3. If not see 201debfc3dSmrg <http://www.gnu.org/licenses/>. */ 211debfc3dSmrg 221debfc3dSmrg #define ANDROID_TARGET_OS_CPP_BUILTINS() \ 231debfc3dSmrg do { \ 241debfc3dSmrg if (TARGET_ANDROID) \ 251debfc3dSmrg builtin_define ("__ANDROID__"); \ 261debfc3dSmrg } while (0) 271debfc3dSmrg 28c0a68be4Smrg #define ANDROID_TARGET_D_OS_VERSIONS() \ 29c0a68be4Smrg do { \ 30c0a68be4Smrg if (TARGET_ANDROID) \ 31c0a68be4Smrg builtin_version ("Android"); \ 32c0a68be4Smrg } while (0) 33c0a68be4Smrg 341debfc3dSmrg #if ANDROID_DEFAULT 351debfc3dSmrg # define NOANDROID "mno-android" 361debfc3dSmrg #else 371debfc3dSmrg # define NOANDROID "!mandroid" 381debfc3dSmrg #endif 391debfc3dSmrg 401debfc3dSmrg #define LINUX_OR_ANDROID_CC(LINUX_SPEC, ANDROID_SPEC) \ 411debfc3dSmrg "%{" NOANDROID "|tno-android-cc:" LINUX_SPEC ";:" ANDROID_SPEC "}" 421debfc3dSmrg 431debfc3dSmrg #define LINUX_OR_ANDROID_LD(LINUX_SPEC, ANDROID_SPEC) \ 441debfc3dSmrg "%{" NOANDROID "|tno-android-ld:" LINUX_SPEC ";:" ANDROID_SPEC "}" 451debfc3dSmrg 461debfc3dSmrg #define ANDROID_LINK_SPEC \ 471debfc3dSmrg "%{shared: -Bsymbolic}" 481debfc3dSmrg 491debfc3dSmrg #define ANDROID_CC1_SPEC \ 501debfc3dSmrg "%{!mglibc:%{!muclibc:%{!mbionic: -mbionic}}} " \ 511debfc3dSmrg "%{!fno-pic:%{!fno-PIC:%{!fpic:%{!fPIC: -fPIC}}}}" 521debfc3dSmrg 531debfc3dSmrg #define ANDROID_CC1PLUS_SPEC \ 541debfc3dSmrg "%{!fexceptions:%{!fno-exceptions: -fno-exceptions}} " \ 551debfc3dSmrg "%{!frtti:%{!fno-rtti: -fno-rtti}}" 561debfc3dSmrg 571debfc3dSmrg #define ANDROID_LIB_SPEC \ 581debfc3dSmrg "%{!static: -ldl}" 591debfc3dSmrg 601debfc3dSmrg #define ANDROID_STARTFILE_SPEC \ 611debfc3dSmrg "%{shared: crtbegin_so%O%s;:" \ 621debfc3dSmrg " %{static: crtbegin_static%O%s;: crtbegin_dynamic%O%s}}" 631debfc3dSmrg 641debfc3dSmrg #define ANDROID_ENDFILE_SPEC \ 651debfc3dSmrg "%{shared: crtend_so%O%s;: crtend_android%O%s}" 66