gnu.h revision 132718
1130803Smarcel/* Configuration common to all targets running the GNU system.  */
2130803Smarcel
3130803Smarcel/* Provide GCC options for standard feature-test macros.  */
4130803Smarcel#undef CPP_SPEC
5130803Smarcel#define CPP_SPEC "%{posix:-D_POSIX_SOURCE} %{bsd:-D_BSD_SOURCE}"
6130803Smarcel
7130803Smarcel/* Default C library spec.  Use -lbsd-compat for gcc -bsd.  */
8130803Smarcel#undef LIB_SPEC
9130803Smarcel#define LIB_SPEC "%{bsd:-lbsd-compat} %{!p:%{!pg:-lc}}%{p:-lc_p}%{pg:-lc_p}"
10130803Smarcel
11130803Smarcel/* Standard include directory.  In GNU, "/usr" is a four-letter word.  */
12130803Smarcel#undef STANDARD_INCLUDE_DIR
13130803Smarcel#define STANDARD_INCLUDE_DIR "/include"
14130803Smarcel
15130803Smarcel/* Implicit library calls should use memcpy, not bcopy, etc.  */
16130803Smarcel#undef TARGET_MEM_FUNCTIONS
17130803Smarcel#define TARGET_MEM_FUNCTIONS
18130803Smarcel
19130803Smarcel/* The system headers under GNU are C++-aware.  */
20130803Smarcel#define NO_IMPLICIT_EXTERN_C
21130803Smarcel
22130803Smarcel#define HURD_TARGET_OS_CPP_BUILTINS()		\
23130803Smarcel    do {					\
24130803Smarcel	builtin_define ("__gnu_hurd__");	\
25130803Smarcel	builtin_define ("__GNU__");		\
26130803Smarcel	builtin_define_std ("unix");		\
27130803Smarcel	builtin_define_std ("MACH");		\
28130803Smarcel	builtin_assert ("system=gnu");		\
29130803Smarcel	builtin_assert ("system=mach");		\
30130803Smarcel	builtin_assert ("system=unix");		\
31130803Smarcel	builtin_assert ("system=posix");	\
32130803Smarcel    } while (0)
33130803Smarcel