aboutsummaryrefslogtreecommitdiff
path: root/devel/gccxml
diff options
context:
space:
mode:
authorVolker Stolz <vs@FreeBSD.org>2008-04-01 02:03:45 +0000
committerVolker Stolz <vs@FreeBSD.org>2008-04-01 02:03:45 +0000
commit167b0d85cfe43a4fb69b9d69b3ece4fc80e15111 (patch)
treed5f960ba716e4645af2402c870ff24b846e8b2e6 /devel/gccxml
parentd655e335345fe67b6605e3113915ddafb62dd918 (diff)
Notes
Diffstat (limited to 'devel/gccxml')
-rw-r--r--devel/gccxml/Makefile14
-rw-r--r--devel/gccxml/files/patch-GCC::gcc::config.gcc3
-rw-r--r--devel/gccxml/files/patch-GCC::gcc::config::freebsd7.h25
3 files changed, 15 insertions, 27 deletions
diff --git a/devel/gccxml/Makefile b/devel/gccxml/Makefile
index cee0444736c8..178b562a1a2f 100644
--- a/devel/gccxml/Makefile
+++ b/devel/gccxml/Makefile
@@ -39,7 +39,7 @@ do-configure:
.if ${ARCH} == "alpha"
BROKEN= Build fails on alpha
-.elif ${OSVERSION} >= 700000
+.elif ${OSVERSION} >= 700042
# GCC-XML has some constructs that GCC 4.2 does not like. Namely,
# the use of casted-pointer-dereferences as an lvalue to post-increment
# operations.
@@ -52,4 +52,16 @@ MAKE_ENV+= CC=${LOCALBASE}/bin/gcc34 \
CXX=${LOCALBASE}/bin/g++34
.endif
+.if ${OSVERSION} >= 700000
+OSMAJOR=${OSREL:C|^([0-9]+)\..*|\1|}
+GCC_CONFIG=${PATCH_WRKSRC}/GCC/gcc/config
+
+post-patch:
+ ${SED} -e "s,MAJOR 6,MAJOR ${OSMAJOR}," \
+ ${GCC_CONFIG}/freebsd6.h > ${GCC_CONFIG}/freebsd${OSMAJOR}.h
+ ${REINPLACE_CMD} -e "s,FBSD_MAJOR == 6,FBSD_MAJOR == ${OSMAJOR},g" \
+ -e "s,__FreeBSD__=6,__FreeBSD__=${OSMAJOR},g" \
+ ${GCC_CONFIG}/freebsd-spec.h
+.endif
+
.include <bsd.port.post.mk>
diff --git a/devel/gccxml/files/patch-GCC::gcc::config.gcc b/devel/gccxml/files/patch-GCC::gcc::config.gcc
index 24314b599b77..faae8b5ab83f 100644
--- a/devel/gccxml/files/patch-GCC::gcc::config.gcc
+++ b/devel/gccxml/files/patch-GCC::gcc::config.gcc
@@ -1,11 +1,12 @@
--- GCC/gcc/config.gcc.orig Thu Jan 22 23:50:26 2004
+++ GCC/gcc/config.gcc Sat May 13 16:27:18 2006
-@@ -475,6 +475,8 @@
+@@ -475,6 +475,9 @@
*-*-freebsd4 | *-*-freebsd[4].*) fbsd_tm_file="freebsd4.h";;
*-*-freebsd5 | *-*-freebsd[5].*) fbsd_tm_file="freebsd5.h";;
*-*-freebsd6 | *-*-freebsd[6].*) fbsd_tm_file="freebsd6.h";;
+ *-*-freebsd7 | *-*-freebsd[7].*) fbsd_tm_file="freebsd7.h";;
+ *-*-freebsd8 | *-*-freebsd[8].*) fbsd_tm_file="freebsd8.h";;
++ *-*-freebsd9 | *-*-freebsd[9].*) fbsd_tm_file="freebsd9.h";;
*) echo 'Please update *-*-freebsd* in gcc/config.gcc'; exit 1;;
esac
tmake_file="t-slibgcc-elf-ver t-freebsd"
diff --git a/devel/gccxml/files/patch-GCC::gcc::config::freebsd7.h b/devel/gccxml/files/patch-GCC::gcc::config::freebsd7.h
deleted file mode 100644
index 5d86d2926ca1..000000000000
--- a/devel/gccxml/files/patch-GCC::gcc::config::freebsd7.h
+++ /dev/null
@@ -1,25 +0,0 @@
---- /dev/null Sat May 13 16:25:00 2006
-+++ GCC/gcc/config/freebsd7.h Sat May 13 16:28:29 2006
-@@ -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 7