pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/lang/gcc44 Import gcc-4.4.1 as lang/gcc44. This is th...



details:   https://anonhg.NetBSD.org/pkgsrc/rev/abccf894def5
branches:  trunk
changeset: 399342:abccf894def5
user:      dmcmahill <dmcmahill%pkgsrc.org@localhost>
date:      Fri Sep 18 11:24:50 2009 +0000

description:
Import gcc-4.4.1 as lang/gcc44.  This is the latest branch of gcc.
Of particular note is this package contains gfortran which is required
for building some scientific software (recent versions of scilab
for example).  Package is prepared as a monolithic install of gcc
since gcc is really not set up to build and install the core and then
later add on different languages as their own packages.

diffstat:

 lang/gcc44/DESCR                    |    4 +
 lang/gcc44/MESSAGE                  |   17 ++
 lang/gcc44/Makefile                 |  157 ++++++++++++++++++++++++++
 lang/gcc44/buildlink3.mk            |   60 ++++++++++
 lang/gcc44/distinfo                 |   10 +
 lang/gcc44/files/dragonfly-spec.h   |  215 ++++++++++++++++++++++++++++++++++++
 lang/gcc44/files/dragonfly.h        |   97 ++++++++++++++++
 lang/gcc44/files/hello.f            |    5 +
 lang/gcc44/files/hello.m            |    6 +
 lang/gcc44/files/i386-dragonfly.h   |  148 ++++++++++++++++++++++++
 lang/gcc44/files/i386-dragonfly64.h |   54 +++++++++
 lang/gcc44/patches/patch-aa         |   51 ++++++++
 lang/gcc44/patches/patch-ab         |   24 ++++
 lang/gcc44/patches/patch-ac         |   12 ++
 lang/gcc44/patches/patch-ad         |   13 ++
 lang/gcc44/patches/patch-ae         |   12 ++
 lang/gcc44/preconfigure.mk          |   11 +
 17 files changed, 896 insertions(+), 0 deletions(-)

diffs (truncated from 964 to 300 lines):

diff -r 405055d36c83 -r abccf894def5 lang/gcc44/DESCR
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/lang/gcc44/DESCR  Fri Sep 18 11:24:50 2009 +0000
@@ -0,0 +1,4 @@
+This is the gcc 4.4.0 compiler suite.
+
+This package has a test target. For testing (only), this
+package requires dejagnu.
diff -r 405055d36c83 -r abccf894def5 lang/gcc44/MESSAGE
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/lang/gcc44/MESSAGE        Fri Sep 18 11:24:50 2009 +0000
@@ -0,0 +1,17 @@
+===========================================================================
+$NetBSD: MESSAGE,v 1.1.1.1 2009/09/18 11:24:50 dmcmahill Exp $
+
+${PKGNAME} has been installed in ${LOCALBASE}/gcc44
+
+To use this compiler in pkgsrc:
+
+   1) In your "pre-configure" target:
+
+   .include "../../lang/gcc44/preconfigure.mk"
+
+   2) .include "../../lang/gcc44/buildlink3.mk"
+
+The "preconfigure.mk" makefile fragment will override the compiler tools
+selected by ../../mk/compiler.mk to use gcc version 4.4.x.
+
+===========================================================================
diff -r 405055d36c83 -r abccf894def5 lang/gcc44/Makefile
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/lang/gcc44/Makefile       Fri Sep 18 11:24:50 2009 +0000
@@ -0,0 +1,157 @@
+# $NetBSD: Makefile,v 1.1.1.1 2009/09/18 11:24:50 dmcmahill Exp $
+#
+
+DISTNAME=              gcc-${GCC_VERSION}
+PKGNAME=               gcc44-${GCC_VERSION}
+CATEGORIES=            lang
+MASTER_SITES=          ${MASTER_SITE_GNU:=gcc/gcc-${GCC_VERSION}/}
+EXTRACT_SUFX=          .tar.bz2
+
+MAINTAINER=            blair.sadewitz%gmail.com@localhost
+HOMEPAGE=              http://gcc.gnu.org/
+COMMENT=               This is the GCC 4.4.0 compiler
+
+PKG_DESTDIR_SUPPORT=   destdir
+
+USE_TOOLS+=            awk:run bash:build perl chmod \
+                       gmake makeinfo msgfmt bison flex gm4 \
+                       sed:run unzip
+
+DEPENDS+=              zip-[0-9]*:../../archivers/zip
+
+GCC_VERSION=           4.4.1
+
+GCC_SUBPREFIX=         gcc44
+GCC_PREFIX=            ${DESTDIR}${PREFIX}/${GCC_SUBPREFIX}
+FILES_SUBST+=          PKGNAME=${PKGNAME:Q}
+MESSAGE_SUBST+=                GCC_PREFIX=${GCC_PREFIX}
+
+
+# To avoid GNU surprises
+CONFIG_SHELL=          ${TOOLS_PATH.bash}
+
+NOT_FOR_PLATFORM=      Interix-*-*
+UNLIMIT_RESOURCES+=    datasize
+
+.undef PKG_DEVELOPER
+
+.include "../../mk/bsd.prefs.mk"
+
+# Determine whether to use binutils
+
+# REPLACE_AWK+=        gcc/testsuite/gcc.test-framework/test-framework.awk     \
+#              gcc/mkmap-symver.awk                                    \
+#              gcc/optc-gen.awk                                        \
+#              gcc/mkmap-flat.awk                                      \
+#              gcc/opt-gather.awk                                      \
+#              gcc/opth-gen.awk                                        \
+#              gcc/opt-functions.awk
+
+# Optional languages - change as required
+# Ada could be added although there is a bootstrapping issue.  See
+# ../gcc34-ada for guidance
+BUILD_DEFS+=           BUILD_CXX BUILD_FORTRAN BUILD_JAVA BUILD_OBJC
+BUILD_CXX?=            YES
+BUILD_FORTRAN?=                YES
+BUILD_JAVA?=           YES
+BUILD_OBJC?=           YES
+
+LANGS= c
+
+#.if !empty(BUILD_CXX:M[aA][dD][aA])
+#LANGS+= ada
+#.endif
+
+.if !empty(BUILD_CXX:M[Yy][Ee][Ss])
+LANGS+= c++
+.endif
+
+.if !empty(BUILD_FORTRAN:M[Yy][Ee][Ss])
+LANGS+= fortran
+.endif
+
+.if !empty(BUILD_JAVA:M[Yy][Ee][Ss])
+LANGS+= java
+.endif
+
+.if !empty(BUILD_OBJC:M[Yy][Ee][Ss])
+LANGS+= objc
+.endif
+
+CONFIGURE_ARGS+=       --prefix=${GCC_PREFIX:Q}
+CONFIGURE_ARGS+=       --enable-languages=${LANGS:Q}
+CONFIGURE_ARGS+=       --with-system-zlib
+CONFIGURE_ARGS+=       --enable-shared
+CONFIGURE_ARGS+=       --enable-__cxa_atexit
+CONFIGURE_ARGS+=       --enable-long-long
+CONFIGURE_ARGS+=       --with-local-prefix=${GCC_PREFIX:Q}
+CONFIGURE_ARGS+=       --disable-libssp
+CONFIGURE_ARGS+=       --enable-threads=posix
+CONFIGURE_ARGS+=       --with-gmp=${BUILDLINK_PREFIX.gmp}
+CONFIGURE_ARGS+=       --with-mpfr=${BUILDLINK_PREFIX.mpfr}
+
+CONFIGURE_ENV+=                CONFIG_SHELL=${CONFIG_SHELL:Q}
+
+# fastjar-0.93 from pkgsrc/archivers/fastjar seems to trigger a build
+# failure (seen on NetBSD-5.0/i386) when building java.  So in case
+# the fastjar package is installed, make sure the configure script
+# doesn't pick it up.
+CONFIGURE_ENV+=                JAR=no
+MAKE_ENV+=             JAR=no
+MAKE_ENV+=             ac_cv_prog_JAR=no
+
+MAKE_ENV+=             ICONVPREFIX=${BUILDLINK_PREFIX.iconv}
+MAKE_ENV+=             SHELL=${CONFIG_SHELL}
+MAKE_ENV+=             ac_cv_path_ac_cv_prog_chmod=${TOOLS_CHMOD:Q}
+
+# ${WRKSRC}/fixincludes/ looks for sed and compiles the path to sed into
+# a binary so we need to make sure we give it the installed sed and not
+# the tool wrapped one.
+MAKE_ENV+=             lt_cv_path_SED=${TOOLS_SED:Q}
+
+CPPFLAGS+=             -I${BUILDLINK_DIR}/include
+CFLAGS+=               -I${BUILDLINK_DIR}/include
+
+# Somone should fix this so it will match the NetBSD system compiler
+#.if ${OPSYS} == "NetBSD"
+#GCC_PLATFORM= ${LOWER_ARCH}--${LOWER_OPSYS}${APPEND_ELF}
+#CONFIGURE_ARGS+=      --host=${GCC_PLATFORM:Q}
+#MAKE_ENV+=            AR=/usr/bin/ar
+#.endif # NetBSD
+
+pre-configure:
+.if ${OPSYS} == "DragonFly"
+       ${CP} ${FILESDIR}/dragonfly.h ${WRKSRC}/gcc/config/dragonfly.h
+       ${CP} ${FILESDIR}/dragonfly-spec.h ${WRKSRC}/gcc/config/dragonfly-spec.h
+       ${CP} ${FILESDIR}/i386-dragonfly.h ${WRKSRC}/gcc/config/i386/dragonfly.h
+       ${CP} ${FILESDIR}/i386-dragonfly64.h ${WRKSRC}/gcc/config/i386/dragonfly64.h
+.endif
+
+
+do-configure:
+       ${MKDIR} ${WRKDIR}/obj
+       cd ${WRKDIR}/obj; ${SETENV} ${CONFIGURE_ENV} ${CONFIG_SHELL} ${WRKSRC}/configure ${CONFIGURE_ARGS}
+
+do-build:
+       (${_ULIMIT_CMD} cd ${WRKDIR}/obj && ${SETENV} ${MAKE_ENV} ${GMAKE} -j${MAKE_JOBS:U1} )
+
+do-test:
+.if (${MACHINE_GNU_ARCH} == "x86_64")
+       (cd ${FILESDIR} && ${CP} netbsd64macro.dfs ${WRKSRC}/gcc/testsuite/ada/acats/support/macro.dfs)
+.endif
+       (cd ${WRKDIR}/obj && ${GMAKE} -k check)
+
+do-install:
+       (cd ${WRKDIR}/obj && ${SETENV} ${MAKE_ENV} ${GMAKE} install \
+        && ${TEST} -f ${GCC_PREFIX}/bin/cc || ${LN} -f ${GCC_PREFIX}/bin/gcc ${GCC_PREFIX}/bin/cc)
+
+GENERATE_PLIST+=                                                        \
+       ${FIND} ${GCC_PREFIX} \( -type f -o -type l \) -print           \
+       | ${SORT} | ${SED} -e "s,${PREFIX}/,,g";
+
+.include "../../converters/libiconv/buildlink3.mk"
+.include "../../devel/gettext-lib/buildlink3.mk"
+.include "../../devel/gmp/buildlink3.mk"
+.include "../../devel/zlib/buildlink3.mk"
+.include "../../math/mpfr/buildlink3.mk"
+.include "../../mk/bsd.pkg.mk"
diff -r 405055d36c83 -r abccf894def5 lang/gcc44/buildlink3.mk
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/lang/gcc44/buildlink3.mk  Fri Sep 18 11:24:50 2009 +0000
@@ -0,0 +1,60 @@
+# $NetBSD: buildlink3.mk,v 1.1.1.1 2009/09/18 11:24:50 dmcmahill Exp $
+
+BUILDLINK_TREE+=       gcc44
+
+.if !defined(GCC44_BUILDLINK3_MK)
+GCC44_BUILDLINK3_MK:=
+
+FIND_PREFIX:=  BUILDLINK_PREFIX.gcc44=gcc44
+.include "../../mk/find-prefix.mk"
+
+BUILDLINK_API_DEPENDS.gcc44+=  gcc44>=${_GCC_REQD}
+BUILDLINK_ABI_DEPENDS.gcc44?=  gcc44>=4.4.0
+BUILDLINK_PKGSRCDIR.gcc44?=    ../../lang/gcc44
+
+.  if exists(${BUILDLINK_PREFIX.gcc44}/bin/gcc)
+
+# logic for detecting the ADA compiler (not yet supported)
+#gcc44_GNAT1!=${BUILDLINK_PREFIX.gcc44}/bin/gcc -print-prog-name=gnat1
+#.    if exists(${gcc44_GNAT1})
+#CONFIGURE_ENV+=       ADAC=${BUILDLINK_PREFIX.gcc44}/bin/gcc
+#MAKE_ENV+=    ADAC=${BUILDLINK_PREFIX.gcc44}/bin/gcc
+#.    endif
+
+# add libraries
+BUILDLINK_LIBDIRS.gcc44+=      lib
+
+# find the gcc architecture
+gcc44_GCC_ARCHDIR!=    ${DIRNAME} `${BUILDLINK_PREFIX.gcc44}/bin/gcc --print-libgcc-file-name`
+
+# add the architecture dep libraries
+.    if empty(gcc44_GCC_ARCHDIR:M*not_found*)
+BUILDLINK_LIBDIRS.gcc44+=      ${gcc44_GCC_ARCHDIR:S/^${BUILDLINK_PREFIX.gcc44}\///}/
+
+# add the ada libraries (not yet supported)
+#.      if exists(${gcc44_GNAT1})
+#BUILDLINK_LIBDIRS.gcc44+=     ${gcc44_GCC_ARCHDIR:S/^${BUILDLINK_PREFIX.gcc44}\///}/adalib
+#.      endif
+
+# add the header files
+BUILDLINK_INCDIRS.gcc44+=      include ${gcc44_GCC_ARCHDIR:S/^${BUILDLINK_PREFIX.gcc44}\///}/include
+.    endif
+.  endif
+
+BUILDLINK_FILES_CMD.gcc44=     \
+       (cd  ${BUILDLINK_PREFIX.gcc44} &&       \
+       ${FIND} bin libexec lib \( -type f -o -type l \) -print)
+BUILDLINK_FNAME_TRANSFORM.gcc44=       -e s:buildlink:buildlink/gcc44:
+
+# Packages that link against shared libraries need a full dependency.
+.  if defined(_USE_GCC_SHLIB)
+BUILDLINK_DEPMETHOD.gcc44+=    full
+.  else
+BUILDLINK_DEPMETHOD.gcc44?=    build
+.  endif
+
+.include "../../mk/pthread.buildlink3.mk"
+.include "../../devel/gettext-lib/buildlink3.mk"
+.endif # GCC44_BUILDLINK3_MK
+
+BUILDLINK_TREE+=       -gcc44
diff -r 405055d36c83 -r abccf894def5 lang/gcc44/distinfo
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/lang/gcc44/distinfo       Fri Sep 18 11:24:50 2009 +0000
@@ -0,0 +1,10 @@
+$NetBSD: distinfo,v 1.1.1.1 2009/09/18 11:24:50 dmcmahill Exp $
+
+SHA1 (gcc-4.4.1.tar.bz2) = 9156ddb7e4cc72288ec31760d6ddc7981123a8a2
+RMD160 (gcc-4.4.1.tar.bz2) = 41cb4c76d1671b1d224d2a6e167ee183dd53d096
+Size (gcc-4.4.1.tar.bz2) = 62869928 bytes
+SHA1 (patch-aa) = b7180161a0c9eb63738ebf9586e52591ef43c636
+SHA1 (patch-ab) = e254456a6da7090f7ba37d3b55a17be2dd157f88
+SHA1 (patch-ac) = 0af9845a62f9a6f8ec27657d0ae0c16394e9fc12
+SHA1 (patch-ad) = 86dc05e6ea977ad869e5d63beb493750ab01a807
+SHA1 (patch-ae) = 831481496b5b5f246f51d9a4fe9314f07f81a842
diff -r 405055d36c83 -r abccf894def5 lang/gcc44/files/dragonfly-spec.h
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/lang/gcc44/files/dragonfly-spec.h Fri Sep 18 11:24:50 2009 +0000
@@ -0,0 +1,215 @@
+/* $DragonFly: src/gnu/usr.bin/cc41/cc_prep/config/dragonfly-spec.h,v 1.5 2008/07/24 21:45:10 corecode Exp $ */
+
+/* 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/freebsd-spec.h by
+   Joerg Sonnenberger <joerg%bec.de@localhost>



Home | Main Index | Thread Index | Old Index