PR target/49868
[official-gcc.git] / gcc / config / vxworksae.h
blobee7c73c3c2c6a25714ee58660166ad5ecd9156a2
1 /* Common VxWorks AE target definitions for GNU compiler.
2 Copyright (C) 2004, 2005, 2007, 2010 Free Software Foundation, Inc.
3 Contributed by CodeSourcery, LLC.
5 This file is part of GCC.
7 GCC is free software; you can redistribute it and/or modify it under
8 the terms of the GNU General Public License as published by the Free
9 Software Foundation; either version 3, or (at your option) any later
10 version.
12 GCC is distributed in the hope that it will be useful, but WITHOUT ANY
13 WARRANTY; without even the implied warranty of MERCHANTABILITY or
14 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
15 for more details.
17 You should have received a copy of the GNU General Public License
18 along with GCC; see the file COPYING3. If not see
19 <http://www.gnu.org/licenses/>. */
21 /* This header should be included after including vx-common.h. */
23 /* Most of the definitions below this point are versions of the
24 vxworks.h definitions, without the -mrtp bits. */
26 /* The directory containing the VxWorks AE target headers. */
27 #define VXWORKSAE_TARGET_DIR \
28 "/home/tornado/vxworks-ae/latest/target"
30 /* Include target/vThreads/h or target/h (depending on the compilation
31 mode), and then target/val/h (in either mode). The macros defined
32 are in the user's namespace, but the VxWorks headers require
33 them. */
34 #undef VXWORKS_ADDITIONAL_CPP_SPEC
35 #define VXWORKS_ADDITIONAL_CPP_SPEC " \
36 %{!nostdinc:%{isystem*}} \
37 %{mvthreads:-DVTHREADS=1 \
38 %{!nostdinc:-isystem " VXWORKSAE_TARGET_DIR "/vThreads/h}} \
39 %{!mvthreads:-DAE653_BUILD=1 \
40 %{!nostdinc:-isystem " VXWORKSAE_TARGET_DIR "/h}} \
41 %{!nostdinc:-isystem " VXWORKSAE_TARGET_DIR "/val/h}"
43 #undef VXWORKS_LIB_SPEC
44 #define VXWORKS_LIB_SPEC ""
46 #undef VXWORKS_LINK_SPEC
47 #define VXWORKS_LINK_SPEC \
48 "-r %{v:-V}"
50 #undef VXWORKS_LIBGCC_SPEC
51 #define VXWORKS_LIBGCC_SPEC \
52 "-lgcc"
54 #undef VXWORKS_STARTFILE_SPEC
55 #define VXWORKS_STARTFILE_SPEC ""
57 #define VXWORKS_KIND VXWORKS_KIND_AE
59 /* Both kernels and RTPs have the facilities required by this macro. */
60 #define TARGET_POSIX_IO
62 /* A VxWorks 653 implementation of TARGET_OS_CPP_BUILTINS. */
63 #define VXWORKS_OS_CPP_BUILTINS() \
64 do \
65 { \
66 builtin_define ("__vxworks"); \
67 builtin_define ("__VXWORKS__"); \
68 } \
69 while (0)