summaryrefslogtreecommitdiffstats
path: root/gnu/fortran
diff options
context:
space:
mode:
authorJeremy Blosser2006-04-24 20:39:12 -0500
committerJeremy Blosser2006-04-24 20:39:12 -0500
commit5ad1fed9954be7085101bb2144915a275209d7be (patch)
treebc7c31dacc8acfd17d0519dde8b6a8f258cbd2d6 /gnu/fortran
parentf98e3a8408413dab6fb15bb26ea7c9c510d6a16a (diff)
sync gnu/fortran from test
Diffstat (limited to 'gnu/fortran')
-rwxr-xr-xgnu/fortran/BUILD23
-rwxr-xr-xgnu/fortran/CONFLICTS1
-rwxr-xr-xgnu/fortran/DEPENDS6
-rwxr-xr-xgnu/fortran/DETAILS21
-rwxr-xr-xgnu/fortran/FINAL3
-rw-r--r--gnu/fortran/HISTORY49
-rwxr-xr-xgnu/fortran/INSTALL8
-rwxr-xr-xgnu/fortran/POST_REMOVE2
-rwxr-xr-xgnu/fortran/POST_RESURRECT2
-rwxr-xr-xgnu/fortran/PRE_BUILD9
-rwxr-xr-xgnu/fortran/SOLO0
-rw-r--r--gnu/fortran/specs_fortran41
12 files changed, 165 insertions, 0 deletions
diff --git a/gnu/fortran/BUILD b/gnu/fortran/BUILD
new file mode 100755
index 0000000000..853d36847a
--- /dev/null
+++ b/gnu/fortran/BUILD
@@ -0,0 +1,23 @@
+# take multilib option from GCC
+# ignore return value as it is only available on x86_64
+persistent_read gcc GCC_MULTILIB GCC_MULTILIB
+# get CFLAGS and LDFLAGS gcc was compiled with, see bug #10087
+persistent_read gcc GCC_CFLAGS CFLAGS &&
+persistent_read gcc GCC_LDFLAGS LDFLAGS &&
+
+sedit "s/lib64/lib/" gcc/config/i386/linux64.h &&
+
+cd $SOURCE_DIRECTORY.bld &&
+$SOURCE_DIRECTORY/configure \
+ --host=$HOST \
+ --prefix=${INSTALL_ROOT}/usr \
+ --infodir=${INSTALL_ROOT}/usr/share/info \
+ --mandir=${INSTALL_ROOT}/usr/share/man \
+ --enable-threads=posix \
+ --with-system-zlib \
+ --enable-languages=f95 \
+ $GCC_MULTILIB \
+ $OPTS &&
+
+make CFLAGS="$CFLAGS" BOOT_CFLAGS="$CFLAGS" LDFLAGS="$LDFLAGS" \
+ profiledbootstrap
diff --git a/gnu/fortran/CONFLICTS b/gnu/fortran/CONFLICTS
new file mode 100755
index 0000000000..b0f55e585c
--- /dev/null
+++ b/gnu/fortran/CONFLICTS
@@ -0,0 +1 @@
+conflicts g77 y
diff --git a/gnu/fortran/DEPENDS b/gnu/fortran/DEPENDS
new file mode 100755
index 0000000000..ca9a1809e8
--- /dev/null
+++ b/gnu/fortran/DEPENDS
@@ -0,0 +1,6 @@
+. $GRIMOIRE/libcompat &&
+depends gcc &&
+if [[ $VERSION != $(installed_version gcc) ]]; then
+ force_depends gcc
+fi &&
+depends mpfr
diff --git a/gnu/fortran/DETAILS b/gnu/fortran/DETAILS
new file mode 100755
index 0000000000..2831d44032
--- /dev/null
+++ b/gnu/fortran/DETAILS
@@ -0,0 +1,21 @@
+ SPELL=fortran
+ VERSION=4.0.3
+ SOURCE_HASH=sha512:c15cb60d4881dde30425c4ce682bc7d9b9363c177e5ca7d2e05dc83181a29c805199ead946eef451fec17a834a5114bff63ea062c4b6de12243c86b2f7389c23
+ SOURCE2_HASH=sha512:6800fb3d1a4366af7a8610057e12f75c4d34f4c8e24fe91ab01c31d36e4e3f785f47a8b5d68022a0c55f19c75fa4a6c1ed885f4b3522fb72d213c342d0aacea2
+ SOURCE=gcc-core-$VERSION.tar.bz2
+SOURCE_DIRECTORY=$BUILD_DIRECTORY/gcc-$VERSION
+ SOURCE_URL[0]=$GNU_URL/gcc/gcc-$VERSION/$SOURCE
+ SOURCE_URL[1]=ftp://gcc.gnu.org/pub/gcc/releases/gcc-$VERSION/$SOURCE
+ SOURCE2=gcc-$SPELL-$VERSION.tar.bz2
+ SOURCE2_URL[0]=$GNU_URL/gcc/gcc-$VERSION/$SOURCE2
+ SOURCE2_URL[1]=ftp://gcc.gnu.org/pub/gcc/releases/gcc-$VERSION/$SOURCE2
+ LICENSE[0]=GPL
+ WEB_SITE=http://gcc.gnu.org/
+ ENTERED=20040705
+ UPDATED=20040705
+ DOCS="$DOCS INSTALL"
+ SHORT="the GNU fortran compiler"
+cat << EOF
+The GNU fortran compiler and runtime library.
+EOF
+
diff --git a/gnu/fortran/FINAL b/gnu/fortran/FINAL
new file mode 100755
index 0000000000..14a9914fe6
--- /dev/null
+++ b/gnu/fortran/FINAL
@@ -0,0 +1,3 @@
+rm_source_dir $SOURCE_DIRECTORY.bld &&
+local SPECSDIR=${INSTALL_ROOT}/usr/lib/gcc/$HOST/$VERSION &&
+cat $SPECSDIR/specs-local/* > $SPECSDIR/specs
diff --git a/gnu/fortran/HISTORY b/gnu/fortran/HISTORY
new file mode 100644
index 0000000000..baf07354d3
--- /dev/null
+++ b/gnu/fortran/HISTORY
@@ -0,0 +1,49 @@
+2006-03-10 David Brown <dmlb2000@gmail.com>
+ * DETAILS: updated 4.0.3
+
+2006-03-07 Arwed v. Merkatz <v.merkatz@gmx.net>
+ * DEPENDS: use force_depends gcc if version doesn't match so it gets
+ recompiled
+
+2006-02-19 Arwed v. Merkatz <v.merkatz@gmx.net>
+ * BUILD: persistent_read the CFLAGS and LDFLAGS of gcc and use them,
+ fixes bug #10087, persistent_read GCC_MULTILIB instead of sourcing
+ gcc.p
+ * POST_RESURRECT: setup specs file after resurrection (bug #8726)
+
+2005-10-02 Sergey Lipnevich <sergey@sourcemage.org>
+ * DETAILS: upgrade to 4.0.2;
+ * PRE_BUILD: use unpack_file API.
+
+2005-09-05 Seth Woolley <seth@tautology.org>
+ * BUILD: install to lib instead of lib64 on x86_64
+
+2005-07-09 Arwed v. Merkatz <v.merkatz@gmx.net>
+ * DETAILS: updated to 4.0.1
+
+2005-05-18 Arwed v. Merkatz <v.merkatz@gmx.net>
+ * PRE_BUILD: return 1 if the current gcc isn't the same version
+
+2005-04-23 Sergey Lipnevich <sergey@sourcemage.org>
+ * BUILD: use gcc's configuration for multilib option.
+
+2005-04-21 Arwed v. Merkatz <v.merkatz@gmx.net>
+ * DETAILS: updated to 4.0.0, renamed to fortran
+ * CONFLICTS: conflicts g77
+ * INSTALL, specs_g77, specs_fortran: renamed specs_g77 to specs_fortran
+ * BUILD: language is f95 now
+ * DEPENDS: depends on mpfr
+ * specs_fortran: updated for latest fortran
+
+2004-09-09 Arwed v. Merkatz <v.merkatz@gmx.net>
+ * DETAILS: updated to 3.4.2
+
+2004-07-06 Arwed v. Merkatz <v.merkatz@gmx.net>
+ * DEPENDS: added dependency on gcc so they're built in correct order
+ on a system-update
+
+2004-07-05 Arwed v. Merkatz <v.merkatz@gmx.net>
+ * BUILD, DETAILS, FINAL, HISTORY, INSTALL, POST_REMOVE, PRE_BUILD,
+ SOLO, specs_g77:
+ new spell for the GNU fortran compiler and library
+
diff --git a/gnu/fortran/INSTALL b/gnu/fortran/INSTALL
new file mode 100755
index 0000000000..61ed0cab18
--- /dev/null
+++ b/gnu/fortran/INSTALL
@@ -0,0 +1,8 @@
+make -C gcc lang.install-common lang.install-man &&
+install -c gcc/f951 ${INSTALL_ROOT}/usr/libexec/gcc/$HOST/$VERSION/ &&
+make -C $HOST/libgfortran/ install &&
+
+# specs file stuff
+local SPECSDIR=${INSTALL_ROOT}/usr/lib/gcc/$HOST/$VERSION &&
+mkdir -p $SPECSDIR/specs-local &&
+cp $SCRIPT_DIRECTORY/specs_fortran $SPECSDIR/specs-local
diff --git a/gnu/fortran/POST_REMOVE b/gnu/fortran/POST_REMOVE
new file mode 100755
index 0000000000..2ab4140f07
--- /dev/null
+++ b/gnu/fortran/POST_REMOVE
@@ -0,0 +1,2 @@
+local SPECSDIR=${INSTALL_ROOT}/usr/lib/gcc/$HOST/$VERSION &&
+cat $SPECSDIR/specs-local/* > $SPECSDIR/specs
diff --git a/gnu/fortran/POST_RESURRECT b/gnu/fortran/POST_RESURRECT
new file mode 100755
index 0000000000..b6c486727f
--- /dev/null
+++ b/gnu/fortran/POST_RESURRECT
@@ -0,0 +1,2 @@
+local SPECSDIR=${INSTALL_ROOT}/usr/lib/gcc/$HOST/$VERSION &&
+cat $SPECSDIR/specs-local/* > $SPECSDIR/specs
diff --git a/gnu/fortran/PRE_BUILD b/gnu/fortran/PRE_BUILD
new file mode 100755
index 0000000000..ada199a9ef
--- /dev/null
+++ b/gnu/fortran/PRE_BUILD
@@ -0,0 +1,9 @@
+if [ "$(installed_version gcc)" != "$VERSION" ]; then
+ message "${PROBLEM_COLOR}Installed version of gcc is $(installed_version gcc), not $VERSION!"
+ message "Update gcc first.${DEFAULT_COLOR}"
+ return 1;
+fi
+default_pre_build &&
+cd $BUILD_DIRECTORY &&
+unpack_file 2 &&
+mk_source_dir $SOURCE_DIRECTORY.bld
diff --git a/gnu/fortran/SOLO b/gnu/fortran/SOLO
new file mode 100755
index 0000000000..e69de29bb2
--- /dev/null
+++ b/gnu/fortran/SOLO
diff --git a/gnu/fortran/specs_fortran b/gnu/fortran/specs_fortran
new file mode 100644
index 0000000000..8f8af67581
--- /dev/null
+++ b/gnu/fortran/specs_fortran
@@ -0,0 +1,41 @@
+@f77-cpp-input:
+cc1 -E -traditional-cpp -D_LANGUAGE_FORTRAN %(cpp_options) %{E|M|MM:%(cpp_debug_options)} %{!M:%{!MM:%{!E: -o %|.f |\n f951 %|.f %{!ffree-form:-ffixed-form} %(cc1_options) %{J*} %{I*} %{!fsyntax-only:%(invoke_as)}}}}
+
+@f95-cpp-input:
+cc1 -E -traditional-cpp -D_LANGUAGE_FORTRAN %(cpp_options) %{E|M|MM:%(cpp_debug_options)} %{!M:%{!MM:%{!E: -o %|.f95 |\n f951 %|.f95 %(cc1_options) %{J*} %{I*} %{!fsyntax-only:%(invoke_as)}}}}
+
+@f77:
+%{!E:f951 %i %{!ffree-form:-ffixed-form} %(cc1_options) %{J*} %{I*} %{!fsyntax-only:%(invoke_as)}}
+
+@f95:
+%{!E:f951 %i %(cc1_options) %{J*} %{I*} %{!fsyntax-only:%(invoke_as)}}
+
+.F:
+@f77-cpp-input
+
+.fpp:
+@f77-cpp-input
+
+.FPP:
+@f77-cpp-input
+
+.F90:
+@f95-cpp-input
+
+.F95:
+@f95-cpp-input
+
+.f:
+@f77
+
+.for:
+@f77
+
+.FOR:
+@f77
+
+.f90:
+@f95
+
+.f95:
+@f95