pkgsrc-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[pkgsrc/trunk]: pkgsrc/lang/g95 lang/g95: bring in DragonFly support
details: https://anonhg.NetBSD.org/pkgsrc/rev/f9916987849c
branches: trunk
changeset: 585548:f9916987849c
user: rumko <rumko%pkgsrc.org@localhost>
date: Sat Feb 19 16:06:31 2011 +0000
description:
lang/g95: bring in DragonFly support
ok@ wiz
diffstat:
lang/g95/distinfo | 10 +-
lang/g95/patches/patch-.._gcc-4.0.3_gcc_config.gcc | 43 ++
lang/g95/patches/patch-.._gcc-4.0.3_gcc_config_dragonfly-spec.h | 124 ++++++++
lang/g95/patches/patch-.._gcc-4.0.3_gcc_config_dragonfly.h | 94 ++++++
lang/g95/patches/patch-.._gcc-4.0.3_gcc_config_i386_dragonfly.h | 152 ++++++++++
lang/g95/patches/patch-.._gcc-4.0.3_gcc_config_i386_dragonfly64.h | 52 +++
lang/g95/patches/patch-.._gcc-4.0.3_gcc_config_t-dragonfly | 12 +
lang/g95/patches/patch-.._gcc-4.0.3_gcc_config_t-dragonfly-thread | 9 +
lang/g95/patches/patch-.._gcc-4.0.3_gcc_ginclude_stddef.h | 52 +++
9 files changed, 547 insertions(+), 1 deletions(-)
diffs (truncated from 593 to 300 lines):
diff -r fa2e5ad6b260 -r f9916987849c lang/g95/distinfo
--- a/lang/g95/distinfo Sat Feb 19 15:48:52 2011 +0000
+++ b/lang/g95/distinfo Sat Feb 19 16:06:31 2011 +0000
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.7 2011/01/23 09:42:10 markd Exp $
+$NetBSD: distinfo,v 1.8 2011/02/19 16:06:31 rumko Exp $
SHA1 (g95-0.92/g95_source.tgz) = e6320fc80d8e388aad1fdbde53b2414353692b76
RMD160 (g95-0.92/g95_source.tgz) = ac00c4cdd6dc0b90ef865040ff338b7f2d9296d1
@@ -6,5 +6,13 @@
SHA1 (g95-0.92/gcc-core-4.0.3.tar.gz) = 2694281fa05ae0e39cd871fcc52745e35a2dfefc
RMD160 (g95-0.92/gcc-core-4.0.3.tar.gz) = fd960201a888537ad84e71b72b6b1170ad94eaa0
Size (g95-0.92/gcc-core-4.0.3.tar.gz) = 20137297 bytes
+SHA1 (patch-.._gcc-4.0.3_gcc_config.gcc) = f93cca19dbb3544a1259960a3ab092fd72038125
+SHA1 (patch-.._gcc-4.0.3_gcc_config_dragonfly-spec.h) = 2fac90d3b4b2113e4713497fbcf3a3999dde2045
+SHA1 (patch-.._gcc-4.0.3_gcc_config_dragonfly.h) = 12707232e61b664f3b1a9943cbb3a49e61e94fa9
+SHA1 (patch-.._gcc-4.0.3_gcc_config_i386_dragonfly.h) = 96fa1faed692f8d4aeade98dd42d25b85ba051d7
+SHA1 (patch-.._gcc-4.0.3_gcc_config_i386_dragonfly64.h) = b228dbcdf7b5cf22d41d6ff04a37c569ca514c50
+SHA1 (patch-.._gcc-4.0.3_gcc_config_t-dragonfly) = 9636163ffd359b2a0dbb0a7fec2ca1cf98032c3d
+SHA1 (patch-.._gcc-4.0.3_gcc_config_t-dragonfly-thread) = a7181b3061e32d3edd38c09eed34232a75de83cf
+SHA1 (patch-.._gcc-4.0.3_gcc_ginclude_stddef.h) = 5e18b132d36ca02dcfed0569297e7ad6b1eada26
SHA1 (patch-ab) = 98cf305aa29487539160736e057dc19313f34a76
SHA1 (patch-ac) = b5567c0d6969f84d2518a581c6517691aa4f5e67
diff -r fa2e5ad6b260 -r f9916987849c lang/g95/patches/patch-.._gcc-4.0.3_gcc_config.gcc
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/lang/g95/patches/patch-.._gcc-4.0.3_gcc_config.gcc Sat Feb 19 16:06:31 2011 +0000
@@ -0,0 +1,43 @@
+$NetBSD: patch-.._gcc-4.0.3_gcc_config.gcc,v 1.1 2011/02/19 16:06:31 rumko Exp $
+
+DragonFly BSD support.
+
+--- ../gcc-4.0.3/gcc/config.gcc.orig 2011-02-01 19:11:53 +0100
++++ ../gcc-4.0.3/gcc/config.gcc 2011-02-01 21:15:59 +0100
+@@ -440,6 +440,23 @@
+ esac
+ fbsd_tm_file="${fbsd_tm_file} freebsd-spec.h freebsd.h"
+ ;;
++*-*-dragonfly*)
++ gas=yes
++ gnu_ld=yes
++ extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
++ tmake_file="t-slibgcc-elf-ver t-dragonfly"
++ case ${enable_threads} in
++ "" | yes | posix)
++ thread_file='posix'
++ tmake_file="${tmake_file} t-dragonfly-thread"
++ ;;
++ *)
++ echo 'Unknown thread configuration for FreeBSD'
++ exit 1
++ ;;
++ esac
++ dfly_tm_file="${dfly_tm_file} dragonfly-spec.h dragonfly.h"
++ ;;
+ *-*-linux*libc1* | *-*-linux*aout*)
+ # Avoid the generic linux case.
+ ;;
+@@ -969,6 +986,12 @@
+ x86_64-*-freebsd*)
+ tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h ${fbsd_tm_file} i386/x86-64.h i386/freebsd.h i386/freebsd64.h"
+ ;;
++i[34567]86-*-dragonfly*)
++ tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h ${dfly_tm_file} i386/dragonfly.h"
++ ;;
++x86_64-*-dragonfly*)
++ tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h ${dfly_tm_file} i386/x86-64.h i386/dragonfly.h i386/dragonfly64.h"
++ ;;
+ i[34567]86-*-netbsdelf*)
+ tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h netbsd.h netbsd-elf.h i386/netbsd-elf.h"
+ ;;
diff -r fa2e5ad6b260 -r f9916987849c lang/g95/patches/patch-.._gcc-4.0.3_gcc_config_dragonfly-spec.h
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/lang/g95/patches/patch-.._gcc-4.0.3_gcc_config_dragonfly-spec.h Sat Feb 19 16:06:31 2011 +0000
@@ -0,0 +1,124 @@
+$NetBSD: patch-.._gcc-4.0.3_gcc_config_dragonfly-spec.h,v 1.1 2011/02/19 16:06:31 rumko Exp $
+
+DragonFly BSD support.
+
+--- /dev/null 2011-02-01 20:59:25 +0100
++++ ../gcc-4.0.3/gcc/config/dragonfly-spec.h 2011-02-01 19:58:33 +0100
+@@ -0,0 +1,117 @@
++/* Base configuration file for all DragonFly targets.
++ Copyright (C) 1999, 2000, 2001, 2004, 2005 Free Software Foundation, Inc.
++
++This file is part of GCC.
++
++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)
++any later version.
++
++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 GCC; see the file COPYING. If not, write to
++the Free Software Foundation, 59 Temple Place - Suite 330,
++Boston, MA 02111-1307, USA. */
++
++/* Common DragonFly configuration.
++ All DragonFly architectures should include this file, which will specify
++ their commonalities.
++ Adapted from gcc/config/freebsd.h by
++ David O'Brien <obrien%FreeBSD.org@localhost>
++ Loren J. Rittle <ljrittle%acm.org@localhost>. */
++
++
++/* In case we need to know. */
++#define USING_CONFIG_DRAGONFLY_SPEC 1
++
++/* This defines which switch letters take arguments. On DragonFly, most of
++ the normal cases (defined in gcc.c) apply, and we also have -h* and
++ -z* options (for the linker) (coming from SVR4).
++ We also have -R (alias --rpath), no -z, --soname (-h), --assert etc. */
++
++#define DFLY_SWITCH_TAKES_ARG(CHAR) \
++ (DEFAULT_SWITCH_TAKES_ARG (CHAR) \
++ || (CHAR) == 'h' \
++ || (CHAR) == 'z' /* ignored by ld */ \
++ || (CHAR) == 'R')
++
++/* This defines which multi-letter switches take arguments. */
++
++#define DFLY_WORD_SWITCH_TAKES_ARG(STR) \
++ (DEFAULT_WORD_SWITCH_TAKES_ARG (STR) \
++ || !strcmp ((STR), "rpath") || !strcmp ((STR), "rpath-link") \
++ || !strcmp ((STR), "soname") || !strcmp ((STR), "defsym") \
++ || !strcmp ((STR), "assert") || !strcmp ((STR), "dynamic-linker"))
++
++#define DFLY_TARGET_OS_CPP_BUILTINS() \
++ do \
++ { \
++ builtin_define ("__DragonFly__"); \
++ builtin_define_std ("unix"); \
++ builtin_define ("__KPRINTF_ATTRIBUTE__"); \
++ builtin_assert ("system=unix"); \
++ builtin_assert ("system=bsd"); \
++ builtin_assert ("system=DragonFly"); \
++ DFLY_TARGET_CPU_CPP_BUILTINS(); \
++ } \
++ while (0)
++
++/* Define the default DragonFly-specific per-CPU hook code. */
++#define DFLY_TARGET_CPU_CPP_BUILTINS() do {} while (0)
++
++/* Provide a CPP_SPEC appropriate for DragonFly. We just deal with the GCC
++ option `-posix', and PIC issues. */
++
++#define DFLY_CPP_SPEC " \
++ %(cpp_cpu) \
++ %(cpp_arch) \
++ %{fPIC|fpic|fPIE|fpie:-D__PIC__ -D__pic__} \
++ %{posix:-D_POSIX_SOURCE}"
++
++/* Provide a STARTFILE_SPEC appropriate for DragonFly. Here we add
++ the magical crtbegin.o file (see crtstuff.c) which provides part
++ of the support for getting C++ file-scope static object constructed
++ before entering `main'. */
++
++#define DFLY_STARTFILE_SPEC \
++ "%{!shared: \
++ %{pg:gcrt1.o%s} %{!pg:%{p:gcrt1.o%s} \
++ %{!p:%{profile:gcrt1.o%s} \
++ %{!profile:crt1.o%s}}}} \
++ crti.o%s %{!shared:crtbegin.o%s} %{shared:crtbeginS.o%s}"
++
++/* Provide a ENDFILE_SPEC appropriate for DragonFly. Here we tack on
++ the magical crtend.o file (see crtstuff.c) which provides part of
++ the support for getting C++ file-scope static object constructed
++ before entering `main', followed by a normal "finalizer" file,
++ `crtn.o'. */
++
++#define DFLY_ENDFILE_SPEC \
++ "%{!shared:crtend.o%s} %{shared:crtendS.o%s} crtn.o%s"
++
++/* Provide a LIB_SPEC appropriate for DragonFly. Just select the appropriate
++ libc, depending on whether we're doing profiling or need threads support.
++ (similar to the default, except no -lg, and no -p). */
++
++#ifdef DFLY_NO_THREADS
++#define DFLY_LIB_SPEC " \
++ %{pthread: %eThe -pthread option is only supported on DragonFly when gcc \
++is built with the --enable-threads configure-time option.} \
++ %{!shared: \
++ %{!pg: -lc} \
++ %{pg: -lc_p} \
++ }"
++#else
++#define DFLY_LIB_SPEC " \
++ %{!shared: \
++ %{!pg: %{pthread:-lpthread} -lc} \
++ %{pg: %{pthread:-lpthread_p} -lc_p} \
++ }"
++#endif
++
++#define DFLY_DYNAMIC_LINKER "/usr/libexec/ld-elf.so.2"
diff -r fa2e5ad6b260 -r f9916987849c lang/g95/patches/patch-.._gcc-4.0.3_gcc_config_dragonfly.h
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/lang/g95/patches/patch-.._gcc-4.0.3_gcc_config_dragonfly.h Sat Feb 19 16:06:31 2011 +0000
@@ -0,0 +1,94 @@
+$NetBSD: patch-.._gcc-4.0.3_gcc_config_dragonfly.h,v 1.1 2011/02/19 16:06:31 rumko Exp $
+
+DragonFly BSD support.
+
+--- /dev/null 2011-02-01 20:59:25 +0100
++++ ../gcc-4.0.3/gcc/config/dragonfly.h 2011-02-01 19:19:27 +0100
+@@ -0,0 +1,87 @@
++/* Base configuration file for all DragonFly targets.
++ Copyright (C) 1999, 2000, 2001 Free Software Foundation, Inc.
++
++This file is part of GCC.
++
++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)
++any later version.
++
++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 GCC; see the file COPYING. If not, write to
++the Free Software Foundation, 59 Temple Place - Suite 330,
++Boston, MA 02111-1307, USA. */
++
++/* Common DragonFly configuration.
++ All DragonFly architectures should include this file, which will specify
++ their commonalities.
++ Adapted from gcc/config/i386/freebsd-elf.h by
++ David O'Brien <obrien%FreeBSD.org@localhost>.
++ Further work by David O'Brien <obrien%FreeBSD.org@localhost> and
++ Loren J. Rittle <ljrittle%acm.org@localhost>. */
++
++
++/* In case we need to know. */
++#define USING_CONFIG_DRAGONFLY 1
++
++/* This defines which switch letters take arguments. On DragonFly, most of
++ the normal cases (defined in gcc.c) apply, and we also have -h* and
++ -z* options (for the linker) (coming from SVR4).
++ We also have -R (alias --rpath), no -z, --soname (-h), --assert etc. */
++
++#undef SWITCH_TAKES_ARG
++#define SWITCH_TAKES_ARG(CHAR) (DFLY_SWITCH_TAKES_ARG(CHAR))
++
++#undef WORD_SWITCH_TAKES_ARG
++#define WORD_SWITCH_TAKES_ARG(STR) (DFLY_WORD_SWITCH_TAKES_ARG(STR))
++
++#undef TARGET_OS_CPP_BUILTINS
++#define TARGET_OS_CPP_BUILTINS() DFLY_TARGET_OS_CPP_BUILTINS()
++
++#undef CPP_SPEC
++#define CPP_SPEC DFLY_CPP_SPEC
++
++#undef STARTFILE_SPEC
++#define STARTFILE_SPEC DFLY_STARTFILE_SPEC
++
++#undef ENDFILE_SPEC
++#define ENDFILE_SPEC DFLY_ENDFILE_SPEC
++
++#undef LIB_SPEC
++#define LIB_SPEC DFLY_LIB_SPEC
++
++
++/************************[ Target stuff ]***********************************/
++
++/* All DragonFly 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 1
++
++/* Make gcc agree with DragonFly's standard headers (<stddef.h>, etc...) */
++
++#undef WCHAR_TYPE
++#define WCHAR_TYPE "int"
++
++#define MATH_LIBRARY_PROFILE "-lm_p"
++
++/* 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
++ with libraries compiled with the native cc. */
++#undef NO_DOLLAR_IN_LABEL
++
++/* 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
diff -r fa2e5ad6b260 -r f9916987849c lang/g95/patches/patch-.._gcc-4.0.3_gcc_config_i386_dragonfly.h
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/lang/g95/patches/patch-.._gcc-4.0.3_gcc_config_i386_dragonfly.h Sat Feb 19 16:06:31 2011 +0000
@@ -0,0 +1,152 @@
Home |
Main Index |
Thread Index |
Old Index