| /* NETBSD_NATIVE is defined when gcc is integrated into the NetBSD |
| source tree so it can be configured appropriately without using |
| the GNU configure/build mechanism. */ |
| |
| #ifdef NETBSD_NATIVE |
| |
| /* Look for the include files in the system-defined places. */ |
| |
| #undef GPLUSPLUS_INCLUDE_DIR |
| #define GPLUSPLUS_INCLUDE_DIR "/usr/include/g++" |
| |
| #undef GCC_INCLUDE_DIR |
| #define GCC_INCLUDE_DIR "/usr/include" |
| |
| #undef INCLUDE_DEFAULTS |
| #define INCLUDE_DEFAULTS \ |
| { \ |
| { GPLUSPLUS_INCLUDE_DIR, "G++", 1, 1 }, \ |
| { GCC_INCLUDE_DIR, "GCC", 0, 0 }, \ |
| { 0, 0, 0, 0 } \ |
| } |
| |
| /* Under NetBSD, the normal location of the compiler back ends is the |
| /usr/libexec directory. */ |
| |
| #undef STANDARD_EXEC_PREFIX |
| #define STANDARD_EXEC_PREFIX "/usr/libexec/" |
| |
| /* Under NetBSD, the normal location of the various *crt*.o files is the |
| /usr/lib directory. */ |
| |
| #undef STANDARD_STARTFILE_PREFIX |
| #define STANDARD_STARTFILE_PREFIX "/usr/lib/" |
| |
| #endif /* NETBSD_NATIVE */ |
| |
| |
| /* Provide a CPP_SPEC appropriate for NetBSD. Currently we just deal with |
| the GCC option `-posix'. */ |
| |
| #undef CPP_SPEC |
| #define CPP_SPEC "%(cpp_cpu) %{posix:-D_POSIX_SOURCE}" |
| |
| |
| /* Provide a LIB_SPEC appropriate for NetBSD. Just select the appropriate |
| libc, depending on whether we're doing profiling; if `-posix' is specified, |
| link against the appropriate libposix first. Don't include libc when |
| linking a shared library. */ |
| |
| #undef LIB_SPEC |
| #define LIB_SPEC \ |
| "%{posix: \ |
| %{!p: \ |
| %{!pg:-lposix}} \ |
| %{p:-lposix_p} \ |
| %{pg:-lposix_p}} \ |
| %{!shared: \ |
| %{!symbolic: \ |
| %{!p: \ |
| %{!pg:-lc}} \ |
| %{p:-lc_p} \ |
| %{pg:-lc_p}}}" |
| |
| /* Provide a LIBGCC_SPEC appropriate for NetBSD. We also want to exclude |
| libgcc with -symbolic. */ |
| |
| #undef LIBGCC_SPEC |
| #ifdef NETBSD_NATIVE |
| #define LIBGCC_SPEC \ |
| "%{!symbolic: \ |
| %{!shared: \ |
| %{!p: \ |
| %{!pg: -lgcc}}} \ |
| %{shared: -lgcc_pic} \ |
| %{p: -lgcc_p} \ |
| %{pg: -lgcc_p}}" |
| #else |
| #define LIBGCC_SPEC "%{!shared:%{!symbolic: -lgcc}}" |
| #endif |
| |
| /* When building shared libraries, the initialization and finalization |
| functions for the library are .init and .fini respectively. */ |
| |
| #define COLLECT_SHARED_INIT_FUNC(STREAM,FUNC) \ |
| do { \ |
| fprintf ((STREAM), "void __init() __asm__ (\".init\");"); \ |
| fprintf ((STREAM), "void __init() {\n\t%s();\n}\n", (FUNC)); \ |
| } while (0) |
| |
| #define COLLECT_SHARED_FINI_FUNC(STREAM,FUNC) \ |
| do { \ |
| fprintf ((STREAM), "void __fini() __asm__ (\".fini\");"); \ |
| fprintf ((STREAM), "void __fini() {\n\t%s();\n}\n", (FUNC)); \ |
| } while (0) |
| |
| /* Allow #sccs in preprocessor. */ |
| |
| #undef SCCS_DIRECTIVE |
| #define SCCS_DIRECTIVE |
| |
| #undef TARGET_HAS_F_SETLKW |
| #define TARGET_HAS_F_SETLKW |
| |
| /* Implicit library calls should use memcpy, not bcopy, etc. */ |
| |
| #undef TARGET_MEM_FUNCTIONS |
| #define TARGET_MEM_FUNCTIONS 1 |
| |
| /* Handle #pragma weak and #pragma pack. */ |
| |
| #define HANDLE_SYSV_PRAGMA |
| |
| |
| /* Define some types that are the same on all NetBSD platforms, |
| making them agree with <machine/ansi.h>. */ |
| |
| #undef WCHAR_TYPE |
| #define WCHAR_TYPE "int" |
| |
| #undef WCHAR_TYPE_SIZE |
| #define WCHAR_TYPE_SIZE 32 |
| |
| #undef WINT_TYPE |
| #define WINT_TYPE "int" |