annotate aclocal.m4 @ 8710:739141cde75a ss-3-1-52

fix typo in Array-f.cc
author Jaroslav Hajek <highegg@gmail.com>
date Mon, 09 Feb 2009 21:51:31 +0100
parents 22462fd58e66
children a50228129dba
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
7017
a1dbe9d80eee [project @ 2007-10-12 21:27:11 by jwe]
jwe
parents: 7016
diff changeset
3 dnl Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
a1dbe9d80eee [project @ 2007-10-12 21:27:11 by jwe]
jwe
parents: 7016
diff changeset
4 dnl 2003, 2004, 2005, 2006, 2007 John W. Eaton
1232
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
5 dnl
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
6 dnl This file is part of Octave.
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
7 dnl
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
8 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
9 dnl under the terms of the GNU General Public License as published by the
7016
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 6955
diff changeset
10 dnl Free Software Foundation; either version 3 of the License, or (at
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 6955
diff changeset
11 dnl your option) any later version.
1232
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
12 dnl
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
13 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
14 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
15 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
16 dnl for more details.
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
17 dnl
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
18 dnl You should have received a copy of the GNU General Public License
7016
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 6955
diff changeset
19 dnl along with Octave; see the file COPYING. If not, see
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 6955
diff changeset
20 dnl <http://www.gnu.org/licenses/>.
2548
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
3130
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
48 dnl Check for ar.
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
49 dnl
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
50 AC_DEFUN(OCTAVE_PROG_AR,
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
51 [if test -z "$AR"; then
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
52 AR=ar
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
53 fi
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
54 AC_SUBST(AR)
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
55
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
56 if test -z "$ARFLAGS"; then
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
57 ARFLAGS="rc"
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
58 fi
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
59 AC_SUBST(ARFLAGS)
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
60 ])
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
61 dnl
4360
1d7180ab9df1 [project @ 2003-02-24 02:57:24 by jwe]
jwe
parents: 4192
diff changeset
62 dnl See if the compiler supports placement delete
1d7180ab9df1 [project @ 2003-02-24 02:57:24 by jwe]
jwe
parents: 4192
diff changeset
63 dnl
1d7180ab9df1 [project @ 2003-02-24 02:57:24 by jwe]
jwe
parents: 4192
diff changeset
64 AC_DEFUN(OCTAVE_PLACEMENT_DELETE,
1d7180ab9df1 [project @ 2003-02-24 02:57:24 by jwe]
jwe
parents: 4192
diff changeset
65 [AC_CACHE_CHECK([whether <new> defines placement delete operator],
1d7180ab9df1 [project @ 2003-02-24 02:57:24 by jwe]
jwe
parents: 4192
diff changeset
66 octave_cv_placement_delete,
1d7180ab9df1 [project @ 2003-02-24 02:57:24 by jwe]
jwe
parents: 4192
diff changeset
67 [AC_LANG_PUSH(C++)
5844
034cdbd34c0a [project @ 2006-06-07 15:38:58 by jwe]
jwe
parents: 5842
diff changeset
68 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <new>]],
034cdbd34c0a [project @ 2006-06-07 15:38:58 by jwe]
jwe
parents: 5842
diff changeset
69 [[operator delete((void *)0, (void *)0);]])],
4360
1d7180ab9df1 [project @ 2003-02-24 02:57:24 by jwe]
jwe
parents: 4192
diff changeset
70 octave_cv_placement_delete=yes, octave_cv_placement_delete=no)])
1d7180ab9df1 [project @ 2003-02-24 02:57:24 by jwe]
jwe
parents: 4192
diff changeset
71 if test $octave_cv_placement_delete = yes; then
1d7180ab9df1 [project @ 2003-02-24 02:57:24 by jwe]
jwe
parents: 4192
diff changeset
72 AC_DEFINE(HAVE_PLACEMENT_DELETE,1,[Define if C++ supports operator delete(void *, void *)])
1d7180ab9df1 [project @ 2003-02-24 02:57:24 by jwe]
jwe
parents: 4192
diff changeset
73 fi
1d7180ab9df1 [project @ 2003-02-24 02:57:24 by jwe]
jwe
parents: 4192
diff changeset
74 AC_LANG_POP(C++)
1d7180ab9df1 [project @ 2003-02-24 02:57:24 by jwe]
jwe
parents: 4192
diff changeset
75 ])
1d7180ab9df1 [project @ 2003-02-24 02:57:24 by jwe]
jwe
parents: 4192
diff changeset
76 dnl
4366
ad851d04b396 [project @ 2003-03-05 09:49:18 by jwe]
jwe
parents: 4360
diff changeset
77 dnl See if the compiler dynamic auto arrays
ad851d04b396 [project @ 2003-03-05 09:49:18 by jwe]
jwe
parents: 4360
diff changeset
78 dnl
ad851d04b396 [project @ 2003-03-05 09:49:18 by jwe]
jwe
parents: 4360
diff changeset
79 AC_DEFUN(OCTAVE_DYNAMIC_AUTO_ARRAYS,
ad851d04b396 [project @ 2003-03-05 09:49:18 by jwe]
jwe
parents: 4360
diff changeset
80 [AC_CACHE_CHECK([whether C++ supports dynamic auto arrays],
ad851d04b396 [project @ 2003-03-05 09:49:18 by jwe]
jwe
parents: 4360
diff changeset
81 octave_cv_dynamic_auto_arrays,
ad851d04b396 [project @ 2003-03-05 09:49:18 by jwe]
jwe
parents: 4360
diff changeset
82 [AC_LANG_PUSH(C++)
5844
034cdbd34c0a [project @ 2006-06-07 15:38:58 by jwe]
jwe
parents: 5842
diff changeset
83 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]],
034cdbd34c0a [project @ 2006-06-07 15:38:58 by jwe]
jwe
parents: 5842
diff changeset
84 [[void test(char *); int length(); char x[length()]; test(x);]])],
4366
ad851d04b396 [project @ 2003-03-05 09:49:18 by jwe]
jwe
parents: 4360
diff changeset
85 octave_cv_dynamic_auto_arrays=yes, octave_cv_dynamic_auto_arrays=no)])
ad851d04b396 [project @ 2003-03-05 09:49:18 by jwe]
jwe
parents: 4360
diff changeset
86 if test $octave_cv_dynamic_auto_arrays = yes; then
ad851d04b396 [project @ 2003-03-05 09:49:18 by jwe]
jwe
parents: 4360
diff changeset
87 AC_DEFINE(HAVE_DYNAMIC_AUTO_ARRAYS,1,[Define if C++ supports dynamic auto arrays])
ad851d04b396 [project @ 2003-03-05 09:49:18 by jwe]
jwe
parents: 4360
diff changeset
88 fi
ad851d04b396 [project @ 2003-03-05 09:49:18 by jwe]
jwe
parents: 4360
diff changeset
89 AC_LANG_POP(C++)
ad851d04b396 [project @ 2003-03-05 09:49:18 by jwe]
jwe
parents: 4360
diff changeset
90 ])
ad851d04b396 [project @ 2003-03-05 09:49:18 by jwe]
jwe
parents: 4360
diff changeset
91 dnl
7058
ad2aaf824128 [project @ 2007-10-24 06:15:39 by jwe]
jwe
parents: 7017
diff changeset
92 dnl Check for broken strptime
ad2aaf824128 [project @ 2007-10-24 06:15:39 by jwe]
jwe
parents: 7017
diff changeset
93 dnl
ad2aaf824128 [project @ 2007-10-24 06:15:39 by jwe]
jwe
parents: 7017
diff changeset
94 AC_DEFUN(OCTAVE_STRPTIME_BROKEN,
ad2aaf824128 [project @ 2007-10-24 06:15:39 by jwe]
jwe
parents: 7017
diff changeset
95 [AC_CACHE_CHECK([whether strptime is broken],
ad2aaf824128 [project @ 2007-10-24 06:15:39 by jwe]
jwe
parents: 7017
diff changeset
96 octave_cv_strptime_broken,
ad2aaf824128 [project @ 2007-10-24 06:15:39 by jwe]
jwe
parents: 7017
diff changeset
97 [AC_LANG_PUSH(C)
ad2aaf824128 [project @ 2007-10-24 06:15:39 by jwe]
jwe
parents: 7017
diff changeset
98 AC_RUN_IFELSE([AC_LANG_PROGRAM([[
ad2aaf824128 [project @ 2007-10-24 06:15:39 by jwe]
jwe
parents: 7017
diff changeset
99 #define _XOPEN_SOURCE
ad2aaf824128 [project @ 2007-10-24 06:15:39 by jwe]
jwe
parents: 7017
diff changeset
100 #if defined (HAVE_SYS_TYPES_H)
ad2aaf824128 [project @ 2007-10-24 06:15:39 by jwe]
jwe
parents: 7017
diff changeset
101 #include <sys/types.h>
ad2aaf824128 [project @ 2007-10-24 06:15:39 by jwe]
jwe
parents: 7017
diff changeset
102 #if defined (HAVE_UNISTD_H)
ad2aaf824128 [project @ 2007-10-24 06:15:39 by jwe]
jwe
parents: 7017
diff changeset
103 #include <unistd.h>
ad2aaf824128 [project @ 2007-10-24 06:15:39 by jwe]
jwe
parents: 7017
diff changeset
104 #endif
ad2aaf824128 [project @ 2007-10-24 06:15:39 by jwe]
jwe
parents: 7017
diff changeset
105 #endif
ad2aaf824128 [project @ 2007-10-24 06:15:39 by jwe]
jwe
parents: 7017
diff changeset
106 #include <stdio.h>
ad2aaf824128 [project @ 2007-10-24 06:15:39 by jwe]
jwe
parents: 7017
diff changeset
107 #include <time.h>
ad2aaf824128 [project @ 2007-10-24 06:15:39 by jwe]
jwe
parents: 7017
diff changeset
108 ]], [[
ad2aaf824128 [project @ 2007-10-24 06:15:39 by jwe]
jwe
parents: 7017
diff changeset
109 struct tm t;
ad2aaf824128 [project @ 2007-10-24 06:15:39 by jwe]
jwe
parents: 7017
diff changeset
110 char *q = strptime ("09/13", "%m/%d/%y", &t);
ad2aaf824128 [project @ 2007-10-24 06:15:39 by jwe]
jwe
parents: 7017
diff changeset
111 return q ? 1 : 0;
ad2aaf824128 [project @ 2007-10-24 06:15:39 by jwe]
jwe
parents: 7017
diff changeset
112 ]])], [octave_cv_strptime_broken=no], [octave_cv_strptime_broken=yes])])
ad2aaf824128 [project @ 2007-10-24 06:15:39 by jwe]
jwe
parents: 7017
diff changeset
113 if test $octave_cv_strptime_broken = yes; then
ad2aaf824128 [project @ 2007-10-24 06:15:39 by jwe]
jwe
parents: 7017
diff changeset
114 AC_DEFINE(OCTAVE_HAVE_BROKEN_STRPTIME, 1, [Define if strptime is broken on your system])
ad2aaf824128 [project @ 2007-10-24 06:15:39 by jwe]
jwe
parents: 7017
diff changeset
115 fi
ad2aaf824128 [project @ 2007-10-24 06:15:39 by jwe]
jwe
parents: 7017
diff changeset
116 AC_LANG_POP(C)
ad2aaf824128 [project @ 2007-10-24 06:15:39 by jwe]
jwe
parents: 7017
diff changeset
117 ])
ad2aaf824128 [project @ 2007-10-24 06:15:39 by jwe]
jwe
parents: 7017
diff changeset
118 dnl
1707
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
119 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
120 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
121 dnl kpathsea optional.
1708
0d952cd2ea74 [project @ 1996-01-08 00:45:34 by jwe]
jwe
parents: 1707
diff changeset
122 dnl
0d952cd2ea74 [project @ 1996-01-08 00:45:34 by jwe]
jwe
parents: 1707
diff changeset
123 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
124 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
125 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
126 dnl doesn't hurt.
0d952cd2ea74 [project @ 1996-01-08 00:45:34 by jwe]
jwe
parents: 1707
diff changeset
127 AC_DEFUN(OCTAVE_SMART_PUTENV,
0d952cd2ea74 [project @ 1996-01-08 00:45:34 by jwe]
jwe
parents: 1707
diff changeset
128 [AC_MSG_CHECKING(whether putenv uses malloc)
1707
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
129 AC_CACHE_VAL(octave_cv_func_putenv_malloc,
5844
034cdbd34c0a [project @ 2006-06-07 15:38:58 by jwe]
jwe
parents: 5842
diff changeset
130 [AC_RUN_IFELSE([AC_LANG_SOURCE([[
1707
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
131 #define VAR "YOW_VAR"
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
132 #define STRING1 "GabbaGabbaHey"
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
133 #define STRING2 "Yow!!" /* should be shorter than STRING1 */
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
134 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
135 main ()
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
136 {
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
137 char *str1, *rstr1, *str2, *rstr2;
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
138 str1 = getenv (VAR);
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
139 if (str1)
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
140 exit (1);
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
141 str1 = malloc (strlen (VAR) + 1 + strlen (STRING1) + 1);
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
142 if (str1 == 0)
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
143 exit (2);
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
144 strcpy (str1, VAR);
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
145 strcat (str1, "=");
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
146 strcat (str1, STRING1);
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
147 if (putenv (str1) < 0)
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
148 exit (3);
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
149 rstr1 = getenv (VAR);
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
150 if (rstr1 == 0)
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
151 exit (4);
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
152 rstr1 -= strlen (VAR) + 1;
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
153 if (strncmp (rstr1, VAR, strlen (VAR)))
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
154 exit (5);
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
155 str2 = malloc (strlen (VAR) + 1 + strlen (STRING2) + 1);
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
156 if (str2 == 0 || str1 == str2)
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
157 exit (6);
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
158 strcpy (str2, VAR);
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
159 strcat (str2, "=");
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
160 strcat (str2, STRING2);
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
161 if (putenv (str2) < 0)
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
162 exit (7);
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
163 rstr2 = getenv (VAR);
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
164 if (rstr2 == 0)
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
165 exit (8);
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
166 rstr2 -= strlen (VAR) + 1;
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
167 #if 0
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
168 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
169 /*
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
170 * 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
171 * 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
172 */
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
173 if (rstr1 == rstr2)
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
174 printf ("#define SMART_PUTENV\n");
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
175 else
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
176 printf ("#undef SMART_PUTENV\n");
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
177 #endif
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
178 exit (rstr1 == rstr2 ? 0 : 1);
5844
034cdbd34c0a [project @ 2006-06-07 15:38:58 by jwe]
jwe
parents: 5842
diff changeset
179 }]])], octave_cv_func_putenv_malloc=yes, octave_cv_func_putenv_malloc=no,
1707
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
180 octave_cv_func_putenv_malloc=no)])dnl
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
181 AC_MSG_RESULT($octave_cv_func_putenv_malloc)
5ddae4c13f80 [project @ 1996-01-08 00:39:59 by jwe]
jwe
parents: 1315
diff changeset
182 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
183 AC_DEFINE(SMART_PUTENV,1,[To quiet autoheader.])
1708
0d952cd2ea74 [project @ 1996-01-08 00:45:34 by jwe]
jwe
parents: 1707
diff changeset
184 fi])
1788
b7de2fd2be6b [project @ 1996-01-24 20:47:58 by jwe]
jwe
parents: 1708
diff changeset
185 dnl
2469
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
186 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
187 dnl aclocal.m4 file distributed with bash 2.0.
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
188 dnl
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
189 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
190 AC_DEFUN(OCTAVE_SIGNAL_CHECK,
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
191 [AC_REQUIRE([AC_TYPE_SIGNAL])
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
192 AC_MSG_CHECKING(for type of signal functions)
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
193 AC_CACHE_VAL(octave_cv_signal_vintage,
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
194 [
5842
ecb61a521d5b [project @ 2006-06-06 15:03:33 by jwe]
jwe
parents: 5775
diff changeset
195 AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <signal.h>]],
ecb61a521d5b [project @ 2006-06-06 15:03:33 by jwe]
jwe
parents: 5775
diff changeset
196 [[sigset_t ss;
ecb61a521d5b [project @ 2006-06-06 15:03:33 by jwe]
jwe
parents: 5775
diff changeset
197 struct sigaction sa;
ecb61a521d5b [project @ 2006-06-06 15:03:33 by jwe]
jwe
parents: 5775
diff changeset
198 sigemptyset (&ss);
ecb61a521d5b [project @ 2006-06-06 15:03:33 by jwe]
jwe
parents: 5775
diff changeset
199 sigsuspend (&ss);
ecb61a521d5b [project @ 2006-06-06 15:03:33 by jwe]
jwe
parents: 5775
diff changeset
200 sigaction (SIGINT, &sa, (struct sigaction *) 0);
ecb61a521d5b [project @ 2006-06-06 15:03:33 by jwe]
jwe
parents: 5775
diff changeset
201 sigprocmask (SIG_BLOCK, &ss, (sigset_t *) 0);]])],
ecb61a521d5b [project @ 2006-06-06 15:03:33 by jwe]
jwe
parents: 5775
diff changeset
202 [octave_cv_signal_vintage=posix],
ecb61a521d5b [project @ 2006-06-06 15:03:33 by jwe]
jwe
parents: 5775
diff changeset
203 [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <signal.h>]],
ecb61a521d5b [project @ 2006-06-06 15:03:33 by jwe]
jwe
parents: 5775
diff changeset
204 [[int mask = sigmask (SIGINT);
ecb61a521d5b [project @ 2006-06-06 15:03:33 by jwe]
jwe
parents: 5775
diff changeset
205 sigsetmask (mask);
ecb61a521d5b [project @ 2006-06-06 15:03:33 by jwe]
jwe
parents: 5775
diff changeset
206 sigblock (mask);
ecb61a521d5b [project @ 2006-06-06 15:03:33 by jwe]
jwe
parents: 5775
diff changeset
207 sigpause (mask);]])],
ecb61a521d5b [project @ 2006-06-06 15:03:33 by jwe]
jwe
parents: 5775
diff changeset
208 [octave_cv_signal_vintage=4.2bsd],
ecb61a521d5b [project @ 2006-06-06 15:03:33 by jwe]
jwe
parents: 5775
diff changeset
209 [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <signal.h>
5844
034cdbd34c0a [project @ 2006-06-07 15:38:58 by jwe]
jwe
parents: 5842
diff changeset
210 RETSIGTYPE foo() { }]],
5842
ecb61a521d5b [project @ 2006-06-06 15:03:33 by jwe]
jwe
parents: 5775
diff changeset
211 [[int mask = sigmask (SIGINT);
ecb61a521d5b [project @ 2006-06-06 15:03:33 by jwe]
jwe
parents: 5775
diff changeset
212 sigset (SIGINT, foo);
ecb61a521d5b [project @ 2006-06-06 15:03:33 by jwe]
jwe
parents: 5775
diff changeset
213 sigrelse (SIGINT);
ecb61a521d5b [project @ 2006-06-06 15:03:33 by jwe]
jwe
parents: 5775
diff changeset
214 sighold (SIGINT);
5844
034cdbd34c0a [project @ 2006-06-07 15:38:58 by jwe]
jwe
parents: 5842
diff changeset
215 sigpause (SIGINT);]])],
5842
ecb61a521d5b [project @ 2006-06-06 15:03:33 by jwe]
jwe
parents: 5775
diff changeset
216 [octave_cv_signal_vintage=svr3],
ecb61a521d5b [project @ 2006-06-06 15:03:33 by jwe]
jwe
parents: 5775
diff changeset
217 [octave_cv_signal_vintage=v7])])])])
2469
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
218 AC_MSG_RESULT($octave_cv_signal_vintage)
2491
d47834a272c2 [project @ 1996-11-08 22:44:29 by jwe]
jwe
parents: 2469
diff changeset
219 if test "$octave_cv_signal_vintage" = posix; then
5842
ecb61a521d5b [project @ 2006-06-06 15:03:33 by jwe]
jwe
parents: 5775
diff changeset
220 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
221 elif test "$octave_cv_signal_vintage" = "4.2bsd"; then
5842
ecb61a521d5b [project @ 2006-06-06 15:03:33 by jwe]
jwe
parents: 5775
diff changeset
222 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
223 elif test "$octave_cv_signal_vintage" = svr3; then
5842
ecb61a521d5b [project @ 2006-06-06 15:03:33 by jwe]
jwe
parents: 5775
diff changeset
224 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
225 fi
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
226 ])
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
227 dnl
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
228 AC_DEFUN(OCTAVE_REINSTALL_SIGHANDLERS,
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
229 [AC_REQUIRE([AC_TYPE_SIGNAL])
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
230 AC_REQUIRE([OCTAVE_SIGNAL_CHECK])
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
231 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
232 AC_CACHE_VAL(octave_cv_must_reinstall_sighandlers,
5844
034cdbd34c0a [project @ 2006-06-07 15:38:58 by jwe]
jwe
parents: 5842
diff changeset
233 [AC_RUN_IFELSE([AC_LANG_SOURCE([[
2469
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
234 #include <signal.h>
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
235 #ifdef HAVE_UNISTD_H
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
236 #include <unistd.h>
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
237 #endif
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
238 typedef RETSIGTYPE sigfunc();
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
239 int nsigint;
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
240 #ifdef HAVE_POSIX_SIGNALS
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
241 sigfunc *
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
242 set_signal_handler(sig, handler)
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
243 int sig;
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
244 sigfunc *handler;
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
245 {
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
246 struct sigaction act, oact;
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
247 act.sa_handler = handler;
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
248 act.sa_flags = 0;
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
249 sigemptyset (&act.sa_mask);
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
250 sigemptyset (&oact.sa_mask);
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
251 sigaction (sig, &act, &oact);
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
252 return (oact.sa_handler);
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
253 }
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
254 #else
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
255 #define set_signal_handler(s, h) signal(s, h)
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
256 #endif
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
257 RETSIGTYPE
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
258 sigint(s)
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
259 int s;
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
260 {
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
261 nsigint++;
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
262 }
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
263 main()
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
264 {
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
265 nsigint = 0;
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
266 set_signal_handler(SIGINT, sigint);
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
267 kill((int)getpid(), SIGINT);
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
268 kill((int)getpid(), SIGINT);
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
269 exit(nsigint != 2);
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
270 }
5844
034cdbd34c0a [project @ 2006-06-07 15:38:58 by jwe]
jwe
parents: 5842
diff changeset
271 ]])],
034cdbd34c0a [project @ 2006-06-07 15:38:58 by jwe]
jwe
parents: 5842
diff changeset
272 octave_cv_must_reinstall_sighandlers=no,
034cdbd34c0a [project @ 2006-06-07 15:38:58 by jwe]
jwe
parents: 5842
diff changeset
273 octave_cv_must_reinstall_sighandlers=yes,
3130
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
274 if test "$octave_cv_signal_vintage" = svr3; then
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
275 octave_cv_must_reinstall_sighandlers=yes
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
276 else
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
277 octave_cv_must_reinstall_sighandlers=no
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
278 fi)])
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
279 if test "$cross_compiling" = yes; then
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
280 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
281 else
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
282 AC_MSG_RESULT($octave_cv_must_reinstall_sighandlers)
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
283 fi
2491
d47834a272c2 [project @ 1996-11-08 22:44:29 by jwe]
jwe
parents: 2469
diff changeset
284 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
285 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
286 fi
f201716926bb [project @ 1996-11-05 19:39:33 by jwe]
jwe
parents: 2351
diff changeset
287 ])
2626
b35a5cd8107f [project @ 1997-01-27 01:41:30 by jwe]
jwe
parents: 2621
diff changeset
288 dnl
3107
a8dcfbf87ea3 [project @ 1997-11-19 22:34:59 by jwe]
jwe
parents: 3089
diff changeset
289 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
290 dnl syntax.
a8dcfbf87ea3 [project @ 1997-11-19 22:34:59 by jwe]
jwe
parents: 3089
diff changeset
291 dnl
a8dcfbf87ea3 [project @ 1997-11-19 22:34:59 by jwe]
jwe
parents: 3089
diff changeset
292 dnl OCTAVE_CXX_NEW_FRIEND_TEMPLATE_DECL
a8dcfbf87ea3 [project @ 1997-11-19 22:34:59 by jwe]
jwe
parents: 3089
diff changeset
293 AC_DEFUN(OCTAVE_CXX_NEW_FRIEND_TEMPLATE_DECL, [
a8dcfbf87ea3 [project @ 1997-11-19 22:34:59 by jwe]
jwe
parents: 3089
diff changeset
294 AC_REQUIRE([AC_PROG_CXX])
a8dcfbf87ea3 [project @ 1997-11-19 22:34:59 by jwe]
jwe
parents: 3089
diff changeset
295 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
296 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
297 AC_LANG_PUSH(C++)
3107
a8dcfbf87ea3 [project @ 1997-11-19 22:34:59 by jwe]
jwe
parents: 3089
diff changeset
298 rm -f conftest.h
a8dcfbf87ea3 [project @ 1997-11-19 22:34:59 by jwe]
jwe
parents: 3089
diff changeset
299 cat > conftest.h <<EOB
a8dcfbf87ea3 [project @ 1997-11-19 22:34:59 by jwe]
jwe
parents: 3089
diff changeset
300 struct A {
a8dcfbf87ea3 [project @ 1997-11-19 22:34:59 by jwe]
jwe
parents: 3089
diff changeset
301 friend int operator== (const A&, const A&);
a8dcfbf87ea3 [project @ 1997-11-19 22:34:59 by jwe]
jwe
parents: 3089
diff changeset
302 A (int) { }
a8dcfbf87ea3 [project @ 1997-11-19 22:34:59 by jwe]
jwe
parents: 3089
diff changeset
303 };
a8dcfbf87ea3 [project @ 1997-11-19 22:34:59 by jwe]
jwe
parents: 3089
diff changeset
304
a8dcfbf87ea3 [project @ 1997-11-19 22:34:59 by jwe]
jwe
parents: 3089
diff changeset
305 template <class T> int
a8dcfbf87ea3 [project @ 1997-11-19 22:34:59 by jwe]
jwe
parents: 3089
diff changeset
306 operator== (const T&, const T&)
a8dcfbf87ea3 [project @ 1997-11-19 22:34:59 by jwe]
jwe
parents: 3089
diff changeset
307 {
a8dcfbf87ea3 [project @ 1997-11-19 22:34:59 by jwe]
jwe
parents: 3089
diff changeset
308 return 0;
a8dcfbf87ea3 [project @ 1997-11-19 22:34:59 by jwe]
jwe
parents: 3089
diff changeset
309 }
a8dcfbf87ea3 [project @ 1997-11-19 22:34:59 by jwe]
jwe
parents: 3089
diff changeset
310 EOB
5842
ecb61a521d5b [project @ 2006-06-06 15:03:33 by jwe]
jwe
parents: 5775
diff changeset
311 AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include "conftest.h"]],
ecb61a521d5b [project @ 2006-06-06 15:03:33 by jwe]
jwe
parents: 5775
diff changeset
312 [[A a (1);
ecb61a521d5b [project @ 2006-06-06 15:03:33 by jwe]
jwe
parents: 5775
diff changeset
313 return a == A(1);]])],
ecb61a521d5b [project @ 2006-06-06 15:03:33 by jwe]
jwe
parents: 5775
diff changeset
314 [octave_cv_cxx_new_friend_template_decl=no],
ecb61a521d5b [project @ 2006-06-06 15:03:33 by jwe]
jwe
parents: 5775
diff changeset
315 [octave_cv_cxx_new_friend_template_decl=yes])
3888
70ebd3d672a1 [project @ 2002-04-04 01:05:53 by jwe]
jwe
parents: 3887
diff changeset
316 AC_LANG_POP(C++)
3107
a8dcfbf87ea3 [project @ 1997-11-19 22:34:59 by jwe]
jwe
parents: 3089
diff changeset
317 ])
a8dcfbf87ea3 [project @ 1997-11-19 22:34:59 by jwe]
jwe
parents: 3089
diff changeset
318 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
319 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
320 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
321 fi
a8dcfbf87ea3 [project @ 1997-11-19 22:34:59 by jwe]
jwe
parents: 3089
diff changeset
322 ])
3126
0f6ec7b761a6 [project @ 1998-01-16 05:15:43 by jwe]
jwe
parents: 3107
diff changeset
323 dnl
3233
98d0ee053ba4 [project @ 1999-01-27 20:23:40 by jwe]
jwe
parents: 3222
diff changeset
324 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
325 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
326 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
327 dnl the flag.
3126
0f6ec7b761a6 [project @ 1998-01-16 05:15:43 by jwe]
jwe
parents: 3107
diff changeset
328 dnl
0f6ec7b761a6 [project @ 1998-01-16 05:15:43 by jwe]
jwe
parents: 3107
diff changeset
329 dnl OCTAVE_CC_FLAG
0f6ec7b761a6 [project @ 1998-01-16 05:15:43 by jwe]
jwe
parents: 3107
diff changeset
330 AC_DEFUN(OCTAVE_CC_FLAG, [
3908
90dc5c9a9a21 [project @ 2002-04-24 19:53:35 by jwe]
jwe
parents: 3892
diff changeset
331 ac_safe=`echo "$1" | sed 'y%./+-:=%__p___%'`
3126
0f6ec7b761a6 [project @ 1998-01-16 05:15:43 by jwe]
jwe
parents: 3107
diff changeset
332 AC_MSG_CHECKING(whether ${CC-cc} accepts $1)
0f6ec7b761a6 [project @ 1998-01-16 05:15:43 by jwe]
jwe
parents: 3107
diff changeset
333 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
334 AC_LANG_PUSH(C)
3126
0f6ec7b761a6 [project @ 1998-01-16 05:15:43 by jwe]
jwe
parents: 3107
diff changeset
335 XCFLAGS="$CFLAGS"
0f6ec7b761a6 [project @ 1998-01-16 05:15:43 by jwe]
jwe
parents: 3107
diff changeset
336 CFLAGS="$CFLAGS $1"
5177
86fa011d6404 [project @ 2005-03-03 00:32:34 by jwe]
jwe
parents: 5094
diff changeset
337 AC_LINK_IFELSE([AC_LANG_PROGRAM([], [])],
3126
0f6ec7b761a6 [project @ 1998-01-16 05:15:43 by jwe]
jwe
parents: 3107
diff changeset
338 eval "octave_cv_cc_flag_$ac_safe=yes",
0f6ec7b761a6 [project @ 1998-01-16 05:15:43 by jwe]
jwe
parents: 3107
diff changeset
339 eval "octave_cv_cc_flag_$ac_safe=no")
0f6ec7b761a6 [project @ 1998-01-16 05:15:43 by jwe]
jwe
parents: 3107
diff changeset
340 CFLAGS="$XCFLAGS"
3888
70ebd3d672a1 [project @ 2002-04-04 01:05:53 by jwe]
jwe
parents: 3887
diff changeset
341 AC_LANG_POP(C)
3126
0f6ec7b761a6 [project @ 1998-01-16 05:15:43 by jwe]
jwe
parents: 3107
diff changeset
342 ])
0f6ec7b761a6 [project @ 1998-01-16 05:15:43 by jwe]
jwe
parents: 3107
diff changeset
343 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
344 AC_MSG_RESULT(yes)
3131
9c5160c83bd2 [project @ 1998-01-29 04:46:33 by jwe]
jwe
parents: 3130
diff changeset
345 ifelse([$2], , [
9c5160c83bd2 [project @ 1998-01-29 04:46:33 by jwe]
jwe
parents: 3130
diff changeset
346 CFLAGS="$CFLAGS $1"
9c5160c83bd2 [project @ 1998-01-29 04:46:33 by jwe]
jwe
parents: 3130
diff changeset
347 AC_MSG_RESULT([adding $1 to CFLAGS])], [$2])
3126
0f6ec7b761a6 [project @ 1998-01-16 05:15:43 by jwe]
jwe
parents: 3107
diff changeset
348 else
0f6ec7b761a6 [project @ 1998-01-16 05:15:43 by jwe]
jwe
parents: 3107
diff changeset
349 AC_MSG_RESULT(no)
0f6ec7b761a6 [project @ 1998-01-16 05:15:43 by jwe]
jwe
parents: 3107
diff changeset
350 ifelse([$3], , , [$3])
0f6ec7b761a6 [project @ 1998-01-16 05:15:43 by jwe]
jwe
parents: 3107
diff changeset
351 fi
0f6ec7b761a6 [project @ 1998-01-16 05:15:43 by jwe]
jwe
parents: 3107
diff changeset
352 ])
0f6ec7b761a6 [project @ 1998-01-16 05:15:43 by jwe]
jwe
parents: 3107
diff changeset
353 dnl
3233
98d0ee053ba4 [project @ 1999-01-27 20:23:40 by jwe]
jwe
parents: 3222
diff changeset
354 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
355 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
356 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
357 dnl the flag.
3126
0f6ec7b761a6 [project @ 1998-01-16 05:15:43 by jwe]
jwe
parents: 3107
diff changeset
358 dnl
0f6ec7b761a6 [project @ 1998-01-16 05:15:43 by jwe]
jwe
parents: 3107
diff changeset
359 dnl OCTAVE_CXX_FLAG
0f6ec7b761a6 [project @ 1998-01-16 05:15:43 by jwe]
jwe
parents: 3107
diff changeset
360 AC_DEFUN(OCTAVE_CXX_FLAG, [
3908
90dc5c9a9a21 [project @ 2002-04-24 19:53:35 by jwe]
jwe
parents: 3892
diff changeset
361 ac_safe=`echo "$1" | sed 'y%./+-:=%__p___%'`
3222
dae85431bade [project @ 1998-11-19 22:14:06 by jwe]
jwe
parents: 3176
diff changeset
362 AC_MSG_CHECKING(whether ${CXX-g++} accepts $1)
3126
0f6ec7b761a6 [project @ 1998-01-16 05:15:43 by jwe]
jwe
parents: 3107
diff changeset
363 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
364 AC_LANG_PUSH(C++)
3126
0f6ec7b761a6 [project @ 1998-01-16 05:15:43 by jwe]
jwe
parents: 3107
diff changeset
365 XCXXFLAGS="$CXXFLAGS"
0f6ec7b761a6 [project @ 1998-01-16 05:15:43 by jwe]
jwe
parents: 3107
diff changeset
366 CXXFLAGS="$CXXFLAGS $1"
5177
86fa011d6404 [project @ 2005-03-03 00:32:34 by jwe]
jwe
parents: 5094
diff changeset
367 AC_LINK_IFELSE([AC_LANG_PROGRAM([], [])],
3126
0f6ec7b761a6 [project @ 1998-01-16 05:15:43 by jwe]
jwe
parents: 3107
diff changeset
368 eval "octave_cv_cxx_flag_$ac_safe=yes",
0f6ec7b761a6 [project @ 1998-01-16 05:15:43 by jwe]
jwe
parents: 3107
diff changeset
369 eval "octave_cv_cxx_flag_$ac_safe=no")
0f6ec7b761a6 [project @ 1998-01-16 05:15:43 by jwe]
jwe
parents: 3107
diff changeset
370 CXXFLAGS="$XCXXFLAGS"
3888
70ebd3d672a1 [project @ 2002-04-04 01:05:53 by jwe]
jwe
parents: 3887
diff changeset
371 AC_LANG_POP(C++)
3126
0f6ec7b761a6 [project @ 1998-01-16 05:15:43 by jwe]
jwe
parents: 3107
diff changeset
372 ])
0f6ec7b761a6 [project @ 1998-01-16 05:15:43 by jwe]
jwe
parents: 3107
diff changeset
373 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
374 AC_MSG_RESULT(yes)
3131
9c5160c83bd2 [project @ 1998-01-29 04:46:33 by jwe]
jwe
parents: 3130
diff changeset
375 ifelse([$2], , [
9c5160c83bd2 [project @ 1998-01-29 04:46:33 by jwe]
jwe
parents: 3130
diff changeset
376 CXXFLAGS="$CXXFLAGS $1"
9c5160c83bd2 [project @ 1998-01-29 04:46:33 by jwe]
jwe
parents: 3130
diff changeset
377 AC_MSG_RESULT([adding $1 to CXXFLAGS])], [$2])
3126
0f6ec7b761a6 [project @ 1998-01-16 05:15:43 by jwe]
jwe
parents: 3107
diff changeset
378 else
0f6ec7b761a6 [project @ 1998-01-16 05:15:43 by jwe]
jwe
parents: 3107
diff changeset
379 AC_MSG_RESULT(no)
0f6ec7b761a6 [project @ 1998-01-16 05:15:43 by jwe]
jwe
parents: 3107
diff changeset
380 ifelse([$3], , , [$3])
0f6ec7b761a6 [project @ 1998-01-16 05:15:43 by jwe]
jwe
parents: 3107
diff changeset
381 fi
0f6ec7b761a6 [project @ 1998-01-16 05:15:43 by jwe]
jwe
parents: 3107
diff changeset
382 ])
3130
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
383 dnl
5076
dc5f6082aa74 [project @ 2004-11-12 03:49:26 by jwe]
jwe
parents: 4853
diff changeset
384 dnl Check to see if Fortran compiler handles FLAG command line option. If
dc5f6082aa74 [project @ 2004-11-12 03:49:26 by jwe]
jwe
parents: 4853
diff changeset
385 dnl two arguments are specified, execute the second arg as shell
dc5f6082aa74 [project @ 2004-11-12 03:49:26 by jwe]
jwe
parents: 4853
diff changeset
386 dnl commands. Otherwise, add FLAG to FFLAGS if the compiler accepts
dc5f6082aa74 [project @ 2004-11-12 03:49:26 by jwe]
jwe
parents: 4853
diff changeset
387 dnl the flag.
dc5f6082aa74 [project @ 2004-11-12 03:49:26 by jwe]
jwe
parents: 4853
diff changeset
388 dnl
dc5f6082aa74 [project @ 2004-11-12 03:49:26 by jwe]
jwe
parents: 4853
diff changeset
389 dnl OCTAVE_F77_FLAG
dc5f6082aa74 [project @ 2004-11-12 03:49:26 by jwe]
jwe
parents: 4853
diff changeset
390 AC_DEFUN(OCTAVE_F77_FLAG, [
dc5f6082aa74 [project @ 2004-11-12 03:49:26 by jwe]
jwe
parents: 4853
diff changeset
391 ac_safe=`echo "$1" | sed 'y%./+-:=%__p___%'`
dc5f6082aa74 [project @ 2004-11-12 03:49:26 by jwe]
jwe
parents: 4853
diff changeset
392 AC_MSG_CHECKING(whether ${F77-g77} accepts $1)
dc5f6082aa74 [project @ 2004-11-12 03:49:26 by jwe]
jwe
parents: 4853
diff changeset
393 AC_CACHE_VAL(octave_cv_f77_flag_$ac_safe, [
dc5f6082aa74 [project @ 2004-11-12 03:49:26 by jwe]
jwe
parents: 4853
diff changeset
394 AC_LANG_PUSH(Fortran 77)
dc5f6082aa74 [project @ 2004-11-12 03:49:26 by jwe]
jwe
parents: 4853
diff changeset
395 XFFLAGS="$FFLAGS"
dc5f6082aa74 [project @ 2004-11-12 03:49:26 by jwe]
jwe
parents: 4853
diff changeset
396 FFLAGS="$FFLAGS $1"
5177
86fa011d6404 [project @ 2005-03-03 00:32:34 by jwe]
jwe
parents: 5094
diff changeset
397 AC_LINK_IFELSE([AC_LANG_PROGRAM([], [])],
5076
dc5f6082aa74 [project @ 2004-11-12 03:49:26 by jwe]
jwe
parents: 4853
diff changeset
398 eval "octave_cv_f77_flag_$ac_safe=yes",
dc5f6082aa74 [project @ 2004-11-12 03:49:26 by jwe]
jwe
parents: 4853
diff changeset
399 eval "octave_cv_f77_flag_$ac_safe=no")
dc5f6082aa74 [project @ 2004-11-12 03:49:26 by jwe]
jwe
parents: 4853
diff changeset
400 FFLAGS="$XFFLAGS"
dc5f6082aa74 [project @ 2004-11-12 03:49:26 by jwe]
jwe
parents: 4853
diff changeset
401 AC_LANG_POP(Fortran 77)
dc5f6082aa74 [project @ 2004-11-12 03:49:26 by jwe]
jwe
parents: 4853
diff changeset
402 ])
dc5f6082aa74 [project @ 2004-11-12 03:49:26 by jwe]
jwe
parents: 4853
diff changeset
403 if eval "test \"`echo '$octave_cv_f77_flag_'$ac_safe`\" = yes"; then
dc5f6082aa74 [project @ 2004-11-12 03:49:26 by jwe]
jwe
parents: 4853
diff changeset
404 AC_MSG_RESULT(yes)
dc5f6082aa74 [project @ 2004-11-12 03:49:26 by jwe]
jwe
parents: 4853
diff changeset
405 ifelse([$2], , [
dc5f6082aa74 [project @ 2004-11-12 03:49:26 by jwe]
jwe
parents: 4853
diff changeset
406 FFLAGS="$FFLAGS $1"
dc5f6082aa74 [project @ 2004-11-12 03:49:26 by jwe]
jwe
parents: 4853
diff changeset
407 AC_MSG_RESULT([adding $1 to FFLAGS])], [$2])
dc5f6082aa74 [project @ 2004-11-12 03:49:26 by jwe]
jwe
parents: 4853
diff changeset
408 else
dc5f6082aa74 [project @ 2004-11-12 03:49:26 by jwe]
jwe
parents: 4853
diff changeset
409 AC_MSG_RESULT(no)
dc5f6082aa74 [project @ 2004-11-12 03:49:26 by jwe]
jwe
parents: 4853
diff changeset
410 ifelse([$3], , , [$3])
dc5f6082aa74 [project @ 2004-11-12 03:49:26 by jwe]
jwe
parents: 4853
diff changeset
411 fi
dc5f6082aa74 [project @ 2004-11-12 03:49:26 by jwe]
jwe
parents: 4853
diff changeset
412 ])
dc5f6082aa74 [project @ 2004-11-12 03:49:26 by jwe]
jwe
parents: 4853
diff changeset
413 dnl
3729
ea62136d86e8 [project @ 2000-10-31 17:17:26 by jwe]
jwe
parents: 3673
diff changeset
414 dnl Check for flex
ea62136d86e8 [project @ 2000-10-31 17:17:26 by jwe]
jwe
parents: 3673
diff changeset
415 dnl
ea62136d86e8 [project @ 2000-10-31 17:17:26 by jwe]
jwe
parents: 3673
diff changeset
416 AC_DEFUN(OCTAVE_PROG_FLEX, [
ea62136d86e8 [project @ 2000-10-31 17:17:26 by jwe]
jwe
parents: 3673
diff changeset
417 ### 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
418 ### it, and it might not be installed.
ea62136d86e8 [project @ 2000-10-31 17:17:26 by jwe]
jwe
parents: 3673
diff changeset
419 ###
ea62136d86e8 [project @ 2000-10-31 17:17:26 by jwe]
jwe
parents: 3673
diff changeset
420 ### 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
421 ### using flex.
ea62136d86e8 [project @ 2000-10-31 17:17:26 by jwe]
jwe
parents: 3673
diff changeset
422 AC_PROG_LEX
ea62136d86e8 [project @ 2000-10-31 17:17:26 by jwe]
jwe
parents: 3673
diff changeset
423 case "$LEX" in
ea62136d86e8 [project @ 2000-10-31 17:17:26 by jwe]
jwe
parents: 3673
diff changeset
424 flex*)
ea62136d86e8 [project @ 2000-10-31 17:17:26 by jwe]
jwe
parents: 3673
diff changeset
425 LFLAGS="-t -I"
ea62136d86e8 [project @ 2000-10-31 17:17:26 by jwe]
jwe
parents: 3673
diff changeset
426 AC_MSG_RESULT([defining LFLAGS to be $LFLAGS])
ea62136d86e8 [project @ 2000-10-31 17:17:26 by jwe]
jwe
parents: 3673
diff changeset
427 LEXLIB=
ea62136d86e8 [project @ 2000-10-31 17:17:26 by jwe]
jwe
parents: 3673
diff changeset
428 ;;
ea62136d86e8 [project @ 2000-10-31 17:17:26 by jwe]
jwe
parents: 3673
diff changeset
429 *)
ea62136d86e8 [project @ 2000-10-31 17:17:26 by jwe]
jwe
parents: 3673
diff changeset
430 LEX='$(top_srcdir)/missing flex'
ea62136d86e8 [project @ 2000-10-31 17:17:26 by jwe]
jwe
parents: 3673
diff changeset
431 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
432 AC_MSG_WARN($warn_flex)
ea62136d86e8 [project @ 2000-10-31 17:17:26 by jwe]
jwe
parents: 3673
diff changeset
433 ;;
ea62136d86e8 [project @ 2000-10-31 17:17:26 by jwe]
jwe
parents: 3673
diff changeset
434 esac
ea62136d86e8 [project @ 2000-10-31 17:17:26 by jwe]
jwe
parents: 3673
diff changeset
435 AC_SUBST(LFLAGS)
ea62136d86e8 [project @ 2000-10-31 17:17:26 by jwe]
jwe
parents: 3673
diff changeset
436 ])
ea62136d86e8 [project @ 2000-10-31 17:17:26 by jwe]
jwe
parents: 3673
diff changeset
437 dnl
ea62136d86e8 [project @ 2000-10-31 17:17:26 by jwe]
jwe
parents: 3673
diff changeset
438 dnl Check for bison
ea62136d86e8 [project @ 2000-10-31 17:17:26 by jwe]
jwe
parents: 3673
diff changeset
439 dnl
ea62136d86e8 [project @ 2000-10-31 17:17:26 by jwe]
jwe
parents: 3673
diff changeset
440 AC_DEFUN(OCTAVE_PROG_BISON, [
ea62136d86e8 [project @ 2000-10-31 17:17:26 by jwe]
jwe
parents: 3673
diff changeset
441 AC_PROG_YACC
ea62136d86e8 [project @ 2000-10-31 17:17:26 by jwe]
jwe
parents: 3673
diff changeset
442 case "$YACC" in
ea62136d86e8 [project @ 2000-10-31 17:17:26 by jwe]
jwe
parents: 3673
diff changeset
443 bison*)
ea62136d86e8 [project @ 2000-10-31 17:17:26 by jwe]
jwe
parents: 3673
diff changeset
444 ;;
ea62136d86e8 [project @ 2000-10-31 17:17:26 by jwe]
jwe
parents: 3673
diff changeset
445 *)
ea62136d86e8 [project @ 2000-10-31 17:17:26 by jwe]
jwe
parents: 3673
diff changeset
446 YACC='$(top_srcdir)/missing bison'
ea62136d86e8 [project @ 2000-10-31 17:17:26 by jwe]
jwe
parents: 3673
diff changeset
447 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
448 AC_MSG_WARN($warn_bison)
ea62136d86e8 [project @ 2000-10-31 17:17:26 by jwe]
jwe
parents: 3673
diff changeset
449 ;;
ea62136d86e8 [project @ 2000-10-31 17:17:26 by jwe]
jwe
parents: 3673
diff changeset
450 esac
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 dnl
3130
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
453 dnl What pager should we use?
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
454 dnl
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
455 AC_DEFUN(OCTAVE_PROG_PAGER,
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
456 [if test "$cross_compiling" = yes; then
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
457 DEFAULT_PAGER=less
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
458 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
459 AC_SUBST(DEFAULT_PAGER)
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
460 else
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
461 octave_possible_pagers="less more page pg"
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
462 case "$canonical_host_type" in
6103
a2fdc87184cf [project @ 2006-10-26 21:32:17 by jwe]
jwe
parents: 6061
diff changeset
463 *-*-cygwin* | *-*-mingw32* | *-*-msdosmsvc)
3130
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
464 octave_possible_pagers="$octave_possible_pagers more.com"
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
465 ;;
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
466 esac
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
467
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
468 AC_CHECK_PROGS(DEFAULT_PAGER, $octave_possible_pagers, [])
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
469 if test -z "$DEFAULT_PAGER"; then
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
470 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
471 AC_MSG_WARN($warn_less)
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
472 fi
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
473 fi
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
474 ])
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
475 dnl
6821
b5d4d61d6bad [project @ 2007-08-23 17:32:49 by jwe]
jwe
parents: 6724
diff changeset
476 dnl Does gnuplot exist?
3130
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
477 dnl
4098
8496ae60db8a [project @ 2002-10-10 05:20:20 by jwe]
jwe
parents: 4095
diff changeset
478 AC_DEFUN(OCTAVE_PROG_GNUPLOT, [
8496ae60db8a [project @ 2002-10-10 05:20:20 by jwe]
jwe
parents: 4095
diff changeset
479 case "$canonical_host_type" in
6103
a2fdc87184cf [project @ 2006-10-26 21:32:17 by jwe]
jwe
parents: 6061
diff changeset
480 *-*-cygwin* | *-*-mingw32* | *-*-msdosmsvc)
4098
8496ae60db8a [project @ 2002-10-10 05:20:20 by jwe]
jwe
parents: 4095
diff changeset
481 gp_names="pgnuplot pipe-gnuplot gnuplot"
8496ae60db8a [project @ 2002-10-10 05:20:20 by jwe]
jwe
parents: 4095
diff changeset
482 gp_default=pgnuplot
8496ae60db8a [project @ 2002-10-10 05:20:20 by jwe]
jwe
parents: 4095
diff changeset
483 ;;
8496ae60db8a [project @ 2002-10-10 05:20:20 by jwe]
jwe
parents: 4095
diff changeset
484 *)
8496ae60db8a [project @ 2002-10-10 05:20:20 by jwe]
jwe
parents: 4095
diff changeset
485 gp_names=gnuplot
8496ae60db8a [project @ 2002-10-10 05:20:20 by jwe]
jwe
parents: 4095
diff changeset
486 gp_default=gnuplot
8496ae60db8a [project @ 2002-10-10 05:20:20 by jwe]
jwe
parents: 4095
diff changeset
487 ;;
8496ae60db8a [project @ 2002-10-10 05:20:20 by jwe]
jwe
parents: 4095
diff changeset
488 esac
8496ae60db8a [project @ 2002-10-10 05:20:20 by jwe]
jwe
parents: 4095
diff changeset
489 if test "$cross_compiling" = yes; then
7361
a2870fd8ac58 [project @ 2008-01-12 07:50:54 by jwe]
jwe
parents: 7244
diff changeset
490 GNUPLOT="$gp_default"
a2870fd8ac58 [project @ 2008-01-12 07:50:54 by jwe]
jwe
parents: 7244
diff changeset
491 AC_MSG_RESULT(assuming $GNUPLOT exists on $canonical_host_type host)
3130
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
492 else
7361
a2870fd8ac58 [project @ 2008-01-12 07:50:54 by jwe]
jwe
parents: 7244
diff changeset
493 AC_CHECK_PROGS(GNUPLOT, $gp_names)
a2870fd8ac58 [project @ 2008-01-12 07:50:54 by jwe]
jwe
parents: 7244
diff changeset
494 if test -z "$GNUPLOT"; then
5513
843fa0a80229 [project @ 2005-10-27 02:43:36 by jwe]
jwe
parents: 5512
diff changeset
495 warn_gnuplot=yes
3130
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
496
7361
a2870fd8ac58 [project @ 2008-01-12 07:50:54 by jwe]
jwe
parents: 7244
diff changeset
497 GNUPLOT="$gp_default"
5076
dc5f6082aa74 [project @ 2004-11-12 03:49:26 by jwe]
jwe
parents: 4853
diff changeset
498
3130
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
499 ## 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
500 ## warnings at the end of the script
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
501
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
502 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
503 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
504 AC_MSG_WARN([plotting commands without it.])
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
505 AC_MSG_WARN([])
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
506 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
507 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
508 AC_MSG_WARN([])
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
509 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
510 AC_MSG_WARN([])
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
511 AC_MSG_WARN([at the Octave prompt.])
5076
dc5f6082aa74 [project @ 2004-11-12 03:49:26 by jwe]
jwe
parents: 4853
diff changeset
512 AC_MSG_WARN([])
7361
a2870fd8ac58 [project @ 2008-01-12 07:50:54 by jwe]
jwe
parents: 7244
diff changeset
513 AC_MSG_WARN([Setting default value to $GNUPLOT])
3130
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
514 fi
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
515 fi
7361
a2870fd8ac58 [project @ 2008-01-12 07:50:54 by jwe]
jwe
parents: 7244
diff changeset
516 AC_SUBST(GNUPLOT)
3130
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
517 ])
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
518 dnl
3673
e0b46234555e [project @ 2000-06-05 18:28:54 by jwe]
jwe
parents: 3506
diff changeset
519 dnl Is gperf installed?
e0b46234555e [project @ 2000-06-05 18:28:54 by jwe]
jwe
parents: 3506
diff changeset
520 dnl
e0b46234555e [project @ 2000-06-05 18:28:54 by jwe]
jwe
parents: 3506
diff changeset
521 dnl OCTAVE_PROG_GPERF
3731
c06bae7229cf [project @ 2000-10-31 20:03:19 by jwe]
jwe
parents: 3729
diff changeset
522 AC_DEFUN(OCTAVE_PROG_GPERF, [
6119
fabb1be5fd84 [project @ 2006-10-28 00:13:58 by jwe]
jwe
parents: 6116
diff changeset
523 AC_CHECK_PROG(GPERF, gperf, gperf, [])
3731
c06bae7229cf [project @ 2000-10-31 20:03:19 by jwe]
jwe
parents: 3729
diff changeset
524 if test -n "$GPERF"; then
c06bae7229cf [project @ 2000-10-31 20:03:19 by jwe]
jwe
parents: 3729
diff changeset
525 if echo "%{
4416
de2bc66c709f [project @ 2003-05-16 21:36:02 by jwe]
jwe
parents: 4366
diff changeset
526 enum octave_kw_id { a_kw };
3731
c06bae7229cf [project @ 2000-10-31 20:03:19 by jwe]
jwe
parents: 3729
diff changeset
527 %}
4416
de2bc66c709f [project @ 2003-05-16 21:36:02 by jwe]
jwe
parents: 4366
diff changeset
528 struct octave_kw { const char *name; int tok; octave_kw_id kw_id; };
3731
c06bae7229cf [project @ 2000-10-31 20:03:19 by jwe]
jwe
parents: 3729
diff changeset
529 %%
5094
1dbe2c93af51 [project @ 2004-12-03 13:40:28 by jwe]
jwe
parents: 5076
diff changeset
530 foo" | $GPERF -t -C -D -E -G -L 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
531 true
c06bae7229cf [project @ 2000-10-31 20:03:19 by jwe]
jwe
parents: 3729
diff changeset
532 else
c06bae7229cf [project @ 2000-10-31 20:03:19 by jwe]
jwe
parents: 3729
diff changeset
533 GPERF=""
5094
1dbe2c93af51 [project @ 2004-12-03 13:40:28 by jwe]
jwe
parents: 5076
diff changeset
534 warn_gperf="I found gperf, but it does not support all of the following options: -t -C -D -E -G -L C++ -H -N; you need gperf 3.0.1 or a more recent version"
3731
c06bae7229cf [project @ 2000-10-31 20:03:19 by jwe]
jwe
parents: 3729
diff changeset
535 AC_MSG_WARN($warn_gperf)
c06bae7229cf [project @ 2000-10-31 20:03:19 by jwe]
jwe
parents: 3729
diff changeset
536 fi
c06bae7229cf [project @ 2000-10-31 20:03:19 by jwe]
jwe
parents: 3729
diff changeset
537 else
c06bae7229cf [project @ 2000-10-31 20:03:19 by jwe]
jwe
parents: 3729
diff changeset
538 GPERF='$(top_srcdir)/missing gperf'
c06bae7229cf [project @ 2000-10-31 20:03:19 by jwe]
jwe
parents: 3729
diff changeset
539 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
540 AC_MSG_WARN($warn_gperf)
c06bae7229cf [project @ 2000-10-31 20:03:19 by jwe]
jwe
parents: 3729
diff changeset
541 fi
c06bae7229cf [project @ 2000-10-31 20:03:19 by jwe]
jwe
parents: 3729
diff changeset
542 AC_SUBST(GPERF)
3673
e0b46234555e [project @ 2000-06-05 18:28:54 by jwe]
jwe
parents: 3506
diff changeset
543 ])
e0b46234555e [project @ 2000-06-05 18:28:54 by jwe]
jwe
parents: 3506
diff changeset
544 dnl
5934
8702f00329bf [project @ 2006-08-17 20:29:51 by jwe]
jwe
parents: 5854
diff changeset
545 dnl Is ghostscript installed?
8702f00329bf [project @ 2006-08-17 20:29:51 by jwe]
jwe
parents: 5854
diff changeset
546 dnl
8702f00329bf [project @ 2006-08-17 20:29:51 by jwe]
jwe
parents: 5854
diff changeset
547 dnl OCTAVE_PROG_GHOSTSCRIPT
8702f00329bf [project @ 2006-08-17 20:29:51 by jwe]
jwe
parents: 5854
diff changeset
548 AC_DEFUN(OCTAVE_PROG_GHOSTSCRIPT, [
6116
b64fb24bf4a0 [project @ 2006-10-27 18:04:49 by jwe]
jwe
parents: 6104
diff changeset
549 case "$canonical_host_type" in
b64fb24bf4a0 [project @ 2006-10-27 18:04:49 by jwe]
jwe
parents: 6104
diff changeset
550 *-*-cygwin* | *-*-mingw32* | *-*-msdosmsvc)
b64fb24bf4a0 [project @ 2006-10-27 18:04:49 by jwe]
jwe
parents: 6104
diff changeset
551 gs_names="gs gswin32"
b64fb24bf4a0 [project @ 2006-10-27 18:04:49 by jwe]
jwe
parents: 6104
diff changeset
552 ;;
b64fb24bf4a0 [project @ 2006-10-27 18:04:49 by jwe]
jwe
parents: 6104
diff changeset
553 *)
b64fb24bf4a0 [project @ 2006-10-27 18:04:49 by jwe]
jwe
parents: 6104
diff changeset
554 gs_names=gs
b64fb24bf4a0 [project @ 2006-10-27 18:04:49 by jwe]
jwe
parents: 6104
diff changeset
555 ;;
b64fb24bf4a0 [project @ 2006-10-27 18:04:49 by jwe]
jwe
parents: 6104
diff changeset
556 esac
b64fb24bf4a0 [project @ 2006-10-27 18:04:49 by jwe]
jwe
parents: 6104
diff changeset
557 AC_CHECK_PROGS(GHOSTSCRIPT, $gs_names)
5934
8702f00329bf [project @ 2006-08-17 20:29:51 by jwe]
jwe
parents: 5854
diff changeset
558 if test -z "$GHOSTSCRIPT"; then
8702f00329bf [project @ 2006-08-17 20:29:51 by jwe]
jwe
parents: 5854
diff changeset
559 GHOSTSCRIPT='$(top_srcdir)/missing gs'
8702f00329bf [project @ 2006-08-17 20:29:51 by jwe]
jwe
parents: 5854
diff changeset
560 warn_ghostscript="I didn't find ghostscript, but it's only a problem if you need to reconstruct figures for the manual"
8702f00329bf [project @ 2006-08-17 20:29:51 by jwe]
jwe
parents: 5854
diff changeset
561 AC_MSG_WARN($warn_ghostscript)
8702f00329bf [project @ 2006-08-17 20:29:51 by jwe]
jwe
parents: 5854
diff changeset
562 fi
8702f00329bf [project @ 2006-08-17 20:29:51 by jwe]
jwe
parents: 5854
diff changeset
563 AC_SUBST(GHOSTSCRIPT)
8702f00329bf [project @ 2006-08-17 20:29:51 by jwe]
jwe
parents: 5854
diff changeset
564 ])
8702f00329bf [project @ 2006-08-17 20:29:51 by jwe]
jwe
parents: 5854
diff changeset
565 dnl
8702f00329bf [project @ 2006-08-17 20:29:51 by jwe]
jwe
parents: 5854
diff changeset
566 dnl Is makeinfo installed?
8702f00329bf [project @ 2006-08-17 20:29:51 by jwe]
jwe
parents: 5854
diff changeset
567 dnl
8702f00329bf [project @ 2006-08-17 20:29:51 by jwe]
jwe
parents: 5854
diff changeset
568 dnl OCTAVE_PROG_MAKEINFO
8702f00329bf [project @ 2006-08-17 20:29:51 by jwe]
jwe
parents: 5854
diff changeset
569 AC_DEFUN(OCTAVE_PROG_MAKEINFO, [
6119
fabb1be5fd84 [project @ 2006-10-28 00:13:58 by jwe]
jwe
parents: 6116
diff changeset
570 AC_CHECK_PROG(MAKEINFO, makeinfo, makeinfo, [])
5934
8702f00329bf [project @ 2006-08-17 20:29:51 by jwe]
jwe
parents: 5854
diff changeset
571 if test -z "$MAKEINFO"; then
8702f00329bf [project @ 2006-08-17 20:29:51 by jwe]
jwe
parents: 5854
diff changeset
572 MAKEINFO='$(top_srcdir)/missing makeinfo'
8702f00329bf [project @ 2006-08-17 20:29:51 by jwe]
jwe
parents: 5854
diff changeset
573 warn_makeinfo="I didn't find makeinfo, but it's only a problem if you need to reconstruct the Info version of the manual"
8702f00329bf [project @ 2006-08-17 20:29:51 by jwe]
jwe
parents: 5854
diff changeset
574 AC_MSG_WARN($warn_makeinfo)
8702f00329bf [project @ 2006-08-17 20:29:51 by jwe]
jwe
parents: 5854
diff changeset
575 fi
8702f00329bf [project @ 2006-08-17 20:29:51 by jwe]
jwe
parents: 5854
diff changeset
576 AC_SUBST(MAKEINFO)
8702f00329bf [project @ 2006-08-17 20:29:51 by jwe]
jwe
parents: 5854
diff changeset
577 ])
8702f00329bf [project @ 2006-08-17 20:29:51 by jwe]
jwe
parents: 5854
diff changeset
578 dnl
8702f00329bf [project @ 2006-08-17 20:29:51 by jwe]
jwe
parents: 5854
diff changeset
579 dnl Is texi2dvi installed?
8702f00329bf [project @ 2006-08-17 20:29:51 by jwe]
jwe
parents: 5854
diff changeset
580 dnl
8702f00329bf [project @ 2006-08-17 20:29:51 by jwe]
jwe
parents: 5854
diff changeset
581 dnl OCTAVE_PROG_TEXI2DVI
8702f00329bf [project @ 2006-08-17 20:29:51 by jwe]
jwe
parents: 5854
diff changeset
582 AC_DEFUN(OCTAVE_PROG_TEXI2DVI, [
6119
fabb1be5fd84 [project @ 2006-10-28 00:13:58 by jwe]
jwe
parents: 6116
diff changeset
583 AC_CHECK_PROG(TEXI2DVI, texi2dvi, texi2dvi, [])
5934
8702f00329bf [project @ 2006-08-17 20:29:51 by jwe]
jwe
parents: 5854
diff changeset
584 if test -z "$TEXI2DVI"; then
8702f00329bf [project @ 2006-08-17 20:29:51 by jwe]
jwe
parents: 5854
diff changeset
585 TEXI2DVI='$(top_srcdir)/missing texi2dvi'
8702f00329bf [project @ 2006-08-17 20:29:51 by jwe]
jwe
parents: 5854
diff changeset
586 warn_texi2dvi="I didn't find texi2dvi, but it's only a problem if you need to reconstruct the DVI version of the manual"
8702f00329bf [project @ 2006-08-17 20:29:51 by jwe]
jwe
parents: 5854
diff changeset
587 AC_MSG_WARN($warn_texi2dvi)
8702f00329bf [project @ 2006-08-17 20:29:51 by jwe]
jwe
parents: 5854
diff changeset
588 fi
8702f00329bf [project @ 2006-08-17 20:29:51 by jwe]
jwe
parents: 5854
diff changeset
589 AC_SUBST(TEXI2DVI)
8702f00329bf [project @ 2006-08-17 20:29:51 by jwe]
jwe
parents: 5854
diff changeset
590 ])
8702f00329bf [project @ 2006-08-17 20:29:51 by jwe]
jwe
parents: 5854
diff changeset
591 dnl
8702f00329bf [project @ 2006-08-17 20:29:51 by jwe]
jwe
parents: 5854
diff changeset
592 dnl Is texi2pdf installed?
8702f00329bf [project @ 2006-08-17 20:29:51 by jwe]
jwe
parents: 5854
diff changeset
593 dnl
8702f00329bf [project @ 2006-08-17 20:29:51 by jwe]
jwe
parents: 5854
diff changeset
594 dnl OCTAVE_PROG_TEXI2PDF
8702f00329bf [project @ 2006-08-17 20:29:51 by jwe]
jwe
parents: 5854
diff changeset
595 AC_DEFUN(OCTAVE_PROG_TEXI2PDF, [
6116
b64fb24bf4a0 [project @ 2006-10-27 18:04:49 by jwe]
jwe
parents: 6104
diff changeset
596 AC_REQUIRE([OCTAVE_PROG_TEXI2DVI])
6119
fabb1be5fd84 [project @ 2006-10-28 00:13:58 by jwe]
jwe
parents: 6116
diff changeset
597 AC_CHECK_PROG(TEXI2PDF, texi2pdf, texi2pdf, [])
5934
8702f00329bf [project @ 2006-08-17 20:29:51 by jwe]
jwe
parents: 5854
diff changeset
598 if test -z "$TEXI2PDF"; then
6116
b64fb24bf4a0 [project @ 2006-10-27 18:04:49 by jwe]
jwe
parents: 6104
diff changeset
599 missing=true;
b64fb24bf4a0 [project @ 2006-10-27 18:04:49 by jwe]
jwe
parents: 6104
diff changeset
600 if test -n "$TEXI2DVI"; then
b64fb24bf4a0 [project @ 2006-10-27 18:04:49 by jwe]
jwe
parents: 6104
diff changeset
601 TEXI2PDF="$TEXI2DVI --pdf"
b64fb24bf4a0 [project @ 2006-10-27 18:04:49 by jwe]
jwe
parents: 6104
diff changeset
602 missing=false;
b64fb24bf4a0 [project @ 2006-10-27 18:04:49 by jwe]
jwe
parents: 6104
diff changeset
603 fi
b64fb24bf4a0 [project @ 2006-10-27 18:04:49 by jwe]
jwe
parents: 6104
diff changeset
604 else
b64fb24bf4a0 [project @ 2006-10-27 18:04:49 by jwe]
jwe
parents: 6104
diff changeset
605 missing=false;
b64fb24bf4a0 [project @ 2006-10-27 18:04:49 by jwe]
jwe
parents: 6104
diff changeset
606 fi
b64fb24bf4a0 [project @ 2006-10-27 18:04:49 by jwe]
jwe
parents: 6104
diff changeset
607 if $missing; then
5934
8702f00329bf [project @ 2006-08-17 20:29:51 by jwe]
jwe
parents: 5854
diff changeset
608 TEXI2PDF='$(top_srcdir)/missing texi2pdf'
8702f00329bf [project @ 2006-08-17 20:29:51 by jwe]
jwe
parents: 5854
diff changeset
609 warn_texi2pdf="I didn't find texi2pdf, but it's only a problem if you need to reconstruct the PDF version of the manual"
8702f00329bf [project @ 2006-08-17 20:29:51 by jwe]
jwe
parents: 5854
diff changeset
610 AC_MSG_WARN($warn_texi2pdf)
8702f00329bf [project @ 2006-08-17 20:29:51 by jwe]
jwe
parents: 5854
diff changeset
611 fi
8702f00329bf [project @ 2006-08-17 20:29:51 by jwe]
jwe
parents: 5854
diff changeset
612 AC_SUBST(TEXI2PDF)
8702f00329bf [project @ 2006-08-17 20:29:51 by jwe]
jwe
parents: 5854
diff changeset
613 ])
8702f00329bf [project @ 2006-08-17 20:29:51 by jwe]
jwe
parents: 5854
diff changeset
614 dnl
3769
7c8e3c42ed04 [project @ 2001-01-31 22:15:51 by jwe]
jwe
parents: 3750
diff changeset
615 dnl See if the C++ library is ISO compliant.
7c8e3c42ed04 [project @ 2001-01-31 22:15:51 by jwe]
jwe
parents: 3750
diff changeset
616 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
617 dnl
7c8e3c42ed04 [project @ 2001-01-31 22:15:51 by jwe]
jwe
parents: 3750
diff changeset
618 dnl OCTAVE_CXX_ISO_COMPLIANT_LIBRARY
7c8e3c42ed04 [project @ 2001-01-31 22:15:51 by jwe]
jwe
parents: 3750
diff changeset
619 AC_DEFUN(OCTAVE_CXX_ISO_COMPLIANT_LIBRARY, [
7c8e3c42ed04 [project @ 2001-01-31 22:15:51 by jwe]
jwe
parents: 3750
diff changeset
620 AC_REQUIRE([AC_PROG_CXX])
7c8e3c42ed04 [project @ 2001-01-31 22:15:51 by jwe]
jwe
parents: 3750
diff changeset
621 AC_MSG_CHECKING([if C++ library is ISO compliant])
7c8e3c42ed04 [project @ 2001-01-31 22:15:51 by jwe]
jwe
parents: 3750
diff changeset
622 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
623 AC_LANG_PUSH(C++)
3769
7c8e3c42ed04 [project @ 2001-01-31 22:15:51 by jwe]
jwe
parents: 3750
diff changeset
624 rm -f conftest.h
3943
a10df4059532 [project @ 2002-05-16 22:31:35 by jwe]
jwe
parents: 3908
diff changeset
625 ### 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
626 ### possibly other versions...
3769
7c8e3c42ed04 [project @ 2001-01-31 22:15:51 by jwe]
jwe
parents: 3750
diff changeset
627 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
628 climits clocale cmath complex csetjmp csignal cstdarg cstddef \
3943
a10df4059532 [project @ 2002-05-16 22:31:35 by jwe]
jwe
parents: 3908
diff changeset
629 cstdio cstdlib cstring ctime cwchar deque exception \
3769
7c8e3c42ed04 [project @ 2001-01-31 22:15:51 by jwe]
jwe
parents: 3750
diff changeset
630 fstream functional iomanip ios iosfwd iostream istream iterator \
7c8e3c42ed04 [project @ 2001-01-31 22:15:51 by jwe]
jwe
parents: 3750
diff changeset
631 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
632 sstream stack stdexcept streambuf string strstream typeinfo \
7c8e3c42ed04 [project @ 2001-01-31 22:15:51 by jwe]
jwe
parents: 3750
diff changeset
633 utility valarray vector; do
7c8e3c42ed04 [project @ 2001-01-31 22:15:51 by jwe]
jwe
parents: 3750
diff changeset
634 echo "#include <$inc>" >> conftest.h
7c8e3c42ed04 [project @ 2001-01-31 22:15:51 by jwe]
jwe
parents: 3750
diff changeset
635 done
5842
ecb61a521d5b [project @ 2006-06-06 15:03:33 by jwe]
jwe
parents: 5775
diff changeset
636 AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include "conftest.h"]],
ecb61a521d5b [project @ 2006-06-06 15:03:33 by jwe]
jwe
parents: 5775
diff changeset
637 [[std::bitset<50> flags;
3769
7c8e3c42ed04 [project @ 2001-01-31 22:15:51 by jwe]
jwe
parents: 3750
diff changeset
638 flags.set();
7c8e3c42ed04 [project @ 2001-01-31 22:15:51 by jwe]
jwe
parents: 3750
diff changeset
639 int digits = std::numeric_limits<unsigned long>::digits;
5842
ecb61a521d5b [project @ 2006-06-06 15:03:33 by jwe]
jwe
parents: 5775
diff changeset
640 digits = 0;]])],
ecb61a521d5b [project @ 2006-06-06 15:03:33 by jwe]
jwe
parents: 5775
diff changeset
641 [octave_cv_cxx_iso_compliant_library=yes],
ecb61a521d5b [project @ 2006-06-06 15:03:33 by jwe]
jwe
parents: 5775
diff changeset
642 [octave_cv_cxx_iso_compliant_library=no])
3888
70ebd3d672a1 [project @ 2002-04-04 01:05:53 by jwe]
jwe
parents: 3887
diff changeset
643 AC_LANG_POP(C++)
3769
7c8e3c42ed04 [project @ 2001-01-31 22:15:51 by jwe]
jwe
parents: 3750
diff changeset
644 ])
7c8e3c42ed04 [project @ 2001-01-31 22:15:51 by jwe]
jwe
parents: 3750
diff changeset
645 AC_MSG_RESULT($octave_cv_cxx_iso_compliant_library)
7c8e3c42ed04 [project @ 2001-01-31 22:15:51 by jwe]
jwe
parents: 3750
diff changeset
646 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
647 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
648 fi
7c8e3c42ed04 [project @ 2001-01-31 22:15:51 by jwe]
jwe
parents: 3750
diff changeset
649 ])
3822
1a809dae77db [project @ 2001-04-26 16:07:17 by jwe]
jwe
parents: 3769
diff changeset
650 dnl
1a809dae77db [project @ 2001-04-26 16:07:17 by jwe]
jwe
parents: 3769
diff changeset
651 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
652 dnl readline.
1a809dae77db [project @ 2001-04-26 16:07:17 by jwe]
jwe
parents: 3769
diff changeset
653 dnl
1a809dae77db [project @ 2001-04-26 16:07:17 by jwe]
jwe
parents: 3769
diff changeset
654 dnl OCTAVE_ENABLE_READLINE
1a809dae77db [project @ 2001-04-26 16:07:17 by jwe]
jwe
parents: 3769
diff changeset
655 AC_DEFUN(OCTAVE_ENABLE_READLINE, [
1a809dae77db [project @ 2001-04-26 16:07:17 by jwe]
jwe
parents: 3769
diff changeset
656 USE_READLINE=true
4102
cbac6756967e [project @ 2002-10-14 20:16:44 by jwe]
jwe
parents: 4098
diff changeset
657 LIBREADLINE=
3822
1a809dae77db [project @ 2001-04-26 16:07:17 by jwe]
jwe
parents: 3769
diff changeset
658 AC_ARG_ENABLE(readline,
1a809dae77db [project @ 2001-04-26 16:07:17 by jwe]
jwe
parents: 3769
diff changeset
659 [ --enable-readline use readline library (default is yes)],
1a809dae77db [project @ 2001-04-26 16:07:17 by jwe]
jwe
parents: 3769
diff changeset
660 [if test "$enableval" = no; then
3824
0ee55719541a [project @ 2001-04-26 17:07:21 by jwe]
jwe
parents: 3822
diff changeset
661 USE_READLINE=false
3825
74255bd05bdd [project @ 2001-04-26 19:50:03 by jwe]
jwe
parents: 3824
diff changeset
662 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
663 fi])
3822
1a809dae77db [project @ 2001-04-26 16:07:17 by jwe]
jwe
parents: 3769
diff changeset
664 if $USE_READLINE; then
1a809dae77db [project @ 2001-04-26 16:07:17 by jwe]
jwe
parents: 3769
diff changeset
665 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
666 LIBREADLINE="-lreadline"
cbac6756967e [project @ 2002-10-14 20:16:44 by jwe]
jwe
parents: 4098
diff changeset
667 LIBS="$LIBREADLINE $LIBS"
3887
7da18459c08b [project @ 2002-04-04 00:44:21 by jwe]
jwe
parents: 3843
diff changeset
668 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
669 ], [
3824
0ee55719541a [project @ 2001-04-26 17:07:21 by jwe]
jwe
parents: 3822
diff changeset
670 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
671 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
672 ])
1a809dae77db [project @ 2001-04-26 16:07:17 by jwe]
jwe
parents: 3769
diff changeset
673 fi
4102
cbac6756967e [project @ 2002-10-14 20:16:44 by jwe]
jwe
parents: 4098
diff changeset
674 AC_SUBST(LIBREADLINE)
3822
1a809dae77db [project @ 2001-04-26 16:07:17 by jwe]
jwe
parents: 3769
diff changeset
675 ])
3842
07b99a1889cb [project @ 2001-06-29 18:58:21 by jwe]
jwe
parents: 3835
diff changeset
676 dnl
5854
68f8017ef077 [project @ 2006-06-12 15:54:27 by jwe]
jwe
parents: 5844
diff changeset
677 dnl Check to see if C++ reintrepret cast works for function pointers.
68f8017ef077 [project @ 2006-06-12 15:54:27 by jwe]
jwe
parents: 5844
diff changeset
678 dnl
68f8017ef077 [project @ 2006-06-12 15:54:27 by jwe]
jwe
parents: 5844
diff changeset
679 dnl OCTAVE_CXX_BROKEN_REINTERPRET_CAST
68f8017ef077 [project @ 2006-06-12 15:54:27 by jwe]
jwe
parents: 5844
diff changeset
680 dnl
68f8017ef077 [project @ 2006-06-12 15:54:27 by jwe]
jwe
parents: 5844
diff changeset
681 AC_DEFUN(OCTAVE_CXX_BROKEN_REINTERPRET_CAST, [
68f8017ef077 [project @ 2006-06-12 15:54:27 by jwe]
jwe
parents: 5844
diff changeset
682 AC_REQUIRE([AC_PROG_CXX])
68f8017ef077 [project @ 2006-06-12 15:54:27 by jwe]
jwe
parents: 5844
diff changeset
683 AC_LANG_PUSH(C++)
68f8017ef077 [project @ 2006-06-12 15:54:27 by jwe]
jwe
parents: 5844
diff changeset
684 AC_CACHE_CHECK([for broken C++ reinterpret_cast],
68f8017ef077 [project @ 2006-06-12 15:54:27 by jwe]
jwe
parents: 5844
diff changeset
685 octave_cv_cxx_broken_reinterpret_cast, [
68f8017ef077 [project @ 2006-06-12 15:54:27 by jwe]
jwe
parents: 5844
diff changeset
686 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <cmath>]], [[
68f8017ef077 [project @ 2006-06-12 15:54:27 by jwe]
jwe
parents: 5844
diff changeset
687 typedef double (*fptr) (double);
68f8017ef077 [project @ 2006-06-12 15:54:27 by jwe]
jwe
parents: 5844
diff changeset
688 fptr psin = sin;
68f8017ef077 [project @ 2006-06-12 15:54:27 by jwe]
jwe
parents: 5844
diff changeset
689 void *vptr = reinterpret_cast<void *> (psin);
68f8017ef077 [project @ 2006-06-12 15:54:27 by jwe]
jwe
parents: 5844
diff changeset
690 psin = reinterpret_cast<fptr> (vptr);]])],
68f8017ef077 [project @ 2006-06-12 15:54:27 by jwe]
jwe
parents: 5844
diff changeset
691 octave_cv_cxx_broken_reinterpret_cast=no,
68f8017ef077 [project @ 2006-06-12 15:54:27 by jwe]
jwe
parents: 5844
diff changeset
692 octave_cv_cxx_broken_reinterpret_cast=yes)])
68f8017ef077 [project @ 2006-06-12 15:54:27 by jwe]
jwe
parents: 5844
diff changeset
693 if test $octave_cv_cxx_broken_reinterpret_cast = yes ; then
68f8017ef077 [project @ 2006-06-12 15:54:27 by jwe]
jwe
parents: 5844
diff changeset
694 AC_DEFINE(CXX_BROKEN_REINTERPRET_CAST, 1, [Define if C++ reinterpret_cast fails for function pointers.])
68f8017ef077 [project @ 2006-06-12 15:54:27 by jwe]
jwe
parents: 5844
diff changeset
695 fi
68f8017ef077 [project @ 2006-06-12 15:54:27 by jwe]
jwe
parents: 5844
diff changeset
696 AC_LANG_POP(C++)])
68f8017ef077 [project @ 2006-06-12 15:54:27 by jwe]
jwe
parents: 5844
diff changeset
697 dnl
4067
e97fb79fc1d5 [project @ 2002-09-26 22:43:25 by jwe]
jwe
parents: 3971
diff changeset
698 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
699 dnl
6104
a334206512b9 [project @ 2006-10-26 21:41:39 by jwe]
jwe
parents: 6103
diff changeset
700 AC_DEFUN(OCTAVE_MKDIR_TAKES_ONE_ARG, [
a334206512b9 [project @ 2006-10-26 21:41:39 by jwe]
jwe
parents: 6103
diff changeset
701 AC_LANG_PUSH(C++)
a334206512b9 [project @ 2006-10-26 21:41:39 by jwe]
jwe
parents: 6103
diff changeset
702 AC_CACHE_CHECK([if mkdir takes one argument], octave_cv_mkdir_takes_one_arg,
5844
034cdbd34c0a [project @ 2006-06-07 15:38:58 by jwe]
jwe
parents: 5842
diff changeset
703 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h>
4067
e97fb79fc1d5 [project @ 2002-09-26 22:43:25 by jwe]
jwe
parents: 3971
diff changeset
704 #ifdef HAVE_SYS_STAT_H
e97fb79fc1d5 [project @ 2002-09-26 22:43:25 by jwe]
jwe
parents: 3971
diff changeset
705 # include <sys/stat.h>
e97fb79fc1d5 [project @ 2002-09-26 22:43:25 by jwe]
jwe
parents: 3971
diff changeset
706 #endif
e97fb79fc1d5 [project @ 2002-09-26 22:43:25 by jwe]
jwe
parents: 3971
diff changeset
707 #ifdef HAVE_UNISTD_H
e97fb79fc1d5 [project @ 2002-09-26 22:43:25 by jwe]
jwe
parents: 3971
diff changeset
708 # include <unistd.h>
e97fb79fc1d5 [project @ 2002-09-26 22:43:25 by jwe]
jwe
parents: 3971
diff changeset
709 #endif
e97fb79fc1d5 [project @ 2002-09-26 22:43:25 by jwe]
jwe
parents: 3971
diff changeset
710 #ifdef HAVE_DIRECT_H
e97fb79fc1d5 [project @ 2002-09-26 22:43:25 by jwe]
jwe
parents: 3971
diff changeset
711 # include <direct.h>
5844
034cdbd34c0a [project @ 2006-06-07 15:38:58 by jwe]
jwe
parents: 5842
diff changeset
712 #endif]], [[mkdir ("foo", 0);]])],
4067
e97fb79fc1d5 [project @ 2002-09-26 22:43:25 by jwe]
jwe
parents: 3971
diff changeset
713 octave_cv_mkdir_takes_one_arg=no, octave_cv_mkdir_takes_one_arg=yes)])
6104
a334206512b9 [project @ 2006-10-26 21:41:39 by jwe]
jwe
parents: 6103
diff changeset
714 AC_LANG_POP(C++)
4067
e97fb79fc1d5 [project @ 2002-09-26 22:43:25 by jwe]
jwe
parents: 3971
diff changeset
715 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
716 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
717 fi
e97fb79fc1d5 [project @ 2002-09-26 22:43:25 by jwe]
jwe
parents: 3971
diff changeset
718 ])
7244
5a9561046b89 [project @ 2007-12-04 02:27:27 by jwe]
jwe
parents: 7063
diff changeset
719 dnl
5a9561046b89 [project @ 2007-12-04 02:27:27 by jwe]
jwe
parents: 7063
diff changeset
720 dnl Find find.
5a9561046b89 [project @ 2007-12-04 02:27:27 by jwe]
jwe
parents: 7063
diff changeset
721 dnl
5a9561046b89 [project @ 2007-12-04 02:27:27 by jwe]
jwe
parents: 7063
diff changeset
722 # Prefer GNU find if found.
5a9561046b89 [project @ 2007-12-04 02:27:27 by jwe]
jwe
parents: 7063
diff changeset
723 AN_MAKEVAR([FIND], [OCTAVE_PROG_FIND])
5a9561046b89 [project @ 2007-12-04 02:27:27 by jwe]
jwe
parents: 7063
diff changeset
724 AN_PROGRAM([gfind], [OCTAVE_PROG_FIND])
5a9561046b89 [project @ 2007-12-04 02:27:27 by jwe]
jwe
parents: 7063
diff changeset
725 AN_PROGRAM([find], [OCTAVE_PROG_FIND])
5a9561046b89 [project @ 2007-12-04 02:27:27 by jwe]
jwe
parents: 7063
diff changeset
726 AC_DEFUN([OCTAVE_PROG_FIND],
5a9561046b89 [project @ 2007-12-04 02:27:27 by jwe]
jwe
parents: 7063
diff changeset
727 [AC_CHECK_PROGS(FIND, gfind find, )])
5a9561046b89 [project @ 2007-12-04 02:27:27 by jwe]
jwe
parents: 7063
diff changeset
728 dnl
5a9561046b89 [project @ 2007-12-04 02:27:27 by jwe]
jwe
parents: 7063
diff changeset
729 dnl Find sed.
5a9561046b89 [project @ 2007-12-04 02:27:27 by jwe]
jwe
parents: 7063
diff changeset
730 dnl
4084
babc519f245b [project @ 2002-10-03 03:23:14 by jwe]
jwe
parents: 4067
diff changeset
731 # Check for a fully-functional sed program, that truncates
6955
4aef2ca14cf9 [project @ 2007-10-04 16:38:11 by jwe]
jwe
parents: 6941
diff changeset
732 # as few characters as possible and that supports "\(X\|Y\)"
4aef2ca14cf9 [project @ 2007-10-04 16:38:11 by jwe]
jwe
parents: 6941
diff changeset
733 # style regular expression alternation. Prefer GNU sed if found.
4084
babc519f245b [project @ 2002-10-03 03:23:14 by jwe]
jwe
parents: 4067
diff changeset
734 AC_DEFUN([OCTAVE_PROG_SED],
6955
4aef2ca14cf9 [project @ 2007-10-04 16:38:11 by jwe]
jwe
parents: 6941
diff changeset
735 [AC_MSG_CHECKING([for a usable sed])
4084
babc519f245b [project @ 2002-10-03 03:23:14 by jwe]
jwe
parents: 4067
diff changeset
736 if test -z "$SED"; then
6822
5c4702203cc4 [project @ 2007-08-23 19:43:07 by jwe]
jwe
parents: 6821
diff changeset
737 AC_CACHE_VAL(ac_cv_path_sed, [
5c4702203cc4 [project @ 2007-08-23 19:43:07 by jwe]
jwe
parents: 6821
diff changeset
738 # Loop through the user's path and test for sed and gsed.
5c4702203cc4 [project @ 2007-08-23 19:43:07 by jwe]
jwe
parents: 6821
diff changeset
739 # Then use that list of sed's as ones to test for truncation.
5c4702203cc4 [project @ 2007-08-23 19:43:07 by jwe]
jwe
parents: 6821
diff changeset
740 _AS_PATH_WALK([$PATH],
5c4702203cc4 [project @ 2007-08-23 19:43:07 by jwe]
jwe
parents: 6821
diff changeset
741 [for ac_prog in sed gsed; do
5c4702203cc4 [project @ 2007-08-23 19:43:07 by jwe]
jwe
parents: 6821
diff changeset
742 for ac_exec_ext in '' $ac_executable_extensions; do
5c4702203cc4 [project @ 2007-08-23 19:43:07 by jwe]
jwe
parents: 6821
diff changeset
743 if AS_EXECUTABLE_P(["$as_dir/$ac_prog$ac_exec_ext"]); then
5c4702203cc4 [project @ 2007-08-23 19:43:07 by jwe]
jwe
parents: 6821
diff changeset
744 _sed_list="$_sed_list $as_dir/$ac_prog$ac_exec_ext"
5c4702203cc4 [project @ 2007-08-23 19:43:07 by jwe]
jwe
parents: 6821
diff changeset
745 fi
5c4702203cc4 [project @ 2007-08-23 19:43:07 by jwe]
jwe
parents: 6821
diff changeset
746 done
4084
babc519f245b [project @ 2002-10-03 03:23:14 by jwe]
jwe
parents: 4067
diff changeset
747 done
6822
5c4702203cc4 [project @ 2007-08-23 19:43:07 by jwe]
jwe
parents: 6821
diff changeset
748 ])
5c4702203cc4 [project @ 2007-08-23 19:43:07 by jwe]
jwe
parents: 6821
diff changeset
749 AS_TMPDIR(sed)
5c4702203cc4 [project @ 2007-08-23 19:43:07 by jwe]
jwe
parents: 6821
diff changeset
750 _max=0
4084
babc519f245b [project @ 2002-10-03 03:23:14 by jwe]
jwe
parents: 4067
diff changeset
751 _count=0
6822
5c4702203cc4 [project @ 2007-08-23 19:43:07 by jwe]
jwe
parents: 6821
diff changeset
752 # Add /usr/xpg4/bin/sed as it is typically found on Solaris
5c4702203cc4 [project @ 2007-08-23 19:43:07 by jwe]
jwe
parents: 6821
diff changeset
753 # along with /bin/sed that truncates output.
5c4702203cc4 [project @ 2007-08-23 19:43:07 by jwe]
jwe
parents: 6821
diff changeset
754 for _sed in $_sed_list /usr/xpg4/bin/sed; do
5c4702203cc4 [project @ 2007-08-23 19:43:07 by jwe]
jwe
parents: 6821
diff changeset
755 test ! -f ${_sed} && break
5c4702203cc4 [project @ 2007-08-23 19:43:07 by jwe]
jwe
parents: 6821
diff changeset
756 cat /dev/null > "$tmp/sed.in"
5c4702203cc4 [project @ 2007-08-23 19:43:07 by jwe]
jwe
parents: 6821
diff changeset
757 _count=0
5c4702203cc4 [project @ 2007-08-23 19:43:07 by jwe]
jwe
parents: 6821
diff changeset
758 echo $ECHO_N "0123456789$ECHO_C" >"$tmp/sed.in"
5c4702203cc4 [project @ 2007-08-23 19:43:07 by jwe]
jwe
parents: 6821
diff changeset
759 # Check for GNU sed and select it if it is found.
5c4702203cc4 [project @ 2007-08-23 19:43:07 by jwe]
jwe
parents: 6821
diff changeset
760 if "${_sed}" --version 2>&1 < /dev/null | egrep '(GNU)' > /dev/null; then
5c4702203cc4 [project @ 2007-08-23 19:43:07 by jwe]
jwe
parents: 6821
diff changeset
761 octave_cv_path_sed=${_sed}
5c4702203cc4 [project @ 2007-08-23 19:43:07 by jwe]
jwe
parents: 6821
diff changeset
762 break;
4084
babc519f245b [project @ 2002-10-03 03:23:14 by jwe]
jwe
parents: 4067
diff changeset
763 fi
6955
4aef2ca14cf9 [project @ 2007-10-04 16:38:11 by jwe]
jwe
parents: 6941
diff changeset
764 # Reject if RE alternation is not handled.
4aef2ca14cf9 [project @ 2007-10-04 16:38:11 by jwe]
jwe
parents: 6941
diff changeset
765 if test "`echo 'this and that' | ${_sed} -n 's/\(this\|that\).*$/\1/p'`" != "this"; then
4aef2ca14cf9 [project @ 2007-10-04 16:38:11 by jwe]
jwe
parents: 6941
diff changeset
766 continue;
4aef2ca14cf9 [project @ 2007-10-04 16:38:11 by jwe]
jwe
parents: 6941
diff changeset
767 fi
6822
5c4702203cc4 [project @ 2007-08-23 19:43:07 by jwe]
jwe
parents: 6821
diff changeset
768 while true; do
5c4702203cc4 [project @ 2007-08-23 19:43:07 by jwe]
jwe
parents: 6821
diff changeset
769 cat "$tmp/sed.in" "$tmp/sed.in" >"$tmp/sed.tmp"
5c4702203cc4 [project @ 2007-08-23 19:43:07 by jwe]
jwe
parents: 6821
diff changeset
770 mv "$tmp/sed.tmp" "$tmp/sed.in"
5c4702203cc4 [project @ 2007-08-23 19:43:07 by jwe]
jwe
parents: 6821
diff changeset
771 cp "$tmp/sed.in" "$tmp/sed.nl"
5c4702203cc4 [project @ 2007-08-23 19:43:07 by jwe]
jwe
parents: 6821
diff changeset
772 echo >>"$tmp/sed.nl"
5c4702203cc4 [project @ 2007-08-23 19:43:07 by jwe]
jwe
parents: 6821
diff changeset
773 ${_sed} -e 's/a$//' < "$tmp/sed.nl" >"$tmp/sed.out" || break
5c4702203cc4 [project @ 2007-08-23 19:43:07 by jwe]
jwe
parents: 6821
diff changeset
774 cmp -s "$tmp/sed.out" "$tmp/sed.nl" || break
5c4702203cc4 [project @ 2007-08-23 19:43:07 by jwe]
jwe
parents: 6821
diff changeset
775 # 10000 chars as input seems more than enough
5c4702203cc4 [project @ 2007-08-23 19:43:07 by jwe]
jwe
parents: 6821
diff changeset
776 test $_count -gt 10 && break
5c4702203cc4 [project @ 2007-08-23 19:43:07 by jwe]
jwe
parents: 6821
diff changeset
777 _count=`expr $_count + 1`
5c4702203cc4 [project @ 2007-08-23 19:43:07 by jwe]
jwe
parents: 6821
diff changeset
778 if test $_count -gt $_max; then
5c4702203cc4 [project @ 2007-08-23 19:43:07 by jwe]
jwe
parents: 6821
diff changeset
779 _max=$_count
5c4702203cc4 [project @ 2007-08-23 19:43:07 by jwe]
jwe
parents: 6821
diff changeset
780 octave_cv_path_sed=$_sed
5c4702203cc4 [project @ 2007-08-23 19:43:07 by jwe]
jwe
parents: 6821
diff changeset
781 fi
5c4702203cc4 [project @ 2007-08-23 19:43:07 by jwe]
jwe
parents: 6821
diff changeset
782 done
4084
babc519f245b [project @ 2002-10-03 03:23:14 by jwe]
jwe
parents: 4067
diff changeset
783 done
6822
5c4702203cc4 [project @ 2007-08-23 19:43:07 by jwe]
jwe
parents: 6821
diff changeset
784 rm -rf "$tmp"
5c4702203cc4 [project @ 2007-08-23 19:43:07 by jwe]
jwe
parents: 6821
diff changeset
785 ])
5c4702203cc4 [project @ 2007-08-23 19:43:07 by jwe]
jwe
parents: 6821
diff changeset
786 SED=$octave_cv_path_sed
8004
4363bc94171a aclocal.m4 (OCTAVE_PROG_SED): fail if no usable sed is found
John W. Eaton <jwe@octave.org>
parents: 7996
diff changeset
787 if test -z "$SED"; then
4363bc94171a aclocal.m4 (OCTAVE_PROG_SED): fail if no usable sed is found
John W. Eaton <jwe@octave.org>
parents: 7996
diff changeset
788 AC_MSG_ERROR([no usable version of sed found])
4363bc94171a aclocal.m4 (OCTAVE_PROG_SED): fail if no usable sed is found
John W. Eaton <jwe@octave.org>
parents: 7996
diff changeset
789 fi
4084
babc519f245b [project @ 2002-10-03 03:23:14 by jwe]
jwe
parents: 4067
diff changeset
790 fi
6822
5c4702203cc4 [project @ 2007-08-23 19:43:07 by jwe]
jwe
parents: 6821
diff changeset
791 AC_SUBST(SED)
4084
babc519f245b [project @ 2002-10-03 03:23:14 by jwe]
jwe
parents: 4067
diff changeset
792 AC_MSG_RESULT([$SED])
babc519f245b [project @ 2002-10-03 03:23:14 by jwe]
jwe
parents: 4067
diff changeset
793 ])
5465
d6163c0effd5 [project @ 2005-09-23 15:42:48 by jwe]
jwe
parents: 5307
diff changeset
794 dnl
d6163c0effd5 [project @ 2005-09-23 15:42:48 by jwe]
jwe
parents: 5307
diff changeset
795 dnl Find Perl.
d6163c0effd5 [project @ 2005-09-23 15:42:48 by jwe]
jwe
parents: 5307
diff changeset
796 dnl
d6163c0effd5 [project @ 2005-09-23 15:42:48 by jwe]
jwe
parents: 5307
diff changeset
797 dnl OCTAVE_PROG_PERL
d6163c0effd5 [project @ 2005-09-23 15:42:48 by jwe]
jwe
parents: 5307
diff changeset
798 AC_DEFUN(OCTAVE_PROG_PERL,
6119
fabb1be5fd84 [project @ 2006-10-28 00:13:58 by jwe]
jwe
parents: 6116
diff changeset
799 [AC_CHECK_PROG(PERL, perl, perl, [])
5465
d6163c0effd5 [project @ 2005-09-23 15:42:48 by jwe]
jwe
parents: 5307
diff changeset
800 AC_SUBST(PERL)
d6163c0effd5 [project @ 2005-09-23 15:42:48 by jwe]
jwe
parents: 5307
diff changeset
801 ])
5468
41943dd8d7d8 [project @ 2005-09-23 18:34:46 by jwe]
jwe
parents: 5465
diff changeset
802 dnl
5495
71c9d4a6a843 [project @ 2005-10-14 07:29:26 by jwe]
jwe
parents: 5468
diff changeset
803 dnl Find Python.
71c9d4a6a843 [project @ 2005-10-14 07:29:26 by jwe]
jwe
parents: 5468
diff changeset
804 dnl
71c9d4a6a843 [project @ 2005-10-14 07:29:26 by jwe]
jwe
parents: 5468
diff changeset
805 dnl OCTAVE_PROG_PYTHON
71c9d4a6a843 [project @ 2005-10-14 07:29:26 by jwe]
jwe
parents: 5468
diff changeset
806 AC_DEFUN(OCTAVE_PROG_PYTHON,
6119
fabb1be5fd84 [project @ 2006-10-28 00:13:58 by jwe]
jwe
parents: 6116
diff changeset
807 [AC_CHECK_PROG(PYTHON, python, python, [])
5495
71c9d4a6a843 [project @ 2005-10-14 07:29:26 by jwe]
jwe
parents: 5468
diff changeset
808 AC_SUBST(PYTHON)
71c9d4a6a843 [project @ 2005-10-14 07:29:26 by jwe]
jwe
parents: 5468
diff changeset
809 ])
71c9d4a6a843 [project @ 2005-10-14 07:29:26 by jwe]
jwe
parents: 5468
diff changeset
810 dnl
5468
41943dd8d7d8 [project @ 2005-09-23 18:34:46 by jwe]
jwe
parents: 5465
diff changeset
811 dnl Find desktop-file-install.
41943dd8d7d8 [project @ 2005-09-23 18:34:46 by jwe]
jwe
parents: 5465
diff changeset
812 dnl
41943dd8d7d8 [project @ 2005-09-23 18:34:46 by jwe]
jwe
parents: 5465
diff changeset
813 dnl OCTAVE_PROG_DESKTOP_FILE_INSTALL
41943dd8d7d8 [project @ 2005-09-23 18:34:46 by jwe]
jwe
parents: 5465
diff changeset
814 AC_DEFUN(OCTAVE_PROG_DESKTOP_FILE_INSTALL,
6119
fabb1be5fd84 [project @ 2006-10-28 00:13:58 by jwe]
jwe
parents: 6116
diff changeset
815 [AC_CHECK_PROG(DESKTOP_FILE_INSTALL, desktop-file-install, desktop-file-install, [])
5468
41943dd8d7d8 [project @ 2005-09-23 18:34:46 by jwe]
jwe
parents: 5465
diff changeset
816 AC_SUBST(DESKTOP_FILE_INSTALL)
41943dd8d7d8 [project @ 2005-09-23 18:34:46 by jwe]
jwe
parents: 5465
diff changeset
817 ])
41943dd8d7d8 [project @ 2005-09-23 18:34:46 by jwe]
jwe
parents: 5465
diff changeset
818 dnl
41943dd8d7d8 [project @ 2005-09-23 18:34:46 by jwe]
jwe
parents: 5465
diff changeset
819 dnl Check for IEEE 754 data format.
41943dd8d7d8 [project @ 2005-09-23 18:34:46 by jwe]
jwe
parents: 5465
diff changeset
820 dnl
4853
66b3cce2bf37 [project @ 2004-04-06 18:11:52 by jwe]
jwe
parents: 4685
diff changeset
821 AC_DEFUN([OCTAVE_IEEE754_DATA_FORMAT],
66b3cce2bf37 [project @ 2004-04-06 18:11:52 by jwe]
jwe
parents: 4685
diff changeset
822 [AC_MSG_CHECKING([for IEEE 754 data format])
66b3cce2bf37 [project @ 2004-04-06 18:11:52 by jwe]
jwe
parents: 4685
diff changeset
823 AC_CACHE_VAL(octave_cv_ieee754_data_format,
5844
034cdbd34c0a [project @ 2006-06-07 15:38:58 by jwe]
jwe
parents: 5842
diff changeset
824 [AC_RUN_IFELSE([AC_LANG_SOURCE([[
4853
66b3cce2bf37 [project @ 2004-04-06 18:11:52 by jwe]
jwe
parents: 4685
diff changeset
825 int
66b3cce2bf37 [project @ 2004-04-06 18:11:52 by jwe]
jwe
parents: 4685
diff changeset
826 main (void)
66b3cce2bf37 [project @ 2004-04-06 18:11:52 by jwe]
jwe
parents: 4685
diff changeset
827 {
66b3cce2bf37 [project @ 2004-04-06 18:11:52 by jwe]
jwe
parents: 4685
diff changeset
828 typedef union { unsigned char c[8]; double d; } ieeebytes;
66b3cce2bf37 [project @ 2004-04-06 18:11:52 by jwe]
jwe
parents: 4685
diff changeset
829
66b3cce2bf37 [project @ 2004-04-06 18:11:52 by jwe]
jwe
parents: 4685
diff changeset
830 ieeebytes l = {0x1c, 0xbc, 0x6e, 0xf2, 0x54, 0x8b, 0x11, 0x43};
66b3cce2bf37 [project @ 2004-04-06 18:11:52 by jwe]
jwe
parents: 4685
diff changeset
831 ieeebytes b = {0x43, 0x11, 0x8b, 0x54, 0xf2, 0x6e, 0xbc, 0x1c};
66b3cce2bf37 [project @ 2004-04-06 18:11:52 by jwe]
jwe
parents: 4685
diff changeset
832
66b3cce2bf37 [project @ 2004-04-06 18:11:52 by jwe]
jwe
parents: 4685
diff changeset
833 return l.d != 1234567891234567.0 && b.d != 1234567891234567.0;
5844
034cdbd34c0a [project @ 2006-06-07 15:38:58 by jwe]
jwe
parents: 5842
diff changeset
834 }]])],
4853
66b3cce2bf37 [project @ 2004-04-06 18:11:52 by jwe]
jwe
parents: 4685
diff changeset
835 octave_cv_ieee754_data_format=yes,
66b3cce2bf37 [project @ 2004-04-06 18:11:52 by jwe]
jwe
parents: 4685
diff changeset
836 octave_cv_ieee754_data_format=no,
66b3cce2bf37 [project @ 2004-04-06 18:11:52 by jwe]
jwe
parents: 4685
diff changeset
837 octave_cv_ieee754_data_format=no)])
66b3cce2bf37 [project @ 2004-04-06 18:11:52 by jwe]
jwe
parents: 4685
diff changeset
838 if test "$cross_compiling" = yes; then
66b3cce2bf37 [project @ 2004-04-06 18:11:52 by jwe]
jwe
parents: 4685
diff changeset
839 AC_MSG_RESULT([$octave_cv_ieee754_data_format assumed for cross compilation])
66b3cce2bf37 [project @ 2004-04-06 18:11:52 by jwe]
jwe
parents: 4685
diff changeset
840 else
66b3cce2bf37 [project @ 2004-04-06 18:11:52 by jwe]
jwe
parents: 4685
diff changeset
841 AC_MSG_RESULT($octave_cv_ieee754_data_format)
66b3cce2bf37 [project @ 2004-04-06 18:11:52 by jwe]
jwe
parents: 4685
diff changeset
842 fi
66b3cce2bf37 [project @ 2004-04-06 18:11:52 by jwe]
jwe
parents: 4685
diff changeset
843 if test "$octave_cv_ieee754_data_format" = yes; then
66b3cce2bf37 [project @ 2004-04-06 18:11:52 by jwe]
jwe
parents: 4685
diff changeset
844 AC_DEFINE(HAVE_IEEE754_DATA_FORMAT, 1, [Define if your system uses IEEE 754 data format.])
66b3cce2bf37 [project @ 2004-04-06 18:11:52 by jwe]
jwe
parents: 4685
diff changeset
845 fi
66b3cce2bf37 [project @ 2004-04-06 18:11:52 by jwe]
jwe
parents: 4685
diff changeset
846 ])
5505
17682e3fba2a [project @ 2005-10-21 12:30:29 by jwe]
jwe
parents: 5495
diff changeset
847 dnl
17682e3fba2a [project @ 2005-10-21 12:30:29 by jwe]
jwe
parents: 5495
diff changeset
848 dnl Check for UMFPACK seperately split complex matrix and RHS. Note
17682e3fba2a [project @ 2005-10-21 12:30:29 by jwe]
jwe
parents: 5495
diff changeset
849 dnl that as umfpack.h can be in three different places, rather than
17682e3fba2a [project @ 2005-10-21 12:30:29 by jwe]
jwe
parents: 5495
diff changeset
850 dnl include it, just declare the functions needed.
17682e3fba2a [project @ 2005-10-21 12:30:29 by jwe]
jwe
parents: 5495
diff changeset
851 dnl
5512
7c8767d0ffc0 [project @ 2005-10-27 02:20:17 by jwe]
jwe
parents: 5505
diff changeset
852 dnl Assumes that the check for umfpack has already been performed.
5505
17682e3fba2a [project @ 2005-10-21 12:30:29 by jwe]
jwe
parents: 5495
diff changeset
853 dnl
17682e3fba2a [project @ 2005-10-21 12:30:29 by jwe]
jwe
parents: 5495
diff changeset
854 AC_DEFUN([OCTAVE_UMFPACK_SEPERATE_SPLIT],
17682e3fba2a [project @ 2005-10-21 12:30:29 by jwe]
jwe
parents: 5495
diff changeset
855 [AC_MSG_CHECKING([for UMFPACK seperate complex matrix and rhs split])
17682e3fba2a [project @ 2005-10-21 12:30:29 by jwe]
jwe
parents: 5495
diff changeset
856 AC_CACHE_VAL(octave_cv_umfpack_seperate_split,
5844
034cdbd34c0a [project @ 2006-06-07 15:38:58 by jwe]
jwe
parents: 5842
diff changeset
857 [AC_RUN_IFELSE([AC_LANG_SOURCE([[
5505
17682e3fba2a [project @ 2005-10-21 12:30:29 by jwe]
jwe
parents: 5495
diff changeset
858 #include <stdlib.h>
5512
7c8767d0ffc0 [project @ 2005-10-27 02:20:17 by jwe]
jwe
parents: 5505
diff changeset
859 #if defined (HAVE_UFSPARSE_UMFPACK_h)
7c8767d0ffc0 [project @ 2005-10-27 02:20:17 by jwe]
jwe
parents: 5505
diff changeset
860 #include <ufsparse/umfpack.h>
7c8767d0ffc0 [project @ 2005-10-27 02:20:17 by jwe]
jwe
parents: 5505
diff changeset
861 #elif defined (HAVE_UMFPACK_UMFPACK_H)
7c8767d0ffc0 [project @ 2005-10-27 02:20:17 by jwe]
jwe
parents: 5505
diff changeset
862 #include <umfpack/umfpack.h>
7c8767d0ffc0 [project @ 2005-10-27 02:20:17 by jwe]
jwe
parents: 5505
diff changeset
863 #elif defined (HAVE_UMFPACK_H)
7c8767d0ffc0 [project @ 2005-10-27 02:20:17 by jwe]
jwe
parents: 5505
diff changeset
864 #include <umfpack.h>
7c8767d0ffc0 [project @ 2005-10-27 02:20:17 by jwe]
jwe
parents: 5505
diff changeset
865 #endif
5505
17682e3fba2a [project @ 2005-10-21 12:30:29 by jwe]
jwe
parents: 5495
diff changeset
866 int n = 5;
17682e3fba2a [project @ 2005-10-21 12:30:29 by jwe]
jwe
parents: 5495
diff changeset
867 int Ap[] = {0, 2, 5, 9, 10, 12};
17682e3fba2a [project @ 2005-10-21 12:30:29 by jwe]
jwe
parents: 5495
diff changeset
868 int Ai[] = {0, 1, 0, 2, 4, 1, 2, 3, 4, 2, 1, 4};
17682e3fba2a [project @ 2005-10-21 12:30:29 by jwe]
jwe
parents: 5495
diff changeset
869 double Ax[] = {2., 0., 3., 0., 3., 0., -1., 0., 4., 0., 4., 0.,
17682e3fba2a [project @ 2005-10-21 12:30:29 by jwe]
jwe
parents: 5495
diff changeset
870 -3., 0., 1., 0., 2., 0., 2., 0., 6., 0., 1., 0.};
17682e3fba2a [project @ 2005-10-21 12:30:29 by jwe]
jwe
parents: 5495
diff changeset
871 double br[] = {8., 45., -3., 3., 19.};
17682e3fba2a [project @ 2005-10-21 12:30:29 by jwe]
jwe
parents: 5495
diff changeset
872 double bi[] = {0., 0., 0., 0., 0.};
17682e3fba2a [project @ 2005-10-21 12:30:29 by jwe]
jwe
parents: 5495
diff changeset
873 int main (void)
17682e3fba2a [project @ 2005-10-21 12:30:29 by jwe]
jwe
parents: 5495
diff changeset
874 {
17682e3fba2a [project @ 2005-10-21 12:30:29 by jwe]
jwe
parents: 5495
diff changeset
875 double *null = (double *) NULL ;
17682e3fba2a [project @ 2005-10-21 12:30:29 by jwe]
jwe
parents: 5495
diff changeset
876 double *x = (double *)malloc (2 * n * sizeof(double));
17682e3fba2a [project @ 2005-10-21 12:30:29 by jwe]
jwe
parents: 5495
diff changeset
877 int i ;
17682e3fba2a [project @ 2005-10-21 12:30:29 by jwe]
jwe
parents: 5495
diff changeset
878 void *Symbolic, *Numeric ;
17682e3fba2a [project @ 2005-10-21 12:30:29 by jwe]
jwe
parents: 5495
diff changeset
879 (void) umfpack_zi_symbolic (n, n, Ap, Ai, Ax, null, &Symbolic, null, null) ;
17682e3fba2a [project @ 2005-10-21 12:30:29 by jwe]
jwe
parents: 5495
diff changeset
880 (void) umfpack_zi_numeric (Ap, Ai, Ax, null, Symbolic, &Numeric, null, null) ;
17682e3fba2a [project @ 2005-10-21 12:30:29 by jwe]
jwe
parents: 5495
diff changeset
881 umfpack_zi_free_symbolic (&Symbolic) ;
17682e3fba2a [project @ 2005-10-21 12:30:29 by jwe]
jwe
parents: 5495
diff changeset
882 (void) umfpack_zi_solve (0, Ap, Ai, Ax, null, x, null, br, bi,
17682e3fba2a [project @ 2005-10-21 12:30:29 by jwe]
jwe
parents: 5495
diff changeset
883 Numeric, null, null) ;
17682e3fba2a [project @ 2005-10-21 12:30:29 by jwe]
jwe
parents: 5495
diff changeset
884 umfpack_zi_free_numeric (&Numeric) ;
17682e3fba2a [project @ 2005-10-21 12:30:29 by jwe]
jwe
parents: 5495
diff changeset
885 for (i = 0; i < n; i++, x+=2)
17682e3fba2a [project @ 2005-10-21 12:30:29 by jwe]
jwe
parents: 5495
diff changeset
886 if (fabs(*x - i - 1.) > 1.e-13)
17682e3fba2a [project @ 2005-10-21 12:30:29 by jwe]
jwe
parents: 5495
diff changeset
887 return (1);
17682e3fba2a [project @ 2005-10-21 12:30:29 by jwe]
jwe
parents: 5495
diff changeset
888 return (0) ;
17682e3fba2a [project @ 2005-10-21 12:30:29 by jwe]
jwe
parents: 5495
diff changeset
889 }
5844
034cdbd34c0a [project @ 2006-06-07 15:38:58 by jwe]
jwe
parents: 5842
diff changeset
890 ]])],
5505
17682e3fba2a [project @ 2005-10-21 12:30:29 by jwe]
jwe
parents: 5495
diff changeset
891 octave_cv_umfpack_seperate_split=yes,
17682e3fba2a [project @ 2005-10-21 12:30:29 by jwe]
jwe
parents: 5495
diff changeset
892 octave_cv_umfpack_seperate_split=no,
17682e3fba2a [project @ 2005-10-21 12:30:29 by jwe]
jwe
parents: 5495
diff changeset
893 octave_cv_umfpack_seperate_split=no)])
17682e3fba2a [project @ 2005-10-21 12:30:29 by jwe]
jwe
parents: 5495
diff changeset
894 if test "$cross_compiling" = yes; then
17682e3fba2a [project @ 2005-10-21 12:30:29 by jwe]
jwe
parents: 5495
diff changeset
895 AC_MSG_RESULT([$octave_cv_umfpack_seperate_split assumed for cross compilation])
17682e3fba2a [project @ 2005-10-21 12:30:29 by jwe]
jwe
parents: 5495
diff changeset
896 else
17682e3fba2a [project @ 2005-10-21 12:30:29 by jwe]
jwe
parents: 5495
diff changeset
897 AC_MSG_RESULT($octave_cv_umfpack_seperate_split)
17682e3fba2a [project @ 2005-10-21 12:30:29 by jwe]
jwe
parents: 5495
diff changeset
898 fi
17682e3fba2a [project @ 2005-10-21 12:30:29 by jwe]
jwe
parents: 5495
diff changeset
899 if test "$octave_cv_umfpack_seperate_split" = yes; then
17682e3fba2a [project @ 2005-10-21 12:30:29 by jwe]
jwe
parents: 5495
diff changeset
900 AC_DEFINE(UMFPACK_SEPARATE_SPLIT, 1, [Define if the UMFPACK Complex solver allow matrix and RHS to be split independently])
17682e3fba2a [project @ 2005-10-21 12:30:29 by jwe]
jwe
parents: 5495
diff changeset
901 fi
17682e3fba2a [project @ 2005-10-21 12:30:29 by jwe]
jwe
parents: 5495
diff changeset
902 ])
6276
d26c558691cd [project @ 2007-02-07 09:01:24 by jwe]
jwe
parents: 6119
diff changeset
903 dnl
d26c558691cd [project @ 2007-02-07 09:01:24 by jwe]
jwe
parents: 6119
diff changeset
904 dnl Check whether using HDF5 DLL under Windows. This is done by
d26c558691cd [project @ 2007-02-07 09:01:24 by jwe]
jwe
parents: 6119
diff changeset
905 dnl testing for a data symbol in the HDF5 library, which would
d26c558691cd [project @ 2007-02-07 09:01:24 by jwe]
jwe
parents: 6119
diff changeset
906 dnl requires the definition of _HDF5USEDL_ under MSVC compiler.
d26c558691cd [project @ 2007-02-07 09:01:24 by jwe]
jwe
parents: 6119
diff changeset
907 dnl
d26c558691cd [project @ 2007-02-07 09:01:24 by jwe]
jwe
parents: 6119
diff changeset
908 AC_DEFUN([OCTAVE_HDF5_DLL], [
d26c558691cd [project @ 2007-02-07 09:01:24 by jwe]
jwe
parents: 6119
diff changeset
909 AC_CACHE_CHECK([if _HDF5USEDLL_ needs to be defined],octave_cv_hdf5_dll, [
6724
388747e3d96b [project @ 2007-06-14 17:04:52 by jwe]
jwe
parents: 6276
diff changeset
910 AC_TRY_LINK([#include <hdf5.h>], [hid_t x = H5T_NATIVE_DOUBLE; return x],
6276
d26c558691cd [project @ 2007-02-07 09:01:24 by jwe]
jwe
parents: 6119
diff changeset
911 octave_cv_hdf5_dll=no, [
d26c558691cd [project @ 2007-02-07 09:01:24 by jwe]
jwe
parents: 6119
diff changeset
912 CFLAGS_old=$CFLAGS
d26c558691cd [project @ 2007-02-07 09:01:24 by jwe]
jwe
parents: 6119
diff changeset
913 CFLAGS="$CFLAGS -DWIN32 -D_HDF5USEDLL_"
6724
388747e3d96b [project @ 2007-06-14 17:04:52 by jwe]
jwe
parents: 6276
diff changeset
914 AC_TRY_LINK([#include <hdf5.h>], [hid_t x = H5T_NATIVE_DOUBLE; return x],
6276
d26c558691cd [project @ 2007-02-07 09:01:24 by jwe]
jwe
parents: 6119
diff changeset
915 octave_cv_hdf5_dll=yes,
d26c558691cd [project @ 2007-02-07 09:01:24 by jwe]
jwe
parents: 6119
diff changeset
916 octave_cv_hdf5_dll=no)
d26c558691cd [project @ 2007-02-07 09:01:24 by jwe]
jwe
parents: 6119
diff changeset
917 CFLAGS=$CFLAGS_old])])
d26c558691cd [project @ 2007-02-07 09:01:24 by jwe]
jwe
parents: 6119
diff changeset
918 if test "$octave_cv_hdf5_dll" = yes; then
d26c558691cd [project @ 2007-02-07 09:01:24 by jwe]
jwe
parents: 6119
diff changeset
919 AC_DEFINE(_HDF5USEDLL_, 1, [Define if using HDF5 dll (Win32)])
d26c558691cd [project @ 2007-02-07 09:01:24 by jwe]
jwe
parents: 6119
diff changeset
920 fi])
6823
9fddcc586065 [project @ 2007-08-24 08:27:27 by dbateman]
dbateman
parents: 6822
diff changeset
921 dnl
8676
22462fd58e66 require HDF5 v1.6 API
John W. Eaton <jwe@octave.org>
parents: 8659
diff changeset
922 dnl Check whether HDF5 library has version 1.6 API functions.
22462fd58e66 require HDF5 v1.6 API
John W. Eaton <jwe@octave.org>
parents: 8659
diff changeset
923 dnl
22462fd58e66 require HDF5 v1.6 API
John W. Eaton <jwe@octave.org>
parents: 8659
diff changeset
924 AC_DEFUN([OCTAVE_HDF5_HAS_REQUIRED_API], [
22462fd58e66 require HDF5 v1.6 API
John W. Eaton <jwe@octave.org>
parents: 8659
diff changeset
925 AC_CACHE_CHECK([whether HDF5 library has required API],
22462fd58e66 require HDF5 v1.6 API
John W. Eaton <jwe@octave.org>
parents: 8659
diff changeset
926 octave_cv_hdf5_has_required_api, [
22462fd58e66 require HDF5 v1.6 API
John W. Eaton <jwe@octave.org>
parents: 8659
diff changeset
927 AC_TRY_LINK([
22462fd58e66 require HDF5 v1.6 API
John W. Eaton <jwe@octave.org>
parents: 8659
diff changeset
928 #define H5_USE_16_API 1
22462fd58e66 require HDF5 v1.6 API
John W. Eaton <jwe@octave.org>
parents: 8659
diff changeset
929 #include <hdf5.h>
22462fd58e66 require HDF5 v1.6 API
John W. Eaton <jwe@octave.org>
parents: 8659
diff changeset
930 ], [
22462fd58e66 require HDF5 v1.6 API
John W. Eaton <jwe@octave.org>
parents: 8659
diff changeset
931 H5Eset_auto (0, 0);], [
22462fd58e66 require HDF5 v1.6 API
John W. Eaton <jwe@octave.org>
parents: 8659
diff changeset
932 octave_cv_hdf5_has_required_api=yes], [
22462fd58e66 require HDF5 v1.6 API
John W. Eaton <jwe@octave.org>
parents: 8659
diff changeset
933 octave_cv_hdf5_has_required_api=no])])
22462fd58e66 require HDF5 v1.6 API
John W. Eaton <jwe@octave.org>
parents: 8659
diff changeset
934 if test "$octave_cv_hdf5_has_required_api" = "no"; then
22462fd58e66 require HDF5 v1.6 API
John W. Eaton <jwe@octave.org>
parents: 8659
diff changeset
935 WITH_HDF5=false
22462fd58e66 require HDF5 v1.6 API
John W. Eaton <jwe@octave.org>
parents: 8659
diff changeset
936 warn_hdf5="HDF5 library does not provide the version 1.6 API. Octave will not be able to save or load HDF5 data files."
22462fd58e66 require HDF5 v1.6 API
John W. Eaton <jwe@octave.org>
parents: 8659
diff changeset
937 AC_MSG_WARN($warn_hdf5)
22462fd58e66 require HDF5 v1.6 API
John W. Eaton <jwe@octave.org>
parents: 8659
diff changeset
938 fi
22462fd58e66 require HDF5 v1.6 API
John W. Eaton <jwe@octave.org>
parents: 8659
diff changeset
939 ])
22462fd58e66 require HDF5 v1.6 API
John W. Eaton <jwe@octave.org>
parents: 8659
diff changeset
940 dnl
6823
9fddcc586065 [project @ 2007-08-24 08:27:27 by dbateman]
dbateman
parents: 6822
diff changeset
941 dnl Check for the QHull version.
9fddcc586065 [project @ 2007-08-24 08:27:27 by dbateman]
dbateman
parents: 6822
diff changeset
942 dnl
9fddcc586065 [project @ 2007-08-24 08:27:27 by dbateman]
dbateman
parents: 6822
diff changeset
943 AC_DEFUN(AC_CHECK_QHULL_VERSION,
9fddcc586065 [project @ 2007-08-24 08:27:27 by dbateman]
dbateman
parents: 6822
diff changeset
944 [AC_MSG_CHECKING([for qh_qhull in -lqhull with qh_version])
9fddcc586065 [project @ 2007-08-24 08:27:27 by dbateman]
dbateman
parents: 6822
diff changeset
945 AC_CACHE_VAL(octave_cv_lib_qhull_version, [
9fddcc586065 [project @ 2007-08-24 08:27:27 by dbateman]
dbateman
parents: 6822
diff changeset
946 cat > conftest.c <<EOF
9fddcc586065 [project @ 2007-08-24 08:27:27 by dbateman]
dbateman
parents: 6822
diff changeset
947 #include <stdio.h>
9fddcc586065 [project @ 2007-08-24 08:27:27 by dbateman]
dbateman
parents: 6822
diff changeset
948 char *qh_version = "version";
9fddcc586065 [project @ 2007-08-24 08:27:27 by dbateman]
dbateman
parents: 6822
diff changeset
949 char qh_qhull();
9fddcc586065 [project @ 2007-08-24 08:27:27 by dbateman]
dbateman
parents: 6822
diff changeset
950 int
9fddcc586065 [project @ 2007-08-24 08:27:27 by dbateman]
dbateman
parents: 6822
diff changeset
951 main(argc, argv)
9fddcc586065 [project @ 2007-08-24 08:27:27 by dbateman]
dbateman
parents: 6822
diff changeset
952 int argc;
9fddcc586065 [project @ 2007-08-24 08:27:27 by dbateman]
dbateman
parents: 6822
diff changeset
953 char **argv;
9fddcc586065 [project @ 2007-08-24 08:27:27 by dbateman]
dbateman
parents: 6822
diff changeset
954 {
9fddcc586065 [project @ 2007-08-24 08:27:27 by dbateman]
dbateman
parents: 6822
diff changeset
955 qh_qhull();
9fddcc586065 [project @ 2007-08-24 08:27:27 by dbateman]
dbateman
parents: 6822
diff changeset
956 return 0;
9fddcc586065 [project @ 2007-08-24 08:27:27 by dbateman]
dbateman
parents: 6822
diff changeset
957 }
9fddcc586065 [project @ 2007-08-24 08:27:27 by dbateman]
dbateman
parents: 6822
diff changeset
958 EOF
9fddcc586065 [project @ 2007-08-24 08:27:27 by dbateman]
dbateman
parents: 6822
diff changeset
959
9fddcc586065 [project @ 2007-08-24 08:27:27 by dbateman]
dbateman
parents: 6822
diff changeset
960 octave_qhull_try="${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS conftest.c -o conftest -lqhull $LIBS"
7061
005c785b8d81 [project @ 2007-10-24 19:00:12 by jwe]
jwe
parents: 7058
diff changeset
961 if (eval "$octave_qhull_try") 2>&AS_MESSAGE_LOG_FD && test -s conftest ; then
6823
9fddcc586065 [project @ 2007-08-24 08:27:27 by dbateman]
dbateman
parents: 6822
diff changeset
962 octave_cv_lib_qhull_version=yes
9fddcc586065 [project @ 2007-08-24 08:27:27 by dbateman]
dbateman
parents: 6822
diff changeset
963 else
9fddcc586065 [project @ 2007-08-24 08:27:27 by dbateman]
dbateman
parents: 6822
diff changeset
964 octave_cv_lib_qhull_version=no
9fddcc586065 [project @ 2007-08-24 08:27:27 by dbateman]
dbateman
parents: 6822
diff changeset
965 fi
9fddcc586065 [project @ 2007-08-24 08:27:27 by dbateman]
dbateman
parents: 6822
diff changeset
966 rm -f conftest.c conftest.o conftest
9fddcc586065 [project @ 2007-08-24 08:27:27 by dbateman]
dbateman
parents: 6822
diff changeset
967 ])dnl
9fddcc586065 [project @ 2007-08-24 08:27:27 by dbateman]
dbateman
parents: 6822
diff changeset
968 if test "$octave_cv_lib_qhull_version" = "yes"; then
9fddcc586065 [project @ 2007-08-24 08:27:27 by dbateman]
dbateman
parents: 6822
diff changeset
969 AC_MSG_RESULT(yes)
9fddcc586065 [project @ 2007-08-24 08:27:27 by dbateman]
dbateman
parents: 6822
diff changeset
970 ifelse([$1], , , [$1])
9fddcc586065 [project @ 2007-08-24 08:27:27 by dbateman]
dbateman
parents: 6822
diff changeset
971 else
9fddcc586065 [project @ 2007-08-24 08:27:27 by dbateman]
dbateman
parents: 6822
diff changeset
972 AC_MSG_RESULT(no)
9fddcc586065 [project @ 2007-08-24 08:27:27 by dbateman]
dbateman
parents: 6822
diff changeset
973 ifelse([$2], , , [$2])
9fddcc586065 [project @ 2007-08-24 08:27:27 by dbateman]
dbateman
parents: 6822
diff changeset
974 fi
9fddcc586065 [project @ 2007-08-24 08:27:27 by dbateman]
dbateman
parents: 6822
diff changeset
975 ])
7825
13871b7de124 Import sources for OpenGL-based renderer.
Michael Goffioul <michael.goffioul@gmail.com>
parents: 7361
diff changeset
976 dnl
8659
9792c26bffc7 configure: check whether qhull works
Jaroslav Hajek <highegg@gmail.com>
parents: 8635
diff changeset
977 dnl Check whether QHull works (does not crash)
9792c26bffc7 configure: check whether qhull works
Jaroslav Hajek <highegg@gmail.com>
parents: 8635
diff changeset
978 dnl
9792c26bffc7 configure: check whether qhull works
Jaroslav Hajek <highegg@gmail.com>
parents: 8635
diff changeset
979 AC_DEFUN(AC_CHECK_QHULL_OK,
9792c26bffc7 configure: check whether qhull works
Jaroslav Hajek <highegg@gmail.com>
parents: 8635
diff changeset
980 [AC_MSG_CHECKING([whether the qhull library works])
9792c26bffc7 configure: check whether qhull works
Jaroslav Hajek <highegg@gmail.com>
parents: 8635
diff changeset
981 AC_CACHE_VAL(octave_cv_lib_qhull_ok,
9792c26bffc7 configure: check whether qhull works
Jaroslav Hajek <highegg@gmail.com>
parents: 8635
diff changeset
982 [
9792c26bffc7 configure: check whether qhull works
Jaroslav Hajek <highegg@gmail.com>
parents: 8635
diff changeset
983 save_LIBS="$LIBS"
9792c26bffc7 configure: check whether qhull works
Jaroslav Hajek <highegg@gmail.com>
parents: 8635
diff changeset
984 LIBS="$LIBS -lqhull -lm"
9792c26bffc7 configure: check whether qhull works
Jaroslav Hajek <highegg@gmail.com>
parents: 8635
diff changeset
985 AC_RUN_IFELSE([AC_LANG_SOURCE([[
9792c26bffc7 configure: check whether qhull works
Jaroslav Hajek <highegg@gmail.com>
parents: 8635
diff changeset
986 #include <stdio.h>
9792c26bffc7 configure: check whether qhull works
Jaroslav Hajek <highegg@gmail.com>
parents: 8635
diff changeset
987 #include <qhull/qhull.h>
9792c26bffc7 configure: check whether qhull works
Jaroslav Hajek <highegg@gmail.com>
parents: 8635
diff changeset
988
9792c26bffc7 configure: check whether qhull works
Jaroslav Hajek <highegg@gmail.com>
parents: 8635
diff changeset
989 #ifdef NEED_QHULL_VERSION
9792c26bffc7 configure: check whether qhull works
Jaroslav Hajek <highegg@gmail.com>
parents: 8635
diff changeset
990 char *qh_version = "version";
9792c26bffc7 configure: check whether qhull works
Jaroslav Hajek <highegg@gmail.com>
parents: 8635
diff changeset
991 #endif
9792c26bffc7 configure: check whether qhull works
Jaroslav Hajek <highegg@gmail.com>
parents: 8635
diff changeset
992 int main()
9792c26bffc7 configure: check whether qhull works
Jaroslav Hajek <highegg@gmail.com>
parents: 8635
diff changeset
993 {
9792c26bffc7 configure: check whether qhull works
Jaroslav Hajek <highegg@gmail.com>
parents: 8635
diff changeset
994 int dim = 2, n = 4;
9792c26bffc7 configure: check whether qhull works
Jaroslav Hajek <highegg@gmail.com>
parents: 8635
diff changeset
995 coordT points[8] = { -0.5, -0.5, -0.5, 0.5, 0.5, -0.5, 0.5, 0.5 };
9792c26bffc7 configure: check whether qhull works
Jaroslav Hajek <highegg@gmail.com>
parents: 8635
diff changeset
996 boolT ismalloc = 0;
9792c26bffc7 configure: check whether qhull works
Jaroslav Hajek <highegg@gmail.com>
parents: 8635
diff changeset
997
9792c26bffc7 configure: check whether qhull works
Jaroslav Hajek <highegg@gmail.com>
parents: 8635
diff changeset
998 return qh_new_qhull (dim, n, points, ismalloc, "qhull ", 0, stderr);
9792c26bffc7 configure: check whether qhull works
Jaroslav Hajek <highegg@gmail.com>
parents: 8635
diff changeset
999 }
9792c26bffc7 configure: check whether qhull works
Jaroslav Hajek <highegg@gmail.com>
parents: 8635
diff changeset
1000 ]])],
9792c26bffc7 configure: check whether qhull works
Jaroslav Hajek <highegg@gmail.com>
parents: 8635
diff changeset
1001 [octave_cv_lib_qhull_ok=yes],
9792c26bffc7 configure: check whether qhull works
Jaroslav Hajek <highegg@gmail.com>
parents: 8635
diff changeset
1002 [octave_cv_lib_qhull_ok=no],
9792c26bffc7 configure: check whether qhull works
Jaroslav Hajek <highegg@gmail.com>
parents: 8635
diff changeset
1003 [octave_cv_lib_qhull_ok=yes])
9792c26bffc7 configure: check whether qhull works
Jaroslav Hajek <highegg@gmail.com>
parents: 8635
diff changeset
1004 LIBS="$save_LIBS"
9792c26bffc7 configure: check whether qhull works
Jaroslav Hajek <highegg@gmail.com>
parents: 8635
diff changeset
1005 ])
9792c26bffc7 configure: check whether qhull works
Jaroslav Hajek <highegg@gmail.com>
parents: 8635
diff changeset
1006 if test "$octave_cv_lib_qhull_ok" = "yes"; then
9792c26bffc7 configure: check whether qhull works
Jaroslav Hajek <highegg@gmail.com>
parents: 8635
diff changeset
1007 AC_MSG_RESULT(yes)
9792c26bffc7 configure: check whether qhull works
Jaroslav Hajek <highegg@gmail.com>
parents: 8635
diff changeset
1008 ifelse([$1], , , [$1])
9792c26bffc7 configure: check whether qhull works
Jaroslav Hajek <highegg@gmail.com>
parents: 8635
diff changeset
1009 else
9792c26bffc7 configure: check whether qhull works
Jaroslav Hajek <highegg@gmail.com>
parents: 8635
diff changeset
1010 AC_MSG_RESULT(no)
9792c26bffc7 configure: check whether qhull works
Jaroslav Hajek <highegg@gmail.com>
parents: 8635
diff changeset
1011 ifelse([$2], , , [$2])
9792c26bffc7 configure: check whether qhull works
Jaroslav Hajek <highegg@gmail.com>
parents: 8635
diff changeset
1012 fi
9792c26bffc7 configure: check whether qhull works
Jaroslav Hajek <highegg@gmail.com>
parents: 8635
diff changeset
1013 ])
9792c26bffc7 configure: check whether qhull works
Jaroslav Hajek <highegg@gmail.com>
parents: 8635
diff changeset
1014 dnl
7825
13871b7de124 Import sources for OpenGL-based renderer.
Michael Goffioul <michael.goffioul@gmail.com>
parents: 7361
diff changeset
1015 dnl Check for OpenGL. If found, define OPENGL_LIBS
13871b7de124 Import sources for OpenGL-based renderer.
Michael Goffioul <michael.goffioul@gmail.com>
parents: 7361
diff changeset
1016 dnl
7863
2a62d45fa21d added check for FTGL library
Shai Ayal <shaiay@users.sourceforge.net>
parents: 7834
diff changeset
1017 dnl FIXME -- add tests for apple
2a62d45fa21d added check for FTGL library
Shai Ayal <shaiay@users.sourceforge.net>
parents: 7834
diff changeset
1018 dnl
7825
13871b7de124 Import sources for OpenGL-based renderer.
Michael Goffioul <michael.goffioul@gmail.com>
parents: 7361
diff changeset
1019 AC_DEFUN([OCTAVE_OPENGL], [
13871b7de124 Import sources for OpenGL-based renderer.
Michael Goffioul <michael.goffioul@gmail.com>
parents: 7361
diff changeset
1020 OPENGL_LIBS=
13871b7de124 Import sources for OpenGL-based renderer.
Michael Goffioul <michael.goffioul@gmail.com>
parents: 7361
diff changeset
1021 case $canonical_host_type in
7993
80a715c4824d aclocal.m4 (OCTAVE_OPENGL): Handle MinGW the same as MSVC
Tatsuro MATSUOKA
parents: 7954
diff changeset
1022 *-*-mingw32* | *-*-msdosmsvc)
7825
13871b7de124 Import sources for OpenGL-based renderer.
Michael Goffioul <michael.goffioul@gmail.com>
parents: 7361
diff changeset
1023 AC_CHECK_HEADERS(windows.h)
13871b7de124 Import sources for OpenGL-based renderer.
Michael Goffioul <michael.goffioul@gmail.com>
parents: 7361
diff changeset
1024 ;;
13871b7de124 Import sources for OpenGL-based renderer.
Michael Goffioul <michael.goffioul@gmail.com>
parents: 7361
diff changeset
1025 esac
13871b7de124 Import sources for OpenGL-based renderer.
Michael Goffioul <michael.goffioul@gmail.com>
parents: 7361
diff changeset
1026 have_opengl_incs=no
7954
3ffc34caec65 configure fixes
John W. Eaton <jwe@octave.org>
parents: 7945
diff changeset
1027 AC_CHECK_HEADERS([GL/gl.h OpenGL/gl.h], [
3ffc34caec65 configure fixes
John W. Eaton <jwe@octave.org>
parents: 7945
diff changeset
1028 AC_CHECK_HEADERS([GL/glu.h OpenGL/glu.h], [
3ffc34caec65 configure fixes
John W. Eaton <jwe@octave.org>
parents: 7945
diff changeset
1029 have_opengl_incs=yes; break], [], [
7825
13871b7de124 Import sources for OpenGL-based renderer.
Michael Goffioul <michael.goffioul@gmail.com>
parents: 7361
diff changeset
1030 #ifdef HAVE_WINDOWS_H
7954
3ffc34caec65 configure fixes
John W. Eaton <jwe@octave.org>
parents: 7945
diff changeset
1031 #include <windows.h>
3ffc34caec65 configure fixes
John W. Eaton <jwe@octave.org>
parents: 7945
diff changeset
1032 #endif
3ffc34caec65 configure fixes
John W. Eaton <jwe@octave.org>
parents: 7945
diff changeset
1033 ])
3ffc34caec65 configure fixes
John W. Eaton <jwe@octave.org>
parents: 7945
diff changeset
1034 break
3ffc34caec65 configure fixes
John W. Eaton <jwe@octave.org>
parents: 7945
diff changeset
1035 ], [], [
7825
13871b7de124 Import sources for OpenGL-based renderer.
Michael Goffioul <michael.goffioul@gmail.com>
parents: 7361
diff changeset
1036 #ifdef HAVE_WINDOWS_H
7954
3ffc34caec65 configure fixes
John W. Eaton <jwe@octave.org>
parents: 7945
diff changeset
1037 #include <windows.h>
3ffc34caec65 configure fixes
John W. Eaton <jwe@octave.org>
parents: 7945
diff changeset
1038 #endif
3ffc34caec65 configure fixes
John W. Eaton <jwe@octave.org>
parents: 7945
diff changeset
1039 ])
7825
13871b7de124 Import sources for OpenGL-based renderer.
Michael Goffioul <michael.goffioul@gmail.com>
parents: 7361
diff changeset
1040 if test "$have_opengl_incs" = "yes"; then
13871b7de124 Import sources for OpenGL-based renderer.
Michael Goffioul <michael.goffioul@gmail.com>
parents: 7361
diff changeset
1041 case $canonical_host_type in
7993
80a715c4824d aclocal.m4 (OCTAVE_OPENGL): Handle MinGW the same as MSVC
Tatsuro MATSUOKA
parents: 7954
diff changeset
1042 *-*-mingw32* | *-*-msdosmsvc)
7825
13871b7de124 Import sources for OpenGL-based renderer.
Michael Goffioul <michael.goffioul@gmail.com>
parents: 7361
diff changeset
1043 save_LIBS="$LIBS"
13871b7de124 Import sources for OpenGL-based renderer.
Michael Goffioul <michael.goffioul@gmail.com>
parents: 7361
diff changeset
1044 LIBS="$LIBS -lopengl32"
13871b7de124 Import sources for OpenGL-based renderer.
Michael Goffioul <michael.goffioul@gmail.com>
parents: 7361
diff changeset
1045 AC_MSG_CHECKING([for glEnable in -lopengl32])
13871b7de124 Import sources for OpenGL-based renderer.
Michael Goffioul <michael.goffioul@gmail.com>
parents: 7361
diff changeset
1046 AC_TRY_LINK([
13871b7de124 Import sources for OpenGL-based renderer.
Michael Goffioul <michael.goffioul@gmail.com>
parents: 7361
diff changeset
1047 #if HAVE_WINDOWS_H
7954
3ffc34caec65 configure fixes
John W. Eaton <jwe@octave.org>
parents: 7945
diff changeset
1048 #include <windows.h>
7825
13871b7de124 Import sources for OpenGL-based renderer.
Michael Goffioul <michael.goffioul@gmail.com>
parents: 7361
diff changeset
1049 #endif
7954
3ffc34caec65 configure fixes
John W. Eaton <jwe@octave.org>
parents: 7945
diff changeset
1050 #if defined (HAVE_GL_GL_H)
3ffc34caec65 configure fixes
John W. Eaton <jwe@octave.org>
parents: 7945
diff changeset
1051 #include <GL/gl.h>
3ffc34caec65 configure fixes
John W. Eaton <jwe@octave.org>
parents: 7945
diff changeset
1052 #elif defined (HAVE_OPENGL_GL_H)
3ffc34caec65 configure fixes
John W. Eaton <jwe@octave.org>
parents: 7945
diff changeset
1053 #include <OpenGL/gl.h>
3ffc34caec65 configure fixes
John W. Eaton <jwe@octave.org>
parents: 7945
diff changeset
1054 #endif
3ffc34caec65 configure fixes
John W. Eaton <jwe@octave.org>
parents: 7945
diff changeset
1055 ], [
7825
13871b7de124 Import sources for OpenGL-based renderer.
Michael Goffioul <michael.goffioul@gmail.com>
parents: 7361
diff changeset
1056 glEnable(GL_SMOOTH);], OPENGL_LIBS="-lopengl32 -lglu32")
13871b7de124 Import sources for OpenGL-based renderer.
Michael Goffioul <michael.goffioul@gmail.com>
parents: 7361
diff changeset
1057 LIBS="$save_LIBS"
13871b7de124 Import sources for OpenGL-based renderer.
Michael Goffioul <michael.goffioul@gmail.com>
parents: 7361
diff changeset
1058 if test "x$OPENGL_LIBS" != "x"; then
13871b7de124 Import sources for OpenGL-based renderer.
Michael Goffioul <michael.goffioul@gmail.com>
parents: 7361
diff changeset
1059 AC_MSG_RESULT(yes)
13871b7de124 Import sources for OpenGL-based renderer.
Michael Goffioul <michael.goffioul@gmail.com>
parents: 7361
diff changeset
1060 else
13871b7de124 Import sources for OpenGL-based renderer.
Michael Goffioul <michael.goffioul@gmail.com>
parents: 7361
diff changeset
1061 AC_MSG_RESULT(no)
13871b7de124 Import sources for OpenGL-based renderer.
Michael Goffioul <michael.goffioul@gmail.com>
parents: 7361
diff changeset
1062 fi
13871b7de124 Import sources for OpenGL-based renderer.
Michael Goffioul <michael.goffioul@gmail.com>
parents: 7361
diff changeset
1063 ;;
13871b7de124 Import sources for OpenGL-based renderer.
Michael Goffioul <michael.goffioul@gmail.com>
parents: 7361
diff changeset
1064 *)
13871b7de124 Import sources for OpenGL-based renderer.
Michael Goffioul <michael.goffioul@gmail.com>
parents: 7361
diff changeset
1065 save_LDFLAGS="$LDFLAGS"
13871b7de124 Import sources for OpenGL-based renderer.
Michael Goffioul <michael.goffioul@gmail.com>
parents: 7361
diff changeset
1066 LDFLAGS="$LDFLAGS -L/usr/X11R6/lib"
13871b7de124 Import sources for OpenGL-based renderer.
Michael Goffioul <michael.goffioul@gmail.com>
parents: 7361
diff changeset
1067 AC_CHECK_LIB(GL, glEnable, OPENGL_LIBS="-L/usr/X11R6/lib -lGL -lGLU")
13871b7de124 Import sources for OpenGL-based renderer.
Michael Goffioul <michael.goffioul@gmail.com>
parents: 7361
diff changeset
1068 LDFLAGS="$save_LDFLAGS"
13871b7de124 Import sources for OpenGL-based renderer.
Michael Goffioul <michael.goffioul@gmail.com>
parents: 7361
diff changeset
1069 ;;
13871b7de124 Import sources for OpenGL-based renderer.
Michael Goffioul <michael.goffioul@gmail.com>
parents: 7361
diff changeset
1070 esac
13871b7de124 Import sources for OpenGL-based renderer.
Michael Goffioul <michael.goffioul@gmail.com>
parents: 7361
diff changeset
1071 fi
13871b7de124 Import sources for OpenGL-based renderer.
Michael Goffioul <michael.goffioul@gmail.com>
parents: 7361
diff changeset
1072 AC_SUBST(OPENGL_LIBS)
13871b7de124 Import sources for OpenGL-based renderer.
Michael Goffioul <michael.goffioul@gmail.com>
parents: 7361
diff changeset
1073 ])
7834
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1074 dnl
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1075 dnl Configure paths for FreeType2
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1076 dnl Marcelo Magallon 2001-10-26, based on gtk.m4 by Owen Taylor
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1077 dnl
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1078 dnl Copyright 2001, 2003 by
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1079 dnl David Turner, Robert Wilhelm, and Werner Lemberg.
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1080 dnl
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1081 dnl This file is part of the FreeType project, and may only be used, modified,
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1082 dnl and distributed under the terms of the FreeType project license,
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1083 dnl LICENSE.TXT. By continuing to use, modify, or distribute this file you
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1084 dnl indicate that you have read the license and understand and accept it
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1085 dnl fully.
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1086 dnl
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1087 dnl As a special exception to the FreeType project license, this file may be
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1088 dnl distributed as part of a program that contains a configuration script
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1089 dnl generated by Autoconf, under the same distribution terms as the rest of
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1090 dnl that program.
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1091 dnl
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1092 dnl serial 2
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1093 dnl
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1094 dnl AC_CHECK_FT2([MINIMUM-VERSION [, ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1095 dnl Test for FreeType 2, and define FT2_CFLAGS and FT2_LIBS.
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1096 dnl MINIMUM-VERSION is what libtool reports; the default is `7.0.1' (this is
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1097 dnl FreeType 2.0.4).
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1098 dnl
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1099 AC_DEFUN([AC_CHECK_FT2],
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1100 [dnl Get the cflags and libraries from the freetype-config script
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1101 dnl
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1102 AC_ARG_WITH([ft-prefix],
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1103 dnl don't quote AS_HELP_STRING!
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1104 AS_HELP_STRING([--with-ft-prefix=PREFIX],
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1105 [Prefix where FreeType is installed (optional)]),
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1106 [ft_config_prefix="$withval"],
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1107 [ft_config_prefix=""])
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1108
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1109 AC_ARG_WITH([ft-exec-prefix],
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1110 dnl don't quote AS_HELP_STRING!
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1111 AS_HELP_STRING([--with-ft-exec-prefix=PREFIX],
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1112 [Exec prefix where FreeType is installed (optional)]),
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1113 [ft_config_exec_prefix="$withval"],
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1114 [ft_config_exec_prefix=""])
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1115
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1116 AC_ARG_ENABLE([freetypetest],
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1117 dnl don't quote AS_HELP_STRING!
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1118 AS_HELP_STRING([--disable-freetypetest],
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1119 [Do not try to compile and run a test FreeType program]),
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1120 [],
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1121 [enable_fttest=yes])
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1122
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1123 if test x$ft_config_exec_prefix != x ; then
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1124 ft_config_args="$ft_config_args --exec-prefix=$ft_config_exec_prefix"
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1125 if test x${FT2_CONFIG+set} != xset ; then
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1126 FT2_CONFIG=$ft_config_exec_prefix/bin/freetype-config
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1127 fi
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1128 fi
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1129
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1130 if test x$ft_config_prefix != x ; then
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1131 ft_config_args="$ft_config_args --prefix=$ft_config_prefix"
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1132 if test x${FT2_CONFIG+set} != xset ; then
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1133 FT2_CONFIG=$ft_config_prefix/bin/freetype-config
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1134 fi
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1135 fi
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1136
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1137 AC_PATH_PROG([FT2_CONFIG], [freetype-config], [no])
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1138
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1139 min_ft_version=m4_if([$1], [], [7.0.1], [$1])
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1140 AC_MSG_CHECKING([for FreeType -- version >= $min_ft_version])
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1141 no_ft=""
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1142 if test "$FT2_CONFIG" = "no" ; then
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1143 no_ft=yes
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1144 else
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1145 FT2_CFLAGS=`$FT2_CONFIG $ft_config_args --cflags`
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1146 FT2_LIBS=`$FT2_CONFIG $ft_config_args --libs`
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1147 ft_config_major_version=`$FT2_CONFIG $ft_config_args --version | \
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1148 sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1149 ft_config_minor_version=`$FT2_CONFIG $ft_config_args --version | \
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1150 sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1151 ft_config_micro_version=`$FT2_CONFIG $ft_config_args --version | \
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1152 sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1153 ft_min_major_version=`echo $min_ft_version | \
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1154 sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1155 ft_min_minor_version=`echo $min_ft_version | \
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1156 sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1157 ft_min_micro_version=`echo $min_ft_version | \
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1158 sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1159 if test x$enable_fttest = xyes ; then
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1160 ft_config_is_lt=""
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1161 if test $ft_config_major_version -lt $ft_min_major_version ; then
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1162 ft_config_is_lt=yes
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1163 else
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1164 if test $ft_config_major_version -eq $ft_min_major_version ; then
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1165 if test $ft_config_minor_version -lt $ft_min_minor_version ; then
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1166 ft_config_is_lt=yes
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1167 else
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1168 if test $ft_config_minor_version -eq $ft_min_minor_version ; then
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1169 if test $ft_config_micro_version -lt $ft_min_micro_version ; then
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1170 ft_config_is_lt=yes
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1171 fi
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1172 fi
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1173 fi
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1174 fi
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1175 fi
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1176 if test x$ft_config_is_lt = xyes ; then
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1177 no_ft=yes
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1178 else
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1179 ac_save_CFLAGS="$CFLAGS"
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1180 ac_save_LIBS="$LIBS"
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1181 CFLAGS="$CFLAGS $FT2_CFLAGS"
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1182 LIBS="$FT2_LIBS $LIBS"
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1183
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1184 dnl
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1185 dnl Sanity checks for the results of freetype-config to some extent.
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1186 dnl
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1187 AC_RUN_IFELSE([
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1188 AC_LANG_SOURCE([[
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1189
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1190 #include <ft2build.h>
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1191 #include FT_FREETYPE_H
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1192 #include <stdio.h>
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1193 #include <stdlib.h>
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1194
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1195 int
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1196 main()
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1197 {
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1198 FT_Library library;
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1199 FT_Error error;
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1200
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1201 error = FT_Init_FreeType(&library);
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1202
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1203 if (error)
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1204 return 1;
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1205 else
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1206 {
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1207 FT_Done_FreeType(library);
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1208 return 0;
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1209 }
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1210 }
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1211
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1212 ]])
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1213 ],
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1214 [],
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1215 [no_ft=yes],
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1216 [echo $ECHO_N "cross compiling; assuming OK... $ECHO_C"])
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1217
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1218 CFLAGS="$ac_save_CFLAGS"
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1219 LIBS="$ac_save_LIBS"
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1220 fi dnl test $ft_config_version -lt $ft_min_version
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1221 fi dnl test x$enable_fttest = xyes
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1222 fi dnl test "$FT2_CONFIG" = "no"
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1223
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1224 if test x$no_ft = x ; then
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1225 AC_MSG_RESULT([yes])
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1226 m4_if([$2], [], [:], [$2])
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1227 else
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1228 AC_MSG_RESULT([no])
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1229 if test "$FT2_CONFIG" = "no" ; then
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1230 AC_MSG_WARN([
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1231
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1232 The freetype-config script installed by FreeType 2 could not be found.
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1233 If FreeType 2 was installed in PREFIX, make sure PREFIX/bin is in
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1234 your path, or set the FT2_CONFIG environment variable to the
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1235 full path to freetype-config.
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1236 ])
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1237 else
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1238 if test x$ft_config_is_lt = xyes ; then
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1239 AC_MSG_WARN([
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1240
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1241 Your installed version of the FreeType 2 library is too old.
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1242 If you have different versions of FreeType 2, make sure that
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1243 correct values for --with-ft-prefix or --with-ft-exec-prefix
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1244 are used, or set the FT2_CONFIG environment variable to the
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1245 full path to freetype-config.
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1246 ])
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1247 else
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1248 AC_MSG_WARN([
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1249
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1250 The FreeType test program failed to run. If your system uses
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1251 shared libraries and they are installed outside the normal
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1252 system library path, make sure the variable LD_LIBRARY_PATH
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1253 (or whatever is appropiate for your system) is correctly set.
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1254 ])
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1255 fi
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1256 fi
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1257
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1258 FT2_CFLAGS=""
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1259 FT2_LIBS=""
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1260 m4_if([$3], [], [:], [$3])
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1261 fi
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1262
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1263 AC_SUBST([FT2_CFLAGS])
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1264 AC_SUBST([FT2_LIBS])])
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1265 dnl end of freetype2.m4
8169
66bc6f9b4f72 rewrite integer arithmetics and conversions
Jaroslav Hajek <highegg@gmail.com>
parents: 8019
diff changeset
1266
66bc6f9b4f72 rewrite integer arithmetics and conversions
Jaroslav Hajek <highegg@gmail.com>
parents: 8019
diff changeset
1267 dnl Check whether fast signed integer arithmetics using bit tricks
66bc6f9b4f72 rewrite integer arithmetics and conversions
Jaroslav Hajek <highegg@gmail.com>
parents: 8019
diff changeset
1268 dnl can be used in oct-inttypes.h. Defines HAVE_FAST_INT_OPS if
66bc6f9b4f72 rewrite integer arithmetics and conversions
Jaroslav Hajek <highegg@gmail.com>
parents: 8019
diff changeset
1269 dnl the following conditions hold:
66bc6f9b4f72 rewrite integer arithmetics and conversions
Jaroslav Hajek <highegg@gmail.com>
parents: 8019
diff changeset
1270 dnl 1. Signed numbers are represented by twos complement
66bc6f9b4f72 rewrite integer arithmetics and conversions
Jaroslav Hajek <highegg@gmail.com>
parents: 8019
diff changeset
1271 dnl (see <http://en.wikipedia.org/wiki/Two%27s_complement>)
66bc6f9b4f72 rewrite integer arithmetics and conversions
Jaroslav Hajek <highegg@gmail.com>
parents: 8019
diff changeset
1272 dnl 2. static_cast to unsigned int counterpart works like interpreting
66bc6f9b4f72 rewrite integer arithmetics and conversions
Jaroslav Hajek <highegg@gmail.com>
parents: 8019
diff changeset
1273 dnl the signed bit pattern as unsigned (and is thus zero-cost).
66bc6f9b4f72 rewrite integer arithmetics and conversions
Jaroslav Hajek <highegg@gmail.com>
parents: 8019
diff changeset
1274 dnl 3. Signed addition and subtraction yield the same bit results as unsigned.
66bc6f9b4f72 rewrite integer arithmetics and conversions
Jaroslav Hajek <highegg@gmail.com>
parents: 8019
diff changeset
1275 dnl (We use casts to prevent optimization interference, so there is no
66bc6f9b4f72 rewrite integer arithmetics and conversions
Jaroslav Hajek <highegg@gmail.com>
parents: 8019
diff changeset
1276 dnl need for things like -ftrapv).
66bc6f9b4f72 rewrite integer arithmetics and conversions
Jaroslav Hajek <highegg@gmail.com>
parents: 8019
diff changeset
1277 dnl 4. Bit operations on signed integers work like on unsigned integers,
66bc6f9b4f72 rewrite integer arithmetics and conversions
Jaroslav Hajek <highegg@gmail.com>
parents: 8019
diff changeset
1278 dnl except for the shifts. Shifts are arithmetic.
66bc6f9b4f72 rewrite integer arithmetics and conversions
Jaroslav Hajek <highegg@gmail.com>
parents: 8019
diff changeset
1279 dnl
66bc6f9b4f72 rewrite integer arithmetics and conversions
Jaroslav Hajek <highegg@gmail.com>
parents: 8019
diff changeset
1280 AC_DEFUN([OCTAVE_FAST_INT_OPS],[
66bc6f9b4f72 rewrite integer arithmetics and conversions
Jaroslav Hajek <highegg@gmail.com>
parents: 8019
diff changeset
1281 AC_MSG_CHECKING([whether fast integer arithmetics is usable])
66bc6f9b4f72 rewrite integer arithmetics and conversions
Jaroslav Hajek <highegg@gmail.com>
parents: 8019
diff changeset
1282 AC_LANG_PUSH(C++)
66bc6f9b4f72 rewrite integer arithmetics and conversions
Jaroslav Hajek <highegg@gmail.com>
parents: 8019
diff changeset
1283 AC_RUN_IFELSE([AC_LANG_PROGRAM([[
66bc6f9b4f72 rewrite integer arithmetics and conversions
Jaroslav Hajek <highegg@gmail.com>
parents: 8019
diff changeset
1284 #include <limits>
66bc6f9b4f72 rewrite integer arithmetics and conversions
Jaroslav Hajek <highegg@gmail.com>
parents: 8019
diff changeset
1285 template<class UT, class ST>
66bc6f9b4f72 rewrite integer arithmetics and conversions
Jaroslav Hajek <highegg@gmail.com>
parents: 8019
diff changeset
1286 static bool
66bc6f9b4f72 rewrite integer arithmetics and conversions
Jaroslav Hajek <highegg@gmail.com>
parents: 8019
diff changeset
1287 do_test (UT, ST)
66bc6f9b4f72 rewrite integer arithmetics and conversions
Jaroslav Hajek <highegg@gmail.com>
parents: 8019
diff changeset
1288 {
66bc6f9b4f72 rewrite integer arithmetics and conversions
Jaroslav Hajek <highegg@gmail.com>
parents: 8019
diff changeset
1289 volatile ST s = std::numeric_limits<ST>::min () / 3;
66bc6f9b4f72 rewrite integer arithmetics and conversions
Jaroslav Hajek <highegg@gmail.com>
parents: 8019
diff changeset
1290 volatile UT u = static_cast<UT> (s);
66bc6f9b4f72 rewrite integer arithmetics and conversions
Jaroslav Hajek <highegg@gmail.com>
parents: 8019
diff changeset
1291 if (*(reinterpret_cast<volatile ST *> (&u)) != s) return true;
66bc6f9b4f72 rewrite integer arithmetics and conversions
Jaroslav Hajek <highegg@gmail.com>
parents: 8019
diff changeset
1292
66bc6f9b4f72 rewrite integer arithmetics and conversions
Jaroslav Hajek <highegg@gmail.com>
parents: 8019
diff changeset
1293 u = 0; u = ~u;
66bc6f9b4f72 rewrite integer arithmetics and conversions
Jaroslav Hajek <highegg@gmail.com>
parents: 8019
diff changeset
1294 if (*(reinterpret_cast<volatile ST *> (&u)) != -1) return true;
66bc6f9b4f72 rewrite integer arithmetics and conversions
Jaroslav Hajek <highegg@gmail.com>
parents: 8019
diff changeset
1295
66bc6f9b4f72 rewrite integer arithmetics and conversions
Jaroslav Hajek <highegg@gmail.com>
parents: 8019
diff changeset
1296 ST sx, sy;
66bc6f9b4f72 rewrite integer arithmetics and conversions
Jaroslav Hajek <highegg@gmail.com>
parents: 8019
diff changeset
1297 sx = std::numeric_limits<ST>::max () / 2 + 1;
66bc6f9b4f72 rewrite integer arithmetics and conversions
Jaroslav Hajek <highegg@gmail.com>
parents: 8019
diff changeset
1298 sy = std::numeric_limits<ST>::max () / 2 + 2;
66bc6f9b4f72 rewrite integer arithmetics and conversions
Jaroslav Hajek <highegg@gmail.com>
parents: 8019
diff changeset
1299 if (static_cast<ST> (static_cast<UT> (sx) + static_cast<UT> (sy))
66bc6f9b4f72 rewrite integer arithmetics and conversions
Jaroslav Hajek <highegg@gmail.com>
parents: 8019
diff changeset
1300 != std::numeric_limits<ST>::min () + 1) return true;
66bc6f9b4f72 rewrite integer arithmetics and conversions
Jaroslav Hajek <highegg@gmail.com>
parents: 8019
diff changeset
1301 if (static_cast<ST> (static_cast<UT> (sx) - static_cast<UT> (sy))
66bc6f9b4f72 rewrite integer arithmetics and conversions
Jaroslav Hajek <highegg@gmail.com>
parents: 8019
diff changeset
1302 != -1) return true;
66bc6f9b4f72 rewrite integer arithmetics and conversions
Jaroslav Hajek <highegg@gmail.com>
parents: 8019
diff changeset
1303
66bc6f9b4f72 rewrite integer arithmetics and conversions
Jaroslav Hajek <highegg@gmail.com>
parents: 8019
diff changeset
1304 if ((sx & sy) != (static_cast<UT> (sx) & static_cast<UT> (sy)))
66bc6f9b4f72 rewrite integer arithmetics and conversions
Jaroslav Hajek <highegg@gmail.com>
parents: 8019
diff changeset
1305 return true;
66bc6f9b4f72 rewrite integer arithmetics and conversions
Jaroslav Hajek <highegg@gmail.com>
parents: 8019
diff changeset
1306 if ((sx | sy) != (static_cast<UT> (sx) | static_cast<UT> (sy)))
66bc6f9b4f72 rewrite integer arithmetics and conversions
Jaroslav Hajek <highegg@gmail.com>
parents: 8019
diff changeset
1307 return true;
66bc6f9b4f72 rewrite integer arithmetics and conversions
Jaroslav Hajek <highegg@gmail.com>
parents: 8019
diff changeset
1308 if ((sx ^ sy) != (static_cast<UT> (sx) ^ static_cast<UT> (sy)))
66bc6f9b4f72 rewrite integer arithmetics and conversions
Jaroslav Hajek <highegg@gmail.com>
parents: 8019
diff changeset
1309 return true;
66bc6f9b4f72 rewrite integer arithmetics and conversions
Jaroslav Hajek <highegg@gmail.com>
parents: 8019
diff changeset
1310 if ((-1 >> 1) != -1) return true;
66bc6f9b4f72 rewrite integer arithmetics and conversions
Jaroslav Hajek <highegg@gmail.com>
parents: 8019
diff changeset
1311 return false;
66bc6f9b4f72 rewrite integer arithmetics and conversions
Jaroslav Hajek <highegg@gmail.com>
parents: 8019
diff changeset
1312 }
66bc6f9b4f72 rewrite integer arithmetics and conversions
Jaroslav Hajek <highegg@gmail.com>
parents: 8019
diff changeset
1313
66bc6f9b4f72 rewrite integer arithmetics and conversions
Jaroslav Hajek <highegg@gmail.com>
parents: 8019
diff changeset
1314 #define DO_TEST(T) \
66bc6f9b4f72 rewrite integer arithmetics and conversions
Jaroslav Hajek <highegg@gmail.com>
parents: 8019
diff changeset
1315 if (do_test (static_cast<unsigned T> (0), static_cast<signed T> (0))) \
66bc6f9b4f72 rewrite integer arithmetics and conversions
Jaroslav Hajek <highegg@gmail.com>
parents: 8019
diff changeset
1316 return sizeof (T);
66bc6f9b4f72 rewrite integer arithmetics and conversions
Jaroslav Hajek <highegg@gmail.com>
parents: 8019
diff changeset
1317 ]],[[
66bc6f9b4f72 rewrite integer arithmetics and conversions
Jaroslav Hajek <highegg@gmail.com>
parents: 8019
diff changeset
1318 DO_TEST(char)
66bc6f9b4f72 rewrite integer arithmetics and conversions
Jaroslav Hajek <highegg@gmail.com>
parents: 8019
diff changeset
1319 DO_TEST(short)
66bc6f9b4f72 rewrite integer arithmetics and conversions
Jaroslav Hajek <highegg@gmail.com>
parents: 8019
diff changeset
1320 DO_TEST(int)
66bc6f9b4f72 rewrite integer arithmetics and conversions
Jaroslav Hajek <highegg@gmail.com>
parents: 8019
diff changeset
1321 DO_TEST(long)
66bc6f9b4f72 rewrite integer arithmetics and conversions
Jaroslav Hajek <highegg@gmail.com>
parents: 8019
diff changeset
1322 #if (defined(HAVE_LONG_LONG_INT) && defined(HAVE_UNSIGNED_LONG_LONG_INT))
66bc6f9b4f72 rewrite integer arithmetics and conversions
Jaroslav Hajek <highegg@gmail.com>
parents: 8019
diff changeset
1323 DO_TEST(long long)
66bc6f9b4f72 rewrite integer arithmetics and conversions
Jaroslav Hajek <highegg@gmail.com>
parents: 8019
diff changeset
1324 #endif
66bc6f9b4f72 rewrite integer arithmetics and conversions
Jaroslav Hajek <highegg@gmail.com>
parents: 8019
diff changeset
1325 ]])],
66bc6f9b4f72 rewrite integer arithmetics and conversions
Jaroslav Hajek <highegg@gmail.com>
parents: 8019
diff changeset
1326 [AC_MSG_RESULT([yes])
66bc6f9b4f72 rewrite integer arithmetics and conversions
Jaroslav Hajek <highegg@gmail.com>
parents: 8019
diff changeset
1327 AC_DEFINE(HAVE_FAST_INT_OPS,1,[Define if signed integers use two's complement])],
66bc6f9b4f72 rewrite integer arithmetics and conversions
Jaroslav Hajek <highegg@gmail.com>
parents: 8019
diff changeset
1328 [AC_MSG_RESULT([no])])
66bc6f9b4f72 rewrite integer arithmetics and conversions
Jaroslav Hajek <highegg@gmail.com>
parents: 8019
diff changeset
1329 AC_LANG_POP(C++)])
8595
dee5d60257e4 Use Carbon framework to determine ScreenSize on Mac.
Thomas Treichl <Thomas.Treichl@gmx.net>
parents: 8169
diff changeset
1330 dnl
dee5d60257e4 Use Carbon framework to determine ScreenSize on Mac.
Thomas Treichl <Thomas.Treichl@gmx.net>
parents: 8169
diff changeset
1331 dnl Check to see if the compiler and the linker can handle the flags
8635
bef8f001032f Further improvements for OCTAVE_HAVE_FRAMEWORK and the test for the MacOSX Carbon framework.
Thomas Treichl <Thomas.Treichl@gmx.net>
parents: 8595
diff changeset
1332 dnl "-framework $1" for the given prologue $2 and the given body $3 of
bef8f001032f Further improvements for OCTAVE_HAVE_FRAMEWORK and the test for the MacOSX Carbon framework.
Thomas Treichl <Thomas.Treichl@gmx.net>
parents: 8595
diff changeset
1333 dnl a source file. Arguments 2 and 3 optionally can also be empty.
bef8f001032f Further improvements for OCTAVE_HAVE_FRAMEWORK and the test for the MacOSX Carbon framework.
Thomas Treichl <Thomas.Treichl@gmx.net>
parents: 8595
diff changeset
1334 dnl Add options (lower case letters $1) "--with-framework-$1" and
bef8f001032f Further improvements for OCTAVE_HAVE_FRAMEWORK and the test for the MacOSX Carbon framework.
Thomas Treichl <Thomas.Treichl@gmx.net>
parents: 8595
diff changeset
1335 dnl "--without-framework-$1". If this test is successful then perform
bef8f001032f Further improvements for OCTAVE_HAVE_FRAMEWORK and the test for the MacOSX Carbon framework.
Thomas Treichl <Thomas.Treichl@gmx.net>
parents: 8595
diff changeset
1336 dnl $4, otherwise do $5.
8595
dee5d60257e4 Use Carbon framework to determine ScreenSize on Mac.
Thomas Treichl <Thomas.Treichl@gmx.net>
parents: 8169
diff changeset
1337 dnl
dee5d60257e4 Use Carbon framework to determine ScreenSize on Mac.
Thomas Treichl <Thomas.Treichl@gmx.net>
parents: 8169
diff changeset
1338 dnl OCTAVE_HAVE_FRAMEWORK
dee5d60257e4 Use Carbon framework to determine ScreenSize on Mac.
Thomas Treichl <Thomas.Treichl@gmx.net>
parents: 8169
diff changeset
1339 AC_DEFUN(OCTAVE_HAVE_FRAMEWORK, [
dee5d60257e4 Use Carbon framework to determine ScreenSize on Mac.
Thomas Treichl <Thomas.Treichl@gmx.net>
parents: 8169
diff changeset
1340 AC_MSG_CHECKING(whether ${LD-ld} accepts -framework $1)
8635
bef8f001032f Further improvements for OCTAVE_HAVE_FRAMEWORK and the test for the MacOSX Carbon framework.
Thomas Treichl <Thomas.Treichl@gmx.net>
parents: 8595
diff changeset
1341 AC_CACHE_VAL(octave_cv_framework_$1, [
8595
dee5d60257e4 Use Carbon framework to determine ScreenSize on Mac.
Thomas Treichl <Thomas.Treichl@gmx.net>
parents: 8169
diff changeset
1342 XLDFLAGS="$LDFLAGS"
dee5d60257e4 Use Carbon framework to determine ScreenSize on Mac.
Thomas Treichl <Thomas.Treichl@gmx.net>
parents: 8169
diff changeset
1343 LDFLAGS="$LDFLAGS -framework $1"
8635
bef8f001032f Further improvements for OCTAVE_HAVE_FRAMEWORK and the test for the MacOSX Carbon framework.
Thomas Treichl <Thomas.Treichl@gmx.net>
parents: 8595
diff changeset
1344 AC_LANG_PUSH(C++)
8595
dee5d60257e4 Use Carbon framework to determine ScreenSize on Mac.
Thomas Treichl <Thomas.Treichl@gmx.net>
parents: 8169
diff changeset
1345 AC_LINK_IFELSE([AC_LANG_PROGRAM([$2], [$3])],
8635
bef8f001032f Further improvements for OCTAVE_HAVE_FRAMEWORK and the test for the MacOSX Carbon framework.
Thomas Treichl <Thomas.Treichl@gmx.net>
parents: 8595
diff changeset
1346 eval "octave_cv_framework_$1=yes",
bef8f001032f Further improvements for OCTAVE_HAVE_FRAMEWORK and the test for the MacOSX Carbon framework.
Thomas Treichl <Thomas.Treichl@gmx.net>
parents: 8595
diff changeset
1347 eval "octave_cv_framework_$1=no")
bef8f001032f Further improvements for OCTAVE_HAVE_FRAMEWORK and the test for the MacOSX Carbon framework.
Thomas Treichl <Thomas.Treichl@gmx.net>
parents: 8595
diff changeset
1348 AC_LANG_POP(C++)
8595
dee5d60257e4 Use Carbon framework to determine ScreenSize on Mac.
Thomas Treichl <Thomas.Treichl@gmx.net>
parents: 8169
diff changeset
1349 LDFLAGS="$XLDFLAGS"
dee5d60257e4 Use Carbon framework to determine ScreenSize on Mac.
Thomas Treichl <Thomas.Treichl@gmx.net>
parents: 8169
diff changeset
1350 ])
8635
bef8f001032f Further improvements for OCTAVE_HAVE_FRAMEWORK and the test for the MacOSX Carbon framework.
Thomas Treichl <Thomas.Treichl@gmx.net>
parents: 8595
diff changeset
1351 if test "$octave_cv_framework_$1" = "yes"; then
8595
dee5d60257e4 Use Carbon framework to determine ScreenSize on Mac.
Thomas Treichl <Thomas.Treichl@gmx.net>
parents: 8169
diff changeset
1352 AC_MSG_RESULT(yes)
8635
bef8f001032f Further improvements for OCTAVE_HAVE_FRAMEWORK and the test for the MacOSX Carbon framework.
Thomas Treichl <Thomas.Treichl@gmx.net>
parents: 8595
diff changeset
1353 AC_ARG_WITH(framework-m4_tolower($1),
bef8f001032f Further improvements for OCTAVE_HAVE_FRAMEWORK and the test for the MacOSX Carbon framework.
Thomas Treichl <Thomas.Treichl@gmx.net>
parents: 8595
diff changeset
1354 [AS_HELP_STRING([--without-framework-m4_tolower($1)],
bef8f001032f Further improvements for OCTAVE_HAVE_FRAMEWORK and the test for the MacOSX Carbon framework.
Thomas Treichl <Thomas.Treichl@gmx.net>
parents: 8595
diff changeset
1355 [don't use framework $1])],
bef8f001032f Further improvements for OCTAVE_HAVE_FRAMEWORK and the test for the MacOSX Carbon framework.
Thomas Treichl <Thomas.Treichl@gmx.net>
parents: 8595
diff changeset
1356 with_have_framework=$withval, with_have_framework="yes")
bef8f001032f Further improvements for OCTAVE_HAVE_FRAMEWORK and the test for the MacOSX Carbon framework.
Thomas Treichl <Thomas.Treichl@gmx.net>
parents: 8595
diff changeset
1357 if test "$with_have_framework" = "yes"; then
bef8f001032f Further improvements for OCTAVE_HAVE_FRAMEWORK and the test for the MacOSX Carbon framework.
Thomas Treichl <Thomas.Treichl@gmx.net>
parents: 8595
diff changeset
1358 [$4]
bef8f001032f Further improvements for OCTAVE_HAVE_FRAMEWORK and the test for the MacOSX Carbon framework.
Thomas Treichl <Thomas.Treichl@gmx.net>
parents: 8595
diff changeset
1359 else
bef8f001032f Further improvements for OCTAVE_HAVE_FRAMEWORK and the test for the MacOSX Carbon framework.
Thomas Treichl <Thomas.Treichl@gmx.net>
parents: 8595
diff changeset
1360 AC_MSG_NOTICE([framework rejected by --without-framework-m4_tolower($1)])
bef8f001032f Further improvements for OCTAVE_HAVE_FRAMEWORK and the test for the MacOSX Carbon framework.
Thomas Treichl <Thomas.Treichl@gmx.net>
parents: 8595
diff changeset
1361 [$5]
bef8f001032f Further improvements for OCTAVE_HAVE_FRAMEWORK and the test for the MacOSX Carbon framework.
Thomas Treichl <Thomas.Treichl@gmx.net>
parents: 8595
diff changeset
1362 fi
8595
dee5d60257e4 Use Carbon framework to determine ScreenSize on Mac.
Thomas Treichl <Thomas.Treichl@gmx.net>
parents: 8169
diff changeset
1363 else
dee5d60257e4 Use Carbon framework to determine ScreenSize on Mac.
Thomas Treichl <Thomas.Treichl@gmx.net>
parents: 8169
diff changeset
1364 AC_MSG_RESULT(no)
dee5d60257e4 Use Carbon framework to determine ScreenSize on Mac.
Thomas Treichl <Thomas.Treichl@gmx.net>
parents: 8169
diff changeset
1365 [$5]
dee5d60257e4 Use Carbon framework to determine ScreenSize on Mac.
Thomas Treichl <Thomas.Treichl@gmx.net>
parents: 8169
diff changeset
1366 fi
dee5d60257e4 Use Carbon framework to determine ScreenSize on Mac.
Thomas Treichl <Thomas.Treichl@gmx.net>
parents: 8169
diff changeset
1367 ])