annotate aclocal.m4 @ 2548:b50cc31aa0cd

[project @ 1996-11-20 06:43:26 by jwe]
author jwe
date Wed, 20 Nov 1996 06:46:07 +0000
parents d47834a272c2
children cfa9f35fd407
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1232
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
1 dnl aclocal.m4 -- extra macros for configuring Octave
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
2 dnl
1885
7a5f049849b2 [project @ 1996-02-05 19:27:15 by jwe]
jwe
parents: 1788
diff changeset
3 dnl Copyright (C) 1996 John W. Eaton
1232
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
4 dnl
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
5 dnl This file is part of Octave.
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
6 dnl
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
7 dnl Octave is free software; you can redistribute it and/or modify it
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
8 dnl under the terms of the GNU General Public License as published by the
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
9 dnl Free Software Foundation; either version 2, or (at your option) any
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
10 dnl later version.
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
11 dnl
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
12 dnl Octave is distributed in the hope that it will be useful, but WITHOUT
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
13 dnl ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
14 dnl FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
15 dnl for more details.
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
16 dnl
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
17 dnl You should have received a copy of the GNU General Public License
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
18 dnl along with Octave; see the file COPYING. If not, write to the Free
2548
b50cc31aa0cd [project @ 1996-11-20 06:43:26 by jwe]
jwe
parents: 2491
diff changeset
19 dnl Software Foundation, 59 Temple Place - Suite 330, Boston, MA
b50cc31aa0cd [project @ 1996-11-20 06:43:26 by jwe]
jwe
parents: 2491
diff changeset
20 dnl 02111-1307, USA.
b50cc31aa0cd [project @ 1996-11-20 06:43:26 by jwe]
jwe
parents: 2491
diff changeset
21 dnl
1232
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
22 dnl See what libraries are used by the C++ compiler. Need this for
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
23 dnl dynamic linking.
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
24 dnl
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
25 dnl Write a minimal program and compile it with -v. I don't know what
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
26 dnl to do if your compiler doesn't have -v...
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
27 dnl
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
28 dnl OCTAVE_CXXLIBS()
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
29 AC_DEFUN(OCTAVE_CXXLIBS,
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
30 [AC_REQUIRE([AC_PROG_CXXCPP])
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
31 AC_REQUIRE([AC_PROG_CXX])
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
32 AC_MSG_CHECKING([for C++ libraries])
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
33 AC_CACHE_VAL(octave_cv_cxxlibs,
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
34 [AC_LANG_SAVE
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
35 AC_LANG_CPLUSPLUS
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
36 XCXXFLAGS="$CXXFLAGS"
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
37 CXXFLAGS="$XCXXFLAGS -v"
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
38 export CXXFLAGS
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
39 dnl
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
40 dnl This may be too tricky and break with future autoconf releases,
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
41 dnl but it works with version 2.3, even with the Ultrix /bin/sh.
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
42 dnl
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
43 dnl I don't think that stripping commas out of this will ever hurt.
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
44 dnl
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
45 coutput=`( AC_TRY_LINK([], [], []) ) AC_FD_CC>&1 | sed 's/,/ /g'`
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
46 CXXFLAGS="$XCXXFLAGS"
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
47 AC_LANG_RESTORE
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
48 changequote(, )dnl
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
49 dnl
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
50 octave_cv_cxxlibs=
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
51 lflags=
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
52 want_arg=
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
53 dnl
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
54 for arg in $coutput; do
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
55 if test x$want_arg = x; then
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
56 want_arg=
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
57 case $arg in
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
58 /*.a)
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
59 exists=false
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
60 for f in $lflags; do
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
61 if test x$arg = x$f; then
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
62 exists=true
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
63 fi
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
64 done
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
65 if $exists; then
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
66 arg=
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
67 else
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
68 lflags="$lflags $arg"
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
69 fi
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
70 ;;
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
71 -[LR]*)
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
72 exists=false
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
73 for f in $lflags; do
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
74 if test x$arg = x$f; then
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
75 exists=true
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
76 fi
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
77 done
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
78 ;;
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
79 -l*)
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
80 if test x$arg = x-lang-c++; then
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
81 arg=
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
82 else
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
83 lflags="$lflags $arg"
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
84 fi
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
85 ;;
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
86 -u)
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
87 want_arg=$arg
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
88 ;;
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
89 *)
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
90 arg=
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
91 ;;
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
92 esac
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
93 else
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
94 want_arg=
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
95 fi
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
96 if test x$arg != x; then
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
97 octave_cv_cxxlibs="$octave_cv_cxxlibs $arg"
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
98 fi
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
99 done
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
100 dnl
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
101 changequote([, ])])
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
102 AC_MSG_RESULT([$octave_cv_cxxlibs])
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
103 CXXLIBS="$octave_cv_cxxlibs"
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
104 AC_SUBST(CXXLIBS)])
2548
b50cc31aa0cd [project @ 1996-11-20 06:43:26 by jwe]
jwe
parents: 2491
diff changeset
105 dnl
1232
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
106 dnl See what libraries are used by the Fortran compiler.
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
107 dnl
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
108 dnl Write a minimal program and compile it with -v. I don't know what
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
109 dnl to do if your compiler doesn't have -v...
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
110 dnl
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
111 dnl OCTAVE_FLIBS()
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
112 AC_DEFUN(OCTAVE_FLIBS,
2039
3fbea677ee9d [project @ 1996-03-27 15:05:01 by jwe]
jwe
parents: 1953
diff changeset
113 [AC_MSG_CHECKING([for Fortran libraries])
1232
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
114 AC_CACHE_VAL(octave_cv_flibs,
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
115 [changequote(, )dnl
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
116 echo " END" > conftest.f
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
117 foutput=`${F77-f77} -v -o conftest conftest.f 2>&1`
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
118 dnl
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
119 dnl The easiest thing to do for xlf output is to replace all the commas
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
120 dnl with spaces. Try to only do that if the output is really from xlf,
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
121 dnl since doing that causes problems on other systems.
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
122 dnl
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
123 xlf_p=`echo $foutput | grep xlfentry`
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
124 if test -n "$xlf_p"; then
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
125 foutput=`echo $foutput | sed 's/,/ /g'`
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
126 fi
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
127 dnl
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
128 ld_run_path=`echo $foutput | \
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
129 sed -n -e 's/.*\(LD_RUN_PATH *= *[^ ]*\).*/\1/p' | \
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
130 sed -e 's/LD_RUN_PATH *= *//'`
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
131 dnl
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
132 dnl We are only supposed to find this on Solaris systems, and this
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
133 dnl substitution is probably only going to work with gcc on those
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
134 dnl systems...
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
135 dnl
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
136 if test -n "$ld_run_path"; then
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
137 ld_run_path="-Xlinker -R -Xlinker $ld_run_path"
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
138 fi
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
139 dnl
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
140 flibs=
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
141 lflags=
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
142 dnl
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
143 dnl If want_arg is set, we know we want the arg to be added to the list,
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
144 dnl so we don't have to examine it.
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
145 dnl
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
146 want_arg=
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
147 dnl
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
148 for arg in $foutput; do
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
149 old_want_arg=$want_arg
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
150 want_arg=
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
151 case "$old_want_arg" in
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
152 '')
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
153 case $arg in
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
154 /*.a | /*values-X*.o)
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
155 exists=false
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
156 for f in $lflags; do
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
157 if test x$arg = x$f; then
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
158 exists=true
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
159 fi
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
160 done
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
161 if $exists; then
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
162 arg=
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
163 else
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
164 lflags="$lflags $arg"
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
165 fi
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
166 ;;
2351
af7790a4bb19 [project @ 1996-07-31 02:53:09 by jwe]
jwe
parents: 2218
diff changeset
167 -bI:*)
af7790a4bb19 [project @ 1996-07-31 02:53:09 by jwe]
jwe
parents: 2218
diff changeset
168 exists=false
af7790a4bb19 [project @ 1996-07-31 02:53:09 by jwe]
jwe
parents: 2218
diff changeset
169 for f in $lflags; do
af7790a4bb19 [project @ 1996-07-31 02:53:09 by jwe]
jwe
parents: 2218
diff changeset
170 if test x$arg = x$f; then
af7790a4bb19 [project @ 1996-07-31 02:53:09 by jwe]
jwe
parents: 2218
diff changeset
171 exists=true
af7790a4bb19 [project @ 1996-07-31 02:53:09 by jwe]
jwe
parents: 2218
diff changeset
172 fi
af7790a4bb19 [project @ 1996-07-31 02:53:09 by jwe]
jwe
parents: 2218
diff changeset
173 done
af7790a4bb19 [project @ 1996-07-31 02:53:09 by jwe]
jwe
parents: 2218
diff changeset
174 if $exists; then
af7790a4bb19 [project @ 1996-07-31 02:53:09 by jwe]
jwe
parents: 2218
diff changeset
175 arg=
af7790a4bb19 [project @ 1996-07-31 02:53:09 by jwe]
jwe
parents: 2218
diff changeset
176 else
af7790a4bb19 [project @ 1996-07-31 02:53:09 by jwe]
jwe
parents: 2218
diff changeset
177 lflags="$lflags -Xlinker $arg"
af7790a4bb19 [project @ 1996-07-31 02:53:09 by jwe]
jwe
parents: 2218
diff changeset
178 fi
af7790a4bb19 [project @ 1996-07-31 02:53:09 by jwe]
jwe
parents: 2218
diff changeset
179 ;;
1232
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
180 -lang*)
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
181 arg=
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
182 ;;
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
183 -[lLR])
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
184 want_arg=$arg
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
185 arg=
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
186 ;;
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
187 -[lLR]*)
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
188 exists=false
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
189 for f in $lflags; do
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
190 if test x$arg = x$f; then
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
191 exists=true
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
192 fi
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
193 done
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
194 if $exists || test x$arg = x-lm -o x$arg = x-lc; then
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
195 arg=
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
196 else
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
197 lflags="$lflags $arg"
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
198 fi
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
199 ;;
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
200 -u)
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
201 want_arg=$arg
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
202 ;;
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
203 -Y)
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
204 want_arg=$arg
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
205 arg=
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
206 ;;
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
207 *)
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
208 arg=
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
209 ;;
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
210 esac
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
211 ;;
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
212 -[lLR])
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
213 arg="$old_want_arg $arg"
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
214 ;;
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
215 -Y)
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
216 dnl
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
217 dnl Should probably try to ensure unique directory options here too.
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
218 dnl This probably only applies to Solaris systems, and then will only
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
219 dnl work with gcc...
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
220 dnl
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
221 arg=`echo $arg | sed -e 's%^P,%%'`
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
222 SAVE_IFS=$IFS
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
223 IFS=:
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
224 list=
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
225 for elt in $arg; do
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
226 list="$list -L $elt"
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
227 done
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
228 IFS=$SAVE_IFS
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
229 arg="$list"
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
230 ;;
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
231 esac
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
232 dnl
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
233 if test -n "$arg"; then
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
234 flibs="$flibs $arg"
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
235 fi
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
236 done
1953
b7acdab21240 [project @ 1996-02-14 18:21:44 by jwe]
jwe
parents: 1885
diff changeset
237 if test -n "$ld_run_path"; then
b7acdab21240 [project @ 1996-02-14 18:21:44 by jwe]
jwe
parents: 1885
diff changeset
238 flibs_result="$ld_run_path $flibs"
b7acdab21240 [project @ 1996-02-14 18:21:44 by jwe]
jwe
parents: 1885
diff changeset
239 else
b7acdab21240 [project @ 1996-02-14 18:21:44 by jwe]
jwe
parents: 1885
diff changeset
240 flibs_result="$flibs"
b7acdab21240 [project @ 1996-02-14 18:21:44 by jwe]
jwe
parents: 1885
diff changeset
241 fi
1232
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
242 changequote([, ])dnl
1953
b7acdab21240 [project @ 1996-02-14 18:21:44 by jwe]
jwe
parents: 1885
diff changeset
243 octave_cv_flibs="$flibs_result"])
1232
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
244 FLIBS="$octave_cv_flibs"
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
245 AC_MSG_RESULT([$FLIBS])])
2548
b50cc31aa0cd [project @ 1996-11-20 06:43:26 by jwe]
jwe
parents: 2491
diff changeset
246 dnl
1257
345c21405c57 [project @ 1995-04-12 01:31:50 by jwe]
jwe
parents: 1232
diff changeset
247 dnl See if the Fortran compiler uses uppercase external names.
345c21405c57 [project @ 1995-04-12 01:31:50 by jwe]
jwe
parents: 1232
diff changeset
248 dnl
345c21405c57 [project @ 1995-04-12 01:31:50 by jwe]
jwe
parents: 1232
diff changeset
249 dnl OCTAVE_F77_UPPERCASE_NAMES()
345c21405c57 [project @ 1995-04-12 01:31:50 by jwe]
jwe
parents: 1232
diff changeset
250 AC_DEFUN(OCTAVE_F77_UPPERCASE_NAMES,
345c21405c57 [project @ 1995-04-12 01:31:50 by jwe]
jwe
parents: 1232
diff changeset
251 [AC_MSG_CHECKING([whether $F77 uses uppercase external names])
345c21405c57 [project @ 1995-04-12 01:31:50 by jwe]
jwe
parents: 1232
diff changeset
252 AC_CACHE_VAL(octave_cv_f77_uppercase_names,
345c21405c57 [project @ 1995-04-12 01:31:50 by jwe]
jwe
parents: 1232
diff changeset
253 [octave_cv_f77_uppercase_names=no
345c21405c57 [project @ 1995-04-12 01:31:50 by jwe]
jwe
parents: 1232
diff changeset
254 cat > conftest.f <<EOF
345c21405c57 [project @ 1995-04-12 01:31:50 by jwe]
jwe
parents: 1232
diff changeset
255 subroutine xxyyzz ()
345c21405c57 [project @ 1995-04-12 01:31:50 by jwe]
jwe
parents: 1232
diff changeset
256 return
345c21405c57 [project @ 1995-04-12 01:31:50 by jwe]
jwe
parents: 1232
diff changeset
257 end
345c21405c57 [project @ 1995-04-12 01:31:50 by jwe]
jwe
parents: 1232
diff changeset
258 EOF
345c21405c57 [project @ 1995-04-12 01:31:50 by jwe]
jwe
parents: 1232
diff changeset
259 if ${F77-f77} -c conftest.f 1>&AC_FD_CC 2>&AC_FD_CC; then
345c21405c57 [project @ 1995-04-12 01:31:50 by jwe]
jwe
parents: 1232
diff changeset
260 if test "`${NM-nm} conftest.o | grep XXYYZZ`" != ""; then
345c21405c57 [project @ 1995-04-12 01:31:50 by jwe]
jwe
parents: 1232
diff changeset
261 octave_cv_f77_uppercase_names=yes
345c21405c57 [project @ 1995-04-12 01:31:50 by jwe]
jwe
parents: 1232
diff changeset
262 fi
345c21405c57 [project @ 1995-04-12 01:31:50 by jwe]
jwe
parents: 1232
diff changeset
263 fi])
345c21405c57 [project @ 1995-04-12 01:31:50 by jwe]
jwe
parents: 1232
diff changeset
264 AC_MSG_RESULT([$octave_cv_f77_uppercase_names])
345c21405c57 [project @ 1995-04-12 01:31:50 by jwe]
jwe
parents: 1232
diff changeset
265 if test "$octave_cv_f77_uppercase_names" = yes; then
345c21405c57 [project @ 1995-04-12 01:31:50 by jwe]
jwe
parents: 1232
diff changeset
266 AC_DEFINE(F77_UPPERCASE_NAMES, 1)
345c21405c57 [project @ 1995-04-12 01:31:50 by jwe]
jwe
parents: 1232
diff changeset
267 fi])
2548
b50cc31aa0cd [project @ 1996-11-20 06:43:26 by jwe]
jwe
parents: 2491
diff changeset
268 dnl
1232
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
269 dnl See if the Fortran compiler appends underscores to external names.
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
270 dnl
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
271 dnl OCTAVE_F77_APPEND_UNDERSCORE()
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
272 AC_DEFUN(OCTAVE_F77_APPEND_UNDERSCORE,
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
273 [AC_MSG_CHECKING([whether $F77 appends underscores to external names])
1257
345c21405c57 [project @ 1995-04-12 01:31:50 by jwe]
jwe
parents: 1232
diff changeset
274 AC_REQUIRE([OCTAVE_F77_UPPERCASE_NAMES])
1232
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
275 AC_CACHE_VAL(octave_cv_f77_append_underscore,
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
276 [octave_cv_f77_append_underscore=no
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
277 cat > conftest.f <<EOF
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
278 subroutine xxyyzz ()
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
279 return
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
280 end
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
281 EOF
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
282 if ${F77-f77} -c conftest.f 1>&AC_FD_CC 2>&AC_FD_CC; then
1257
345c21405c57 [project @ 1995-04-12 01:31:50 by jwe]
jwe
parents: 1232
diff changeset
283 if test "$octave_cv_f77_uppercase_names" = yes; then
345c21405c57 [project @ 1995-04-12 01:31:50 by jwe]
jwe
parents: 1232
diff changeset
284 if test "`${NM-nm} conftest.o | grep XXYYZZ_`" != ""; then
345c21405c57 [project @ 1995-04-12 01:31:50 by jwe]
jwe
parents: 1232
diff changeset
285 octave_cv_f77_append_underscore=yes
345c21405c57 [project @ 1995-04-12 01:31:50 by jwe]
jwe
parents: 1232
diff changeset
286 fi
345c21405c57 [project @ 1995-04-12 01:31:50 by jwe]
jwe
parents: 1232
diff changeset
287 else
345c21405c57 [project @ 1995-04-12 01:31:50 by jwe]
jwe
parents: 1232
diff changeset
288 if test "`${NM-nm} conftest.o | grep xxyyzz_`" != ""; then
345c21405c57 [project @ 1995-04-12 01:31:50 by jwe]
jwe
parents: 1232
diff changeset
289 octave_cv_f77_append_underscore=yes
345c21405c57 [project @ 1995-04-12 01:31:50 by jwe]
jwe
parents: 1232
diff changeset
290 fi
1232
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
291 fi
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
292 fi])
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
293 AC_MSG_RESULT([$octave_cv_f77_append_underscore])
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
294 if test "$octave_cv_f77_append_underscore" = yes; then
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
295 AC_DEFINE(F77_APPEND_UNDERSCORE, 1)
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
296 fi])
2548
b50cc31aa0cd [project @ 1996-11-20 06:43:26 by jwe]
jwe
parents: 2491
diff changeset
297 dnl
1232
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
298 dnl See if the Fortran compiler is compatible with f2c.
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
299 dnl
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
300 dnl Write a minimal program, compile it, and see if it works as
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
301 dnl expected.
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
302 dnl
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
303 dnl OCTAVE_F2C_F77_COMPAT()
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
304 AC_DEFUN(OCTAVE_F2C_F77_COMPAT,
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
305 [AC_REQUIRE([OCTAVE_FLIBS])
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
306 AC_REQUIRE([OCTAVE_F77_APPEND_UNDERSCORE])
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
307 AC_MSG_CHECKING([$F77/f2c compatibility])
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
308 AC_CACHE_VAL(octave_cv_f2c_f77_compat,
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
309 [trap 'rm -f ftest* ctest* core; exit 1' 1 3 15
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
310 octave_cv_f2c_f77_compat=no
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
311 cat > ftest.f <<EOF
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
312 INTEGER FUNCTION FORSUB (C, D)
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
313 CHARACTER *(*) C
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
314 INTEGER L
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
315 DOUBLE PRECISION D
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
316 L = LEN (C)
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
317 WRITE (*, '(A,1X,I2)') C(1:L), INT (D)
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
318 FORSUB = 1
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
319 RETURN
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
320 END
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
321 EOF
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
322 ${F77-f77} -c ftest.f 1>&AC_FD_CC 2>&AC_FD_CC
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
323 dnl
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
324 changequote(, )
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
325 cat > ctest.c <<EOF
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
326 #include "confdefs.h"
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
327 static char s[14];
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
328 int main ()
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
329 {
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
330 double d = 10.0;
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
331 int len;
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
332 strcpy (s, "FOO-I-HITHERE");
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
333 len = strlen (s);
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
334 #ifdef F77_APPEND_UNDERSCORE
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
335 return (! forsub_ (s, &d, len));
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
336 #else
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
337 return (! forsub (s, &d, len));
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
338 #endif
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
339 }
2218
945528d1f7fb [project @ 1996-05-16 16:49:46 by jwe]
jwe
parents: 2126
diff changeset
340 #if defined (sun)
1232
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
341 int MAIN_ () { return 0; }
2126
d5f574877f59 [project @ 1996-05-12 10:31:32 by jwe]
jwe
parents: 2125
diff changeset
342 #elif defined (linux) && defined (__ELF__)
d5f574877f59 [project @ 1996-05-12 10:31:32 by jwe]
jwe
parents: 2125
diff changeset
343 int MAIN__ () { return 0; }
1232
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
344 #endif
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
345 EOF
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
346 changequote([, ])
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
347 dnl
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
348 if ${CC-cc} -c ctest.c 1>&AC_FD_CC 2>&AC_FD_CC; then
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
349 if ${CC-cc} -o ctest ctest.o ftest.o $FLIBS -lm 1>&AC_FD_CC 2>&AC_FD_CC; then
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
350 ctest_output=`./ctest 2>&1`
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
351 status=$?
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
352 if test $status -eq 0 && test "$ctest_output" = "FOO-I-HITHERE 10"; then
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
353 octave_cv_f2c_f77_compat=yes
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
354 fi
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
355 fi
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
356 fi])
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
357 rm -f ftest* ctest* core
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
358 AC_MSG_RESULT([$octave_cv_f2c_f77_compat])])
2548
b50cc31aa0cd [project @ 1996-11-20 06:43:26 by jwe]
jwe
parents: 2491
diff changeset
359 dnl
b50cc31aa0cd [project @ 1996-11-20 06:43:26 by jwe]
jwe
parents: 2491
diff changeset
360 dnl See if struct group has a gr_passwd field.
b50cc31aa0cd [project @ 1996-11-20 06:43:26 by jwe]
jwe
parents: 2491
diff changeset
361 dnl
b50cc31aa0cd [project @ 1996-11-20 06:43:26 by jwe]
jwe
parents: 2491
diff changeset
362 AC_DEFUN(OCTAVE_STRUCT_GR_PASSWD,
b50cc31aa0cd [project @ 1996-11-20 06:43:26 by jwe]
jwe
parents: 2491
diff changeset
363 [AC_CACHE_CHECK([for gr_passwd in struct group], octave_cv_struct_gr_passwd,
b50cc31aa0cd [project @ 1996-11-20 06:43:26 by jwe]
jwe
parents: 2491
diff changeset
364 [AC_TRY_COMPILE([#include <sys/types.h>
b50cc31aa0cd [project @ 1996-11-20 06:43:26 by jwe]
jwe
parents: 2491
diff changeset
365 #include <grp.h>], [struct group s; s.gr_passwd;],
b50cc31aa0cd [project @ 1996-11-20 06:43:26 by jwe]
jwe
parents: 2491
diff changeset
366 octave_cv_struct_gr_passwd=yes, octave_cv_struct_gr_passwd=no)])
b50cc31aa0cd [project @ 1996-11-20 06:43:26 by jwe]
jwe
parents: 2491
diff changeset
367 if test $octave_cv_struct_gr_passwd = yes; then
b50cc31aa0cd [project @ 1996-11-20 06:43:26 by jwe]
jwe
parents: 2491
diff changeset
368 AC_DEFINE(HAVE_GR_PASSWD)
b50cc31aa0cd [project @ 1996-11-20 06:43:26 by jwe]
jwe
parents: 2491
diff changeset
369 fi
b50cc31aa0cd [project @ 1996-11-20 06:43:26 by jwe]
jwe
parents: 2491
diff changeset
370 ])
b50cc31aa0cd [project @ 1996-11-20 06:43:26 by jwe]
jwe
parents: 2491
diff changeset
371 dnl
1707
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
372 dnl The following test is from Karl Berry's Kpathseach library. I'm
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
373 dnl including it here in case we someday want to make the use of
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
374 dnl kpathsea optional.
1708
0d952cd2ea74 [project @ 1996-01-08 00:45:34 by jwe]
jwe
parents: 1707
diff changeset
375 dnl
0d952cd2ea74 [project @ 1996-01-08 00:45:34 by jwe]
jwe
parents: 1707
diff changeset
376 dnl Some BSD putenv's, e.g., FreeBSD, do malloc/free's on the environment.
0d952cd2ea74 [project @ 1996-01-08 00:45:34 by jwe]
jwe
parents: 1707
diff changeset
377 dnl This test program is due to Mike Hibler <mike@cs.utah.edu>.
0d952cd2ea74 [project @ 1996-01-08 00:45:34 by jwe]
jwe
parents: 1707
diff changeset
378 dnl We don't actually need to run this if we don't have putenv, but it
0d952cd2ea74 [project @ 1996-01-08 00:45:34 by jwe]
jwe
parents: 1707
diff changeset
379 dnl doesn't hurt.
0d952cd2ea74 [project @ 1996-01-08 00:45:34 by jwe]
jwe
parents: 1707
diff changeset
380 AC_DEFUN(OCTAVE_SMART_PUTENV,
0d952cd2ea74 [project @ 1996-01-08 00:45:34 by jwe]
jwe
parents: 1707
diff changeset
381 [AC_MSG_CHECKING(whether putenv uses malloc)
1707
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
382 AC_CACHE_VAL(octave_cv_func_putenv_malloc,
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
383 [AC_TRY_RUN([
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
384 #define VAR "YOW_VAR"
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
385 #define STRING1 "GabbaGabbaHey"
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
386 #define STRING2 "Yow!!" /* should be shorter than STRING1 */
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
387 extern char *getenv (); /* in case char* and int don't mix gracefully */
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
388 main ()
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
389 {
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
390 char *str1, *rstr1, *str2, *rstr2;
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
391 str1 = getenv (VAR);
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
392 if (str1)
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
393 exit (1);
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
394 str1 = malloc (strlen (VAR) + 1 + strlen (STRING1) + 1);
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
395 if (str1 == 0)
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
396 exit (2);
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
397 strcpy (str1, VAR);
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
398 strcat (str1, "=");
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
399 strcat (str1, STRING1);
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
400 if (putenv (str1) < 0)
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
401 exit (3);
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
402 rstr1 = getenv (VAR);
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
403 if (rstr1 == 0)
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
404 exit (4);
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
405 rstr1 -= strlen (VAR) + 1;
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
406 if (strncmp (rstr1, VAR, strlen (VAR)))
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
407 exit (5);
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
408 str2 = malloc (strlen (VAR) + 1 + strlen (STRING2) + 1);
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
409 if (str2 == 0 || str1 == str2)
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
410 exit (6);
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
411 strcpy (str2, VAR);
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
412 strcat (str2, "=");
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
413 strcat (str2, STRING2);
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
414 if (putenv (str2) < 0)
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
415 exit (7);
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
416 rstr2 = getenv (VAR);
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
417 if (rstr2 == 0)
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
418 exit (8);
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
419 rstr2 -= strlen (VAR) + 1;
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
420 #if 0
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
421 printf ("rstr1=0x%x, rstr2=0x%x\n", rstr1, rstr2);
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
422 /*
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
423 * If string from first call was reused for the second call,
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
424 * you had better not do a free on the first string!
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
425 */
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
426 if (rstr1 == rstr2)
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
427 printf ("#define SMART_PUTENV\n");
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
428 else
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
429 printf ("#undef SMART_PUTENV\n");
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
430 #endif
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
431 exit (rstr1 == rstr2 ? 0 : 1);
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
432 }], octave_cv_func_putenv_malloc=yes, octave_cv_func_putenv_malloc=no,
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
433 octave_cv_func_putenv_malloc=no)])dnl
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
434 AC_MSG_RESULT($octave_cv_func_putenv_malloc)
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
435 if test $octave_cv_func_putenv_malloc = yes; then
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
436 AC_DEFINE(SMART_PUTENV)
1708
0d952cd2ea74 [project @ 1996-01-08 00:45:34 by jwe]
jwe
parents: 1707
diff changeset
437 fi])
1788
b7de2fd2be6b [project @ 1996-01-24 20:47:58 by jwe]
jwe
parents: 1708
diff changeset
438 dnl
b7de2fd2be6b [project @ 1996-01-24 20:47:58 by jwe]
jwe
parents: 1708
diff changeset
439 dnl This is a GNU libc invention, and this check is also from Karl
b7de2fd2be6b [project @ 1996-01-24 20:47:58 by jwe]
jwe
parents: 1708
diff changeset
440 dnl Berry's kpathsea library.
b7de2fd2be6b [project @ 1996-01-24 20:47:58 by jwe]
jwe
parents: 1708
diff changeset
441 dnl
b7de2fd2be6b [project @ 1996-01-24 20:47:58 by jwe]
jwe
parents: 1708
diff changeset
442 AC_DEFUN(OCTAVE_PROGRAM_INVOCATION_NAME,
b7de2fd2be6b [project @ 1996-01-24 20:47:58 by jwe]
jwe
parents: 1708
diff changeset
443 [AC_MSG_CHECKING(whether program_invocation_name is predefined)
b7de2fd2be6b [project @ 1996-01-24 20:47:58 by jwe]
jwe
parents: 1708
diff changeset
444 AC_CACHE_VAL(octave_cv_var_program_inv_name,
b7de2fd2be6b [project @ 1996-01-24 20:47:58 by jwe]
jwe
parents: 1708
diff changeset
445 [AC_TRY_LINK(, [main() { program_invocation_name = "love"; }],
b7de2fd2be6b [project @ 1996-01-24 20:47:58 by jwe]
jwe
parents: 1708
diff changeset
446 octave_cv_var_program_inv_name=yes, octave_cv_var_program_inv_name=no)])dnl
b7de2fd2be6b [project @ 1996-01-24 20:47:58 by jwe]
jwe
parents: 1708
diff changeset
447 AC_MSG_RESULT($octave_cv_var_program_inv_name)
b7de2fd2be6b [project @ 1996-01-24 20:47:58 by jwe]
jwe
parents: 1708
diff changeset
448 if test $octave_cv_var_program_inv_name = yes; then
b7de2fd2be6b [project @ 1996-01-24 20:47:58 by jwe]
jwe
parents: 1708
diff changeset
449 AC_DEFINE(HAVE_PROGRAM_INVOCATION_NAME)
b7de2fd2be6b [project @ 1996-01-24 20:47:58 by jwe]
jwe
parents: 1708
diff changeset
450 fi])
2469
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
451 dnl
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
452 dnl These two checks for signal functions were originally part of the
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
453 dnl aclocal.m4 file distributed with bash 2.0.
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
454 dnl
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
455 dnl Check type of signal routines (posix, 4.2bsd, 4.1bsd or v7)
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
456 AC_DEFUN(OCTAVE_SIGNAL_CHECK,
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
457 [AC_REQUIRE([AC_TYPE_SIGNAL])
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
458 AC_MSG_CHECKING(for type of signal functions)
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
459 AC_CACHE_VAL(octave_cv_signal_vintage,
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
460 [
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
461 AC_TRY_LINK([#include <signal.h>],[
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
462 sigset_t ss;
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
463 struct sigaction sa;
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
464 sigemptyset(&ss); sigsuspend(&ss);
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
465 sigaction(SIGINT, &sa, (struct sigaction *) 0);
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
466 sigprocmask(SIG_BLOCK, &ss, (sigset_t *) 0);
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
467 ], octave_cv_signal_vintage=posix,
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
468 [
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
469 AC_TRY_LINK([#include <signal.h>], [
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
470 int mask = sigmask(SIGINT);
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
471 sigsetmask(mask); sigblock(mask); sigpause(mask);
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
472 ], octave_cv_signal_vintage=4.2bsd,
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
473 [
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
474 AC_TRY_LINK([
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
475 #include <signal.h>
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
476 RETSIGTYPE foo() { }], [
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
477 int mask = sigmask(SIGINT);
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
478 sigset(SIGINT, foo); sigrelse(SIGINT);
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
479 sighold(SIGINT); sigpause(SIGINT);
2491
d47834a272c2 [project @ 1996-11-08 22:44:29 by jwe]
jwe
parents: 2469
diff changeset
480 ], octave_cv_signal_vintage=svr3, octave_cv_signal_vintage=v7
2469
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
481 )]
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
482 )]
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
483 )
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
484 ])
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
485 AC_MSG_RESULT($octave_cv_signal_vintage)
2491
d47834a272c2 [project @ 1996-11-08 22:44:29 by jwe]
jwe
parents: 2469
diff changeset
486 if test "$octave_cv_signal_vintage" = posix; then
2469
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
487 AC_DEFINE(HAVE_POSIX_SIGNALS)
2491
d47834a272c2 [project @ 1996-11-08 22:44:29 by jwe]
jwe
parents: 2469
diff changeset
488 elif test "$octave_cv_signal_vintage" = "4.2bsd"; then
2469
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
489 AC_DEFINE(HAVE_BSD_SIGNALS)
2491
d47834a272c2 [project @ 1996-11-08 22:44:29 by jwe]
jwe
parents: 2469
diff changeset
490 elif test "$octave_cv_signal_vintage" = svr3; then
2469
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
491 AC_DEFINE(HAVE_USG_SIGHOLD)
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
492 fi
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
493 ])
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
494 dnl
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
495 AC_DEFUN(OCTAVE_REINSTALL_SIGHANDLERS,
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
496 [AC_REQUIRE([AC_TYPE_SIGNAL])
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
497 AC_REQUIRE([OCTAVE_SIGNAL_CHECK])
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
498 AC_MSG_CHECKING([if signal handlers must be reinstalled when invoked])
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
499 AC_CACHE_VAL(octave_cv_must_reinstall_sighandlers,
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
500 [AC_TRY_RUN([
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
501 #include <signal.h>
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
502 #ifdef HAVE_UNISTD_H
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
503 #include <unistd.h>
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
504 #endif
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
505 typedef RETSIGTYPE sigfunc();
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
506 int nsigint;
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
507 #ifdef HAVE_POSIX_SIGNALS
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
508 sigfunc *
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
509 set_signal_handler(sig, handler)
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
510 int sig;
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
511 sigfunc *handler;
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
512 {
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
513 struct sigaction act, oact;
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
514 act.sa_handler = handler;
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
515 act.sa_flags = 0;
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
516 sigemptyset (&act.sa_mask);
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
517 sigemptyset (&oact.sa_mask);
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
518 sigaction (sig, &act, &oact);
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
519 return (oact.sa_handler);
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
520 }
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
521 #else
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
522 #define set_signal_handler(s, h) signal(s, h)
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
523 #endif
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
524 RETSIGTYPE
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
525 sigint(s)
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
526 int s;
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
527 {
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
528 nsigint++;
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
529 }
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
530 main()
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
531 {
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
532 nsigint = 0;
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
533 set_signal_handler(SIGINT, sigint);
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
534 kill((int)getpid(), SIGINT);
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
535 kill((int)getpid(), SIGINT);
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
536 exit(nsigint != 2);
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
537 }
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
538 ], octave_cv_must_reinstall_sighandlers=no, octave_cv_must_reinstall_sighandlers=yes,
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
539 AC_MSG_ERROR(cannot check signal handling if cross compiling))])
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
540 AC_MSG_RESULT($octave_cv_must_reinstall_sighandlers)
2491
d47834a272c2 [project @ 1996-11-08 22:44:29 by jwe]
jwe
parents: 2469
diff changeset
541 if test "$octave_cv_must_reinstall_sighandlers" = yes; then
2469
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
542 AC_DEFINE(MUST_REINSTALL_SIGHANDLERS)
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
543 fi
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
544 ])