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