| # Top level configure fragment for GNU FORTRAN. |
| # Copyright (C) 1995-1997 Free Software Foundation, Inc. |
| |
| #This file is part of GNU Fortran. |
| |
| #GNU Fortran 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 Fortran 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 Fortran; see the file COPYING. If not, write to |
| #the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA |
| #02111-1307, USA. |
| |
| # Configure looks for the existence of this file to auto-config each language. |
| # We define several parameters used by configure: |
| # |
| # language - name of language as it would appear in $(LANGUAGES) |
| # compilers - value to add to $(COMPILERS) |
| # stagestuff - files to add to $(STAGESTUFF) |
| # diff_excludes - files to ignore when building diffs between two versions. |
| |
| if grep DECL_STATIC_CONSTRUCTOR $srcdir/tree.h >/dev/null; then |
| if grep flag_move_all_movables $srcdir/toplev.c >/dev/null; then true |
| else |
| echo "You haven't applied the patches to the GCC 2.7.x distribution in" |
| echo "$srcdir as described in g77/README.g77 and gcc/f/gbe/README." |
| echo "" |
| exit 1 |
| fi |
| else |
| if grep put_pending_sizes $srcdir/stor-layout.c >/dev/null; then true |
| else |
| echo "You haven't applied the patches to the GCC 2.6.x distribution in" |
| echo "$srcdir as described in g77/README.g77 and gcc/f/gbe/README." |
| echo "" |
| exit 1 |
| fi |
| fi |
| |
| language="f77" |
| |
| compilers="f771\$(exeext)" |
| |
| case "$arguments" in |
| # *--enable-f2c* | *-enable-f2c*) |
| # echo "f77: enabling f2c." |
| # stagestuff="g77 g77-cross f771 libf2c.a f2c fc" ;; |
| # stagestuff="g77 g77-cross f771 libf2c.a f2c" ;; |
| *) |
| stagestuff="g77\$(exeext) g77-cross\$(exeext) f771\$(exeext) libf2c.a" ;; |
| esac |
| |
| diff_excludes="-x \"f/g77.info*\"" |
| |
| # Create the runtime library directory tree if necessary. |
| test -d f || mkdir f |
| test -d f/runtime || mkdir f/runtime |
| test -d f/runtime/libF77 || mkdir f/runtime/libF77 |
| test -d f/runtime/libI77 || mkdir f/runtime/libI77 |
| test -d f/runtime/libU77 || mkdir f/runtime/libU77 |
| |
| # Need to make top-level stageN directory trees, else if needed |
| # later by gcc/Makefile, it'll make only the first levels and |
| # the language subdirectory levels, not the runtime stuff. |
| for stageN in stage1 stage2 stage3 stage4 |
| do |
| test -d $stageN || mkdir $stageN |
| test -d $stageN/f || mkdir $stageN/f |
| test -d $stageN/f/runtime || mkdir $stageN/f/runtime |
| test -d $stageN/f/runtime/libF77 || mkdir $stageN/f/runtime/libF77 |
| test -d $stageN/f/runtime/libI77 || mkdir $stageN/f/runtime/libI77 |
| test -d $stageN/f/runtime/libU77 || mkdir $stageN/f/runtime/libU77 |
| done |
| |
| # Make links into top-level stageN from target trees. |
| for stageN in stage1 stage2 stage3 stage4 include |
| do |
| $remove -f f/$stageN f/runtime/$stageN f/runtime/libF77/$stageN \ |
| f/runtime/libI77/$stageN f/runtime/libU77/$stageN |
| (cd f; $symbolic_link ../$stageN . 2>/dev/null) |
| (cd f/runtime; $symbolic_link ../$stageN . 2>/dev/null) |
| (cd f/runtime/libF77; $symbolic_link ../$stageN . 2>/dev/null) |
| (cd f/runtime/libI77; $symbolic_link ../$stageN . 2>/dev/null) |
| (cd f/runtime/libU77; $symbolic_link ../$stageN . 2>/dev/null) |
| done |
| |
| case "$srcdir" in |
| .) ;; |
| *) echo |
| echo "Building f77 outside the source directory is likely to not work" |
| echo "unless you are using GNU make or a compatible VPATH mechanism." |
| echo ;; |
| esac |