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