mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-01-25 07:44:06 +08:00
config.gcc (the unlabeled system switch statement): Add generic configuration section to handle *-*-freebsd*.
* config.gcc (the unlabeled system switch statement): Add generic configuration section to handle *-*-freebsd*. Also, to match the system compiler, default to threading support (it may be disabled with the standard --disable-threads configuration-time switch). (i[34567]86-*-freebsd* in machine-specific section): Use it. (alpha*-*-freebsd* in machine-specific section): Likewise. * config/freebsd3.h: New file to expose FBSD_MAJOR macro (3). * config/freebsd4.h: New file to expose FBSD_MAJOR macro (4). * config/freebsd5.h: New file to expose FBSD_MAJOR macro (5). * config/freebsd6.h: New file to expose FBSD_MAJOR macro (6). * config/freebsd-nthr.h: New file to expose FBSD_NO_THREADS macro. Co-Authored-By: David O'Brien <obrien@freebsd.org> From-SVN: r42463
This commit is contained in:
parent
28b6b31799
commit
9e405fe52e
@ -1,3 +1,20 @@
|
||||
2001-05-22 Loren J. Rittle <ljrittle@acm.org>
|
||||
David O'Brien <obrien@freebsd.org>
|
||||
|
||||
* config.gcc (the unlabeled system switch statement): Add
|
||||
generic configuration section to handle *-*-freebsd*. Also,
|
||||
to match the system compiler, default to threading support (it
|
||||
may be disabled with the standard --disable-threads
|
||||
configuration-time switch).
|
||||
(i[34567]86-*-freebsd* in machine-specific section): Use it.
|
||||
(alpha*-*-freebsd* in machine-specific section): Likewise.
|
||||
|
||||
* config/freebsd3.h: New file to expose FBSD_MAJOR macro (3).
|
||||
* config/freebsd4.h: New file to expose FBSD_MAJOR macro (4).
|
||||
* config/freebsd5.h: New file to expose FBSD_MAJOR macro (5).
|
||||
* config/freebsd6.h: New file to expose FBSD_MAJOR macro (6).
|
||||
* config/freebsd-nthr.h: New file to expose FBSD_NO_THREADS macro.
|
||||
|
||||
2001-05-22 Loren J. Rittle <ljrittle@acm.org>
|
||||
David O'Brien <obrien@freebsd.org>
|
||||
|
||||
|
@ -254,7 +254,7 @@ case $machine in
|
||||
;;
|
||||
esac
|
||||
|
||||
# Common parts for GNU/Linux, GNU/Hurd and OpenBSD systems.
|
||||
# Common parts for GNU/Linux, GNU/Hurd, OpenBSD and FreeBSD systems.
|
||||
case $machine in
|
||||
*-*-linux*)
|
||||
xm_defines=POSIX
|
||||
@ -293,6 +293,53 @@ case $machine in
|
||||
tmake_file="${tmake_file} t-openbsd-thread"
|
||||
fi
|
||||
;;
|
||||
*-*-freebsd[12] | *-*-freebsd[12].* | *-*-freebsd*aout*)
|
||||
# This is the place-holder for the generic a.out configuration
|
||||
# of FreeBSD. No actual configuration resides here since
|
||||
# there was only ever a bare-bones ix86 configuration for
|
||||
# a.out and it exists solely in the machine-specific section.
|
||||
# This place-holder must exist to avoid dropping into
|
||||
# the generic ELF configuration of FreeBSD (i.e. it must be
|
||||
# ordered before that section).
|
||||
;;
|
||||
*-*-freebsd*)
|
||||
# This is the generic ELF configuration of FreeBSD. Later
|
||||
# machine-specific sections may refine and add to this
|
||||
# configuration.
|
||||
#
|
||||
# Due to tm_file entry ordering issues that vary between cpu
|
||||
# architectures, we only define fbsd_tm_file to allow the
|
||||
# machine-specific section to dictate the final order of all
|
||||
# entries of tm_file with the minor exception that components
|
||||
# of the tm_file set here will always be of the form:
|
||||
#
|
||||
# freebsd<version_number>.h [freebsd-<conf_option>.h ...] freebsd.h
|
||||
#
|
||||
# The machine-specific section should not tamper with this
|
||||
# ordering but may order all other entries of tm_file as it
|
||||
# pleases around the provided core setting.
|
||||
gas=yes
|
||||
gnu_ld=yes
|
||||
extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
|
||||
case $machine in
|
||||
*-*-freebsd3 | *-*-freebsd[3].*) fbsd_tm_file="freebsd3.h";;
|
||||
*-*-freebsd4 | *-*-freebsd[4].*) fbsd_tm_file="freebsd4.h";;
|
||||
*-*-freebsd5 | *-*-freebsd[5].*) fbsd_tm_file="freebsd5.h";;
|
||||
*-*-freebsd6 | *-*-freebsd[6].*) fbsd_tm_file="freebsd6.h";;
|
||||
*) echo 'Please update *-*-freebsd* in gcc/config.gcc'; exit 1;;
|
||||
esac
|
||||
tmake_file=t-freebsd
|
||||
xm_defines=POSIX
|
||||
case x${enable_threads} in
|
||||
xno) fbsd_tm_file="${fbsd_tm_file} freebsd-nthr.h";;
|
||||
x | xyes | xpthreads | xposix)
|
||||
thread_file='posix'
|
||||
tmake_file="${tmake_file} t-freebsd-thread"
|
||||
;;
|
||||
*) echo 'Unknown thread configuration for FreeBSD'; exit 1;;
|
||||
esac
|
||||
fbsd_tm_file="${fbsd_tm_file} freebsd.h"
|
||||
;;
|
||||
esac
|
||||
|
||||
case $machine in
|
||||
@ -392,19 +439,9 @@ alpha*-*-linux*)
|
||||
fi
|
||||
;;
|
||||
alpha*-*-freebsd*)
|
||||
xm_defines=POSIX
|
||||
tm_file="${tm_file} freebsd.h alpha/elf.h alpha/freebsd.h"
|
||||
tm_file="${tm_file} ${fbsd_tm_file} alpha/elf.h alpha/freebsd.h"
|
||||
target_cpu_default="MASK_GAS"
|
||||
tmake_file="t-freebsd alpha/t-crtbe alpha/t-alpha alpha/t-ieee"
|
||||
extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
|
||||
gas=yes gnu_ld=yes
|
||||
stabs=yes
|
||||
case x${enable_threads} in
|
||||
xyes | xpthreads | xposix)
|
||||
thread_file='posix'
|
||||
tmake_file="${tmake_file} t-freebsd-thread"
|
||||
;;
|
||||
esac
|
||||
tmake_file="${tmake_file} alpha/t-crtbe alpha/t-alpha alpha/t-ieee"
|
||||
;;
|
||||
alpha*-*-netbsd*)
|
||||
xm_defines=POSIX
|
||||
@ -1007,18 +1044,7 @@ i[34567]86-*-freebsd[12] | i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd*aou
|
||||
tmake_file=t-freebsd
|
||||
;;
|
||||
i[34567]86-*-freebsd*)
|
||||
tm_file="i386/i386.h i386/att.h svr4.h freebsd.h i386/freebsd.h"
|
||||
extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
|
||||
tmake_file=t-freebsd
|
||||
gas=yes
|
||||
gnu_ld=yes
|
||||
stabs=yes
|
||||
case x${enable_threads} in
|
||||
xyes | xpthreads | xposix)
|
||||
thread_file='posix'
|
||||
tmake_file="${tmake_file} t-freebsd-thread"
|
||||
;;
|
||||
esac
|
||||
tm_file="${tm_file} i386/att.h svr4.h ${fbsd_tm_file} i386/freebsd.h"
|
||||
;;
|
||||
i[34567]86-*-netbsd*)
|
||||
tm_file=i386/netbsd.h
|
||||
|
22
gcc/config/freebsd-nthr.h
Normal file
22
gcc/config/freebsd-nthr.h
Normal file
@ -0,0 +1,22 @@
|
||||
/* FreeBSD configuration setting for FreeBSD systems.
|
||||
Copyright (C) 2001 Free Software Foundation, Inc.
|
||||
Contributed by Loren J. Rittle <ljrittle@acm.org>
|
||||
|
||||
This file is part of GNU CC.
|
||||
|
||||
GNU CC 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)
|
||||
any later version.
|
||||
|
||||
GNU CC 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. */
|
||||
|
||||
#define FBSD_NO_THREADS
|
22
gcc/config/freebsd3.h
Normal file
22
gcc/config/freebsd3.h
Normal file
@ -0,0 +1,22 @@
|
||||
/* FreeBSD version number setting for FreeBSD 3.x systems.
|
||||
Copyright (C) 2001 Free Software Foundation, Inc.
|
||||
Contributed by David E. O'Brien <obrien@FreeBSD.org> and BSDi.
|
||||
|
||||
This file is part of GNU CC.
|
||||
|
||||
GNU CC 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)
|
||||
any later version.
|
||||
|
||||
GNU CC 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. */
|
||||
|
||||
#define FBSD_MAJOR 3
|
22
gcc/config/freebsd4.h
Normal file
22
gcc/config/freebsd4.h
Normal file
@ -0,0 +1,22 @@
|
||||
/* FreeBSD version number setting for FreeBSD 4.x systems.
|
||||
Copyright (C) 2001 Free Software Foundation, Inc.
|
||||
Contributed by David E. O'Brien <obrien@FreeBSD.org> and BSDi.
|
||||
|
||||
This file is part of GNU CC.
|
||||
|
||||
GNU CC 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)
|
||||
any later version.
|
||||
|
||||
GNU CC 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. */
|
||||
|
||||
#define FBSD_MAJOR 4
|
22
gcc/config/freebsd5.h
Normal file
22
gcc/config/freebsd5.h
Normal file
@ -0,0 +1,22 @@
|
||||
/* FreeBSD version number setting for FreeBSD 5.x systems.
|
||||
Copyright (C) 2001 Free Software Foundation, Inc.
|
||||
Contributed by David E. O'Brien <obrien@FreeBSD.org> and BSDi.
|
||||
|
||||
This file is part of GNU CC.
|
||||
|
||||
GNU CC 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)
|
||||
any later version.
|
||||
|
||||
GNU CC 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. */
|
||||
|
||||
#define FBSD_MAJOR 5
|
22
gcc/config/freebsd6.h
Normal file
22
gcc/config/freebsd6.h
Normal file
@ -0,0 +1,22 @@
|
||||
/* FreeBSD version number setting for FreeBSD 6.x systems.
|
||||
Copyright (C) 2001 Free Software Foundation, Inc.
|
||||
Contributed by David E. O'Brien <obrien@FreeBSD.org> and BSDi.
|
||||
|
||||
This file is part of GNU CC.
|
||||
|
||||
GNU CC 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)
|
||||
any later version.
|
||||
|
||||
GNU CC 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. */
|
||||
|
||||
#define FBSD_MAJOR 6
|
Loading…
Reference in New Issue
Block a user