annotate aclocal.m4 @ 4162:bcdf1c264e08

[project @ 2002-11-10 00:34:37 by jwe]
author jwe
date Sun, 10 Nov 2002 00:34:37 +0000
parents 040314da2fec
children 5719210fff4c
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
2847
8b262e771614 [project @ 1997-03-27 16:18:26 by jwe]
jwe
parents: 2831
diff changeset
3 dnl Copyright (C) 1996, 1997 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
2813
d45d48b3dcde [project @ 1997-03-13 22:39:15 by jwe]
jwe
parents: 2641
diff changeset
22 dnl ----------------------------------------------------------------------
d45d48b3dcde [project @ 1997-03-13 22:39:15 by jwe]
jwe
parents: 2641
diff changeset
23 dnl
d45d48b3dcde [project @ 1997-03-13 22:39:15 by jwe]
jwe
parents: 2641
diff changeset
24 dnl Figure out the hardware-vendor-os info.
d45d48b3dcde [project @ 1997-03-13 22:39:15 by jwe]
jwe
parents: 2641
diff changeset
25 dnl
d45d48b3dcde [project @ 1997-03-13 22:39:15 by jwe]
jwe
parents: 2641
diff changeset
26 dnl OCTAVE_HOST_TYPE
d45d48b3dcde [project @ 1997-03-13 22:39:15 by jwe]
jwe
parents: 2641
diff changeset
27 AC_DEFUN(OCTAVE_HOST_TYPE,
d45d48b3dcde [project @ 1997-03-13 22:39:15 by jwe]
jwe
parents: 2641
diff changeset
28 [AC_CANONICAL_HOST
d45d48b3dcde [project @ 1997-03-13 22:39:15 by jwe]
jwe
parents: 2641
diff changeset
29 if test -z "$host"; then
d45d48b3dcde [project @ 1997-03-13 22:39:15 by jwe]
jwe
parents: 2641
diff changeset
30 host=unknown
d45d48b3dcde [project @ 1997-03-13 22:39:15 by jwe]
jwe
parents: 2641
diff changeset
31 fi
d45d48b3dcde [project @ 1997-03-13 22:39:15 by jwe]
jwe
parents: 2641
diff changeset
32 canonical_host_type=$host
d45d48b3dcde [project @ 1997-03-13 22:39:15 by jwe]
jwe
parents: 2641
diff changeset
33 if test "$host" = unknown; then
d45d48b3dcde [project @ 1997-03-13 22:39:15 by jwe]
jwe
parents: 2641
diff changeset
34 AC_MSG_WARN([configuring Octave for unknown system type
d45d48b3dcde [project @ 1997-03-13 22:39:15 by jwe]
jwe
parents: 2641
diff changeset
35 ])
d45d48b3dcde [project @ 1997-03-13 22:39:15 by jwe]
jwe
parents: 2641
diff changeset
36 fi
3130
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
37 AC_SUBST(canonical_host_type)])
2813
d45d48b3dcde [project @ 1997-03-13 22:39:15 by jwe]
jwe
parents: 2641
diff changeset
38 dnl
d45d48b3dcde [project @ 1997-03-13 22:39:15 by jwe]
jwe
parents: 2641
diff changeset
39 dnl Set default value for a variable and substitute it.
d45d48b3dcde [project @ 1997-03-13 22:39:15 by jwe]
jwe
parents: 2641
diff changeset
40 dnl
d45d48b3dcde [project @ 1997-03-13 22:39:15 by jwe]
jwe
parents: 2641
diff changeset
41 dnl OCTAVE_SET_DEFAULT
d45d48b3dcde [project @ 1997-03-13 22:39:15 by jwe]
jwe
parents: 2641
diff changeset
42 AC_DEFUN(OCTAVE_SET_DEFAULT,
3176
fccab8e7d35f [project @ 1998-05-18 20:33:31 by jwe]
jwe
parents: 3174
diff changeset
43 [ifelse($#, 2, [: ${$1=$2}
2813
d45d48b3dcde [project @ 1997-03-13 22:39:15 by jwe]
jwe
parents: 2641
diff changeset
44 ])dnl
d45d48b3dcde [project @ 1997-03-13 22:39:15 by jwe]
jwe
parents: 2641
diff changeset
45 AC_MSG_RESULT([defining $1 to be $$1])
d45d48b3dcde [project @ 1997-03-13 22:39:15 by jwe]
jwe
parents: 2641
diff changeset
46 AC_SUBST($1)])
d45d48b3dcde [project @ 1997-03-13 22:39:15 by jwe]
jwe
parents: 2641
diff changeset
47 dnl
d45d48b3dcde [project @ 1997-03-13 22:39:15 by jwe]
jwe
parents: 2641
diff changeset
48 dnl
d45d48b3dcde [project @ 1997-03-13 22:39:15 by jwe]
jwe
parents: 2641
diff changeset
49 dnl OCTAVE_CHECK_EXCLUSIVE_WITH_OPTIONS
d45d48b3dcde [project @ 1997-03-13 22:39:15 by jwe]
jwe
parents: 2641
diff changeset
50 AC_DEFUN(OCTAVE_CHECK_EXCLUSIVE_WITH_OPTIONS,
d45d48b3dcde [project @ 1997-03-13 22:39:15 by jwe]
jwe
parents: 2641
diff changeset
51 [if test "${with_$1+set}" = set; then
d45d48b3dcde [project @ 1997-03-13 22:39:15 by jwe]
jwe
parents: 2641
diff changeset
52 if test "${with_$2+set}" = set; then
d45d48b3dcde [project @ 1997-03-13 22:39:15 by jwe]
jwe
parents: 2641
diff changeset
53 if test "$with_$2" = no; then
d45d48b3dcde [project @ 1997-03-13 22:39:15 by jwe]
jwe
parents: 2641
diff changeset
54 true
d45d48b3dcde [project @ 1997-03-13 22:39:15 by jwe]
jwe
parents: 2641
diff changeset
55 else
d45d48b3dcde [project @ 1997-03-13 22:39:15 by jwe]
jwe
parents: 2641
diff changeset
56 $3
d45d48b3dcde [project @ 1997-03-13 22:39:15 by jwe]
jwe
parents: 2641
diff changeset
57 fi
d45d48b3dcde [project @ 1997-03-13 22:39:15 by jwe]
jwe
parents: 2641
diff changeset
58 fi
d45d48b3dcde [project @ 1997-03-13 22:39:15 by jwe]
jwe
parents: 2641
diff changeset
59 fi])
d45d48b3dcde [project @ 1997-03-13 22:39:15 by jwe]
jwe
parents: 2641
diff changeset
60 dnl
3130
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
61 dnl Check for ar.
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
62 dnl
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
63 AC_DEFUN(OCTAVE_PROG_AR,
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
64 [if test -z "$AR"; then
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
65 AR=ar
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
66 fi
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
67 AC_SUBST(AR)
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
68
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
69 if test -z "$ARFLAGS"; then
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
70 ARFLAGS="rc"
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
71 fi
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
72 AC_SUBST(ARFLAGS)
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
73 ])
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
74 dnl
2574
cfa9f35fd407 [project @ 1996-12-09 17:30:39 by jwe]
jwe
parents: 2548
diff changeset
75 dnl See if the standard string class has npos as a member.
cfa9f35fd407 [project @ 1996-12-09 17:30:39 by jwe]
jwe
parents: 2548
diff changeset
76 dnl
cfa9f35fd407 [project @ 1996-12-09 17:30:39 by jwe]
jwe
parents: 2548
diff changeset
77 AC_DEFUN(OCTAVE_STRING_NPOS,
cfa9f35fd407 [project @ 1996-12-09 17:30:39 by jwe]
jwe
parents: 2548
diff changeset
78 [AC_CACHE_CHECK([whether including <string> defines NPOS],
cfa9f35fd407 [project @ 1996-12-09 17:30:39 by jwe]
jwe
parents: 2548
diff changeset
79 octave_cv_string_npos,
3888
70ebd3d672a1 [project @ 2002-04-04 01:05:53 by jwe]
jwe
parents: 3887
diff changeset
80 [AC_LANG_PUSH(C++)
2574
cfa9f35fd407 [project @ 1996-12-09 17:30:39 by jwe]
jwe
parents: 2548
diff changeset
81 AC_TRY_COMPILE([#include <string>],
cfa9f35fd407 [project @ 1996-12-09 17:30:39 by jwe]
jwe
parents: 2548
diff changeset
82 [size_t foo = NPOS],
cfa9f35fd407 [project @ 1996-12-09 17:30:39 by jwe]
jwe
parents: 2548
diff changeset
83 octave_cv_string_npos=yes, octave_cv_string_npos=no)])
cfa9f35fd407 [project @ 1996-12-09 17:30:39 by jwe]
jwe
parents: 2548
diff changeset
84 if test $octave_cv_string_npos = no; then
3887
7da18459c08b [project @ 2002-04-04 00:44:21 by jwe]
jwe
parents: 3843
diff changeset
85 AC_DEFINE(NPOS, [std::string::npos], [Define (to string::npos) if <string> doesn't])
2574
cfa9f35fd407 [project @ 1996-12-09 17:30:39 by jwe]
jwe
parents: 2548
diff changeset
86 fi
3888
70ebd3d672a1 [project @ 2002-04-04 01:05:53 by jwe]
jwe
parents: 3887
diff changeset
87 AC_LANG_POP(C++)
2574
cfa9f35fd407 [project @ 1996-12-09 17:30:39 by jwe]
jwe
parents: 2548
diff changeset
88 ])
cfa9f35fd407 [project @ 1996-12-09 17:30:39 by jwe]
jwe
parents: 2548
diff changeset
89 dnl
1707
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
90 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
91 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
92 dnl kpathsea optional.
1708
0d952cd2ea74 [project @ 1996-01-08 00:45:34 by jwe]
jwe
parents: 1707
diff changeset
93 dnl
0d952cd2ea74 [project @ 1996-01-08 00:45:34 by jwe]
jwe
parents: 1707
diff changeset
94 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
95 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
96 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
97 dnl doesn't hurt.
0d952cd2ea74 [project @ 1996-01-08 00:45:34 by jwe]
jwe
parents: 1707
diff changeset
98 AC_DEFUN(OCTAVE_SMART_PUTENV,
0d952cd2ea74 [project @ 1996-01-08 00:45:34 by jwe]
jwe
parents: 1707
diff changeset
99 [AC_MSG_CHECKING(whether putenv uses malloc)
1707
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
100 AC_CACHE_VAL(octave_cv_func_putenv_malloc,
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
101 [AC_TRY_RUN([
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
102 #define VAR "YOW_VAR"
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
103 #define STRING1 "GabbaGabbaHey"
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
104 #define STRING2 "Yow!!" /* should be shorter than STRING1 */
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
105 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
106 main ()
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
107 {
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
108 char *str1, *rstr1, *str2, *rstr2;
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
109 str1 = getenv (VAR);
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
110 if (str1)
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
111 exit (1);
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
112 str1 = malloc (strlen (VAR) + 1 + strlen (STRING1) + 1);
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
113 if (str1 == 0)
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
114 exit (2);
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
115 strcpy (str1, VAR);
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
116 strcat (str1, "=");
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
117 strcat (str1, STRING1);
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
118 if (putenv (str1) < 0)
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
119 exit (3);
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
120 rstr1 = getenv (VAR);
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
121 if (rstr1 == 0)
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
122 exit (4);
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
123 rstr1 -= strlen (VAR) + 1;
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
124 if (strncmp (rstr1, VAR, strlen (VAR)))
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
125 exit (5);
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
126 str2 = malloc (strlen (VAR) + 1 + strlen (STRING2) + 1);
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
127 if (str2 == 0 || str1 == str2)
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
128 exit (6);
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
129 strcpy (str2, VAR);
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
130 strcat (str2, "=");
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
131 strcat (str2, STRING2);
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
132 if (putenv (str2) < 0)
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
133 exit (7);
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
134 rstr2 = getenv (VAR);
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
135 if (rstr2 == 0)
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
136 exit (8);
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
137 rstr2 -= strlen (VAR) + 1;
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
138 #if 0
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
139 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
140 /*
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
141 * 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
142 * 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
143 */
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
144 if (rstr1 == rstr2)
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
145 printf ("#define SMART_PUTENV\n");
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
146 else
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
147 printf ("#undef SMART_PUTENV\n");
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
148 #endif
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
149 exit (rstr1 == rstr2 ? 0 : 1);
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
150 }], 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
151 octave_cv_func_putenv_malloc=no)])dnl
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
152 AC_MSG_RESULT($octave_cv_func_putenv_malloc)
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
153 if test $octave_cv_func_putenv_malloc = yes; then
3887
7da18459c08b [project @ 2002-04-04 00:44:21 by jwe]
jwe
parents: 3843
diff changeset
154 AC_DEFINE(SMART_PUTENV,1,[To quiet autoheader.])
1708
0d952cd2ea74 [project @ 1996-01-08 00:45:34 by jwe]
jwe
parents: 1707
diff changeset
155 fi])
1788
b7de2fd2be6b [project @ 1996-01-24 20:47:58 by jwe]
jwe
parents: 1708
diff changeset
156 dnl
2469
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
157 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
158 dnl aclocal.m4 file distributed with bash 2.0.
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
159 dnl
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
160 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
161 AC_DEFUN(OCTAVE_SIGNAL_CHECK,
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
162 [AC_REQUIRE([AC_TYPE_SIGNAL])
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
163 AC_MSG_CHECKING(for type of signal functions)
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
164 AC_CACHE_VAL(octave_cv_signal_vintage,
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
165 [
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
166 AC_TRY_LINK([#include <signal.h>],[
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
167 sigset_t ss;
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
168 struct sigaction sa;
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
169 sigemptyset(&ss); sigsuspend(&ss);
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
170 sigaction(SIGINT, &sa, (struct sigaction *) 0);
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
171 sigprocmask(SIG_BLOCK, &ss, (sigset_t *) 0);
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
172 ], octave_cv_signal_vintage=posix,
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
173 [
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
174 AC_TRY_LINK([#include <signal.h>], [
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
175 int mask = sigmask(SIGINT);
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
176 sigsetmask(mask); sigblock(mask); sigpause(mask);
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
177 ], octave_cv_signal_vintage=4.2bsd,
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
178 [
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
179 AC_TRY_LINK([
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
180 #include <signal.h>
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
181 RETSIGTYPE foo() { }], [
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
182 int mask = sigmask(SIGINT);
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
183 sigset(SIGINT, foo); sigrelse(SIGINT);
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
184 sighold(SIGINT); sigpause(SIGINT);
2491
d47834a272c2 [project @ 1996-11-08 22:44:29 by jwe]
jwe
parents: 2469
diff changeset
185 ], 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
186 )]
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
187 )]
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
188 )
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
189 ])
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
190 AC_MSG_RESULT($octave_cv_signal_vintage)
2491
d47834a272c2 [project @ 1996-11-08 22:44:29 by jwe]
jwe
parents: 2469
diff changeset
191 if test "$octave_cv_signal_vintage" = posix; then
3887
7da18459c08b [project @ 2002-04-04 00:44:21 by jwe]
jwe
parents: 3843
diff changeset
192 AC_DEFINE(HAVE_POSIX_SIGNALS,1,[Define if you have POSIX style signals.])
2491
d47834a272c2 [project @ 1996-11-08 22:44:29 by jwe]
jwe
parents: 2469
diff changeset
193 elif test "$octave_cv_signal_vintage" = "4.2bsd"; then
3887
7da18459c08b [project @ 2002-04-04 00:44:21 by jwe]
jwe
parents: 3843
diff changeset
194 AC_DEFINE(HAVE_BSD_SIGNALS,1,[Define if you have BSD style signals.])
2491
d47834a272c2 [project @ 1996-11-08 22:44:29 by jwe]
jwe
parents: 2469
diff changeset
195 elif test "$octave_cv_signal_vintage" = svr3; then
3887
7da18459c08b [project @ 2002-04-04 00:44:21 by jwe]
jwe
parents: 3843
diff changeset
196 AC_DEFINE(HAVE_USG_SIGHOLD,1,[Define if you have System V Release 3 signals.])
2469
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
197 fi
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
198 ])
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
199 dnl
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
200 AC_DEFUN(OCTAVE_REINSTALL_SIGHANDLERS,
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
201 [AC_REQUIRE([AC_TYPE_SIGNAL])
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
202 AC_REQUIRE([OCTAVE_SIGNAL_CHECK])
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
203 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
204 AC_CACHE_VAL(octave_cv_must_reinstall_sighandlers,
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
205 [AC_TRY_RUN([
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
206 #include <signal.h>
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
207 #ifdef HAVE_UNISTD_H
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
208 #include <unistd.h>
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
209 #endif
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
210 typedef RETSIGTYPE sigfunc();
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
211 int nsigint;
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
212 #ifdef HAVE_POSIX_SIGNALS
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
213 sigfunc *
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
214 set_signal_handler(sig, handler)
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
215 int sig;
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
216 sigfunc *handler;
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
217 {
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
218 struct sigaction act, oact;
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
219 act.sa_handler = handler;
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
220 act.sa_flags = 0;
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
221 sigemptyset (&act.sa_mask);
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
222 sigemptyset (&oact.sa_mask);
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
223 sigaction (sig, &act, &oact);
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
224 return (oact.sa_handler);
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
225 }
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
226 #else
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
227 #define set_signal_handler(s, h) signal(s, h)
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
228 #endif
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
229 RETSIGTYPE
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
230 sigint(s)
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
231 int s;
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
232 {
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
233 nsigint++;
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
234 }
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
235 main()
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
236 {
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
237 nsigint = 0;
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
238 set_signal_handler(SIGINT, sigint);
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
239 kill((int)getpid(), SIGINT);
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
240 kill((int)getpid(), SIGINT);
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
241 exit(nsigint != 2);
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
242 }
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
243 ], octave_cv_must_reinstall_sighandlers=no, octave_cv_must_reinstall_sighandlers=yes,
3130
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
244 if test "$octave_cv_signal_vintage" = svr3; then
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
245 octave_cv_must_reinstall_sighandlers=yes
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
246 else
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
247 octave_cv_must_reinstall_sighandlers=no
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
248 fi)])
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
249 if test "$cross_compiling" = yes; then
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
250 AC_MSG_RESULT([$octave_cv_must_reinstall_sighandlers assumed for cross compilation])
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
251 else
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
252 AC_MSG_RESULT($octave_cv_must_reinstall_sighandlers)
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
253 fi
2491
d47834a272c2 [project @ 1996-11-08 22:44:29 by jwe]
jwe
parents: 2469
diff changeset
254 if test "$octave_cv_must_reinstall_sighandlers" = yes; then
3887
7da18459c08b [project @ 2002-04-04 00:44:21 by jwe]
jwe
parents: 3843
diff changeset
255 AC_DEFINE(MUST_REINSTALL_SIGHANDLERS,1,[Define if signal handlers must be reinstalled after they are called.])
2469
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
256 fi
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
257 ])
2626
b35a5cd8107f [project @ 1997-01-27 01:41:30 by jwe]
jwe
parents: 2621
diff changeset
258 dnl
3107
a8dcfbf87ea3 [project @ 1997-11-19 22:34:59 by jwe]
jwe
parents: 3089
diff changeset
259 dnl Check to see if C++ compiler needs the new friend template declaration
a8dcfbf87ea3 [project @ 1997-11-19 22:34:59 by jwe]
jwe
parents: 3089
diff changeset
260 dnl syntax.
a8dcfbf87ea3 [project @ 1997-11-19 22:34:59 by jwe]
jwe
parents: 3089
diff changeset
261 dnl
a8dcfbf87ea3 [project @ 1997-11-19 22:34:59 by jwe]
jwe
parents: 3089
diff changeset
262 dnl OCTAVE_CXX_NEW_FRIEND_TEMPLATE_DECL
a8dcfbf87ea3 [project @ 1997-11-19 22:34:59 by jwe]
jwe
parents: 3089
diff changeset
263 AC_DEFUN(OCTAVE_CXX_NEW_FRIEND_TEMPLATE_DECL, [
a8dcfbf87ea3 [project @ 1997-11-19 22:34:59 by jwe]
jwe
parents: 3089
diff changeset
264 AC_REQUIRE([AC_PROG_CXX])
a8dcfbf87ea3 [project @ 1997-11-19 22:34:59 by jwe]
jwe
parents: 3089
diff changeset
265 AC_MSG_CHECKING([for C++ support for new friend template declaration])
a8dcfbf87ea3 [project @ 1997-11-19 22:34:59 by jwe]
jwe
parents: 3089
diff changeset
266 AC_CACHE_VAL(octave_cv_cxx_new_friend_template_decl, [
3888
70ebd3d672a1 [project @ 2002-04-04 01:05:53 by jwe]
jwe
parents: 3887
diff changeset
267 AC_LANG_PUSH(C++)
3107
a8dcfbf87ea3 [project @ 1997-11-19 22:34:59 by jwe]
jwe
parents: 3089
diff changeset
268 rm -f conftest.h
a8dcfbf87ea3 [project @ 1997-11-19 22:34:59 by jwe]
jwe
parents: 3089
diff changeset
269 cat > conftest.h <<EOB
a8dcfbf87ea3 [project @ 1997-11-19 22:34:59 by jwe]
jwe
parents: 3089
diff changeset
270 struct A {
a8dcfbf87ea3 [project @ 1997-11-19 22:34:59 by jwe]
jwe
parents: 3089
diff changeset
271 friend int operator== (const A&, const A&);
a8dcfbf87ea3 [project @ 1997-11-19 22:34:59 by jwe]
jwe
parents: 3089
diff changeset
272 A (int) { }
a8dcfbf87ea3 [project @ 1997-11-19 22:34:59 by jwe]
jwe
parents: 3089
diff changeset
273 };
a8dcfbf87ea3 [project @ 1997-11-19 22:34:59 by jwe]
jwe
parents: 3089
diff changeset
274
a8dcfbf87ea3 [project @ 1997-11-19 22:34:59 by jwe]
jwe
parents: 3089
diff changeset
275 template <class T> int
a8dcfbf87ea3 [project @ 1997-11-19 22:34:59 by jwe]
jwe
parents: 3089
diff changeset
276 operator== (const T&, const T&)
a8dcfbf87ea3 [project @ 1997-11-19 22:34:59 by jwe]
jwe
parents: 3089
diff changeset
277 {
a8dcfbf87ea3 [project @ 1997-11-19 22:34:59 by jwe]
jwe
parents: 3089
diff changeset
278 return 0;
a8dcfbf87ea3 [project @ 1997-11-19 22:34:59 by jwe]
jwe
parents: 3089
diff changeset
279 }
a8dcfbf87ea3 [project @ 1997-11-19 22:34:59 by jwe]
jwe
parents: 3089
diff changeset
280 EOB
a8dcfbf87ea3 [project @ 1997-11-19 22:34:59 by jwe]
jwe
parents: 3089
diff changeset
281 AC_TRY_LINK([#include "conftest.h"], [
a8dcfbf87ea3 [project @ 1997-11-19 22:34:59 by jwe]
jwe
parents: 3089
diff changeset
282 A a (1);
a8dcfbf87ea3 [project @ 1997-11-19 22:34:59 by jwe]
jwe
parents: 3089
diff changeset
283 return a == A(1);
a8dcfbf87ea3 [project @ 1997-11-19 22:34:59 by jwe]
jwe
parents: 3089
diff changeset
284 ],
a8dcfbf87ea3 [project @ 1997-11-19 22:34:59 by jwe]
jwe
parents: 3089
diff changeset
285 octave_cv_cxx_new_friend_template_decl=no,
a8dcfbf87ea3 [project @ 1997-11-19 22:34:59 by jwe]
jwe
parents: 3089
diff changeset
286 octave_cv_cxx_new_friend_template_decl=yes
a8dcfbf87ea3 [project @ 1997-11-19 22:34:59 by jwe]
jwe
parents: 3089
diff changeset
287 )
3888
70ebd3d672a1 [project @ 2002-04-04 01:05:53 by jwe]
jwe
parents: 3887
diff changeset
288 AC_LANG_POP(C++)
3107
a8dcfbf87ea3 [project @ 1997-11-19 22:34:59 by jwe]
jwe
parents: 3089
diff changeset
289 ])
a8dcfbf87ea3 [project @ 1997-11-19 22:34:59 by jwe]
jwe
parents: 3089
diff changeset
290 AC_MSG_RESULT($octave_cv_cxx_new_friend_template_decl)
a8dcfbf87ea3 [project @ 1997-11-19 22:34:59 by jwe]
jwe
parents: 3089
diff changeset
291 if test $octave_cv_cxx_new_friend_template_decl = yes; then
3887
7da18459c08b [project @ 2002-04-04 00:44:21 by jwe]
jwe
parents: 3843
diff changeset
292 AC_DEFINE(CXX_NEW_FRIEND_TEMPLATE_DECL,1,[Define if your compiler supports `<>' stuff for template friends.])
3107
a8dcfbf87ea3 [project @ 1997-11-19 22:34:59 by jwe]
jwe
parents: 3089
diff changeset
293 fi
a8dcfbf87ea3 [project @ 1997-11-19 22:34:59 by jwe]
jwe
parents: 3089
diff changeset
294 ])
3126
0f6ec7b761a6 [project @ 1998-01-16 05:15:43 by jwe]
jwe
parents: 3107
diff changeset
295 dnl
3233
98d0ee053ba4 [project @ 1999-01-27 20:23:40 by jwe]
jwe
parents: 3222
diff changeset
296 dnl Check to see if C compiler handles FLAG command line option. If
98d0ee053ba4 [project @ 1999-01-27 20:23:40 by jwe]
jwe
parents: 3222
diff changeset
297 dnl two arguments are specified, execute the second arg as shell
98d0ee053ba4 [project @ 1999-01-27 20:23:40 by jwe]
jwe
parents: 3222
diff changeset
298 dnl commands. Otherwise, add FLAG to CFLAGS if the compiler accepts
98d0ee053ba4 [project @ 1999-01-27 20:23:40 by jwe]
jwe
parents: 3222
diff changeset
299 dnl the flag.
3126
0f6ec7b761a6 [project @ 1998-01-16 05:15:43 by jwe]
jwe
parents: 3107
diff changeset
300 dnl
0f6ec7b761a6 [project @ 1998-01-16 05:15:43 by jwe]
jwe
parents: 3107
diff changeset
301 dnl OCTAVE_CC_FLAG
0f6ec7b761a6 [project @ 1998-01-16 05:15:43 by jwe]
jwe
parents: 3107
diff changeset
302 AC_DEFUN(OCTAVE_CC_FLAG, [
3908
90dc5c9a9a21 [project @ 2002-04-24 19:53:35 by jwe]
jwe
parents: 3892
diff changeset
303 ac_safe=`echo "$1" | sed 'y%./+-:=%__p___%'`
3126
0f6ec7b761a6 [project @ 1998-01-16 05:15:43 by jwe]
jwe
parents: 3107
diff changeset
304 AC_MSG_CHECKING(whether ${CC-cc} accepts $1)
0f6ec7b761a6 [project @ 1998-01-16 05:15:43 by jwe]
jwe
parents: 3107
diff changeset
305 AC_CACHE_VAL(octave_cv_cc_flag_$ac_safe, [
3888
70ebd3d672a1 [project @ 2002-04-04 01:05:53 by jwe]
jwe
parents: 3887
diff changeset
306 AC_LANG_PUSH(C)
3126
0f6ec7b761a6 [project @ 1998-01-16 05:15:43 by jwe]
jwe
parents: 3107
diff changeset
307 XCFLAGS="$CFLAGS"
0f6ec7b761a6 [project @ 1998-01-16 05:15:43 by jwe]
jwe
parents: 3107
diff changeset
308 CFLAGS="$CFLAGS $1"
0f6ec7b761a6 [project @ 1998-01-16 05:15:43 by jwe]
jwe
parents: 3107
diff changeset
309 AC_TRY_LINK([], [],
0f6ec7b761a6 [project @ 1998-01-16 05:15:43 by jwe]
jwe
parents: 3107
diff changeset
310 eval "octave_cv_cc_flag_$ac_safe=yes",
0f6ec7b761a6 [project @ 1998-01-16 05:15:43 by jwe]
jwe
parents: 3107
diff changeset
311 eval "octave_cv_cc_flag_$ac_safe=no")
0f6ec7b761a6 [project @ 1998-01-16 05:15:43 by jwe]
jwe
parents: 3107
diff changeset
312 CFLAGS="$XCFLAGS"
3888
70ebd3d672a1 [project @ 2002-04-04 01:05:53 by jwe]
jwe
parents: 3887
diff changeset
313 AC_LANG_POP(C)
3126
0f6ec7b761a6 [project @ 1998-01-16 05:15:43 by jwe]
jwe
parents: 3107
diff changeset
314 ])
0f6ec7b761a6 [project @ 1998-01-16 05:15:43 by jwe]
jwe
parents: 3107
diff changeset
315 if eval "test \"`echo '$octave_cv_cc_flag_'$ac_safe`\" = yes"; then
0f6ec7b761a6 [project @ 1998-01-16 05:15:43 by jwe]
jwe
parents: 3107
diff changeset
316 AC_MSG_RESULT(yes)
3131
9c5160c83bd2 [project @ 1998-01-29 04:46:33 by jwe]
jwe
parents: 3130
diff changeset
317 ifelse([$2], , [
9c5160c83bd2 [project @ 1998-01-29 04:46:33 by jwe]
jwe
parents: 3130
diff changeset
318 CFLAGS="$CFLAGS $1"
9c5160c83bd2 [project @ 1998-01-29 04:46:33 by jwe]
jwe
parents: 3130
diff changeset
319 AC_MSG_RESULT([adding $1 to CFLAGS])], [$2])
3126
0f6ec7b761a6 [project @ 1998-01-16 05:15:43 by jwe]
jwe
parents: 3107
diff changeset
320 else
0f6ec7b761a6 [project @ 1998-01-16 05:15:43 by jwe]
jwe
parents: 3107
diff changeset
321 AC_MSG_RESULT(no)
0f6ec7b761a6 [project @ 1998-01-16 05:15:43 by jwe]
jwe
parents: 3107
diff changeset
322 ifelse([$3], , , [$3])
0f6ec7b761a6 [project @ 1998-01-16 05:15:43 by jwe]
jwe
parents: 3107
diff changeset
323 fi
0f6ec7b761a6 [project @ 1998-01-16 05:15:43 by jwe]
jwe
parents: 3107
diff changeset
324 ])
0f6ec7b761a6 [project @ 1998-01-16 05:15:43 by jwe]
jwe
parents: 3107
diff changeset
325 dnl
3233
98d0ee053ba4 [project @ 1999-01-27 20:23:40 by jwe]
jwe
parents: 3222
diff changeset
326 dnl Check to see if C++ compiler handles FLAG command line option. If
98d0ee053ba4 [project @ 1999-01-27 20:23:40 by jwe]
jwe
parents: 3222
diff changeset
327 dnl two arguments are specified, execute the second arg as shell
98d0ee053ba4 [project @ 1999-01-27 20:23:40 by jwe]
jwe
parents: 3222
diff changeset
328 dnl commands. Otherwise, add FLAG to CXXFLAGS if the compiler accepts
98d0ee053ba4 [project @ 1999-01-27 20:23:40 by jwe]
jwe
parents: 3222
diff changeset
329 dnl the flag.
3126
0f6ec7b761a6 [project @ 1998-01-16 05:15:43 by jwe]
jwe
parents: 3107
diff changeset
330 dnl
0f6ec7b761a6 [project @ 1998-01-16 05:15:43 by jwe]
jwe
parents: 3107
diff changeset
331 dnl OCTAVE_CXX_FLAG
0f6ec7b761a6 [project @ 1998-01-16 05:15:43 by jwe]
jwe
parents: 3107
diff changeset
332 AC_DEFUN(OCTAVE_CXX_FLAG, [
3908
90dc5c9a9a21 [project @ 2002-04-24 19:53:35 by jwe]
jwe
parents: 3892
diff changeset
333 ac_safe=`echo "$1" | sed 'y%./+-:=%__p___%'`
3222
dae85431bade [project @ 1998-11-19 22:14:06 by jwe]
jwe
parents: 3176
diff changeset
334 AC_MSG_CHECKING(whether ${CXX-g++} accepts $1)
3126
0f6ec7b761a6 [project @ 1998-01-16 05:15:43 by jwe]
jwe
parents: 3107
diff changeset
335 AC_CACHE_VAL(octave_cv_cxx_flag_$ac_safe, [
3888
70ebd3d672a1 [project @ 2002-04-04 01:05:53 by jwe]
jwe
parents: 3887
diff changeset
336 AC_LANG_PUSH(C++)
3126
0f6ec7b761a6 [project @ 1998-01-16 05:15:43 by jwe]
jwe
parents: 3107
diff changeset
337 XCXXFLAGS="$CXXFLAGS"
0f6ec7b761a6 [project @ 1998-01-16 05:15:43 by jwe]
jwe
parents: 3107
diff changeset
338 CXXFLAGS="$CXXFLAGS $1"
0f6ec7b761a6 [project @ 1998-01-16 05:15:43 by jwe]
jwe
parents: 3107
diff changeset
339 AC_TRY_LINK([], [],
0f6ec7b761a6 [project @ 1998-01-16 05:15:43 by jwe]
jwe
parents: 3107
diff changeset
340 eval "octave_cv_cxx_flag_$ac_safe=yes",
0f6ec7b761a6 [project @ 1998-01-16 05:15:43 by jwe]
jwe
parents: 3107
diff changeset
341 eval "octave_cv_cxx_flag_$ac_safe=no")
0f6ec7b761a6 [project @ 1998-01-16 05:15:43 by jwe]
jwe
parents: 3107
diff changeset
342 CXXFLAGS="$XCXXFLAGS"
3888
70ebd3d672a1 [project @ 2002-04-04 01:05:53 by jwe]
jwe
parents: 3887
diff changeset
343 AC_LANG_POP(C++)
3126
0f6ec7b761a6 [project @ 1998-01-16 05:15:43 by jwe]
jwe
parents: 3107
diff changeset
344 ])
0f6ec7b761a6 [project @ 1998-01-16 05:15:43 by jwe]
jwe
parents: 3107
diff changeset
345 if eval "test \"`echo '$octave_cv_cxx_flag_'$ac_safe`\" = yes"; then
0f6ec7b761a6 [project @ 1998-01-16 05:15:43 by jwe]
jwe
parents: 3107
diff changeset
346 AC_MSG_RESULT(yes)
3131
9c5160c83bd2 [project @ 1998-01-29 04:46:33 by jwe]
jwe
parents: 3130
diff changeset
347 ifelse([$2], , [
9c5160c83bd2 [project @ 1998-01-29 04:46:33 by jwe]
jwe
parents: 3130
diff changeset
348 CXXFLAGS="$CXXFLAGS $1"
9c5160c83bd2 [project @ 1998-01-29 04:46:33 by jwe]
jwe
parents: 3130
diff changeset
349 AC_MSG_RESULT([adding $1 to CXXFLAGS])], [$2])
3126
0f6ec7b761a6 [project @ 1998-01-16 05:15:43 by jwe]
jwe
parents: 3107
diff changeset
350 else
0f6ec7b761a6 [project @ 1998-01-16 05:15:43 by jwe]
jwe
parents: 3107
diff changeset
351 AC_MSG_RESULT(no)
0f6ec7b761a6 [project @ 1998-01-16 05:15:43 by jwe]
jwe
parents: 3107
diff changeset
352 ifelse([$3], , , [$3])
0f6ec7b761a6 [project @ 1998-01-16 05:15:43 by jwe]
jwe
parents: 3107
diff changeset
353 fi
0f6ec7b761a6 [project @ 1998-01-16 05:15:43 by jwe]
jwe
parents: 3107
diff changeset
354 ])
3130
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
355 dnl
4109
6e20cac828cd [project @ 2002-10-17 03:11:30 by jwe]
jwe
parents: 4105
diff changeset
356 dnl
6e20cac828cd [project @ 2002-10-17 03:11:30 by jwe]
jwe
parents: 4105
diff changeset
357 dnl
6e20cac828cd [project @ 2002-10-17 03:11:30 by jwe]
jwe
parents: 4105
diff changeset
358 dnl OCTAVE_LANG_PROG_NO_CONFDEFS
6e20cac828cd [project @ 2002-10-17 03:11:30 by jwe]
jwe
parents: 4105
diff changeset
359 AC_DEFUN(OCTAVE_LANG_PROG_NO_CONFDEFS,
6e20cac828cd [project @ 2002-10-17 03:11:30 by jwe]
jwe
parents: 4105
diff changeset
360 [_AC_LANG_DISPATCH([AC_LANG_PROGRAM], _AC_LANG, [$@])])
6e20cac828cd [project @ 2002-10-17 03:11:30 by jwe]
jwe
parents: 4105
diff changeset
361 dnl
4094
3e631060ab8f [project @ 2002-10-09 02:12:30 by jwe]
jwe
parents: 4093
diff changeset
362 dnl Check to see if GNU C++ barfs on #pragma interface/#pragma implementation.
3e631060ab8f [project @ 2002-10-09 02:12:30 by jwe]
jwe
parents: 4093
diff changeset
363 dnl
4109
6e20cac828cd [project @ 2002-10-17 03:11:30 by jwe]
jwe
parents: 4105
diff changeset
364 dnl Note that we are using AC_LINK_IFELSE and OCTAVE_LANG_PROG_NO_CONFDEFS
6e20cac828cd [project @ 2002-10-17 03:11:30 by jwe]
jwe
parents: 4105
diff changeset
365 dnl to prevent autoconf from including confdefs.h ahead of the #pragma
6e20cac828cd [project @ 2002-10-17 03:11:30 by jwe]
jwe
parents: 4105
diff changeset
366 dnl interface/implementation line.
6e20cac828cd [project @ 2002-10-17 03:11:30 by jwe]
jwe
parents: 4105
diff changeset
367 dnl
4094
3e631060ab8f [project @ 2002-10-09 02:12:30 by jwe]
jwe
parents: 4093
diff changeset
368 dnl OCTAVE_CXX_PRAGMA_INTERFACE_IMPLEMENTATION
3e631060ab8f [project @ 2002-10-09 02:12:30 by jwe]
jwe
parents: 4093
diff changeset
369 AC_DEFUN(OCTAVE_CXX_PRAGMA_INTERFACE_IMPLEMENTATION, [
3e631060ab8f [project @ 2002-10-09 02:12:30 by jwe]
jwe
parents: 4093
diff changeset
370 AC_REQUIRE([AC_PROG_CXX])
3e631060ab8f [project @ 2002-10-09 02:12:30 by jwe]
jwe
parents: 4093
diff changeset
371 AC_MSG_CHECKING([for C++ support for pragma interface/implementation])
3e631060ab8f [project @ 2002-10-09 02:12:30 by jwe]
jwe
parents: 4093
diff changeset
372 AC_CACHE_VAL(octave_cv_cxx_pragma_interface_implementation, [
3e631060ab8f [project @ 2002-10-09 02:12:30 by jwe]
jwe
parents: 4093
diff changeset
373 AC_LANG_PUSH(C++)
3e631060ab8f [project @ 2002-10-09 02:12:30 by jwe]
jwe
parents: 4093
diff changeset
374 rm -f conftest.h
3e631060ab8f [project @ 2002-10-09 02:12:30 by jwe]
jwe
parents: 4093
diff changeset
375 cat > conftest.h <<EOB
3e631060ab8f [project @ 2002-10-09 02:12:30 by jwe]
jwe
parents: 4093
diff changeset
376 #include <iostream>
3e631060ab8f [project @ 2002-10-09 02:12:30 by jwe]
jwe
parents: 4093
diff changeset
377 #pragma interface
3e631060ab8f [project @ 2002-10-09 02:12:30 by jwe]
jwe
parents: 4093
diff changeset
378 template <class T> class A
3e631060ab8f [project @ 2002-10-09 02:12:30 by jwe]
jwe
parents: 4093
diff changeset
379 {
3e631060ab8f [project @ 2002-10-09 02:12:30 by jwe]
jwe
parents: 4093
diff changeset
380 public:
3e631060ab8f [project @ 2002-10-09 02:12:30 by jwe]
jwe
parents: 4093
diff changeset
381 A (void) {}
3e631060ab8f [project @ 2002-10-09 02:12:30 by jwe]
jwe
parents: 4093
diff changeset
382 ~A (void);
3e631060ab8f [project @ 2002-10-09 02:12:30 by jwe]
jwe
parents: 4093
diff changeset
383 };
3e631060ab8f [project @ 2002-10-09 02:12:30 by jwe]
jwe
parents: 4093
diff changeset
384
3e631060ab8f [project @ 2002-10-09 02:12:30 by jwe]
jwe
parents: 4093
diff changeset
385 class B : public A<int>
3e631060ab8f [project @ 2002-10-09 02:12:30 by jwe]
jwe
parents: 4093
diff changeset
386 {
3e631060ab8f [project @ 2002-10-09 02:12:30 by jwe]
jwe
parents: 4093
diff changeset
387 public:
3e631060ab8f [project @ 2002-10-09 02:12:30 by jwe]
jwe
parents: 4093
diff changeset
388
3e631060ab8f [project @ 2002-10-09 02:12:30 by jwe]
jwe
parents: 4093
diff changeset
389 B (void) : A<int> () { }
3e631060ab8f [project @ 2002-10-09 02:12:30 by jwe]
jwe
parents: 4093
diff changeset
390 };
3e631060ab8f [project @ 2002-10-09 02:12:30 by jwe]
jwe
parents: 4093
diff changeset
391 EOB
4109
6e20cac828cd [project @ 2002-10-17 03:11:30 by jwe]
jwe
parents: 4105
diff changeset
392 AC_LINK_IFELSE([OCTAVE_LANG_PROG_NO_CONFDEFS([#include "conftest.h"])],
6e20cac828cd [project @ 2002-10-17 03:11:30 by jwe]
jwe
parents: 4105
diff changeset
393 [octave_pii_test_1=yes], [octave_pii_test_1=no])
6e20cac828cd [project @ 2002-10-17 03:11:30 by jwe]
jwe
parents: 4105
diff changeset
394 rm -f conftest.h
6e20cac828cd [project @ 2002-10-17 03:11:30 by jwe]
jwe
parents: 4105
diff changeset
395 cat > conftest.h <<EOB
4095
60abc5f86565 [project @ 2002-10-09 14:44:44 by jwe]
jwe
parents: 4094
diff changeset
396 #pragma interface
60abc5f86565 [project @ 2002-10-09 14:44:44 by jwe]
jwe
parents: 4094
diff changeset
397 class A
60abc5f86565 [project @ 2002-10-09 14:44:44 by jwe]
jwe
parents: 4094
diff changeset
398 {
60abc5f86565 [project @ 2002-10-09 14:44:44 by jwe]
jwe
parents: 4094
diff changeset
399 public:
60abc5f86565 [project @ 2002-10-09 14:44:44 by jwe]
jwe
parents: 4094
diff changeset
400 virtual ~A (void) {}
60abc5f86565 [project @ 2002-10-09 14:44:44 by jwe]
jwe
parents: 4094
diff changeset
401 };
60abc5f86565 [project @ 2002-10-09 14:44:44 by jwe]
jwe
parents: 4094
diff changeset
402 EOB
4109
6e20cac828cd [project @ 2002-10-17 03:11:30 by jwe]
jwe
parents: 4105
diff changeset
403 AC_LINK_IFELSE([OCTAVE_LANG_PROG_NO_CONFDEFS([#pragma implementation
6e20cac828cd [project @ 2002-10-17 03:11:30 by jwe]
jwe
parents: 4105
diff changeset
404 #include "conftest.h"])],
6e20cac828cd [project @ 2002-10-17 03:11:30 by jwe]
jwe
parents: 4105
diff changeset
405 [octave_pii_test_2=yes], [octave_pii_test_2=no])
4125
040314da2fec [project @ 2002-10-25 12:55:47 by jwe]
jwe
parents: 4109
diff changeset
406 if test $octave_pii_test_1 = yes && test $octave_pii_test_2 = yes; then
4109
6e20cac828cd [project @ 2002-10-17 03:11:30 by jwe]
jwe
parents: 4105
diff changeset
407 octave_cv_cxx_pragma_interface_implementation=yes
6e20cac828cd [project @ 2002-10-17 03:11:30 by jwe]
jwe
parents: 4105
diff changeset
408 else
4094
3e631060ab8f [project @ 2002-10-09 02:12:30 by jwe]
jwe
parents: 4093
diff changeset
409 octave_cv_cxx_pragma_interface_implementation=no
4109
6e20cac828cd [project @ 2002-10-17 03:11:30 by jwe]
jwe
parents: 4105
diff changeset
410 fi
4094
3e631060ab8f [project @ 2002-10-09 02:12:30 by jwe]
jwe
parents: 4093
diff changeset
411 AC_LANG_POP(C++)
3e631060ab8f [project @ 2002-10-09 02:12:30 by jwe]
jwe
parents: 4093
diff changeset
412 ])
3e631060ab8f [project @ 2002-10-09 02:12:30 by jwe]
jwe
parents: 4093
diff changeset
413 AC_MSG_RESULT($octave_cv_cxx_pragma_interface_implementation)
3e631060ab8f [project @ 2002-10-09 02:12:30 by jwe]
jwe
parents: 4093
diff changeset
414 if test $octave_cv_cxx_pragma_interface_implementation = no; then
3e631060ab8f [project @ 2002-10-09 02:12:30 by jwe]
jwe
parents: 4093
diff changeset
415 XTRA_CXXFLAGS="$XTRA_CXXFLAGS -DNO_PRAGMA_INTERFACE_IMPLEMENTATION=1"
3e631060ab8f [project @ 2002-10-09 02:12:30 by jwe]
jwe
parents: 4093
diff changeset
416 AC_SUBST(XTRA_CXXFLAGS)
3e631060ab8f [project @ 2002-10-09 02:12:30 by jwe]
jwe
parents: 4093
diff changeset
417 fi
3e631060ab8f [project @ 2002-10-09 02:12:30 by jwe]
jwe
parents: 4093
diff changeset
418 ])
3e631060ab8f [project @ 2002-10-09 02:12:30 by jwe]
jwe
parents: 4093
diff changeset
419 dnl
3729
ea62136d86e8 [project @ 2000-10-31 17:17:26 by jwe]
jwe
parents: 3673
diff changeset
420 dnl Check for flex
ea62136d86e8 [project @ 2000-10-31 17:17:26 by jwe]
jwe
parents: 3673
diff changeset
421 dnl
ea62136d86e8 [project @ 2000-10-31 17:17:26 by jwe]
jwe
parents: 3673
diff changeset
422 AC_DEFUN(OCTAVE_PROG_FLEX, [
ea62136d86e8 [project @ 2000-10-31 17:17:26 by jwe]
jwe
parents: 3673
diff changeset
423 ### For now, don't define LEXLIB to be -lfl -- we don't use anything in
ea62136d86e8 [project @ 2000-10-31 17:17:26 by jwe]
jwe
parents: 3673
diff changeset
424 ### it, and it might not be installed.
ea62136d86e8 [project @ 2000-10-31 17:17:26 by jwe]
jwe
parents: 3673
diff changeset
425 ###
ea62136d86e8 [project @ 2000-10-31 17:17:26 by jwe]
jwe
parents: 3673
diff changeset
426 ### Also make sure that we generate an interactive scanner if we are
ea62136d86e8 [project @ 2000-10-31 17:17:26 by jwe]
jwe
parents: 3673
diff changeset
427 ### using flex.
ea62136d86e8 [project @ 2000-10-31 17:17:26 by jwe]
jwe
parents: 3673
diff changeset
428 AC_PROG_LEX
ea62136d86e8 [project @ 2000-10-31 17:17:26 by jwe]
jwe
parents: 3673
diff changeset
429 case "$LEX" in
ea62136d86e8 [project @ 2000-10-31 17:17:26 by jwe]
jwe
parents: 3673
diff changeset
430 flex*)
ea62136d86e8 [project @ 2000-10-31 17:17:26 by jwe]
jwe
parents: 3673
diff changeset
431 LFLAGS="-t -I"
ea62136d86e8 [project @ 2000-10-31 17:17:26 by jwe]
jwe
parents: 3673
diff changeset
432 AC_MSG_RESULT([defining LFLAGS to be $LFLAGS])
ea62136d86e8 [project @ 2000-10-31 17:17:26 by jwe]
jwe
parents: 3673
diff changeset
433 LEXLIB=
ea62136d86e8 [project @ 2000-10-31 17:17:26 by jwe]
jwe
parents: 3673
diff changeset
434 ;;
ea62136d86e8 [project @ 2000-10-31 17:17:26 by jwe]
jwe
parents: 3673
diff changeset
435 *)
ea62136d86e8 [project @ 2000-10-31 17:17:26 by jwe]
jwe
parents: 3673
diff changeset
436 LEX='$(top_srcdir)/missing flex'
ea62136d86e8 [project @ 2000-10-31 17:17:26 by jwe]
jwe
parents: 3673
diff changeset
437 warn_flex="I didn't find flex, but it's only a problem if you need to reconstruct lex.cc"
ea62136d86e8 [project @ 2000-10-31 17:17:26 by jwe]
jwe
parents: 3673
diff changeset
438 AC_MSG_WARN($warn_flex)
ea62136d86e8 [project @ 2000-10-31 17:17:26 by jwe]
jwe
parents: 3673
diff changeset
439 ;;
ea62136d86e8 [project @ 2000-10-31 17:17:26 by jwe]
jwe
parents: 3673
diff changeset
440 esac
ea62136d86e8 [project @ 2000-10-31 17:17:26 by jwe]
jwe
parents: 3673
diff changeset
441 AC_SUBST(LFLAGS)
ea62136d86e8 [project @ 2000-10-31 17:17:26 by jwe]
jwe
parents: 3673
diff changeset
442 ])
ea62136d86e8 [project @ 2000-10-31 17:17:26 by jwe]
jwe
parents: 3673
diff changeset
443 dnl
ea62136d86e8 [project @ 2000-10-31 17:17:26 by jwe]
jwe
parents: 3673
diff changeset
444 dnl Check for bison
ea62136d86e8 [project @ 2000-10-31 17:17:26 by jwe]
jwe
parents: 3673
diff changeset
445 dnl
ea62136d86e8 [project @ 2000-10-31 17:17:26 by jwe]
jwe
parents: 3673
diff changeset
446 AC_DEFUN(OCTAVE_PROG_BISON, [
ea62136d86e8 [project @ 2000-10-31 17:17:26 by jwe]
jwe
parents: 3673
diff changeset
447 AC_PROG_YACC
ea62136d86e8 [project @ 2000-10-31 17:17:26 by jwe]
jwe
parents: 3673
diff changeset
448 case "$YACC" in
ea62136d86e8 [project @ 2000-10-31 17:17:26 by jwe]
jwe
parents: 3673
diff changeset
449 bison*)
ea62136d86e8 [project @ 2000-10-31 17:17:26 by jwe]
jwe
parents: 3673
diff changeset
450 ;;
ea62136d86e8 [project @ 2000-10-31 17:17:26 by jwe]
jwe
parents: 3673
diff changeset
451 *)
ea62136d86e8 [project @ 2000-10-31 17:17:26 by jwe]
jwe
parents: 3673
diff changeset
452 YACC='$(top_srcdir)/missing bison'
ea62136d86e8 [project @ 2000-10-31 17:17:26 by jwe]
jwe
parents: 3673
diff changeset
453 warn_bison="I didn't find bison, but it's only a problem if you need to reconstruct parse.cc"
ea62136d86e8 [project @ 2000-10-31 17:17:26 by jwe]
jwe
parents: 3673
diff changeset
454 AC_MSG_WARN($warn_bison)
ea62136d86e8 [project @ 2000-10-31 17:17:26 by jwe]
jwe
parents: 3673
diff changeset
455 ;;
ea62136d86e8 [project @ 2000-10-31 17:17:26 by jwe]
jwe
parents: 3673
diff changeset
456 esac
ea62136d86e8 [project @ 2000-10-31 17:17:26 by jwe]
jwe
parents: 3673
diff changeset
457 ])
ea62136d86e8 [project @ 2000-10-31 17:17:26 by jwe]
jwe
parents: 3673
diff changeset
458 dnl
3130
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
459 dnl What pager should we use?
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
460 dnl
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
461 AC_DEFUN(OCTAVE_PROG_PAGER,
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
462 [if test "$cross_compiling" = yes; then
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
463 DEFAULT_PAGER=less
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
464 AC_MSG_RESULT(assuming $DEFAULT_PAGER exists on $canonical_host_type host)
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
465 AC_SUBST(DEFAULT_PAGER)
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
466 else
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
467 octave_possible_pagers="less more page pg"
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
468 case "$canonical_host_type" in
3971
41e7fa40ff4c [project @ 2002-07-02 23:46:48 by jwe]
jwe
parents: 3943
diff changeset
469 *-*-cygwin*)
3130
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
470 octave_possible_pagers="$octave_possible_pagers more.com"
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
471 ;;
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
472 esac
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
473
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
474 AC_CHECK_PROGS(DEFAULT_PAGER, $octave_possible_pagers, [])
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
475 if test -z "$DEFAULT_PAGER"; then
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
476 warn_less="I couldn't find \`less', \`more', \`page', or \`pg'"
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
477 AC_MSG_WARN($warn_less)
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
478 fi
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
479 fi
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
480 ])
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
481 dnl
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
482 dnl Does gnuplot exist? Is it a recent version?
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
483 dnl
4098
8496ae60db8a [project @ 2002-10-10 05:20:20 by jwe]
jwe
parents: 4095
diff changeset
484 AC_DEFUN(OCTAVE_PROG_GNUPLOT, [
8496ae60db8a [project @ 2002-10-10 05:20:20 by jwe]
jwe
parents: 4095
diff changeset
485 case "$canonical_host_type" in
8496ae60db8a [project @ 2002-10-10 05:20:20 by jwe]
jwe
parents: 4095
diff changeset
486 *-*-cygwin*|*-*-mingw32*)
8496ae60db8a [project @ 2002-10-10 05:20:20 by jwe]
jwe
parents: 4095
diff changeset
487 gp_names="pgnuplot pipe-gnuplot gnuplot"
8496ae60db8a [project @ 2002-10-10 05:20:20 by jwe]
jwe
parents: 4095
diff changeset
488 gp_default=pgnuplot
8496ae60db8a [project @ 2002-10-10 05:20:20 by jwe]
jwe
parents: 4095
diff changeset
489 ;;
8496ae60db8a [project @ 2002-10-10 05:20:20 by jwe]
jwe
parents: 4095
diff changeset
490 *)
8496ae60db8a [project @ 2002-10-10 05:20:20 by jwe]
jwe
parents: 4095
diff changeset
491 gp_names=gnuplot
8496ae60db8a [project @ 2002-10-10 05:20:20 by jwe]
jwe
parents: 4095
diff changeset
492 gp_default=gnuplot
8496ae60db8a [project @ 2002-10-10 05:20:20 by jwe]
jwe
parents: 4095
diff changeset
493 ;;
8496ae60db8a [project @ 2002-10-10 05:20:20 by jwe]
jwe
parents: 4095
diff changeset
494 esac
8496ae60db8a [project @ 2002-10-10 05:20:20 by jwe]
jwe
parents: 4095
diff changeset
495 GNUPLOT_BINARY="$gp_default"
8496ae60db8a [project @ 2002-10-10 05:20:20 by jwe]
jwe
parents: 4095
diff changeset
496 GNUPLOT_HAS_MULTIPLOT=1
8496ae60db8a [project @ 2002-10-10 05:20:20 by jwe]
jwe
parents: 4095
diff changeset
497 GNUPLOT_HAS_FRAMES=1
8496ae60db8a [project @ 2002-10-10 05:20:20 by jwe]
jwe
parents: 4095
diff changeset
498 if test "$cross_compiling" = yes; then
3130
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
499 AC_MSG_RESULT(assuming $GNUPLOT_BINARY exists on $canonical_host_type host)
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
500 AC_MSG_RESULT(assuming $GNUPLOT_BINARY supports multiplot mode)
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
501 AC_MSG_RESULT(assuming $GNUPLOT_BINARY supports multiple frams)
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
502 else
4098
8496ae60db8a [project @ 2002-10-10 05:20:20 by jwe]
jwe
parents: 4095
diff changeset
503 AC_CHECK_PROGS(GNUPLOT_BINARY, $gp_names)
3130
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
504 if test -n "$GNUPLOT_BINARY"; then
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
505 AC_MSG_CHECKING([to see if your gnuplot supports multiplot])
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
506 if test -z "`echo 'set term unknown; set multiplot' | \
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
507 $GNUPLOT_BINARY 2>&1`"; then
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
508 AC_MSG_RESULT([yes])
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
509 else
4098
8496ae60db8a [project @ 2002-10-10 05:20:20 by jwe]
jwe
parents: 4095
diff changeset
510 GNUPLOT_HAS_MULTIPLOT=
3130
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
511 AC_MSG_RESULT([no])
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
512 fi
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
513 AC_MSG_CHECKING([to see if your gnuplot supports multiple plot windows])
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
514 if test -z "`echo 'set term x11 2' | $GNUPLOT_BINARY 2>&1`"; then
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
515 AC_MSG_RESULT([yes])
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
516 else
4098
8496ae60db8a [project @ 2002-10-10 05:20:20 by jwe]
jwe
parents: 4095
diff changeset
517 GNUPLOT_HAS_FRAMES=
3130
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
518 AC_MSG_RESULT([no])
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
519 fi
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
520 else
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
521 warn_gnuplot="yes"
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
522
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
523 ## If you change this text, be sure to also copy it to the set of
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
524 ## warnings at the end of the script
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
525
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
526 AC_MSG_WARN([I didn't find gnuplot. It isn't necessary to have gnuplot])
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
527 AC_MSG_WARN([installed, but you won't be able to use any of Octave's])
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
528 AC_MSG_WARN([plotting commands without it.])
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
529 AC_MSG_WARN([])
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
530 AC_MSG_WARN([If gnuplot is installed but it isn't in your path, you can])
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
531 AC_MSG_WARN([tell Octave where to find it by typing the command])
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
532 AC_MSG_WARN([])
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
533 AC_MSG_WARN([gnuplot_binary = "/full/path/to/gnuplot/binary"])
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
534 AC_MSG_WARN([])
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
535 AC_MSG_WARN([at the Octave prompt.])
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
536 fi
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
537 fi
4098
8496ae60db8a [project @ 2002-10-10 05:20:20 by jwe]
jwe
parents: 4095
diff changeset
538 AC_DEFINE_UNQUOTED(GNUPLOT_BINARY, "$GNUPLOT_BINARY", [Name of gnuplot program.])
8496ae60db8a [project @ 2002-10-10 05:20:20 by jwe]
jwe
parents: 4095
diff changeset
539 AC_DEFINE_UNQUOTED(GNUPLOT_HAS_MULTIPLOT, $GNUPLOT_HAS_MULTIPLOT, [Define if your gnuplot program supports multiplot mode.])
8496ae60db8a [project @ 2002-10-10 05:20:20 by jwe]
jwe
parents: 4095
diff changeset
540 AC_DEFINE_UNQUOTED(GNUPLOT_HAS_FRAMES, $GNUPLOT_HAS_FRAMES, [Define if your gnuplot program supports multiple plot windows.])
3130
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
541 ])
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
542 dnl
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
543 dnl Is DejaGNU installed?
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
544 dnl
3222
dae85431bade [project @ 1998-11-19 22:14:06 by jwe]
jwe
parents: 3176
diff changeset
545 dnl OCTAVE_PROG_RUNTEST
3130
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
546 AC_DEFUN(OCTAVE_PROG_RUNTEST,
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
547 [if test "$cross_compiling" = yes; then
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
548 RUNTEST=runtest
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
549 AC_MSG_RESULT(assuming $RUNTEST exists on $canonical_host_type host)
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
550 AC_SUBST(RUNTEST)
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
551 else
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
552 AC_CHECK_PROG(RUNTEST, runtest, runtest, [])
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
553 if test -z "$RUNTEST"; then
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
554 warn_runtest="I didn't find runtest -- install DejaGNU if you want to run \`make check'"
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
555 AC_MSG_WARN($warn_runtest)
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
556 fi
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
557 AC_SUBST(RUNTEST)
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
558 fi
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
559 ])
3222
dae85431bade [project @ 1998-11-19 22:14:06 by jwe]
jwe
parents: 3176
diff changeset
560 dnl
3673
e0b46234555e [project @ 2000-06-05 18:28:54 by jwe]
jwe
parents: 3506
diff changeset
561 dnl Is gperf installed?
e0b46234555e [project @ 2000-06-05 18:28:54 by jwe]
jwe
parents: 3506
diff changeset
562 dnl
e0b46234555e [project @ 2000-06-05 18:28:54 by jwe]
jwe
parents: 3506
diff changeset
563 dnl OCTAVE_PROG_GPERF
3731
c06bae7229cf [project @ 2000-10-31 20:03:19 by jwe]
jwe
parents: 3729
diff changeset
564 AC_DEFUN(OCTAVE_PROG_GPERF, [
c06bae7229cf [project @ 2000-10-31 20:03:19 by jwe]
jwe
parents: 3729
diff changeset
565 AC_CHECK_PROG(GPERF, gperf, gperf, [])
c06bae7229cf [project @ 2000-10-31 20:03:19 by jwe]
jwe
parents: 3729
diff changeset
566 if test -n "$GPERF"; then
c06bae7229cf [project @ 2000-10-31 20:03:19 by jwe]
jwe
parents: 3729
diff changeset
567 if echo "%{
c06bae7229cf [project @ 2000-10-31 20:03:19 by jwe]
jwe
parents: 3729
diff changeset
568 %}
c06bae7229cf [project @ 2000-10-31 20:03:19 by jwe]
jwe
parents: 3729
diff changeset
569 %%
3750
c922e2d23c8c [project @ 2000-12-09 07:34:11 by jwe]
jwe
parents: 3731
diff changeset
570 foo" | $GPERF -t -C -D -E -G -L ANSI-C -H octave_kw_hash -N octave_kw_lookup > /dev/null 2>&1; then
3731
c06bae7229cf [project @ 2000-10-31 20:03:19 by jwe]
jwe
parents: 3729
diff changeset
571 true
c06bae7229cf [project @ 2000-10-31 20:03:19 by jwe]
jwe
parents: 3729
diff changeset
572 else
c06bae7229cf [project @ 2000-10-31 20:03:19 by jwe]
jwe
parents: 3729
diff changeset
573 GPERF=""
c06bae7229cf [project @ 2000-10-31 20:03:19 by jwe]
jwe
parents: 3729
diff changeset
574 warn_gperf="I found gperf, but it does not support all of the following options: -t -C -D -E -G -L ANSI-C -H -N; you need gperf 2.7 or a more recent version"
c06bae7229cf [project @ 2000-10-31 20:03:19 by jwe]
jwe
parents: 3729
diff changeset
575 AC_MSG_WARN($warn_gperf)
c06bae7229cf [project @ 2000-10-31 20:03:19 by jwe]
jwe
parents: 3729
diff changeset
576 fi
c06bae7229cf [project @ 2000-10-31 20:03:19 by jwe]
jwe
parents: 3729
diff changeset
577 else
c06bae7229cf [project @ 2000-10-31 20:03:19 by jwe]
jwe
parents: 3729
diff changeset
578 GPERF='$(top_srcdir)/missing gperf'
c06bae7229cf [project @ 2000-10-31 20:03:19 by jwe]
jwe
parents: 3729
diff changeset
579 warn_gperf="I didn't find gperf, but it's only a problem if you need to reconstruct oct-gperf.h"
c06bae7229cf [project @ 2000-10-31 20:03:19 by jwe]
jwe
parents: 3729
diff changeset
580 AC_MSG_WARN($warn_gperf)
c06bae7229cf [project @ 2000-10-31 20:03:19 by jwe]
jwe
parents: 3729
diff changeset
581 fi
c06bae7229cf [project @ 2000-10-31 20:03:19 by jwe]
jwe
parents: 3729
diff changeset
582 AC_SUBST(GPERF)
3673
e0b46234555e [project @ 2000-06-05 18:28:54 by jwe]
jwe
parents: 3506
diff changeset
583 ])
e0b46234555e [project @ 2000-06-05 18:28:54 by jwe]
jwe
parents: 3506
diff changeset
584 dnl
3222
dae85431bade [project @ 1998-11-19 22:14:06 by jwe]
jwe
parents: 3176
diff changeset
585 dnl Find nm.
dae85431bade [project @ 1998-11-19 22:14:06 by jwe]
jwe
parents: 3176
diff changeset
586 dnl
dae85431bade [project @ 1998-11-19 22:14:06 by jwe]
jwe
parents: 3176
diff changeset
587 dnl OCTAVE_PROG_NM
dae85431bade [project @ 1998-11-19 22:14:06 by jwe]
jwe
parents: 3176
diff changeset
588 AC_DEFUN(OCTAVE_PROG_NM,
4093
5a82e874999b [project @ 2002-10-08 23:48:45 by jwe]
jwe
parents: 4084
diff changeset
589 [AC_CHECK_PROG(NM, ${ac_tool_prefix}nm, ${ac_tool_prefix}nm, [])
3222
dae85431bade [project @ 1998-11-19 22:14:06 by jwe]
jwe
parents: 3176
diff changeset
590 AC_SUBST(NM)
dae85431bade [project @ 1998-11-19 22:14:06 by jwe]
jwe
parents: 3176
diff changeset
591 ])
dae85431bade [project @ 1998-11-19 22:14:06 by jwe]
jwe
parents: 3176
diff changeset
592 dnl
dae85431bade [project @ 1998-11-19 22:14:06 by jwe]
jwe
parents: 3176
diff changeset
593 dnl See if the C++ compiler prepends an underscore to external names.
dae85431bade [project @ 1998-11-19 22:14:06 by jwe]
jwe
parents: 3176
diff changeset
594 dnl
dae85431bade [project @ 1998-11-19 22:14:06 by jwe]
jwe
parents: 3176
diff changeset
595 dnl OCTAVE_CXX_PREPENDS_UNDERSCORE
4093
5a82e874999b [project @ 2002-10-08 23:48:45 by jwe]
jwe
parents: 4084
diff changeset
596 AC_DEFUN(OCTAVE_CXX_PREPENDS_UNDERSCORE, [
5a82e874999b [project @ 2002-10-08 23:48:45 by jwe]
jwe
parents: 4084
diff changeset
597 AC_REQUIRE([OCTAVE_PROG_NM])
5a82e874999b [project @ 2002-10-08 23:48:45 by jwe]
jwe
parents: 4084
diff changeset
598 AC_MSG_CHECKING([whether ${CXX-g++} prepends an underscore to external names])
3222
dae85431bade [project @ 1998-11-19 22:14:06 by jwe]
jwe
parents: 3176
diff changeset
599 AC_CACHE_VAL(octave_cv_cxx_prepends_underscore,
dae85431bade [project @ 1998-11-19 22:14:06 by jwe]
jwe
parents: 3176
diff changeset
600 [octave_cv_cxx_prepends_underscore=no
3888
70ebd3d672a1 [project @ 2002-04-04 01:05:53 by jwe]
jwe
parents: 3887
diff changeset
601 AC_LANG_PUSH(C++)
3222
dae85431bade [project @ 1998-11-19 22:14:06 by jwe]
jwe
parents: 3176
diff changeset
602 cat > conftest.$ac_ext <<EOF
3842
07b99a1889cb [project @ 2001-06-29 18:58:21 by jwe]
jwe
parents: 3835
diff changeset
603 bool FSmy_dld_fcn (void) { return false; }
3222
dae85431bade [project @ 1998-11-19 22:14:06 by jwe]
jwe
parents: 3176
diff changeset
604 EOF
dae85431bade [project @ 1998-11-19 22:14:06 by jwe]
jwe
parents: 3176
diff changeset
605 if AC_TRY_EVAL(ac_compile); then
dae85431bade [project @ 1998-11-19 22:14:06 by jwe]
jwe
parents: 3176
diff changeset
606 if test "`${NM-nm} conftest.o | grep _FSmy_dld_fcn`" != ""; then
dae85431bade [project @ 1998-11-19 22:14:06 by jwe]
jwe
parents: 3176
diff changeset
607 octave_cv_cxx_prepends_underscore=yes
dae85431bade [project @ 1998-11-19 22:14:06 by jwe]
jwe
parents: 3176
diff changeset
608 fi
dae85431bade [project @ 1998-11-19 22:14:06 by jwe]
jwe
parents: 3176
diff changeset
609 else
3888
70ebd3d672a1 [project @ 2002-04-04 01:05:53 by jwe]
jwe
parents: 3887
diff changeset
610 echo "configure: failed program was:" >&AS_MESSAGE_LOG_FD
70ebd3d672a1 [project @ 2002-04-04 01:05:53 by jwe]
jwe
parents: 3887
diff changeset
611 cat conftest.$ac_ext >&AS_MESSAGE_LOG_FD
3222
dae85431bade [project @ 1998-11-19 22:14:06 by jwe]
jwe
parents: 3176
diff changeset
612 fi
3888
70ebd3d672a1 [project @ 2002-04-04 01:05:53 by jwe]
jwe
parents: 3887
diff changeset
613 AC_LANG_POP(C++)
4105
92f4552ea359 [project @ 2002-10-16 14:55:38 by jwe]
jwe
parents: 4102
diff changeset
614 ### XXX FIXME XXX -- Ignore test result on Windows. Yes it prepends
92f4552ea359 [project @ 2002-10-16 14:55:38 by jwe]
jwe
parents: 4102
diff changeset
615 ### underscore, but LoadLibrary ignores it automatically. The
4102
cbac6756967e [project @ 2002-10-14 20:16:44 by jwe]
jwe
parents: 4098
diff changeset
616 ### correct test is to build the shared library then try to grab the
cbac6756967e [project @ 2002-10-14 20:16:44 by jwe]
jwe
parents: 4098
diff changeset
617 ### symbol from it with and without underscore.
cbac6756967e [project @ 2002-10-14 20:16:44 by jwe]
jwe
parents: 4098
diff changeset
618 case "$canonical_host_type" in
4105
92f4552ea359 [project @ 2002-10-16 14:55:38 by jwe]
jwe
parents: 4102
diff changeset
619 *-*-cygwin* | *-*-mingw*)
4102
cbac6756967e [project @ 2002-10-14 20:16:44 by jwe]
jwe
parents: 4098
diff changeset
620 octave_cv_cxx_prepends_underscore=no
cbac6756967e [project @ 2002-10-14 20:16:44 by jwe]
jwe
parents: 4098
diff changeset
621 ;;
4162
bcdf1c264e08 [project @ 2002-11-10 00:34:37 by jwe]
jwe
parents: 4125
diff changeset
622 ### XXX FIXME XXX -- Ignore test result on OS X. Yes it prepends
bcdf1c264e08 [project @ 2002-11-10 00:34:37 by jwe]
jwe
parents: 4125
diff changeset
623 ### underscore, but also messes with the name so test fails (incorrectly).
bcdf1c264e08 [project @ 2002-11-10 00:34:37 by jwe]
jwe
parents: 4125
diff changeset
624 *-*-darwin6*)
bcdf1c264e08 [project @ 2002-11-10 00:34:37 by jwe]
jwe
parents: 4125
diff changeset
625 octave_cv_cxx_prepends_underscore=yes
bcdf1c264e08 [project @ 2002-11-10 00:34:37 by jwe]
jwe
parents: 4125
diff changeset
626 ;;
4102
cbac6756967e [project @ 2002-10-14 20:16:44 by jwe]
jwe
parents: 4098
diff changeset
627 esac
3222
dae85431bade [project @ 1998-11-19 22:14:06 by jwe]
jwe
parents: 3176
diff changeset
628 ])
dae85431bade [project @ 1998-11-19 22:14:06 by jwe]
jwe
parents: 3176
diff changeset
629 AC_MSG_RESULT($octave_cv_cxx_prepends_underscore)
dae85431bade [project @ 1998-11-19 22:14:06 by jwe]
jwe
parents: 3176
diff changeset
630 if test $octave_cv_cxx_prepends_underscore = yes; then
3887
7da18459c08b [project @ 2002-04-04 00:44:21 by jwe]
jwe
parents: 3843
diff changeset
631 AC_DEFINE(CXX_PREPENDS_UNDERSCORE, 1, [Define if your compiler prepends underscores to external names.])
3222
dae85431bade [project @ 1998-11-19 22:14:06 by jwe]
jwe
parents: 3176
diff changeset
632 fi
dae85431bade [project @ 1998-11-19 22:14:06 by jwe]
jwe
parents: 3176
diff changeset
633 ])
3769
7c8e3c42ed04 [project @ 2001-01-31 22:15:51 by jwe]
jwe
parents: 3750
diff changeset
634 dnl
7c8e3c42ed04 [project @ 2001-01-31 22:15:51 by jwe]
jwe
parents: 3750
diff changeset
635 dnl See if the C++ library is ISO compliant.
7c8e3c42ed04 [project @ 2001-01-31 22:15:51 by jwe]
jwe
parents: 3750
diff changeset
636 dnl FIXME: This is obviously very simplistic, and trivially fooled.
7c8e3c42ed04 [project @ 2001-01-31 22:15:51 by jwe]
jwe
parents: 3750
diff changeset
637 dnl
7c8e3c42ed04 [project @ 2001-01-31 22:15:51 by jwe]
jwe
parents: 3750
diff changeset
638 dnl OCTAVE_CXX_ISO_COMPLIANT_LIBRARY
7c8e3c42ed04 [project @ 2001-01-31 22:15:51 by jwe]
jwe
parents: 3750
diff changeset
639 AC_DEFUN(OCTAVE_CXX_ISO_COMPLIANT_LIBRARY, [
7c8e3c42ed04 [project @ 2001-01-31 22:15:51 by jwe]
jwe
parents: 3750
diff changeset
640 AC_REQUIRE([AC_PROG_CXX])
7c8e3c42ed04 [project @ 2001-01-31 22:15:51 by jwe]
jwe
parents: 3750
diff changeset
641 AC_MSG_CHECKING([if C++ library is ISO compliant])
7c8e3c42ed04 [project @ 2001-01-31 22:15:51 by jwe]
jwe
parents: 3750
diff changeset
642 AC_CACHE_VAL(octave_cv_cxx_iso_compliant_library, [
3888
70ebd3d672a1 [project @ 2002-04-04 01:05:53 by jwe]
jwe
parents: 3887
diff changeset
643 AC_LANG_PUSH(C++)
3769
7c8e3c42ed04 [project @ 2001-01-31 22:15:51 by jwe]
jwe
parents: 3750
diff changeset
644 rm -f conftest.h
3943
a10df4059532 [project @ 2002-05-16 22:31:35 by jwe]
jwe
parents: 3908
diff changeset
645 ### Omitting cwctype for now, since it is broken with gcc-3.0.x and
a10df4059532 [project @ 2002-05-16 22:31:35 by jwe]
jwe
parents: 3908
diff changeset
646 ### possibly other versions...
3769
7c8e3c42ed04 [project @ 2001-01-31 22:15:51 by jwe]
jwe
parents: 3750
diff changeset
647 for inc in algorithm bitset cassert cctype cerrno cfloat ciso646 \
7c8e3c42ed04 [project @ 2001-01-31 22:15:51 by jwe]
jwe
parents: 3750
diff changeset
648 climits clocale cmath complex csetjmp csignal cstdarg cstddef \
3943
a10df4059532 [project @ 2002-05-16 22:31:35 by jwe]
jwe
parents: 3908
diff changeset
649 cstdio cstdlib cstring ctime cwchar deque exception \
3769
7c8e3c42ed04 [project @ 2001-01-31 22:15:51 by jwe]
jwe
parents: 3750
diff changeset
650 fstream functional iomanip ios iosfwd iostream istream iterator \
7c8e3c42ed04 [project @ 2001-01-31 22:15:51 by jwe]
jwe
parents: 3750
diff changeset
651 limits list locale map memory new numeric ostream queue set \
7c8e3c42ed04 [project @ 2001-01-31 22:15:51 by jwe]
jwe
parents: 3750
diff changeset
652 sstream stack stdexcept streambuf string strstream typeinfo \
7c8e3c42ed04 [project @ 2001-01-31 22:15:51 by jwe]
jwe
parents: 3750
diff changeset
653 utility valarray vector; do
7c8e3c42ed04 [project @ 2001-01-31 22:15:51 by jwe]
jwe
parents: 3750
diff changeset
654 echo "#include <$inc>" >> conftest.h
7c8e3c42ed04 [project @ 2001-01-31 22:15:51 by jwe]
jwe
parents: 3750
diff changeset
655 done
7c8e3c42ed04 [project @ 2001-01-31 22:15:51 by jwe]
jwe
parents: 3750
diff changeset
656 AC_TRY_LINK([#include "conftest.h"], [
7c8e3c42ed04 [project @ 2001-01-31 22:15:51 by jwe]
jwe
parents: 3750
diff changeset
657 std::bitset<50> flags;
7c8e3c42ed04 [project @ 2001-01-31 22:15:51 by jwe]
jwe
parents: 3750
diff changeset
658 flags.set();
7c8e3c42ed04 [project @ 2001-01-31 22:15:51 by jwe]
jwe
parents: 3750
diff changeset
659 int digits = std::numeric_limits<unsigned long>::digits;
7c8e3c42ed04 [project @ 2001-01-31 22:15:51 by jwe]
jwe
parents: 3750
diff changeset
660 digits = 0;
7c8e3c42ed04 [project @ 2001-01-31 22:15:51 by jwe]
jwe
parents: 3750
diff changeset
661 ],
7c8e3c42ed04 [project @ 2001-01-31 22:15:51 by jwe]
jwe
parents: 3750
diff changeset
662 octave_cv_cxx_iso_compliant_library=yes,
7c8e3c42ed04 [project @ 2001-01-31 22:15:51 by jwe]
jwe
parents: 3750
diff changeset
663 octave_cv_cxx_iso_compliant_library=no
7c8e3c42ed04 [project @ 2001-01-31 22:15:51 by jwe]
jwe
parents: 3750
diff changeset
664 )
3888
70ebd3d672a1 [project @ 2002-04-04 01:05:53 by jwe]
jwe
parents: 3887
diff changeset
665 AC_LANG_POP(C++)
3769
7c8e3c42ed04 [project @ 2001-01-31 22:15:51 by jwe]
jwe
parents: 3750
diff changeset
666 ])
7c8e3c42ed04 [project @ 2001-01-31 22:15:51 by jwe]
jwe
parents: 3750
diff changeset
667 AC_MSG_RESULT($octave_cv_cxx_iso_compliant_library)
7c8e3c42ed04 [project @ 2001-01-31 22:15:51 by jwe]
jwe
parents: 3750
diff changeset
668 if test $octave_cv_cxx_iso_compliant_library = yes; then
3887
7da18459c08b [project @ 2002-04-04 00:44:21 by jwe]
jwe
parents: 3843
diff changeset
669 AC_DEFINE(CXX_ISO_COMPLIANT_LIBRARY, 1, [Define if your C++ runtime library is ISO compliant.])
3769
7c8e3c42ed04 [project @ 2001-01-31 22:15:51 by jwe]
jwe
parents: 3750
diff changeset
670 fi
7c8e3c42ed04 [project @ 2001-01-31 22:15:51 by jwe]
jwe
parents: 3750
diff changeset
671 ])
3822
1a809dae77db [project @ 2001-04-26 16:07:17 by jwe]
jwe
parents: 3769
diff changeset
672 dnl
1a809dae77db [project @ 2001-04-26 16:07:17 by jwe]
jwe
parents: 3769
diff changeset
673 dnl Allow the user disable support for command line editing using GNU
1a809dae77db [project @ 2001-04-26 16:07:17 by jwe]
jwe
parents: 3769
diff changeset
674 dnl readline.
1a809dae77db [project @ 2001-04-26 16:07:17 by jwe]
jwe
parents: 3769
diff changeset
675 dnl
1a809dae77db [project @ 2001-04-26 16:07:17 by jwe]
jwe
parents: 3769
diff changeset
676 dnl OCTAVE_ENABLE_READLINE
1a809dae77db [project @ 2001-04-26 16:07:17 by jwe]
jwe
parents: 3769
diff changeset
677 AC_DEFUN(OCTAVE_ENABLE_READLINE, [
1a809dae77db [project @ 2001-04-26 16:07:17 by jwe]
jwe
parents: 3769
diff changeset
678 USE_READLINE=true
4102
cbac6756967e [project @ 2002-10-14 20:16:44 by jwe]
jwe
parents: 4098
diff changeset
679 LIBREADLINE=
3822
1a809dae77db [project @ 2001-04-26 16:07:17 by jwe]
jwe
parents: 3769
diff changeset
680 AC_ARG_ENABLE(readline,
1a809dae77db [project @ 2001-04-26 16:07:17 by jwe]
jwe
parents: 3769
diff changeset
681 [ --enable-readline use readline library (default is yes)],
1a809dae77db [project @ 2001-04-26 16:07:17 by jwe]
jwe
parents: 3769
diff changeset
682 [if test "$enableval" = no; then
3824
0ee55719541a [project @ 2001-04-26 17:07:21 by jwe]
jwe
parents: 3822
diff changeset
683 USE_READLINE=false
3825
74255bd05bdd [project @ 2001-04-26 19:50:03 by jwe]
jwe
parents: 3824
diff changeset
684 warn_readline="command editing and history features require GNU Readline"
3824
0ee55719541a [project @ 2001-04-26 17:07:21 by jwe]
jwe
parents: 3822
diff changeset
685 fi])
3822
1a809dae77db [project @ 2001-04-26 16:07:17 by jwe]
jwe
parents: 3769
diff changeset
686 if $USE_READLINE; then
1a809dae77db [project @ 2001-04-26 16:07:17 by jwe]
jwe
parents: 3769
diff changeset
687 AC_CHECK_LIB(readline, rl_set_keyboard_input_timeout, [
4102
cbac6756967e [project @ 2002-10-14 20:16:44 by jwe]
jwe
parents: 4098
diff changeset
688 LIBREADLINE="-lreadline"
cbac6756967e [project @ 2002-10-14 20:16:44 by jwe]
jwe
parents: 4098
diff changeset
689 LIBS="$LIBREADLINE $LIBS"
3887
7da18459c08b [project @ 2002-04-04 00:44:21 by jwe]
jwe
parents: 3843
diff changeset
690 AC_DEFINE(USE_READLINE, 1, [Define to use the readline library.])
3822
1a809dae77db [project @ 2001-04-26 16:07:17 by jwe]
jwe
parents: 3769
diff changeset
691 ], [
3824
0ee55719541a [project @ 2001-04-26 17:07:21 by jwe]
jwe
parents: 3822
diff changeset
692 AC_MSG_WARN([I need GNU Readline 4.2 or later])
0ee55719541a [project @ 2001-04-26 17:07:21 by jwe]
jwe
parents: 3822
diff changeset
693 AC_MSG_ERROR([this is fatal unless you specify --disable-readline])
3822
1a809dae77db [project @ 2001-04-26 16:07:17 by jwe]
jwe
parents: 3769
diff changeset
694 ])
1a809dae77db [project @ 2001-04-26 16:07:17 by jwe]
jwe
parents: 3769
diff changeset
695 fi
4102
cbac6756967e [project @ 2002-10-14 20:16:44 by jwe]
jwe
parents: 4098
diff changeset
696 AC_SUBST(LIBREADLINE)
3822
1a809dae77db [project @ 2001-04-26 16:07:17 by jwe]
jwe
parents: 3769
diff changeset
697 ])
3842
07b99a1889cb [project @ 2001-06-29 18:58:21 by jwe]
jwe
parents: 3835
diff changeset
698 dnl
07b99a1889cb [project @ 2001-06-29 18:58:21 by jwe]
jwe
parents: 3835
diff changeset
699 dnl Determine the C++ compiler ABI. It sets the macro CXX_ABI to the
07b99a1889cb [project @ 2001-06-29 18:58:21 by jwe]
jwe
parents: 3835
diff changeset
700 dnl name of the ABI, and is used to mangle the C linkage loadable
07b99a1889cb [project @ 2001-06-29 18:58:21 by jwe]
jwe
parents: 3835
diff changeset
701 dnl functions to avoid ABI mismatch. GNU C++ currently uses gnu_v2
07b99a1889cb [project @ 2001-06-29 18:58:21 by jwe]
jwe
parents: 3835
diff changeset
702 dnl (GCC versions <= 2.95.x) dnl or gnu_v3 (GCC versions >= 3.0).
07b99a1889cb [project @ 2001-06-29 18:58:21 by jwe]
jwe
parents: 3835
diff changeset
703 dnl Set to "unknown" is when we don't know enough about the ABI, which
07b99a1889cb [project @ 2001-06-29 18:58:21 by jwe]
jwe
parents: 3835
diff changeset
704 dnl will happen when using an unsupported C++ compiler.
07b99a1889cb [project @ 2001-06-29 18:58:21 by jwe]
jwe
parents: 3835
diff changeset
705 dnl
07b99a1889cb [project @ 2001-06-29 18:58:21 by jwe]
jwe
parents: 3835
diff changeset
706 dnl OCTAVE_CXX_ABI
4093
5a82e874999b [project @ 2002-10-08 23:48:45 by jwe]
jwe
parents: 4084
diff changeset
707 AC_DEFUN(OCTAVE_CXX_ABI, [
5a82e874999b [project @ 2002-10-08 23:48:45 by jwe]
jwe
parents: 4084
diff changeset
708 AC_REQUIRE([OCTAVE_PROG_NM])
5a82e874999b [project @ 2002-10-08 23:48:45 by jwe]
jwe
parents: 4084
diff changeset
709 AC_MSG_CHECKING([C++ ABI version used by ${CXX}])
3842
07b99a1889cb [project @ 2001-06-29 18:58:21 by jwe]
jwe
parents: 3835
diff changeset
710 AC_CACHE_VAL(octave_cv_cxx_abi,
07b99a1889cb [project @ 2001-06-29 18:58:21 by jwe]
jwe
parents: 3835
diff changeset
711 [octave_cv_cxx_abi='unknown'
3888
70ebd3d672a1 [project @ 2002-04-04 01:05:53 by jwe]
jwe
parents: 3887
diff changeset
712 AC_LANG_PUSH(C++)
3842
07b99a1889cb [project @ 2001-06-29 18:58:21 by jwe]
jwe
parents: 3835
diff changeset
713 cat > conftest.$ac_ext <<EOF
07b99a1889cb [project @ 2001-06-29 18:58:21 by jwe]
jwe
parents: 3835
diff changeset
714 bool FSmy_dld_fcn (void) { return false; }
07b99a1889cb [project @ 2001-06-29 18:58:21 by jwe]
jwe
parents: 3835
diff changeset
715 EOF
07b99a1889cb [project @ 2001-06-29 18:58:21 by jwe]
jwe
parents: 3835
diff changeset
716 if AC_TRY_EVAL(ac_compile); then
07b99a1889cb [project @ 2001-06-29 18:58:21 by jwe]
jwe
parents: 3835
diff changeset
717 if test "`${NM-nm} conftest.o | grep FSmy_dld_fcn__Fv`" != ""; then
07b99a1889cb [project @ 2001-06-29 18:58:21 by jwe]
jwe
parents: 3835
diff changeset
718 octave_cv_cxx_abi='gnu_v2'
07b99a1889cb [project @ 2001-06-29 18:58:21 by jwe]
jwe
parents: 3835
diff changeset
719 fi
07b99a1889cb [project @ 2001-06-29 18:58:21 by jwe]
jwe
parents: 3835
diff changeset
720 if test "`${NM-nm} conftest.o | grep _Z12FSmy_dld_fcnv`" != ""; then
07b99a1889cb [project @ 2001-06-29 18:58:21 by jwe]
jwe
parents: 3835
diff changeset
721 octave_cv_cxx_abi='gnu_v3'
07b99a1889cb [project @ 2001-06-29 18:58:21 by jwe]
jwe
parents: 3835
diff changeset
722 fi
07b99a1889cb [project @ 2001-06-29 18:58:21 by jwe]
jwe
parents: 3835
diff changeset
723 if test "`${NM-nm} conftest.o | grep __1cMFSmy_dld_fcn6F_b_`" != ""; then
3843
f848bc60b927 [project @ 2001-06-29 21:10:21 by jwe]
jwe
parents: 3842
diff changeset
724 octave_cv_cxx_abi='sun_v5'
3842
07b99a1889cb [project @ 2001-06-29 18:58:21 by jwe]
jwe
parents: 3835
diff changeset
725 fi
07b99a1889cb [project @ 2001-06-29 18:58:21 by jwe]
jwe
parents: 3835
diff changeset
726 else
3888
70ebd3d672a1 [project @ 2002-04-04 01:05:53 by jwe]
jwe
parents: 3887
diff changeset
727 echo "configure: failed program was:" >&AS_MESSAGE_LOG_FD
70ebd3d672a1 [project @ 2002-04-04 01:05:53 by jwe]
jwe
parents: 3887
diff changeset
728 cat conftest.$ac_ext >&AS_MESSAGE_LOG_FD
3842
07b99a1889cb [project @ 2001-06-29 18:58:21 by jwe]
jwe
parents: 3835
diff changeset
729 fi
3888
70ebd3d672a1 [project @ 2002-04-04 01:05:53 by jwe]
jwe
parents: 3887
diff changeset
730 AC_LANG_POP(C++)
3842
07b99a1889cb [project @ 2001-06-29 18:58:21 by jwe]
jwe
parents: 3835
diff changeset
731 ])
07b99a1889cb [project @ 2001-06-29 18:58:21 by jwe]
jwe
parents: 3835
diff changeset
732 AC_MSG_RESULT($octave_cv_cxx_abi)
3887
7da18459c08b [project @ 2002-04-04 00:44:21 by jwe]
jwe
parents: 3843
diff changeset
733 AC_DEFINE_UNQUOTED(CXX_ABI, $octave_cv_cxx_abi, [Define to the C++ ABI your compiler uses.])
3842
07b99a1889cb [project @ 2001-06-29 18:58:21 by jwe]
jwe
parents: 3835
diff changeset
734 ])
4067
e97fb79fc1d5 [project @ 2002-09-26 22:43:25 by jwe]
jwe
parents: 3971
diff changeset
735 dnl
e97fb79fc1d5 [project @ 2002-09-26 22:43:25 by jwe]
jwe
parents: 3971
diff changeset
736 dnl Determine if mkdir accepts only one argument instead dnl of the usual 2.
e97fb79fc1d5 [project @ 2002-09-26 22:43:25 by jwe]
jwe
parents: 3971
diff changeset
737 dnl
e97fb79fc1d5 [project @ 2002-09-26 22:43:25 by jwe]
jwe
parents: 3971
diff changeset
738 AC_DEFUN(OCTAVE_MKDIR_TAKES_ONE_ARG,
e97fb79fc1d5 [project @ 2002-09-26 22:43:25 by jwe]
jwe
parents: 3971
diff changeset
739 [AC_CACHE_CHECK([if mkdir takes one argument], octave_cv_mkdir_takes_one_arg,
e97fb79fc1d5 [project @ 2002-09-26 22:43:25 by jwe]
jwe
parents: 3971
diff changeset
740 [AC_TRY_COMPILE([
e97fb79fc1d5 [project @ 2002-09-26 22:43:25 by jwe]
jwe
parents: 3971
diff changeset
741 #include <sys/types.h>
e97fb79fc1d5 [project @ 2002-09-26 22:43:25 by jwe]
jwe
parents: 3971
diff changeset
742 #ifdef HAVE_SYS_STAT_H
e97fb79fc1d5 [project @ 2002-09-26 22:43:25 by jwe]
jwe
parents: 3971
diff changeset
743 # include <sys/stat.h>
e97fb79fc1d5 [project @ 2002-09-26 22:43:25 by jwe]
jwe
parents: 3971
diff changeset
744 #endif
e97fb79fc1d5 [project @ 2002-09-26 22:43:25 by jwe]
jwe
parents: 3971
diff changeset
745 #ifdef HAVE_UNISTD_H
e97fb79fc1d5 [project @ 2002-09-26 22:43:25 by jwe]
jwe
parents: 3971
diff changeset
746 # include <unistd.h>
e97fb79fc1d5 [project @ 2002-09-26 22:43:25 by jwe]
jwe
parents: 3971
diff changeset
747 #endif
e97fb79fc1d5 [project @ 2002-09-26 22:43:25 by jwe]
jwe
parents: 3971
diff changeset
748 #ifdef HAVE_DIRECT_H
e97fb79fc1d5 [project @ 2002-09-26 22:43:25 by jwe]
jwe
parents: 3971
diff changeset
749 # include <direct.h>
e97fb79fc1d5 [project @ 2002-09-26 22:43:25 by jwe]
jwe
parents: 3971
diff changeset
750 #endif], [mkdir ("foo", 0);],
e97fb79fc1d5 [project @ 2002-09-26 22:43:25 by jwe]
jwe
parents: 3971
diff changeset
751 octave_cv_mkdir_takes_one_arg=no, octave_cv_mkdir_takes_one_arg=yes)])
e97fb79fc1d5 [project @ 2002-09-26 22:43:25 by jwe]
jwe
parents: 3971
diff changeset
752 if test $octave_cv_mkdir_takes_one_arg = yes ; then
e97fb79fc1d5 [project @ 2002-09-26 22:43:25 by jwe]
jwe
parents: 3971
diff changeset
753 AC_DEFINE(MKDIR_TAKES_ONE_ARG, 1, [Define if host mkdir takes a single argument.])
e97fb79fc1d5 [project @ 2002-09-26 22:43:25 by jwe]
jwe
parents: 3971
diff changeset
754 fi
e97fb79fc1d5 [project @ 2002-09-26 22:43:25 by jwe]
jwe
parents: 3971
diff changeset
755 ])
4084
babc519f245b [project @ 2002-10-03 03:23:14 by jwe]
jwe
parents: 4067
diff changeset
756 # OCTAVE_PROG_SED
babc519f245b [project @ 2002-10-03 03:23:14 by jwe]
jwe
parents: 4067
diff changeset
757 # --------------
babc519f245b [project @ 2002-10-03 03:23:14 by jwe]
jwe
parents: 4067
diff changeset
758 # Check for a fully-functional sed program, that truncates
babc519f245b [project @ 2002-10-03 03:23:14 by jwe]
jwe
parents: 4067
diff changeset
759 # as few characters as possible. Prefer GNU sed if found.
babc519f245b [project @ 2002-10-03 03:23:14 by jwe]
jwe
parents: 4067
diff changeset
760 AC_DEFUN([OCTAVE_PROG_SED],
babc519f245b [project @ 2002-10-03 03:23:14 by jwe]
jwe
parents: 4067
diff changeset
761 [AC_MSG_CHECKING([for a sed that does not truncate output])
babc519f245b [project @ 2002-10-03 03:23:14 by jwe]
jwe
parents: 4067
diff changeset
762 if test -z "$SED"; then
babc519f245b [project @ 2002-10-03 03:23:14 by jwe]
jwe
parents: 4067
diff changeset
763 AC_CACHE_VAL(ac_cv_path_sed,
babc519f245b [project @ 2002-10-03 03:23:14 by jwe]
jwe
parents: 4067
diff changeset
764 [# Loop through the user's path and test for sed and gsed.
babc519f245b [project @ 2002-10-03 03:23:14 by jwe]
jwe
parents: 4067
diff changeset
765 # Then use that list of sed's as ones to test for truncation.
babc519f245b [project @ 2002-10-03 03:23:14 by jwe]
jwe
parents: 4067
diff changeset
766 _AS_PATH_WALK([$PATH],
babc519f245b [project @ 2002-10-03 03:23:14 by jwe]
jwe
parents: 4067
diff changeset
767 [for ac_prog in sed gsed; do
babc519f245b [project @ 2002-10-03 03:23:14 by jwe]
jwe
parents: 4067
diff changeset
768 for ac_exec_ext in '' $ac_executable_extensions; do
babc519f245b [project @ 2002-10-03 03:23:14 by jwe]
jwe
parents: 4067
diff changeset
769 if AS_EXECUTABLE_P(["$as_dir/$ac_prog$ac_exec_ext"]); then
babc519f245b [project @ 2002-10-03 03:23:14 by jwe]
jwe
parents: 4067
diff changeset
770 _sed_list="$_sed_list $as_dir/$ac_prog$ac_exec_ext"
babc519f245b [project @ 2002-10-03 03:23:14 by jwe]
jwe
parents: 4067
diff changeset
771 fi
babc519f245b [project @ 2002-10-03 03:23:14 by jwe]
jwe
parents: 4067
diff changeset
772 done
babc519f245b [project @ 2002-10-03 03:23:14 by jwe]
jwe
parents: 4067
diff changeset
773 done
babc519f245b [project @ 2002-10-03 03:23:14 by jwe]
jwe
parents: 4067
diff changeset
774 ])
babc519f245b [project @ 2002-10-03 03:23:14 by jwe]
jwe
parents: 4067
diff changeset
775 AS_TMPDIR(sed)
babc519f245b [project @ 2002-10-03 03:23:14 by jwe]
jwe
parents: 4067
diff changeset
776 _max=0
babc519f245b [project @ 2002-10-03 03:23:14 by jwe]
jwe
parents: 4067
diff changeset
777 _count=0
babc519f245b [project @ 2002-10-03 03:23:14 by jwe]
jwe
parents: 4067
diff changeset
778 # Add /usr/xpg4/bin/sed as it is typically found on Solaris
babc519f245b [project @ 2002-10-03 03:23:14 by jwe]
jwe
parents: 4067
diff changeset
779 # along with /bin/sed that truncates output.
babc519f245b [project @ 2002-10-03 03:23:14 by jwe]
jwe
parents: 4067
diff changeset
780 for _sed in $_sed_list /usr/xpg4/bin/sed; do
babc519f245b [project @ 2002-10-03 03:23:14 by jwe]
jwe
parents: 4067
diff changeset
781 test ! -f ${_sed} && break
babc519f245b [project @ 2002-10-03 03:23:14 by jwe]
jwe
parents: 4067
diff changeset
782 cat /dev/null > "$tmp/sed.in"
babc519f245b [project @ 2002-10-03 03:23:14 by jwe]
jwe
parents: 4067
diff changeset
783 _count=0
babc519f245b [project @ 2002-10-03 03:23:14 by jwe]
jwe
parents: 4067
diff changeset
784 echo $ECHO_N "0123456789$ECHO_C" >"$tmp/sed.in"
babc519f245b [project @ 2002-10-03 03:23:14 by jwe]
jwe
parents: 4067
diff changeset
785 # Check for GNU sed and select it if it is found.
babc519f245b [project @ 2002-10-03 03:23:14 by jwe]
jwe
parents: 4067
diff changeset
786 if "${_sed}" --version 2>&1 < /dev/null | egrep '(GNU)' > /dev/null;
babc519f245b [project @ 2002-10-03 03:23:14 by jwe]
jwe
parents: 4067
diff changeset
787 then
babc519f245b [project @ 2002-10-03 03:23:14 by jwe]
jwe
parents: 4067
diff changeset
788 octave_cv_path_sed=${_sed}
babc519f245b [project @ 2002-10-03 03:23:14 by jwe]
jwe
parents: 4067
diff changeset
789 break;
babc519f245b [project @ 2002-10-03 03:23:14 by jwe]
jwe
parents: 4067
diff changeset
790 fi
babc519f245b [project @ 2002-10-03 03:23:14 by jwe]
jwe
parents: 4067
diff changeset
791 while true; do
babc519f245b [project @ 2002-10-03 03:23:14 by jwe]
jwe
parents: 4067
diff changeset
792 cat "$tmp/sed.in" "$tmp/sed.in" >"$tmp/sed.tmp"
babc519f245b [project @ 2002-10-03 03:23:14 by jwe]
jwe
parents: 4067
diff changeset
793 mv "$tmp/sed.tmp" "$tmp/sed.in"
babc519f245b [project @ 2002-10-03 03:23:14 by jwe]
jwe
parents: 4067
diff changeset
794 cp "$tmp/sed.in" "$tmp/sed.nl"
babc519f245b [project @ 2002-10-03 03:23:14 by jwe]
jwe
parents: 4067
diff changeset
795 echo >>"$tmp/sed.nl"
babc519f245b [project @ 2002-10-03 03:23:14 by jwe]
jwe
parents: 4067
diff changeset
796 ${_sed} -e 's/a$//' < "$tmp/sed.nl" >"$tmp/sed.out" || break
babc519f245b [project @ 2002-10-03 03:23:14 by jwe]
jwe
parents: 4067
diff changeset
797 cmp -s "$tmp/sed.out" "$tmp/sed.nl" || break
babc519f245b [project @ 2002-10-03 03:23:14 by jwe]
jwe
parents: 4067
diff changeset
798 # 10000 chars as input seems more than enough
babc519f245b [project @ 2002-10-03 03:23:14 by jwe]
jwe
parents: 4067
diff changeset
799 test $_count -gt 10 && break
babc519f245b [project @ 2002-10-03 03:23:14 by jwe]
jwe
parents: 4067
diff changeset
800 _count=`expr $_count + 1`
babc519f245b [project @ 2002-10-03 03:23:14 by jwe]
jwe
parents: 4067
diff changeset
801 if test $_count -gt $_max; then
babc519f245b [project @ 2002-10-03 03:23:14 by jwe]
jwe
parents: 4067
diff changeset
802 _max=$_count
babc519f245b [project @ 2002-10-03 03:23:14 by jwe]
jwe
parents: 4067
diff changeset
803 octave_cv_path_sed=$_sed
babc519f245b [project @ 2002-10-03 03:23:14 by jwe]
jwe
parents: 4067
diff changeset
804 fi
babc519f245b [project @ 2002-10-03 03:23:14 by jwe]
jwe
parents: 4067
diff changeset
805 done
babc519f245b [project @ 2002-10-03 03:23:14 by jwe]
jwe
parents: 4067
diff changeset
806 done
babc519f245b [project @ 2002-10-03 03:23:14 by jwe]
jwe
parents: 4067
diff changeset
807 rm -rf "$tmp"
babc519f245b [project @ 2002-10-03 03:23:14 by jwe]
jwe
parents: 4067
diff changeset
808 ])
babc519f245b [project @ 2002-10-03 03:23:14 by jwe]
jwe
parents: 4067
diff changeset
809 fi
babc519f245b [project @ 2002-10-03 03:23:14 by jwe]
jwe
parents: 4067
diff changeset
810 AC_SUBST([SED], $octave_cv_path_sed)
babc519f245b [project @ 2002-10-03 03:23:14 by jwe]
jwe
parents: 4067
diff changeset
811 AC_MSG_RESULT([$SED])
babc519f245b [project @ 2002-10-03 03:23:14 by jwe]
jwe
parents: 4067
diff changeset
812 ])