summaryrefslogtreecommitdiff
path: root/gnu/usr.bin/gcc/f/config-lang.in
blob: fc0240aef59ad8c2621d0cfd6fe0aa1924cb9066 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
# Top level configure fragment for GNU FORTRAN.
#   Copyright (C) 1995 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/libI77 || mkdir f/runtime/libI77
test -d f/runtime/libF77 || mkdir f/runtime/libF77

# 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
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
	(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)
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