00001 /* Base configuration file for all FreeBSD targets. 00002 Copyright (C) 1999, 2000, 2001 Free Software Foundation, Inc. 00003 00004 This file is part of GNU CC. 00005 00006 GNU CC is free software; you can redistribute it and/or modify 00007 it under the terms of the GNU General Public License as published by 00008 the Free Software Foundation; either version 2, or (at your option) 00009 any later version. 00010 00011 GNU CC is distributed in the hope that it will be useful, 00012 but WITHOUT ANY WARRANTY; without even the implied warranty of 00013 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00014 GNU General Public License for more details. 00015 00016 You should have received a copy of the GNU General Public License 00017 along with GNU CC; see the file COPYING. If not, write to 00018 the Free Software Foundation, 59 Temple Place - Suite 330, 00019 Boston, MA 02111-1307, USA. */ 00020 00021 /* Common FreeBSD configuration. 00022 All FreeBSD architectures should include this file, which will specify 00023 their commonalities. 00024 Adapted from gcc/config/i386/freebsd-elf.h by 00025 David O'Brien <obrien@FreeBSD.org>. 00026 Further work by David O'Brien <obrien@FreeBSD.org> and 00027 Loren J. Rittle <ljrittle@acm.org>. */ 00028 00029 00030 /* In case we need to know. */ 00031 #define USING_CONFIG_FREEBSD 1 00032 00033 /* This defines which switch letters take arguments. On FreeBSD, most of 00034 the normal cases (defined in gcc.c) apply, and we also have -h* and 00035 -z* options (for the linker) (coming from SVR4). 00036 We also have -R (alias --rpath), no -z, --soname (-h), --assert etc. */ 00037 00038 #undef SWITCH_TAKES_ARG 00039 #define SWITCH_TAKES_ARG(CHAR) (FBSD_SWITCH_TAKES_ARG(CHAR)) 00040 00041 #undef WORD_SWITCH_TAKES_ARG 00042 #define WORD_SWITCH_TAKES_ARG(STR) (FBSD_WORD_SWITCH_TAKES_ARG(STR)) 00043 00044 #undef CPP_PREDEFINES 00045 /* Obsolete, do not define it. */ 00046 00047 #undef TARGET_OS_CPP_BUILTINS 00048 #define TARGET_OS_CPP_BUILTINS() FBSD_TARGET_OS_CPP_BUILTINS() 00049 00050 #undef CPP_SPEC 00051 #define CPP_SPEC FBSD_CPP_SPEC 00052 00053 #undef STARTFILE_SPEC 00054 #define STARTFILE_SPEC FBSD_STARTFILE_SPEC 00055 00056 #undef ENDFILE_SPEC 00057 #define ENDFILE_SPEC FBSD_ENDFILE_SPEC 00058 00059 #undef LIB_SPEC 00060 #define LIB_SPEC FBSD_LIB_SPEC 00061 00062 00063 /************************[ Target stuff ]***********************************/ 00064 00065 /* All FreeBSD Architectures support the ELF object file format. */ 00066 #undef OBJECT_FORMAT_ELF 00067 #define OBJECT_FORMAT_ELF 00068 00069 /* Don't assume anything about the header files. */ 00070 #undef NO_IMPLICIT_EXTERN_C 00071 #define NO_IMPLICIT_EXTERN_C 1 00072 00073 /* Make gcc agree with FreeBSD's standard headers (<machine/ansi.h>, etc...) */ 00074 00075 #undef WCHAR_TYPE 00076 #define WCHAR_TYPE "int" 00077 00078 #define MATH_LIBRARY_PROFILE "-lm_p" 00079 00080 /* Code generation parameters. */ 00081 00082 /* Use periods rather than dollar signs in special g++ assembler names. 00083 This ensures the configuration knows our system correctly so we can link 00084 with libraries compiled with the native cc. */ 00085 #undef NO_DOLLAR_IN_LABEL 00086 00087 /* Used by libgcc2.c. We support file locking with fcntl / F_SETLKW. 00088 This enables the test coverage code to use file locking when exiting a 00089 program, which avoids race conditions if the program has forked. */ 00090 #define TARGET_HAS_F_SETLKW
1.5.6