/* Base configuration file for all FreeBSD targets.
- Copyright (C) 1999, 2000, 2001 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2000, 2001, 2007, 2008 Free Software Foundation, Inc.
-This file is part of GNU CC.
+This file is part of GCC.
-GNU CC is free software; you can redistribute it and/or modify
+GCC is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
+the Free Software Foundation; either version 3, or (at your option)
any later version.
-GNU CC is distributed in the hope that it will be useful,
+GCC is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
-along with GNU CC; see the file COPYING. If not, write to
-the Free Software Foundation, 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+along with GCC; see the file COPYING3. If not see
+<http://www.gnu.org/licenses/>. */
/* Common FreeBSD configuration.
All FreeBSD architectures should include this file, which will specify
#undef WORD_SWITCH_TAKES_ARG
#define WORD_SWITCH_TAKES_ARG(STR) (FBSD_WORD_SWITCH_TAKES_ARG(STR))
-#undef CPP_PREDEFINES
-#define CPP_PREDEFINES FBSD_CPP_PREDEFINES
+#undef TARGET_OS_CPP_BUILTINS
+#define TARGET_OS_CPP_BUILTINS() FBSD_TARGET_OS_CPP_BUILTINS()
#undef CPP_SPEC
#define CPP_SPEC FBSD_CPP_SPEC
#undef LIB_SPEC
#define LIB_SPEC FBSD_LIB_SPEC
+/* Define this so we can compile MS code for use with WINE. */
+#define HANDLE_PRAGMA_PACK_PUSH_POP 1
/************************[ Target stuff ]***********************************/
+/* All FreeBSD Architectures support the ELF object file format. */
+#undef OBJECT_FORMAT_ELF
+#define OBJECT_FORMAT_ELF
+
/* Don't assume anything about the header files. */
#undef NO_IMPLICIT_EXTERN_C
-#define NO_IMPLICIT_EXTERN_C
-
-/* Allow #sccs in preprocessor. */
-#undef SCCS_DIRECTIVE
-#define SCCS_DIRECTIVE
+#define NO_IMPLICIT_EXTERN_C 1
-/* Make gcc agree with FreeBSD's standard headers (<machine/ansi.h>, etc...) */
+/* Follow FreeBSD's standard headers (<sys/_types.h> etc...). */
#undef WCHAR_TYPE
#define WCHAR_TYPE "int"
-#undef WCHAR_UNSIGNED
-#define WCHAR_UNSIGNED 0
+#undef WINT_TYPE
+#define WINT_TYPE "int"
-/* Code generation parameters. */
+#define MATH_LIBRARY_PROFILE "-lm_p"
-/* Don't default to pcc-struct-return, because gcc is the only compiler, and
- we want to retain compatibility with older gcc versions
- (even though the SVR4 ABI for the i386 says that records and unions are
- returned in memory). */
-#undef DEFAULT_PCC_STRUCT_RETURN
-#define DEFAULT_PCC_STRUCT_RETURN 0
+/* Code generation parameters. */
/* Use periods rather than dollar signs in special g++ assembler names.
This ensures the configuration knows our system correctly so we can link
/* Used by libgcc2.c. We support file locking with fcntl / F_SETLKW.
This enables the test coverage code to use file locking when exiting a
program, which avoids race conditions if the program has forked. */
-#define TARGET_HAS_F_SETLKW
-
-/* The prefix to add to user-visible assembler symbols.
- For System V Release 4 & ELF the convention is *not* to prepend a leading
- underscore onto user-level symbol names. Some CPU files such as
- config/sparc/sparc.h set this wrong for ELF. */
-
-#undef USER_LABEL_PREFIX
-#define USER_LABEL_PREFIX ""
-
-/* Handle #pragma weak and #pragma pack. */
-#undef HANDLE_SYSV_PRAGMA
-#define HANDLE_SYSV_PRAGMA
-
-/************************[ Assembler stuff ]********************************/
-
-#undef IDENT_ASM_OP
-#define IDENT_ASM_OP "\t.ident\t"
-
-/************************[ Debugger stuff ]*********************************/
-
-/* All ELF targets can support DWARF-2. */
-#undef DWARF2_DEBUGGING_INFO
-#define DWARF2_DEBUGGING_INFO
-
-/* This is BSD, so we want the DBX format. */
-#undef DBX_DEBUGGING_INFO
-#define DBX_DEBUGGING_INFO
-
-/* Even though this is BSD, ELF and the GNU tools operates better with dwarf2
- than stabs. Since we don't have any native tools to be compatible with,
- defaulting to dwarf2 is OK. */
-#undef PREFERRED_DEBUGGING_TYPE
-#define PREFERRED_DEBUGGING_TYPE DWARF2_DEBUG
+#define TARGET_POSIX_IO