annotate m4/acinclude.m4 @ 30564:796f54d4ddbf stable

update Octave Project Developers copyright for the new year In files that have the "Octave Project Developers" copyright notice, update for 2021. In all .txi and .texi files except gpl.txi and gpl.texi in the doc/liboctave and doc/interpreter directories, change the copyright to "Octave Project Developers", the same as used for other source files. Update copyright notices for 2022 (not done since 2019). For gpl.txi and gpl.texi, change the copyright notice to be "Free Software Foundation, Inc." and leave the date at 2007 only because this file only contains the text of the GPL, not anything created by the Octave Project Developers. Add Paul Thomas to contributors.in.
author John W. Eaton <jwe@octave.org>
date Tue, 28 Dec 2021 18:22:40 -0500
parents b876de975edf
children e53ddadaf15e
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
27923
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
3 dnl --------------------------------------------------------------------
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
4 dnl
30564
796f54d4ddbf update Octave Project Developers copyright for the new year
John W. Eaton <jwe@octave.org>
parents: 30547
diff changeset
5 dnl Copyright (C) 1995-2022 The Octave Project Developers
27918
b442ec6dda5c use centralized file for copyright info for individual contributors
John W. Eaton <jwe@octave.org>
parents: 27842
diff changeset
6 dnl
27923
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
7 dnl See the file COPYRIGHT.md in the top-level directory of this
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
8 dnl or <https://octave.org/copyright/>.
27918
b442ec6dda5c use centralized file for copyright info for individual contributors
John W. Eaton <jwe@octave.org>
parents: 27842
diff changeset
9 dnl
17034
8d84dc5f5b5d acinclude.m4: Use m4 quote '[' rather than '"' in AC_MSG_ERROR.
Rik <rik@octave.org>
parents: 17031
diff changeset
10 dnl
1232
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
11 dnl This file is part of Octave.
17034
8d84dc5f5b5d acinclude.m4: Use m4 quote '[' rather than '"' in AC_MSG_ERROR.
Rik <rik@octave.org>
parents: 17031
diff changeset
12 dnl
24534
194eb4bd202b maint: Update punctuation for GPL v3 license text.
Rik <rik@octave.org>
parents: 24446
diff changeset
13 dnl Octave is free software: you can redistribute it and/or modify it
22755
3a2b891d0b33 maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents: 22509
diff changeset
14 dnl under the terms of the GNU General Public License as published by
24534
194eb4bd202b maint: Update punctuation for GPL v3 license text.
Rik <rik@octave.org>
parents: 24446
diff changeset
15 dnl the Free Software Foundation, either version 3 of the License, or
22755
3a2b891d0b33 maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents: 22509
diff changeset
16 dnl (at your option) any later version.
17034
8d84dc5f5b5d acinclude.m4: Use m4 quote '[' rather than '"' in AC_MSG_ERROR.
Rik <rik@octave.org>
parents: 17031
diff changeset
17 dnl
22755
3a2b891d0b33 maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents: 22509
diff changeset
18 dnl Octave is distributed in the hope that it will be useful, but
3a2b891d0b33 maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents: 22509
diff changeset
19 dnl WITHOUT ANY WARRANTY; without even the implied warranty of
3a2b891d0b33 maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents: 22509
diff changeset
20 dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3a2b891d0b33 maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents: 22509
diff changeset
21 dnl GNU General Public License for more details.
17034
8d84dc5f5b5d acinclude.m4: Use m4 quote '[' rather than '"' in AC_MSG_ERROR.
Rik <rik@octave.org>
parents: 17031
diff changeset
22 dnl
1232
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
23 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
24 dnl along with Octave; see the file COPYING. If not, see
24534
194eb4bd202b maint: Update punctuation for GPL v3 license text.
Rik <rik@octave.org>
parents: 24446
diff changeset
25 dnl <https://www.gnu.org/licenses/>.
27923
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
26 dnl
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
27 dnl --------------------------------------------------------------------
2813
d45d48b3dcde [project @ 1997-03-13 22:39:15 by jwe]
jwe
parents: 2641
diff changeset
28 dnl
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
29 dnl Alphabetical list of macros in the OCTAVE_ namespace
4360
1d7180ab9df1 [project @ 2003-02-24 02:57:24 by jwe]
jwe
parents: 4192
diff changeset
30 dnl
4366
ad851d04b396 [project @ 2003-03-05 09:49:18 by jwe]
jwe
parents: 4360
diff changeset
31 dnl
23510
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
32 dnl Figure out the hardware-vendor-os info.
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
33 dnl
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
34 AC_DEFUN([OCTAVE_CANONICAL_HOST], [
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
35 AC_CANONICAL_HOST
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
36 if test -z "$host"; then
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
37 host=unknown-unknown-unknown
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
38 AC_MSG_WARN([configuring Octave for unknown system type])
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
39 fi
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
40 canonical_host_type=$host
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
41 AC_SUBST(canonical_host_type)
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
42 if test -z "$host_cpu"; then
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
43 host_cpu=unknown
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
44 fi
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
45 if test -z "$host_vendor"; then
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
46 host_vendor=unknown
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
47 fi
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
48 if test -z "$host_os"; then
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
49 host_os=unknown
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
50 fi
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
51 ])
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
52 dnl
15133
f91eac1bc66d m4/acinclude.m4: Correct typos, use consistent style for describing macros.
Rik <rik@octave.org>
parents: 15126
diff changeset
53 dnl Check if the Carbon Framework defines CGDisplayBitsPerPixel.
10380
60acc47c203f configure checks for complex element setter/reference accessor methods
John W. Eaton <jwe@octave.org>
parents: 10331
diff changeset
54 dnl
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
55 AC_DEFUN([OCTAVE_CARBON_CGDISPLAYBITSPERPIXEL], [
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
56 AC_CACHE_CHECK([whether CGDisplayBitsPerPixel is defined in the Carbon Framework],
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
57 [octave_cv_func_carbon_cgdisplaybitsperpixel],
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
58 [AC_LANG_PUSH(C++)
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
59 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
60 #include <Carbon/Carbon.h>
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
61 ]], [[
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
62 CGDirectDisplayID display = CGMainDisplayID ();
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
63 size_t depth = CGDisplayBitsPerPixel (display);
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
64 ]])],
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
65 octave_cv_func_carbon_cgdisplaybitsperpixel=yes,
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
66 octave_cv_func_carbon_cgdisplaybitsperpixel=no)
3888
70ebd3d672a1 [project @ 2002-04-04 01:05:53 by jwe]
jwe
parents: 3887
diff changeset
67 AC_LANG_POP(C++)
3107
a8dcfbf87ea3 [project @ 1997-11-19 22:34:59 by jwe]
jwe
parents: 3089
diff changeset
68 ])
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
69 if test $octave_cv_func_carbon_cgdisplaybitsperpixel = yes; then
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
70 AC_DEFINE(HAVE_CARBON_CGDISPLAYBITSPERPIXEL, 1,
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
71 [Define to 1 if Carbon Framework has CGDisplayBitsPerPixel.])
3107
a8dcfbf87ea3 [project @ 1997-11-19 22:34:59 by jwe]
jwe
parents: 3089
diff changeset
72 fi
a8dcfbf87ea3 [project @ 1997-11-19 22:34:59 by jwe]
jwe
parents: 3089
diff changeset
73 ])
3126
0f6ec7b761a6 [project @ 1998-01-16 05:15:43 by jwe]
jwe
parents: 3107
diff changeset
74 dnl
15133
f91eac1bc66d m4/acinclude.m4: Correct typos, use consistent style for describing macros.
Rik <rik@octave.org>
parents: 15126
diff changeset
75 dnl Check if C compiler handles FLAG command line option. If two
f91eac1bc66d m4/acinclude.m4: Correct typos, use consistent style for describing macros.
Rik <rik@octave.org>
parents: 15126
diff changeset
76 dnl arguments are specified, execute the second arg as shell commands.
f91eac1bc66d m4/acinclude.m4: Correct typos, use consistent style for describing macros.
Rik <rik@octave.org>
parents: 15126
diff changeset
77 dnl Otherwise, add FLAG to CFLAGS if the compiler accepts the flag.
3126
0f6ec7b761a6 [project @ 1998-01-16 05:15:43 by jwe]
jwe
parents: 3107
diff changeset
78 dnl
9654
a307a6f77fb3 aclocal.m4: consistently quote first arg to AC_DEFUN
John W. Eaton <jwe@octave.org>
parents: 9645
diff changeset
79 AC_DEFUN([OCTAVE_CC_FLAG], [
17661
1978a6c76aa9 Use user-specified SED during build process (bug #40273).
Rik <rik@octave.org>
parents: 17615
diff changeset
80 ac_safe=`echo "$1" | $SED 'y% ./+-:=%___p___%'`
10012
2441327485a3 use m4 quating in aclocal.m4 autoconf macros with variable expansion
Rik <rdrider0-list@yahoo.com>
parents: 10011
diff changeset
81 AC_MSG_CHECKING([whether ${CC-cc} accepts $1])
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
82 AC_CACHE_VAL([octave_cv_cc_flag_$ac_safe],
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
83 [AC_LANG_PUSH(C)
15336
5fff79162342 acinclude.m4: Put temporary shell variables in macros into ac_octave namespace.
Rik <rik@octave.org>
parents: 15330
diff changeset
84 ac_octave_save_CFLAGS="$CFLAGS"
3126
0f6ec7b761a6 [project @ 1998-01-16 05:15:43 by jwe]
jwe
parents: 3107
diff changeset
85 CFLAGS="$CFLAGS $1"
5177
86fa011d6404 [project @ 2005-03-03 00:32:34 by jwe]
jwe
parents: 5094
diff changeset
86 AC_LINK_IFELSE([AC_LANG_PROGRAM([], [])],
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
87 [eval "octave_cv_cc_flag_$ac_safe=yes"],
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
88 [eval "octave_cv_cc_flag_$ac_safe=no"])
15336
5fff79162342 acinclude.m4: Put temporary shell variables in macros into ac_octave namespace.
Rik <rik@octave.org>
parents: 15330
diff changeset
89 CFLAGS="$ac_octave_save_CFLAGS"
3888
70ebd3d672a1 [project @ 2002-04-04 01:05:53 by jwe]
jwe
parents: 3887
diff changeset
90 AC_LANG_POP(C)
3126
0f6ec7b761a6 [project @ 1998-01-16 05:15:43 by jwe]
jwe
parents: 3107
diff changeset
91 ])
0f6ec7b761a6 [project @ 1998-01-16 05:15:43 by jwe]
jwe
parents: 3107
diff changeset
92 if eval "test \"`echo '$octave_cv_cc_flag_'$ac_safe`\" = yes"; then
15319
daf74ce2afdc m4/acinclude.m4: Use more consistent m4 quoting of arguments to macros.
Rik <rik@octave.org>
parents: 15302
diff changeset
93 AC_MSG_RESULT([yes])
17034
8d84dc5f5b5d acinclude.m4: Use m4 quote '[' rather than '"' in AC_MSG_ERROR.
Rik <rik@octave.org>
parents: 17031
diff changeset
94 ifelse([$2], ,
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
95 [CFLAGS="$CFLAGS $1"
3131
9c5160c83bd2 [project @ 1998-01-29 04:46:33 by jwe]
jwe
parents: 3130
diff changeset
96 AC_MSG_RESULT([adding $1 to CFLAGS])], [$2])
3126
0f6ec7b761a6 [project @ 1998-01-16 05:15:43 by jwe]
jwe
parents: 3107
diff changeset
97 else
15319
daf74ce2afdc m4/acinclude.m4: Use more consistent m4 quoting of arguments to macros.
Rik <rik@octave.org>
parents: 15302
diff changeset
98 AC_MSG_RESULT([no])
3126
0f6ec7b761a6 [project @ 1998-01-16 05:15:43 by jwe]
jwe
parents: 3107
diff changeset
99 ifelse([$3], , , [$3])
0f6ec7b761a6 [project @ 1998-01-16 05:15:43 by jwe]
jwe
parents: 3107
diff changeset
100 fi
0f6ec7b761a6 [project @ 1998-01-16 05:15:43 by jwe]
jwe
parents: 3107
diff changeset
101 ])
0f6ec7b761a6 [project @ 1998-01-16 05:15:43 by jwe]
jwe
parents: 3107
diff changeset
102 dnl
29367
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
103 dnl Check if pthread stack size accounts for thread-local storage.
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
104 dnl
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
105 dnl This program should succeed if the pthread library allocates memory
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
106 dnl for thread-local (__thread) variables independently of the
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
107 dnl requested thread stack size.
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
108 dnl
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
109 dnl It will fail if (as in the current version of glibc) the storage
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
110 dnl for thread-local variables is subtracted from the memory allocated
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
111 dnl for the thread stack. (This can cause problems for Java and for
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
112 dnl other libraries.)
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
113 dnl
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
114 dnl This bug is tracked in glibc at:
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
115 dnl https://sourceware.org/bugzilla/show_bug.cgi?id=11787
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
116 dnl
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
117 AC_DEFUN([OCTAVE_CHECK_BROKEN_PTHREAD_STACKSIZE], [
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
118 AC_CACHE_CHECK([whether pthread stack size does not account for thread-local storage],
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
119 [octave_cv_broken_pthread_stacksize],
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
120 [AC_LANG_PUSH(C)
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
121 AC_RUN_IFELSE([AC_LANG_PROGRAM([[
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
122 #include <stdio.h>
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
123 #include <string.h>
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
124 #include <pthread.h>
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
125
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
126 static char __thread data[100 * 1024];
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
127
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
128 static void * threadfunc(void *arg)
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
129 {
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
130 return data;
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
131 }
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
132 ]], [[
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
133 pthread_attr_t attr;
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
134 pthread_t thread;
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
135 int errnum;
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
136
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
137 pthread_attr_init (&attr);
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
138 errnum = pthread_attr_setstacksize (&attr, 64 * 1024);
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
139 if (errnum != 0)
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
140 {
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
141 fprintf (stderr, "pthread_attr_setstacksize: %s\n", strerror(errnum));
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
142 return 1;
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
143 }
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
144 errnum = pthread_create (&thread, &attr, &threadfunc, NULL);
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
145 if (errnum != 0)
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
146 {
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
147 fprintf (stderr, "pthread_create: %s\n", strerror(errnum));
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
148 return 1;
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
149 }
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
150 errnum = pthread_join (thread, NULL);
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
151 if (errnum != 0)
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
152 {
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
153 fprintf (stderr, "pthread_join: %s\n", strerror(errnum));
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
154 return 1;
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
155 }
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
156
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
157 pthread_attr_destroy (&attr);
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
158 return 0;
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
159 ]])],
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
160 octave_cv_broken_pthread_stacksize=no,
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
161 octave_cv_broken_pthread_stacksize=yes,
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
162 octave_cv_broken_pthread_stacksize=no)
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
163 AC_LANG_POP(C)
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
164 ])
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
165 if test $octave_cv_broken_pthread_stacksize = yes; then
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
166 AC_DEFINE(HAVE_BROKEN_PTHREAD_STACKSIZE, 1,
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
167 [Define to 1 if pthread stack size does not account for thread-local storage.])
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
168 fi
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
169 ])
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
170 dnl
17965
1d58abc740c0 acinclude.m4: Place new macro CHECK_BROKEN_STL_ALGO_H in alphabetical ordering.
Rik <rik@octave.org>
parents: 17888
diff changeset
171 dnl Check for broken stl_algo.h header file in gcc versions 4.8.0, 4.8.1, 4.8.2
1d58abc740c0 acinclude.m4: Place new macro CHECK_BROKEN_STL_ALGO_H in alphabetical ordering.
Rik <rik@octave.org>
parents: 17888
diff changeset
172 dnl which leads to failures in nth_element.
1d58abc740c0 acinclude.m4: Place new macro CHECK_BROKEN_STL_ALGO_H in alphabetical ordering.
Rik <rik@octave.org>
parents: 17888
diff changeset
173 dnl
1d58abc740c0 acinclude.m4: Place new macro CHECK_BROKEN_STL_ALGO_H in alphabetical ordering.
Rik <rik@octave.org>
parents: 17888
diff changeset
174 AC_DEFUN([OCTAVE_CHECK_BROKEN_STL_ALGO_H], [
1d58abc740c0 acinclude.m4: Place new macro CHECK_BROKEN_STL_ALGO_H in alphabetical ordering.
Rik <rik@octave.org>
parents: 17888
diff changeset
175 AC_CACHE_CHECK([whether stl_algo.h is broken],
1d58abc740c0 acinclude.m4: Place new macro CHECK_BROKEN_STL_ALGO_H in alphabetical ordering.
Rik <rik@octave.org>
parents: 17888
diff changeset
176 [octave_cv_broken_stl_algo_h],
1d58abc740c0 acinclude.m4: Place new macro CHECK_BROKEN_STL_ALGO_H in alphabetical ordering.
Rik <rik@octave.org>
parents: 17888
diff changeset
177 [AC_LANG_PUSH(C++)
1d58abc740c0 acinclude.m4: Place new macro CHECK_BROKEN_STL_ALGO_H in alphabetical ordering.
Rik <rik@octave.org>
parents: 17888
diff changeset
178 AC_RUN_IFELSE([AC_LANG_PROGRAM([[
1d58abc740c0 acinclude.m4: Place new macro CHECK_BROKEN_STL_ALGO_H in alphabetical ordering.
Rik <rik@octave.org>
parents: 17888
diff changeset
179 // Based on code from a GCC test program.
1d58abc740c0 acinclude.m4: Place new macro CHECK_BROKEN_STL_ALGO_H in alphabetical ordering.
Rik <rik@octave.org>
parents: 17888
diff changeset
180
1d58abc740c0 acinclude.m4: Place new macro CHECK_BROKEN_STL_ALGO_H in alphabetical ordering.
Rik <rik@octave.org>
parents: 17888
diff changeset
181 // Copyright (C) 2013 Free Software Foundation, Inc.
1d58abc740c0 acinclude.m4: Place new macro CHECK_BROKEN_STL_ALGO_H in alphabetical ordering.
Rik <rik@octave.org>
parents: 17888
diff changeset
182 //
1d58abc740c0 acinclude.m4: Place new macro CHECK_BROKEN_STL_ALGO_H in alphabetical ordering.
Rik <rik@octave.org>
parents: 17888
diff changeset
183 // This file is part of the GNU ISO C++ Library. This library is free
1d58abc740c0 acinclude.m4: Place new macro CHECK_BROKEN_STL_ALGO_H in alphabetical ordering.
Rik <rik@octave.org>
parents: 17888
diff changeset
184 // software; you can redistribute it and/or modify it under the
1d58abc740c0 acinclude.m4: Place new macro CHECK_BROKEN_STL_ALGO_H in alphabetical ordering.
Rik <rik@octave.org>
parents: 17888
diff changeset
185 // terms of the GNU General Public License as published by the
1d58abc740c0 acinclude.m4: Place new macro CHECK_BROKEN_STL_ALGO_H in alphabetical ordering.
Rik <rik@octave.org>
parents: 17888
diff changeset
186 // Free Software Foundation; either version 3, or (at your option)
1d58abc740c0 acinclude.m4: Place new macro CHECK_BROKEN_STL_ALGO_H in alphabetical ordering.
Rik <rik@octave.org>
parents: 17888
diff changeset
187 // any later version.
1d58abc740c0 acinclude.m4: Place new macro CHECK_BROKEN_STL_ALGO_H in alphabetical ordering.
Rik <rik@octave.org>
parents: 17888
diff changeset
188
1d58abc740c0 acinclude.m4: Place new macro CHECK_BROKEN_STL_ALGO_H in alphabetical ordering.
Rik <rik@octave.org>
parents: 17888
diff changeset
189 // This library is distributed in the hope that it will be useful,
1d58abc740c0 acinclude.m4: Place new macro CHECK_BROKEN_STL_ALGO_H in alphabetical ordering.
Rik <rik@octave.org>
parents: 17888
diff changeset
190 // but WITHOUT ANY WARRANTY; without even the implied warranty of
1d58abc740c0 acinclude.m4: Place new macro CHECK_BROKEN_STL_ALGO_H in alphabetical ordering.
Rik <rik@octave.org>
parents: 17888
diff changeset
191 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1d58abc740c0 acinclude.m4: Place new macro CHECK_BROKEN_STL_ALGO_H in alphabetical ordering.
Rik <rik@octave.org>
parents: 17888
diff changeset
192 // GNU General Public License for more details.
1d58abc740c0 acinclude.m4: Place new macro CHECK_BROKEN_STL_ALGO_H in alphabetical ordering.
Rik <rik@octave.org>
parents: 17888
diff changeset
193
1d58abc740c0 acinclude.m4: Place new macro CHECK_BROKEN_STL_ALGO_H in alphabetical ordering.
Rik <rik@octave.org>
parents: 17888
diff changeset
194 // You should have received a copy of the GNU General Public License along
1d58abc740c0 acinclude.m4: Place new macro CHECK_BROKEN_STL_ALGO_H in alphabetical ordering.
Rik <rik@octave.org>
parents: 17888
diff changeset
195 // with this library; see the file COPYING3. If not see
24534
194eb4bd202b maint: Update punctuation for GPL v3 license text.
Rik <rik@octave.org>
parents: 24446
diff changeset
196 // <https://www.gnu.org/licenses/>.
17965
1d58abc740c0 acinclude.m4: Place new macro CHECK_BROKEN_STL_ALGO_H in alphabetical ordering.
Rik <rik@octave.org>
parents: 17888
diff changeset
197
1d58abc740c0 acinclude.m4: Place new macro CHECK_BROKEN_STL_ALGO_H in alphabetical ordering.
Rik <rik@octave.org>
parents: 17888
diff changeset
198 // 25.3.2 [lib.alg.nth.element]
1d58abc740c0 acinclude.m4: Place new macro CHECK_BROKEN_STL_ALGO_H in alphabetical ordering.
Rik <rik@octave.org>
parents: 17888
diff changeset
199
1d58abc740c0 acinclude.m4: Place new macro CHECK_BROKEN_STL_ALGO_H in alphabetical ordering.
Rik <rik@octave.org>
parents: 17888
diff changeset
200 // { dg-options "-std=gnu++11" }
1d58abc740c0 acinclude.m4: Place new macro CHECK_BROKEN_STL_ALGO_H in alphabetical ordering.
Rik <rik@octave.org>
parents: 17888
diff changeset
201
1d58abc740c0 acinclude.m4: Place new macro CHECK_BROKEN_STL_ALGO_H in alphabetical ordering.
Rik <rik@octave.org>
parents: 17888
diff changeset
202 #include <algorithm>
1d58abc740c0 acinclude.m4: Place new macro CHECK_BROKEN_STL_ALGO_H in alphabetical ordering.
Rik <rik@octave.org>
parents: 17888
diff changeset
203 #include <vector>
1d58abc740c0 acinclude.m4: Place new macro CHECK_BROKEN_STL_ALGO_H in alphabetical ordering.
Rik <rik@octave.org>
parents: 17888
diff changeset
204 ]], [[
1d58abc740c0 acinclude.m4: Place new macro CHECK_BROKEN_STL_ALGO_H in alphabetical ordering.
Rik <rik@octave.org>
parents: 17888
diff changeset
205 std::vector<int> v (7);
1d58abc740c0 acinclude.m4: Place new macro CHECK_BROKEN_STL_ALGO_H in alphabetical ordering.
Rik <rik@octave.org>
parents: 17888
diff changeset
206
1d58abc740c0 acinclude.m4: Place new macro CHECK_BROKEN_STL_ALGO_H in alphabetical ordering.
Rik <rik@octave.org>
parents: 17888
diff changeset
207 v[0] = 207089;
1d58abc740c0 acinclude.m4: Place new macro CHECK_BROKEN_STL_ALGO_H in alphabetical ordering.
Rik <rik@octave.org>
parents: 17888
diff changeset
208 v[1] = 202585;
1d58abc740c0 acinclude.m4: Place new macro CHECK_BROKEN_STL_ALGO_H in alphabetical ordering.
Rik <rik@octave.org>
parents: 17888
diff changeset
209 v[2] = 180067;
1d58abc740c0 acinclude.m4: Place new macro CHECK_BROKEN_STL_ALGO_H in alphabetical ordering.
Rik <rik@octave.org>
parents: 17888
diff changeset
210 v[3] = 157549;
1d58abc740c0 acinclude.m4: Place new macro CHECK_BROKEN_STL_ALGO_H in alphabetical ordering.
Rik <rik@octave.org>
parents: 17888
diff changeset
211 v[4] = 211592;
1d58abc740c0 acinclude.m4: Place new macro CHECK_BROKEN_STL_ALGO_H in alphabetical ordering.
Rik <rik@octave.org>
parents: 17888
diff changeset
212 v[5] = 216096;
1d58abc740c0 acinclude.m4: Place new macro CHECK_BROKEN_STL_ALGO_H in alphabetical ordering.
Rik <rik@octave.org>
parents: 17888
diff changeset
213 v[6] = 207089;
1d58abc740c0 acinclude.m4: Place new macro CHECK_BROKEN_STL_ALGO_H in alphabetical ordering.
Rik <rik@octave.org>
parents: 17888
diff changeset
214
1d58abc740c0 acinclude.m4: Place new macro CHECK_BROKEN_STL_ALGO_H in alphabetical ordering.
Rik <rik@octave.org>
parents: 17888
diff changeset
215 std::nth_element (v.begin (), v.begin () + 3, v.end ());
1d58abc740c0 acinclude.m4: Place new macro CHECK_BROKEN_STL_ALGO_H in alphabetical ordering.
Rik <rik@octave.org>
parents: 17888
diff changeset
216
1d58abc740c0 acinclude.m4: Place new macro CHECK_BROKEN_STL_ALGO_H in alphabetical ordering.
Rik <rik@octave.org>
parents: 17888
diff changeset
217 return v[3] == 207089 ? 0 : 1;
1d58abc740c0 acinclude.m4: Place new macro CHECK_BROKEN_STL_ALGO_H in alphabetical ordering.
Rik <rik@octave.org>
parents: 17888
diff changeset
218 ]])],
1d58abc740c0 acinclude.m4: Place new macro CHECK_BROKEN_STL_ALGO_H in alphabetical ordering.
Rik <rik@octave.org>
parents: 17888
diff changeset
219 octave_cv_broken_stl_algo_h=no,
1d58abc740c0 acinclude.m4: Place new macro CHECK_BROKEN_STL_ALGO_H in alphabetical ordering.
Rik <rik@octave.org>
parents: 17888
diff changeset
220 octave_cv_broken_stl_algo_h=yes,
1d58abc740c0 acinclude.m4: Place new macro CHECK_BROKEN_STL_ALGO_H in alphabetical ordering.
Rik <rik@octave.org>
parents: 17888
diff changeset
221 [case "$GXX_VERSION" in
1d58abc740c0 acinclude.m4: Place new macro CHECK_BROKEN_STL_ALGO_H in alphabetical ordering.
Rik <rik@octave.org>
parents: 17888
diff changeset
222 *4.8.2*)
17967
303157af491f acinclude.m4: Fix undefined value in macro CHECK_BROKEN_STL_ALGO_H when cross-compiling.
Rik <rik@octave.org>
parents: 17965
diff changeset
223 octave_cv_broken_stl_algo_h=yes
303157af491f acinclude.m4: Fix undefined value in macro CHECK_BROKEN_STL_ALGO_H when cross-compiling.
Rik <rik@octave.org>
parents: 17965
diff changeset
224 ;;
303157af491f acinclude.m4: Fix undefined value in macro CHECK_BROKEN_STL_ALGO_H when cross-compiling.
Rik <rik@octave.org>
parents: 17965
diff changeset
225 *)
303157af491f acinclude.m4: Fix undefined value in macro CHECK_BROKEN_STL_ALGO_H when cross-compiling.
Rik <rik@octave.org>
parents: 17965
diff changeset
226 octave_cv_broken_stl_algo_h=no
17965
1d58abc740c0 acinclude.m4: Place new macro CHECK_BROKEN_STL_ALGO_H in alphabetical ordering.
Rik <rik@octave.org>
parents: 17888
diff changeset
227 ;;
1d58abc740c0 acinclude.m4: Place new macro CHECK_BROKEN_STL_ALGO_H in alphabetical ordering.
Rik <rik@octave.org>
parents: 17888
diff changeset
228 esac
1d58abc740c0 acinclude.m4: Place new macro CHECK_BROKEN_STL_ALGO_H in alphabetical ordering.
Rik <rik@octave.org>
parents: 17888
diff changeset
229 ])
1d58abc740c0 acinclude.m4: Place new macro CHECK_BROKEN_STL_ALGO_H in alphabetical ordering.
Rik <rik@octave.org>
parents: 17888
diff changeset
230 AC_LANG_POP(C++)
1d58abc740c0 acinclude.m4: Place new macro CHECK_BROKEN_STL_ALGO_H in alphabetical ordering.
Rik <rik@octave.org>
parents: 17888
diff changeset
231 ])
1d58abc740c0 acinclude.m4: Place new macro CHECK_BROKEN_STL_ALGO_H in alphabetical ordering.
Rik <rik@octave.org>
parents: 17888
diff changeset
232 if test "$GXX" = yes; then
1d58abc740c0 acinclude.m4: Place new macro CHECK_BROKEN_STL_ALGO_H in alphabetical ordering.
Rik <rik@octave.org>
parents: 17888
diff changeset
233 if test $octave_cv_broken_stl_algo_h = yes; then
1d58abc740c0 acinclude.m4: Place new macro CHECK_BROKEN_STL_ALGO_H in alphabetical ordering.
Rik <rik@octave.org>
parents: 17888
diff changeset
234 case "$GXX_VERSION" in
1d58abc740c0 acinclude.m4: Place new macro CHECK_BROKEN_STL_ALGO_H in alphabetical ordering.
Rik <rik@octave.org>
parents: 17888
diff changeset
235 4.8.[[012]])
1d58abc740c0 acinclude.m4: Place new macro CHECK_BROKEN_STL_ALGO_H in alphabetical ordering.
Rik <rik@octave.org>
parents: 17888
diff changeset
236 ;;
1d58abc740c0 acinclude.m4: Place new macro CHECK_BROKEN_STL_ALGO_H in alphabetical ordering.
Rik <rik@octave.org>
parents: 17888
diff changeset
237 *)
1d58abc740c0 acinclude.m4: Place new macro CHECK_BROKEN_STL_ALGO_H in alphabetical ordering.
Rik <rik@octave.org>
parents: 17888
diff changeset
238 octave_cv_broken_stl_algo_h=no
1d58abc740c0 acinclude.m4: Place new macro CHECK_BROKEN_STL_ALGO_H in alphabetical ordering.
Rik <rik@octave.org>
parents: 17888
diff changeset
239 warn_stl_algo_h="UNEXPECTED: found nth_element broken in g++ $GXX_VERSION. Refusing to fix except for g++ 4.8.0, 4.8.1, or 4.8.2. You appear to have g++ $GXX_VERSION."
1d58abc740c0 acinclude.m4: Place new macro CHECK_BROKEN_STL_ALGO_H in alphabetical ordering.
Rik <rik@octave.org>
parents: 17888
diff changeset
240 OCTAVE_CONFIGURE_WARNING([warn_stl_algo_h])
1d58abc740c0 acinclude.m4: Place new macro CHECK_BROKEN_STL_ALGO_H in alphabetical ordering.
Rik <rik@octave.org>
parents: 17888
diff changeset
241 ;;
1d58abc740c0 acinclude.m4: Place new macro CHECK_BROKEN_STL_ALGO_H in alphabetical ordering.
Rik <rik@octave.org>
parents: 17888
diff changeset
242 esac
1d58abc740c0 acinclude.m4: Place new macro CHECK_BROKEN_STL_ALGO_H in alphabetical ordering.
Rik <rik@octave.org>
parents: 17888
diff changeset
243 else
1d58abc740c0 acinclude.m4: Place new macro CHECK_BROKEN_STL_ALGO_H in alphabetical ordering.
Rik <rik@octave.org>
parents: 17888
diff changeset
244 case "$GXX_VERSION" in
1d58abc740c0 acinclude.m4: Place new macro CHECK_BROKEN_STL_ALGO_H in alphabetical ordering.
Rik <rik@octave.org>
parents: 17888
diff changeset
245 4.8.2)
1d58abc740c0 acinclude.m4: Place new macro CHECK_BROKEN_STL_ALGO_H in alphabetical ordering.
Rik <rik@octave.org>
parents: 17888
diff changeset
246 warn_stl_algo_h="UNEXPECTED: found nth_element working in g++ 4.8.2. Has it been patched on your system?"
1d58abc740c0 acinclude.m4: Place new macro CHECK_BROKEN_STL_ALGO_H in alphabetical ordering.
Rik <rik@octave.org>
parents: 17888
diff changeset
247 OCTAVE_CONFIGURE_WARNING([warn_stl_algo_h])
1d58abc740c0 acinclude.m4: Place new macro CHECK_BROKEN_STL_ALGO_H in alphabetical ordering.
Rik <rik@octave.org>
parents: 17888
diff changeset
248 ;;
1d58abc740c0 acinclude.m4: Place new macro CHECK_BROKEN_STL_ALGO_H in alphabetical ordering.
Rik <rik@octave.org>
parents: 17888
diff changeset
249 esac
1d58abc740c0 acinclude.m4: Place new macro CHECK_BROKEN_STL_ALGO_H in alphabetical ordering.
Rik <rik@octave.org>
parents: 17888
diff changeset
250 fi
1d58abc740c0 acinclude.m4: Place new macro CHECK_BROKEN_STL_ALGO_H in alphabetical ordering.
Rik <rik@octave.org>
parents: 17888
diff changeset
251 else
1d58abc740c0 acinclude.m4: Place new macro CHECK_BROKEN_STL_ALGO_H in alphabetical ordering.
Rik <rik@octave.org>
parents: 17888
diff changeset
252 octave_cv_broken_stl_algo_h=no
1d58abc740c0 acinclude.m4: Place new macro CHECK_BROKEN_STL_ALGO_H in alphabetical ordering.
Rik <rik@octave.org>
parents: 17888
diff changeset
253 warn_stl_algo_h="UNEXPECTED: nth_element test failed. Refusing to fix except for g++ 4.8.2."
1d58abc740c0 acinclude.m4: Place new macro CHECK_BROKEN_STL_ALGO_H in alphabetical ordering.
Rik <rik@octave.org>
parents: 17888
diff changeset
254 OCTAVE_CONFIGURE_WARNING([warn_stl_algo_h])
1d58abc740c0 acinclude.m4: Place new macro CHECK_BROKEN_STL_ALGO_H in alphabetical ordering.
Rik <rik@octave.org>
parents: 17888
diff changeset
255 fi
1d58abc740c0 acinclude.m4: Place new macro CHECK_BROKEN_STL_ALGO_H in alphabetical ordering.
Rik <rik@octave.org>
parents: 17888
diff changeset
256 ])
1d58abc740c0 acinclude.m4: Place new macro CHECK_BROKEN_STL_ALGO_H in alphabetical ordering.
Rik <rik@octave.org>
parents: 17888
diff changeset
257 dnl
30488
abb4823df535 with C++17, match malloc/free for MEX memory (bug #61472)
John W. Eaton <jwe@octave.org>
parents: 30447
diff changeset
258 dnl Check whether std::pmr::polymorphic_allocator is available.
abb4823df535 with C++17, match malloc/free for MEX memory (bug #61472)
John W. Eaton <jwe@octave.org>
parents: 30447
diff changeset
259 dnl
abb4823df535 with C++17, match malloc/free for MEX memory (bug #61472)
John W. Eaton <jwe@octave.org>
parents: 30447
diff changeset
260 AC_DEFUN([OCTAVE_CHECK_STD_PMR_POLYMORPHIC_ALLOCATOR], [
30501
79a7f3e3cf54 Use consistent name for OCTAVE_HAVE_STD_PMR_POLYMORPHIC_ALLOCATOR (bug #61472).
Markus Mützel <markus.muetzel@gmx.de>
parents: 30488
diff changeset
261 AC_CACHE_CHECK([whether std::pmr::polymorphic_allocator is available],
30488
abb4823df535 with C++17, match malloc/free for MEX memory (bug #61472)
John W. Eaton <jwe@octave.org>
parents: 30447
diff changeset
262 [octave_cv_std_pmr_polymorphic_allocator],
abb4823df535 with C++17, match malloc/free for MEX memory (bug #61472)
John W. Eaton <jwe@octave.org>
parents: 30447
diff changeset
263 [AC_LANG_PUSH(C++)
abb4823df535 with C++17, match malloc/free for MEX memory (bug #61472)
John W. Eaton <jwe@octave.org>
parents: 30447
diff changeset
264 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
abb4823df535 with C++17, match malloc/free for MEX memory (bug #61472)
John W. Eaton <jwe@octave.org>
parents: 30447
diff changeset
265 #include <cstdlib>
abb4823df535 with C++17, match malloc/free for MEX memory (bug #61472)
John W. Eaton <jwe@octave.org>
parents: 30447
diff changeset
266 #include <memory_resource>
abb4823df535 with C++17, match malloc/free for MEX memory (bug #61472)
John W. Eaton <jwe@octave.org>
parents: 30447
diff changeset
267 #include <vector>
abb4823df535 with C++17, match malloc/free for MEX memory (bug #61472)
John W. Eaton <jwe@octave.org>
parents: 30447
diff changeset
268 class mx_memory_resource : public std::pmr::memory_resource
abb4823df535 with C++17, match malloc/free for MEX memory (bug #61472)
John W. Eaton <jwe@octave.org>
parents: 30447
diff changeset
269 {
abb4823df535 with C++17, match malloc/free for MEX memory (bug #61472)
John W. Eaton <jwe@octave.org>
parents: 30447
diff changeset
270 private:
abb4823df535 with C++17, match malloc/free for MEX memory (bug #61472)
John W. Eaton <jwe@octave.org>
parents: 30447
diff changeset
271 void * do_allocate (std::size_t bytes, size_t /*alignment*/)
abb4823df535 with C++17, match malloc/free for MEX memory (bug #61472)
John W. Eaton <jwe@octave.org>
parents: 30447
diff changeset
272 {
abb4823df535 with C++17, match malloc/free for MEX memory (bug #61472)
John W. Eaton <jwe@octave.org>
parents: 30447
diff changeset
273 void *ptr = std::malloc (bytes);
abb4823df535 with C++17, match malloc/free for MEX memory (bug #61472)
John W. Eaton <jwe@octave.org>
parents: 30447
diff changeset
274 if (! ptr)
abb4823df535 with C++17, match malloc/free for MEX memory (bug #61472)
John W. Eaton <jwe@octave.org>
parents: 30447
diff changeset
275 throw std::bad_alloc ();
abb4823df535 with C++17, match malloc/free for MEX memory (bug #61472)
John W. Eaton <jwe@octave.org>
parents: 30447
diff changeset
276 return ptr;
abb4823df535 with C++17, match malloc/free for MEX memory (bug #61472)
John W. Eaton <jwe@octave.org>
parents: 30447
diff changeset
277 }
abb4823df535 with C++17, match malloc/free for MEX memory (bug #61472)
John W. Eaton <jwe@octave.org>
parents: 30447
diff changeset
278 void do_deallocate (void* ptr, std::size_t /*bytes*/,
abb4823df535 with C++17, match malloc/free for MEX memory (bug #61472)
John W. Eaton <jwe@octave.org>
parents: 30447
diff changeset
279 std::size_t /*alignment*/)
abb4823df535 with C++17, match malloc/free for MEX memory (bug #61472)
John W. Eaton <jwe@octave.org>
parents: 30447
diff changeset
280 {
abb4823df535 with C++17, match malloc/free for MEX memory (bug #61472)
John W. Eaton <jwe@octave.org>
parents: 30447
diff changeset
281 std::free (ptr);
abb4823df535 with C++17, match malloc/free for MEX memory (bug #61472)
John W. Eaton <jwe@octave.org>
parents: 30447
diff changeset
282 }
abb4823df535 with C++17, match malloc/free for MEX memory (bug #61472)
John W. Eaton <jwe@octave.org>
parents: 30447
diff changeset
283 bool do_is_equal (const std::pmr::memory_resource& other) const noexcept
abb4823df535 with C++17, match malloc/free for MEX memory (bug #61472)
John W. Eaton <jwe@octave.org>
parents: 30447
diff changeset
284 {
abb4823df535 with C++17, match malloc/free for MEX memory (bug #61472)
John W. Eaton <jwe@octave.org>
parents: 30447
diff changeset
285 return this == dynamic_cast<const mx_memory_resource *> (&other);
abb4823df535 with C++17, match malloc/free for MEX memory (bug #61472)
John W. Eaton <jwe@octave.org>
parents: 30447
diff changeset
286 return true;
abb4823df535 with C++17, match malloc/free for MEX memory (bug #61472)
John W. Eaton <jwe@octave.org>
parents: 30447
diff changeset
287 }
abb4823df535 with C++17, match malloc/free for MEX memory (bug #61472)
John W. Eaton <jwe@octave.org>
parents: 30447
diff changeset
288 };
abb4823df535 with C++17, match malloc/free for MEX memory (bug #61472)
John W. Eaton <jwe@octave.org>
parents: 30447
diff changeset
289 mx_memory_resource the_mx_memory_resource;
abb4823df535 with C++17, match malloc/free for MEX memory (bug #61472)
John W. Eaton <jwe@octave.org>
parents: 30447
diff changeset
290 ]], [[
abb4823df535 with C++17, match malloc/free for MEX memory (bug #61472)
John W. Eaton <jwe@octave.org>
parents: 30447
diff changeset
291 std::pmr::vector<int> my_int_vec { &the_mx_memory_resource };
abb4823df535 with C++17, match malloc/free for MEX memory (bug #61472)
John W. Eaton <jwe@octave.org>
parents: 30447
diff changeset
292 ]])],
abb4823df535 with C++17, match malloc/free for MEX memory (bug #61472)
John W. Eaton <jwe@octave.org>
parents: 30447
diff changeset
293 octave_cv_std_pmr_polymorphic_allocator=yes,
abb4823df535 with C++17, match malloc/free for MEX memory (bug #61472)
John W. Eaton <jwe@octave.org>
parents: 30447
diff changeset
294 octave_cv_std_pmr_polymorphic_allocator=no)
abb4823df535 with C++17, match malloc/free for MEX memory (bug #61472)
John W. Eaton <jwe@octave.org>
parents: 30447
diff changeset
295 AC_LANG_POP(C++)
abb4823df535 with C++17, match malloc/free for MEX memory (bug #61472)
John W. Eaton <jwe@octave.org>
parents: 30447
diff changeset
296 ])
abb4823df535 with C++17, match malloc/free for MEX memory (bug #61472)
John W. Eaton <jwe@octave.org>
parents: 30447
diff changeset
297 if test $octave_cv_std_pmr_polymorphic_allocator = yes; then
30501
79a7f3e3cf54 Use consistent name for OCTAVE_HAVE_STD_PMR_POLYMORPHIC_ALLOCATOR (bug #61472).
Markus Mützel <markus.muetzel@gmx.de>
parents: 30488
diff changeset
298 AC_DEFINE(OCTAVE_HAVE_STD_PMR_POLYMORPHIC_ALLOCATOR, 1,
30488
abb4823df535 with C++17, match malloc/free for MEX memory (bug #61472)
John W. Eaton <jwe@octave.org>
parents: 30447
diff changeset
299 [Define to 1 if std::pmr::polymorphic_allocator is available.])
abb4823df535 with C++17, match malloc/free for MEX memory (bug #61472)
John W. Eaton <jwe@octave.org>
parents: 30447
diff changeset
300 fi
abb4823df535 with C++17, match malloc/free for MEX memory (bug #61472)
John W. Eaton <jwe@octave.org>
parents: 30447
diff changeset
301 ])
abb4823df535 with C++17, match malloc/free for MEX memory (bug #61472)
John W. Eaton <jwe@octave.org>
parents: 30447
diff changeset
302 dnl
21160
b5b531ba93ce build: Use configure-time test to check CXSparse version.
Rik <rik@octave.org>
parents: 21150
diff changeset
303 dnl Check whether CXSparse is version 2.2 or later
b5b531ba93ce build: Use configure-time test to check CXSparse version.
Rik <rik@octave.org>
parents: 21150
diff changeset
304 dnl FIXME: This test uses a version number. It potentially could
b5b531ba93ce build: Use configure-time test to check CXSparse version.
Rik <rik@octave.org>
parents: 21150
diff changeset
305 dnl be re-written to actually call a function, but is it worth it?
b5b531ba93ce build: Use configure-time test to check CXSparse version.
Rik <rik@octave.org>
parents: 21150
diff changeset
306 dnl
b5b531ba93ce build: Use configure-time test to check CXSparse version.
Rik <rik@octave.org>
parents: 21150
diff changeset
307 AC_DEFUN([OCTAVE_CHECK_CXSPARSE_VERSION_OK], [
b5b531ba93ce build: Use configure-time test to check CXSparse version.
Rik <rik@octave.org>
parents: 21150
diff changeset
308 AC_CACHE_CHECK([whether CXSparse is version 2.2 or later],
b5b531ba93ce build: Use configure-time test to check CXSparse version.
Rik <rik@octave.org>
parents: 21150
diff changeset
309 [octave_cv_cxsparse_version_ok],
23172
6e7f8a92a852 configure: use the correct flags when testing for the CXSparse library version
Mike Miller <mtmiller@octave.org>
parents: 23083
diff changeset
310 [ac_octave_save_CPPFLAGS="$CPPFLAGS"
6e7f8a92a852 configure: use the correct flags when testing for the CXSparse library version
Mike Miller <mtmiller@octave.org>
parents: 23083
diff changeset
311 CPPFLAGS="$CXSPARSE_CPPFLAGS $CPPFLAGS"
21160
b5b531ba93ce build: Use configure-time test to check CXSparse version.
Rik <rik@octave.org>
parents: 21150
diff changeset
312 AC_PREPROC_IFELSE([AC_LANG_PROGRAM([[
b5b531ba93ce build: Use configure-time test to check CXSparse version.
Rik <rik@octave.org>
parents: 21150
diff changeset
313 #if defined (HAVE_SUITESPARSE_CS_H)
b5b531ba93ce build: Use configure-time test to check CXSparse version.
Rik <rik@octave.org>
parents: 21150
diff changeset
314 #include <suitesparse/cs.h>
b5b531ba93ce build: Use configure-time test to check CXSparse version.
Rik <rik@octave.org>
parents: 21150
diff changeset
315 #elif defined (HAVE_UFSPARSE_CS_H)
b5b531ba93ce build: Use configure-time test to check CXSparse version.
Rik <rik@octave.org>
parents: 21150
diff changeset
316 #include <ufsparse/cs.h>
b5b531ba93ce build: Use configure-time test to check CXSparse version.
Rik <rik@octave.org>
parents: 21150
diff changeset
317 #elif defined (HAVE_CXSPARSE_CS_H)
b5b531ba93ce build: Use configure-time test to check CXSparse version.
Rik <rik@octave.org>
parents: 21150
diff changeset
318 #include <cxsparse/cs.h>
b5b531ba93ce build: Use configure-time test to check CXSparse version.
Rik <rik@octave.org>
parents: 21150
diff changeset
319 #elif defined (HAVE_CS_H)
b5b531ba93ce build: Use configure-time test to check CXSparse version.
Rik <rik@octave.org>
parents: 21150
diff changeset
320 #include <cs.h>
b5b531ba93ce build: Use configure-time test to check CXSparse version.
Rik <rik@octave.org>
parents: 21150
diff changeset
321 #endif
b5b531ba93ce build: Use configure-time test to check CXSparse version.
Rik <rik@octave.org>
parents: 21150
diff changeset
322 ]], [[
b5b531ba93ce build: Use configure-time test to check CXSparse version.
Rik <rik@octave.org>
parents: 21150
diff changeset
323 #if (defined (HAVE_CXSPARSE) \
b5b531ba93ce build: Use configure-time test to check CXSparse version.
Rik <rik@octave.org>
parents: 21150
diff changeset
324 && (! defined (CS_VER) \
b5b531ba93ce build: Use configure-time test to check CXSparse version.
Rik <rik@octave.org>
parents: 21150
diff changeset
325 || CS_VER < 2 \
b5b531ba93ce build: Use configure-time test to check CXSparse version.
Rik <rik@octave.org>
parents: 21150
diff changeset
326 || (CS_VER == 2 && CS_SUBVER < 2)))
b5b531ba93ce build: Use configure-time test to check CXSparse version.
Rik <rik@octave.org>
parents: 21150
diff changeset
327 #error "Octave requires CXSparse version 2.2 or later"
b5b531ba93ce build: Use configure-time test to check CXSparse version.
Rik <rik@octave.org>
parents: 21150
diff changeset
328 #endif
b5b531ba93ce build: Use configure-time test to check CXSparse version.
Rik <rik@octave.org>
parents: 21150
diff changeset
329 ]])],
b5b531ba93ce build: Use configure-time test to check CXSparse version.
Rik <rik@octave.org>
parents: 21150
diff changeset
330 octave_cv_cxsparse_version_ok=yes,
b5b531ba93ce build: Use configure-time test to check CXSparse version.
Rik <rik@octave.org>
parents: 21150
diff changeset
331 octave_cv_cxsparse_version_ok=no)
b5b531ba93ce build: Use configure-time test to check CXSparse version.
Rik <rik@octave.org>
parents: 21150
diff changeset
332 CPPFLAGS="$ac_octave_save_CPPFLAGS"
b5b531ba93ce build: Use configure-time test to check CXSparse version.
Rik <rik@octave.org>
parents: 21150
diff changeset
333 ])
b5b531ba93ce build: Use configure-time test to check CXSparse version.
Rik <rik@octave.org>
parents: 21150
diff changeset
334 if test $octave_cv_cxsparse_version_ok = yes; then
b5b531ba93ce build: Use configure-time test to check CXSparse version.
Rik <rik@octave.org>
parents: 21150
diff changeset
335 AC_DEFINE(HAVE_CXSPARSE_VERSION_OK, 1,
b5b531ba93ce build: Use configure-time test to check CXSparse version.
Rik <rik@octave.org>
parents: 21150
diff changeset
336 [Define to 1 if CXSparse is version 2.2 or later.])
b5b531ba93ce build: Use configure-time test to check CXSparse version.
Rik <rik@octave.org>
parents: 21150
diff changeset
337 fi
b5b531ba93ce build: Use configure-time test to check CXSparse version.
Rik <rik@octave.org>
parents: 21150
diff changeset
338 ])
b5b531ba93ce build: Use configure-time test to check CXSparse version.
Rik <rik@octave.org>
parents: 21150
diff changeset
339 dnl
15969
139f4b19a3ac build: Improve detection of FFTW multi-threading
Mike Miller <mtmiller@ieee.org>
parents: 15863
diff changeset
340 dnl Check whether the FFTW library supports multi-threading. This macro
139f4b19a3ac build: Improve detection of FFTW multi-threading
Mike Miller <mtmiller@ieee.org>
parents: 15863
diff changeset
341 dnl should be called once per FFTW precision passing in the library
139f4b19a3ac build: Improve detection of FFTW multi-threading
Mike Miller <mtmiller@ieee.org>
parents: 15863
diff changeset
342 dnl variant (e.g. "fftw3") and a function in the thread support API
139f4b19a3ac build: Improve detection of FFTW multi-threading
Mike Miller <mtmiller@ieee.org>
parents: 15863
diff changeset
343 dnl (e.g. "fftw_plan_with_nthreads"). Depending on how FFTW was built,
139f4b19a3ac build: Improve detection of FFTW multi-threading
Mike Miller <mtmiller@ieee.org>
parents: 15863
diff changeset
344 dnl the thread functions could be compiled into the main FFTW library or
139f4b19a3ac build: Improve detection of FFTW multi-threading
Mike Miller <mtmiller@ieee.org>
parents: 15863
diff changeset
345 dnl could be a separate add-on library that is passed to the linker
139f4b19a3ac build: Improve detection of FFTW multi-threading
Mike Miller <mtmiller@ieee.org>
parents: 15863
diff changeset
346 dnl ahead of the main FFTW library.
139f4b19a3ac build: Improve detection of FFTW multi-threading
Mike Miller <mtmiller@ieee.org>
parents: 15863
diff changeset
347 dnl
139f4b19a3ac build: Improve detection of FFTW multi-threading
Mike Miller <mtmiller@ieee.org>
parents: 15863
diff changeset
348 AC_DEFUN([OCTAVE_CHECK_FFTW_THREADS], [
139f4b19a3ac build: Improve detection of FFTW multi-threading
Mike Miller <mtmiller@ieee.org>
parents: 15863
diff changeset
349 ac_octave_save_CPPFLAGS="$CPPFLAGS"
139f4b19a3ac build: Improve detection of FFTW multi-threading
Mike Miller <mtmiller@ieee.org>
parents: 15863
diff changeset
350 ac_octave_save_LDFLAGS="$LDFLAGS"
139f4b19a3ac build: Improve detection of FFTW multi-threading
Mike Miller <mtmiller@ieee.org>
parents: 15863
diff changeset
351 ac_octave_save_LIBS="$LIBS"
139f4b19a3ac build: Improve detection of FFTW multi-threading
Mike Miller <mtmiller@ieee.org>
parents: 15863
diff changeset
352 CPPFLAGS="$m4_toupper([$1])_CPPFLAGS $CPPFLAGS"
139f4b19a3ac build: Improve detection of FFTW multi-threading
Mike Miller <mtmiller@ieee.org>
parents: 15863
diff changeset
353 LDFLAGS="$m4_toupper([$1])_LDFLAGS $LDFLAGS"
139f4b19a3ac build: Improve detection of FFTW multi-threading
Mike Miller <mtmiller@ieee.org>
parents: 15863
diff changeset
354 LIBS="$m4_toupper([$1])_LIBS $LIBS"
139f4b19a3ac build: Improve detection of FFTW multi-threading
Mike Miller <mtmiller@ieee.org>
parents: 15863
diff changeset
355 AC_CACHE_CHECK([for $1 multi-threading support],
139f4b19a3ac build: Improve detection of FFTW multi-threading
Mike Miller <mtmiller@ieee.org>
parents: 15863
diff changeset
356 [octave_cv_[$1]_threads_lib],
139f4b19a3ac build: Improve detection of FFTW multi-threading
Mike Miller <mtmiller@ieee.org>
parents: 15863
diff changeset
357 [AC_LINK_IFELSE([AC_LANG_PROGRAM([[
139f4b19a3ac build: Improve detection of FFTW multi-threading
Mike Miller <mtmiller@ieee.org>
parents: 15863
diff changeset
358 #include <fftw3.h>
139f4b19a3ac build: Improve detection of FFTW multi-threading
Mike Miller <mtmiller@ieee.org>
parents: 15863
diff changeset
359 ]], [[
139f4b19a3ac build: Improve detection of FFTW multi-threading
Mike Miller <mtmiller@ieee.org>
parents: 15863
diff changeset
360 $2 (2);
139f4b19a3ac build: Improve detection of FFTW multi-threading
Mike Miller <mtmiller@ieee.org>
parents: 15863
diff changeset
361 ]])],
139f4b19a3ac build: Improve detection of FFTW multi-threading
Mike Miller <mtmiller@ieee.org>
parents: 15863
diff changeset
362 [octave_cv_[$1]_threads_lib=yes],
139f4b19a3ac build: Improve detection of FFTW multi-threading
Mike Miller <mtmiller@ieee.org>
parents: 15863
diff changeset
363 [LIBS="-l[$1]_threads $LIBS"
139f4b19a3ac build: Improve detection of FFTW multi-threading
Mike Miller <mtmiller@ieee.org>
parents: 15863
diff changeset
364 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
139f4b19a3ac build: Improve detection of FFTW multi-threading
Mike Miller <mtmiller@ieee.org>
parents: 15863
diff changeset
365 #include <fftw3.h>
139f4b19a3ac build: Improve detection of FFTW multi-threading
Mike Miller <mtmiller@ieee.org>
parents: 15863
diff changeset
366 ]], [[
139f4b19a3ac build: Improve detection of FFTW multi-threading
Mike Miller <mtmiller@ieee.org>
parents: 15863
diff changeset
367 $2 (2);
139f4b19a3ac build: Improve detection of FFTW multi-threading
Mike Miller <mtmiller@ieee.org>
parents: 15863
diff changeset
368 ]])],
139f4b19a3ac build: Improve detection of FFTW multi-threading
Mike Miller <mtmiller@ieee.org>
parents: 15863
diff changeset
369 [octave_cv_[$1]_threads_lib="-l[$1]_threads"],
139f4b19a3ac build: Improve detection of FFTW multi-threading
Mike Miller <mtmiller@ieee.org>
parents: 15863
diff changeset
370 [octave_cv_[$1]_threads_lib=no])
139f4b19a3ac build: Improve detection of FFTW multi-threading
Mike Miller <mtmiller@ieee.org>
parents: 15863
diff changeset
371 ])
139f4b19a3ac build: Improve detection of FFTW multi-threading
Mike Miller <mtmiller@ieee.org>
parents: 15863
diff changeset
372 ])
139f4b19a3ac build: Improve detection of FFTW multi-threading
Mike Miller <mtmiller@ieee.org>
parents: 15863
diff changeset
373 case $octave_cv_[$1]_threads_lib in
139f4b19a3ac build: Improve detection of FFTW multi-threading
Mike Miller <mtmiller@ieee.org>
parents: 15863
diff changeset
374 -l*)
139f4b19a3ac build: Improve detection of FFTW multi-threading
Mike Miller <mtmiller@ieee.org>
parents: 15863
diff changeset
375 m4_toupper([$1])_LIBS="$octave_cv_[$1]_threads_lib $m4_toupper([$1])_LIBS"
139f4b19a3ac build: Improve detection of FFTW multi-threading
Mike Miller <mtmiller@ieee.org>
parents: 15863
diff changeset
376 ;;
139f4b19a3ac build: Improve detection of FFTW multi-threading
Mike Miller <mtmiller@ieee.org>
parents: 15863
diff changeset
377 no)
139f4b19a3ac build: Improve detection of FFTW multi-threading
Mike Miller <mtmiller@ieee.org>
parents: 15863
diff changeset
378 AC_MSG_WARN([No $1 multi-threading support found.])
139f4b19a3ac build: Improve detection of FFTW multi-threading
Mike Miller <mtmiller@ieee.org>
parents: 15863
diff changeset
379 AC_MSG_WARN([The single-threaded library will be used instead.])
139f4b19a3ac build: Improve detection of FFTW multi-threading
Mike Miller <mtmiller@ieee.org>
parents: 15863
diff changeset
380 ;;
139f4b19a3ac build: Improve detection of FFTW multi-threading
Mike Miller <mtmiller@ieee.org>
parents: 15863
diff changeset
381 esac
139f4b19a3ac build: Improve detection of FFTW multi-threading
Mike Miller <mtmiller@ieee.org>
parents: 15863
diff changeset
382 if test $octave_cv_[$1]_threads_lib != no; then
139f4b19a3ac build: Improve detection of FFTW multi-threading
Mike Miller <mtmiller@ieee.org>
parents: 15863
diff changeset
383 AC_DEFINE([HAVE_]m4_toupper([$1])[_THREADS], 1,
139f4b19a3ac build: Improve detection of FFTW multi-threading
Mike Miller <mtmiller@ieee.org>
parents: 15863
diff changeset
384 [Define to 1 if ]m4_toupper([$1])[ has multi-threading support.])
139f4b19a3ac build: Improve detection of FFTW multi-threading
Mike Miller <mtmiller@ieee.org>
parents: 15863
diff changeset
385 fi
139f4b19a3ac build: Improve detection of FFTW multi-threading
Mike Miller <mtmiller@ieee.org>
parents: 15863
diff changeset
386 CPPFLAGS="$ac_octave_save_CPPFLAGS"
139f4b19a3ac build: Improve detection of FFTW multi-threading
Mike Miller <mtmiller@ieee.org>
parents: 15863
diff changeset
387 LDFLAGS="$ac_octave_save_LDFLAGS"
139f4b19a3ac build: Improve detection of FFTW multi-threading
Mike Miller <mtmiller@ieee.org>
parents: 15863
diff changeset
388 LIBS="$ac_octave_save_LIBS"
139f4b19a3ac build: Improve detection of FFTW multi-threading
Mike Miller <mtmiller@ieee.org>
parents: 15863
diff changeset
389 ])
139f4b19a3ac build: Improve detection of FFTW multi-threading
Mike Miller <mtmiller@ieee.org>
parents: 15863
diff changeset
390 dnl
29367
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
391 dnl OCTAVE_CHECK_FORTRAN_SYMBOL_AND_CALLING_CONVENTIONS
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
392 dnl
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
393 dnl Set variables related to Fortran symbol names (append underscore,
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
394 dnl use uppercase names, etc.) and calling convention (mostly used for
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
395 dnl determining how character strings are passed).
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
396 dnl
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
397 AC_DEFUN([OCTAVE_CHECK_FORTRAN_SYMBOL_AND_CALLING_CONVENTIONS], [
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
398 F77_TOLOWER=yes
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
399 F77_APPEND_UNDERSCORE=yes
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
400 F77_APPEND_EXTRA_UNDERSCORE=yes
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
401
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
402 case $ac_cv_f77_mangling in
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
403 "upper case") F77_TOLOWER=no ;;
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
404 esac
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
405 case $ac_cv_f77_mangling in
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
406 "no underscore") F77_APPEND_UNDERSCORE=no ;;
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
407 esac
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
408 case $ac_cv_f77_mangling in
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
409 "no extra underscore") F77_APPEND_EXTRA_UNDERSCORE=no ;;
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
410 esac
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
411
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
412 case $canonical_host_type in
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
413 i[[3456789]]86-*-*)
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
414 if test $ac_cv_f77_compiler_gnu = yes; then
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
415 OCTAVE_F77_FLAG([-mieee-fp])
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
416 fi
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
417 ;;
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
418 alpha*-*-*)
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
419 if test $ac_cv_f77_compiler_gnu = yes; then
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
420 OCTAVE_F77_FLAG([-mieee])
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
421 else
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
422 OCTAVE_F77_FLAG([-ieee])
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
423 OCTAVE_F77_FLAG([-fpe1])
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
424 fi
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
425 ;;
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
426 powerpc-apple-machten*)
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
427 FFLAGS=
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
428 ;;
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
429 esac
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
430
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
431 if test $ac_cv_f77_compiler_gnu = yes; then
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
432 FORTRAN_CALLING_CONVENTION=gfortran
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
433 else
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
434 FORTRAN_CALLING_CONVENTION=unknown
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
435 fi
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
436 AC_ARG_ENABLE([fortran-calling-convention],
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
437 [AS_HELP_STRING([--enable-fortran-calling-convention=OPTION],
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
438 [Select C++ to Fortran calling convention. "gfortran" should be detected automatically. Other options are "cray", "visual-fortran", or "f2c".])],
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
439 [FORTRAN_CALLING_CONVENTION="$enableval"], [])
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
440
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
441 case $FORTRAN_CALLING_CONVENTION in
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
442 gfortran)
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
443 AC_DEFINE(F77_USES_GFORTRAN_CALLING_CONVENTION, 1, [Define to 1 if calling Fortran from C++ should use the gfortran calling convention.])
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
444 ;;
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
445 cray)
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
446 AC_DEFINE(F77_USES_CRAY_CALLING_CONVENTION, 1, [Define to 1 if calling Fortran from C++ should use the Cray Fortran calling convention.])
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
447 ;;
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
448 visual-fortran)
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
449 AC_DEFINE(F77_USES_VISUAL_FORTRAN_CALLING_CONVENTION, 1, [Define to 1 if calling Fortran from C++ should use the Visual Fortran calling convention.])
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
450 ;;
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
451 f2c)
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
452 AC_DEFINE(F77_USES_F2C_CALLING_CONVENTION, 1, [Define to 1 if calling Fortran from C++ should use the f2c calling convention.])
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
453 ;;
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
454 *)
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
455 AC_MSG_ERROR([to build Octave, the C++ to Fortran calling convention must be known.])
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
456 ;;
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
457 esac
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
458
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
459 if test -n "$FFLAGS"; then
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
460 AC_MSG_NOTICE([defining FFLAGS to be $FFLAGS])
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
461 fi
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
462
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
463 AC_SUBST(F77_TOLOWER)
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
464 AC_SUBST(F77_APPEND_UNDERSCORE)
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
465 AC_SUBST(F77_APPEND_EXTRA_UNDERSCORE)
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
466 ])
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
467 dnl
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
468 dnl Check if function gluTessCallback is called with "(...)".
9596
f26229391ea1 configure.in, aclocal.m4: check fortran integer size
John W. Eaton <jwe@octave.org>
parents: 9577
diff changeset
469 dnl
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
470 AC_DEFUN([OCTAVE_CHECK_FUNC_GLUTESSCALLBACK_THREEDOTS], [
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
471 AC_CACHE_CHECK([whether gluTessCallback is called with "(...)"],
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
472 [octave_cv_func_glutesscallback_threedots],
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
473 [AC_LANG_PUSH(C++)
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
474 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
21724
aba2e6293dd8 use "#if ..." consistently instead of "#ifdef" and "#ifndef"
John W. Eaton <jwe@octave.org>
parents: 21604
diff changeset
475 #if defined (HAVE_GL_GLU_H)
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
476 # include <GL/glu.h>
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
477 #elif defined HAVE_OPENGL_GLU_H || defined HAVE_FRAMEWORK_OPENGL
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
478 # include <OpenGL/glu.h>
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
479 #endif
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
480 ]], [[
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
481 GLvoid (*func)(...);
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
482 gluTessCallback(0, 0, func);
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
483 ]])],
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
484 octave_cv_func_glutesscallback_threedots=yes,
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
485 octave_cv_func_glutesscallback_threedots=no)
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
486 AC_LANG_POP(C++)
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
487 ])
15336
5fff79162342 acinclude.m4: Put temporary shell variables in macros into ac_octave namespace.
Rik <rik@octave.org>
parents: 15330
diff changeset
488 if test $octave_cv_func_glutesscallback_threedots = yes; then
17034
8d84dc5f5b5d acinclude.m4: Use m4 quote '[' rather than '"' in AC_MSG_ERROR.
Rik <rik@octave.org>
parents: 17031
diff changeset
489 AC_DEFINE(HAVE_GLUTESSCALLBACK_THREEDOTS, 1,
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
490 [Define to 1 if gluTessCallback is called with (...).])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
491 fi
9596
f26229391ea1 configure.in, aclocal.m4: check fortran integer size
John W. Eaton <jwe@octave.org>
parents: 9577
diff changeset
492 ])
f26229391ea1 configure.in, aclocal.m4: check fortran integer size
John W. Eaton <jwe@octave.org>
parents: 9577
diff changeset
493 dnl
29367
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
494 dnl Check whether the Qt class QList has a constructor that accepts
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
495 dnl a pair of iterators. This constructor was introduced in Qt 5.14.
18973
625e3bb65885 don't require Qt 4.7 (bug #42657)
John W. Eaton <jwe@octave.org>
parents: 18141
diff changeset
496 dnl
29367
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
497 AC_DEFUN([OCTAVE_CHECK_FUNC_QFONTMETRICS_HORIZONTAL_ADVANCE], [
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
498 AC_CACHE_CHECK([for QFontMetrics::horizontalAdvance function],
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
499 [octave_cv_func_qfontmetrics_horizontal_advance],
17111
bb713af2e1d9 build: detect Qt functions required for building the gui
Mike Miller <mtmiller@ieee.org>
parents: 17034
diff changeset
500 [AC_LANG_PUSH(C++)
bb713af2e1d9 build: detect Qt functions required for building the gui
Mike Miller <mtmiller@ieee.org>
parents: 17034
diff changeset
501 ac_octave_save_CPPFLAGS="$CPPFLAGS"
22234
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
502 ac_octave_save_CXXFLAGS="$CXXFLAGS"
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
503 CPPFLAGS="$QT_CPPFLAGS $CXXPICFLAG $CPPFLAGS"
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
504 CXXFLAGS="$CXXPICFLAG $CXXFLAGS"
17111
bb713af2e1d9 build: detect Qt functions required for building the gui
Mike Miller <mtmiller@ieee.org>
parents: 17034
diff changeset
505 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
29367
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
506 #include <QFont>
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
507 #include <QFontMetrics>
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
508 #include <QString>
17111
bb713af2e1d9 build: detect Qt functions required for building the gui
Mike Miller <mtmiller@ieee.org>
parents: 17034
diff changeset
509 ]], [[
29367
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
510 QFont font;
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
511 QFontMetrics fm (font);
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
512 fm.horizontalAdvance ('x');
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
513 fm.horizontalAdvance (QString ("string"));
17111
bb713af2e1d9 build: detect Qt functions required for building the gui
Mike Miller <mtmiller@ieee.org>
parents: 17034
diff changeset
514 ]])],
29367
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
515 octave_cv_func_qfontmetrics_horizontal_advance=yes,
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
516 octave_cv_func_qfontmetrics_horizontal_advance=no)
17111
bb713af2e1d9 build: detect Qt functions required for building the gui
Mike Miller <mtmiller@ieee.org>
parents: 17034
diff changeset
517 CPPFLAGS="$ac_octave_save_CPPFLAGS"
22234
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
518 CXXFLAGS="$ac_octave_save_CXXFLAGS"
17111
bb713af2e1d9 build: detect Qt functions required for building the gui
Mike Miller <mtmiller@ieee.org>
parents: 17034
diff changeset
519 AC_LANG_POP(C++)
bb713af2e1d9 build: detect Qt functions required for building the gui
Mike Miller <mtmiller@ieee.org>
parents: 17034
diff changeset
520 ])
29367
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
521 if test $octave_cv_func_qfontmetrics_horizontal_advance = yes; then
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
522 AC_DEFINE(HAVE_QFONTMETRICS_HORIZONTAL_ADVANCE, 1,
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
523 [Define to 1 if you have the `QFontMetrics::horizontalAdvance' function.])
27842
e79999c5d782 fix Qt4 build errors (bug #57420)
John W. Eaton <jwe@octave.org>
parents: 27839
diff changeset
524 fi
e79999c5d782 fix Qt4 build errors (bug #57420)
John W. Eaton <jwe@octave.org>
parents: 27839
diff changeset
525 ])
e79999c5d782 fix Qt4 build errors (bug #57420)
John W. Eaton <jwe@octave.org>
parents: 27839
diff changeset
526 dnl
25046
a4c687fec320 gui: set Qt Application and Desktop metadata for desktop integration (bug #53102)
Mike Miller <mtmiller@octave.org>
parents: 25042
diff changeset
527 dnl Check whether the Qt QGuiApplication class has the setDesktopFileName
a4c687fec320 gui: set Qt Application and Desktop metadata for desktop integration (bug #53102)
Mike Miller <mtmiller@octave.org>
parents: 25042
diff changeset
528 dnl static member function. This function was introduced in Qt 5.7.
a4c687fec320 gui: set Qt Application and Desktop metadata for desktop integration (bug #53102)
Mike Miller <mtmiller@octave.org>
parents: 25042
diff changeset
529 dnl
a4c687fec320 gui: set Qt Application and Desktop metadata for desktop integration (bug #53102)
Mike Miller <mtmiller@octave.org>
parents: 25042
diff changeset
530 dnl FIXME: Delete this entirely when we drop support for Qt 5.6 or older.
a4c687fec320 gui: set Qt Application and Desktop metadata for desktop integration (bug #53102)
Mike Miller <mtmiller@octave.org>
parents: 25042
diff changeset
531 dnl
a4c687fec320 gui: set Qt Application and Desktop metadata for desktop integration (bug #53102)
Mike Miller <mtmiller@octave.org>
parents: 25042
diff changeset
532 AC_DEFUN([OCTAVE_CHECK_FUNC_QGUIAPPLICATION_SETDESKTOPFILENAME], [
a4c687fec320 gui: set Qt Application and Desktop metadata for desktop integration (bug #53102)
Mike Miller <mtmiller@octave.org>
parents: 25042
diff changeset
533 AC_CACHE_CHECK([for QGuiApplication::setDesktopFileName],
a4c687fec320 gui: set Qt Application and Desktop metadata for desktop integration (bug #53102)
Mike Miller <mtmiller@octave.org>
parents: 25042
diff changeset
534 [octave_cv_func_qguiapplication_setdesktopfilename],
a4c687fec320 gui: set Qt Application and Desktop metadata for desktop integration (bug #53102)
Mike Miller <mtmiller@octave.org>
parents: 25042
diff changeset
535 [AC_LANG_PUSH(C++)
a4c687fec320 gui: set Qt Application and Desktop metadata for desktop integration (bug #53102)
Mike Miller <mtmiller@octave.org>
parents: 25042
diff changeset
536 ac_octave_save_CPPFLAGS="$CPPFLAGS"
a4c687fec320 gui: set Qt Application and Desktop metadata for desktop integration (bug #53102)
Mike Miller <mtmiller@octave.org>
parents: 25042
diff changeset
537 ac_octave_save_CXXFLAGS="$CXXFLAGS"
a4c687fec320 gui: set Qt Application and Desktop metadata for desktop integration (bug #53102)
Mike Miller <mtmiller@octave.org>
parents: 25042
diff changeset
538 CPPFLAGS="$QT_CPPFLAGS $CXXPICFLAG $CPPFLAGS"
30447
8a341cf6773d build: Fix possible typo in configure tests.
Markus Mützel <markus.muetzel@gmx.de>
parents: 30243
diff changeset
539 CXXFLAGS="$CXXPICFLAG $CXXFLAGS"
25046
a4c687fec320 gui: set Qt Application and Desktop metadata for desktop integration (bug #53102)
Mike Miller <mtmiller@octave.org>
parents: 25042
diff changeset
540 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
a4c687fec320 gui: set Qt Application and Desktop metadata for desktop integration (bug #53102)
Mike Miller <mtmiller@octave.org>
parents: 25042
diff changeset
541 #include <QGuiApplication>
a4c687fec320 gui: set Qt Application and Desktop metadata for desktop integration (bug #53102)
Mike Miller <mtmiller@octave.org>
parents: 25042
diff changeset
542 ]], [[
a4c687fec320 gui: set Qt Application and Desktop metadata for desktop integration (bug #53102)
Mike Miller <mtmiller@octave.org>
parents: 25042
diff changeset
543 QGuiApplication::setDesktopFileName ("com.example.Example.desktop");
a4c687fec320 gui: set Qt Application and Desktop metadata for desktop integration (bug #53102)
Mike Miller <mtmiller@octave.org>
parents: 25042
diff changeset
544 ]])],
a4c687fec320 gui: set Qt Application and Desktop metadata for desktop integration (bug #53102)
Mike Miller <mtmiller@octave.org>
parents: 25042
diff changeset
545 octave_cv_func_qguiapplication_setdesktopfilename=yes,
a4c687fec320 gui: set Qt Application and Desktop metadata for desktop integration (bug #53102)
Mike Miller <mtmiller@octave.org>
parents: 25042
diff changeset
546 octave_cv_func_qguiapplication_setdesktopfilename=no)
a4c687fec320 gui: set Qt Application and Desktop metadata for desktop integration (bug #53102)
Mike Miller <mtmiller@octave.org>
parents: 25042
diff changeset
547 CPPFLAGS="$ac_octave_save_CPPFLAGS"
a4c687fec320 gui: set Qt Application and Desktop metadata for desktop integration (bug #53102)
Mike Miller <mtmiller@octave.org>
parents: 25042
diff changeset
548 CXXFLAGS="$ac_octave_save_CXXFLAGS"
a4c687fec320 gui: set Qt Application and Desktop metadata for desktop integration (bug #53102)
Mike Miller <mtmiller@octave.org>
parents: 25042
diff changeset
549 AC_LANG_POP(C++)
a4c687fec320 gui: set Qt Application and Desktop metadata for desktop integration (bug #53102)
Mike Miller <mtmiller@octave.org>
parents: 25042
diff changeset
550 ])
a4c687fec320 gui: set Qt Application and Desktop metadata for desktop integration (bug #53102)
Mike Miller <mtmiller@octave.org>
parents: 25042
diff changeset
551 if test $octave_cv_func_qguiapplication_setdesktopfilename = yes; then
a4c687fec320 gui: set Qt Application and Desktop metadata for desktop integration (bug #53102)
Mike Miller <mtmiller@octave.org>
parents: 25042
diff changeset
552 AC_DEFINE(HAVE_QGUIAPPLICATION_SETDESKTOPFILENAME, 1,
a4c687fec320 gui: set Qt Application and Desktop metadata for desktop integration (bug #53102)
Mike Miller <mtmiller@octave.org>
parents: 25042
diff changeset
553 [Define to 1 if you have the `QGuiApplication::setDesktopFileName' member function.])
a4c687fec320 gui: set Qt Application and Desktop metadata for desktop integration (bug #53102)
Mike Miller <mtmiller@octave.org>
parents: 25042
diff changeset
554 fi
a4c687fec320 gui: set Qt Application and Desktop metadata for desktop integration (bug #53102)
Mike Miller <mtmiller@octave.org>
parents: 25042
diff changeset
555 ])
a4c687fec320 gui: set Qt Application and Desktop metadata for desktop integration (bug #53102)
Mike Miller <mtmiller@octave.org>
parents: 25042
diff changeset
556 dnl
29367
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
557 dnl Check whether the Qt class QHelpEngine has the documentsForIdentifier
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
558 dnl function. dnl This member function was introduced in Qt 5.15.
24827
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
559 dnl
29367
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
560 AC_DEFUN([OCTAVE_CHECK_FUNC_QHELPENGINE_DOCUMENTSFORIDENTIFIER], [
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
561 AC_CACHE_CHECK([for QHelpEngine::documentsForIdentifier in <QHelpEngine>],
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
562 [octave_cv_func_qhelpengine_documentsforidentifier],
24827
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
563 [AC_LANG_PUSH(C++)
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
564 ac_octave_save_CPPFLAGS="$CPPFLAGS"
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
565 ac_octave_save_CXXFLAGS="$CXXFLAGS"
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
566 CPPFLAGS="$QT_CPPFLAGS $CXXPICFLAG $CPPFLAGS"
29367
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
567 CXXFLAGS="$CXXPICFLAG $CXXFLAGS"
24827
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
568 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
29367
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
569 #include <QHelpEngine>
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
570 #include <QHelpLink>
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
571 #include <QList>
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
572 #include <QString>
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
573 #include <QUrl>
24827
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
574 ]], [[
29367
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
575 QString collection_file;
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
576 QHelpEngine eng (collection_file);
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
577 QString id;
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
578 eng.documentsForIdentifier (id);
24827
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
579 ]])],
29367
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
580 octave_cv_func_qhelpengine_documentsforidentifier=yes,
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
581 octave_cv_func_qhelpengine_documentsforidentifier=no)
24827
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
582 CPPFLAGS="$ac_octave_save_CPPFLAGS"
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
583 CXXFLAGS="$ac_octave_save_CXXFLAGS"
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
584 AC_LANG_POP(C++)
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
585 ])
29367
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
586 if test $octave_cv_func_qhelpengine_documentsforidentifier = yes; then
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
587 AC_DEFINE(HAVE_QHELPENGINE_DOCUMENTSFORIDENTIFIER, 1,
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
588 [Define to 1 if you have the `QHelpEngine::documentsForIdentifier' member function.])
24827
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
589 fi
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
590 ])
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
591 dnl
25061
5fef743c34d7 build: Check for new help query member in qt 5.9 (bug #53006).
Torsten <mttl@mailbox.org>
parents: 25054
diff changeset
592 dnl Check whether the Qt QHelpSearchQueryWidget class has the searchInput
5fef743c34d7 build: Check for new help query member in qt 5.9 (bug #53006).
Torsten <mttl@mailbox.org>
parents: 25054
diff changeset
593 dnl member function. This function was introduced in Qt 5.9.
5fef743c34d7 build: Check for new help query member in qt 5.9 (bug #53006).
Torsten <mttl@mailbox.org>
parents: 25054
diff changeset
594 dnl
5fef743c34d7 build: Check for new help query member in qt 5.9 (bug #53006).
Torsten <mttl@mailbox.org>
parents: 25054
diff changeset
595 dnl FIXME: Delete this entirely when we drop support for Qt 5.8 or older.
5fef743c34d7 build: Check for new help query member in qt 5.9 (bug #53006).
Torsten <mttl@mailbox.org>
parents: 25054
diff changeset
596 dnl
5fef743c34d7 build: Check for new help query member in qt 5.9 (bug #53006).
Torsten <mttl@mailbox.org>
parents: 25054
diff changeset
597 AC_DEFUN([OCTAVE_CHECK_FUNC_QHELPSEARCHQUERYWIDGET_SEARCHINPUT], [
5fef743c34d7 build: Check for new help query member in qt 5.9 (bug #53006).
Torsten <mttl@mailbox.org>
parents: 25054
diff changeset
598 AC_CACHE_CHECK([for QHelpSearchQueryWidget::searchInput],
5fef743c34d7 build: Check for new help query member in qt 5.9 (bug #53006).
Torsten <mttl@mailbox.org>
parents: 25054
diff changeset
599 [octave_cv_func_qhelpsearchquerywidget_searchinput],
5fef743c34d7 build: Check for new help query member in qt 5.9 (bug #53006).
Torsten <mttl@mailbox.org>
parents: 25054
diff changeset
600 [AC_LANG_PUSH(C++)
5fef743c34d7 build: Check for new help query member in qt 5.9 (bug #53006).
Torsten <mttl@mailbox.org>
parents: 25054
diff changeset
601 ac_octave_save_CPPFLAGS="$CPPFLAGS"
5fef743c34d7 build: Check for new help query member in qt 5.9 (bug #53006).
Torsten <mttl@mailbox.org>
parents: 25054
diff changeset
602 ac_octave_save_CXXFLAGS="$CXXFLAGS"
5fef743c34d7 build: Check for new help query member in qt 5.9 (bug #53006).
Torsten <mttl@mailbox.org>
parents: 25054
diff changeset
603 CPPFLAGS="$QT_CPPFLAGS $CXXPICFLAG $CPPFLAGS"
30447
8a341cf6773d build: Fix possible typo in configure tests.
Markus Mützel <markus.muetzel@gmx.de>
parents: 30243
diff changeset
604 CXXFLAGS="$CXXPICFLAG $CXXFLAGS"
25061
5fef743c34d7 build: Check for new help query member in qt 5.9 (bug #53006).
Torsten <mttl@mailbox.org>
parents: 25054
diff changeset
605 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
5fef743c34d7 build: Check for new help query member in qt 5.9 (bug #53006).
Torsten <mttl@mailbox.org>
parents: 25054
diff changeset
606 #include <QHelpSearchQueryWidget>
5fef743c34d7 build: Check for new help query member in qt 5.9 (bug #53006).
Torsten <mttl@mailbox.org>
parents: 25054
diff changeset
607 #include <QString>
5fef743c34d7 build: Check for new help query member in qt 5.9 (bug #53006).
Torsten <mttl@mailbox.org>
parents: 25054
diff changeset
608 ]], [[
5fef743c34d7 build: Check for new help query member in qt 5.9 (bug #53006).
Torsten <mttl@mailbox.org>
parents: 25054
diff changeset
609 QHelpSearchQueryWidget *query_widget = new QHelpSearchQueryWidget ();
5fef743c34d7 build: Check for new help query member in qt 5.9 (bug #53006).
Torsten <mttl@mailbox.org>
parents: 25054
diff changeset
610 QString search_input = query_widget->searchInput ();
5fef743c34d7 build: Check for new help query member in qt 5.9 (bug #53006).
Torsten <mttl@mailbox.org>
parents: 25054
diff changeset
611 ]])],
5fef743c34d7 build: Check for new help query member in qt 5.9 (bug #53006).
Torsten <mttl@mailbox.org>
parents: 25054
diff changeset
612 octave_cv_func_qhelpsearchquerywidget_searchinput=yes,
5fef743c34d7 build: Check for new help query member in qt 5.9 (bug #53006).
Torsten <mttl@mailbox.org>
parents: 25054
diff changeset
613 octave_cv_func_qhelpsearchquerywidget_searchinput=no)
5fef743c34d7 build: Check for new help query member in qt 5.9 (bug #53006).
Torsten <mttl@mailbox.org>
parents: 25054
diff changeset
614 CPPFLAGS="$ac_octave_save_CPPFLAGS"
5fef743c34d7 build: Check for new help query member in qt 5.9 (bug #53006).
Torsten <mttl@mailbox.org>
parents: 25054
diff changeset
615 CXXFLAGS="$ac_octave_save_CXXFLAGS"
5fef743c34d7 build: Check for new help query member in qt 5.9 (bug #53006).
Torsten <mttl@mailbox.org>
parents: 25054
diff changeset
616 AC_LANG_POP(C++)
5fef743c34d7 build: Check for new help query member in qt 5.9 (bug #53006).
Torsten <mttl@mailbox.org>
parents: 25054
diff changeset
617 ])
5fef743c34d7 build: Check for new help query member in qt 5.9 (bug #53006).
Torsten <mttl@mailbox.org>
parents: 25054
diff changeset
618 if test $octave_cv_func_qhelpsearchquerywidget_searchinput = yes; then
5fef743c34d7 build: Check for new help query member in qt 5.9 (bug #53006).
Torsten <mttl@mailbox.org>
parents: 25054
diff changeset
619 AC_DEFINE(HAVE_QHELPSEARCHQUERYWIDGET_SEARCHINPUT, 1,
5fef743c34d7 build: Check for new help query member in qt 5.9 (bug #53006).
Torsten <mttl@mailbox.org>
parents: 25054
diff changeset
620 [Define to 1 if you have the `QHelpSearchQueryWidget::searchInput' member function.])
5fef743c34d7 build: Check for new help query member in qt 5.9 (bug #53006).
Torsten <mttl@mailbox.org>
parents: 25054
diff changeset
621 fi
5fef743c34d7 build: Check for new help query member in qt 5.9 (bug #53006).
Torsten <mttl@mailbox.org>
parents: 25054
diff changeset
622 ])
5fef743c34d7 build: Check for new help query member in qt 5.9 (bug #53006).
Torsten <mttl@mailbox.org>
parents: 25054
diff changeset
623 dnl
29367
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
624 dnl Check whether the Qt class QList has a constructor that accepts
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
625 dnl a pair of iterators. This constructor was introduced in Qt 5.14.
18216
e54cfaae830b Make editor tabs draggable if feature is available
Richard Crozier richard dot crozier(at)yahoo.co.uk
parents: 18141
diff changeset
626 dnl
29367
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
627 AC_DEFUN([OCTAVE_CHECK_FUNC_QLIST_ITERATOR_CONSTRUCTOR], [
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
628 AC_CACHE_CHECK([for QList<T>::QList (iterator, iterator) constructor],
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
629 [octave_cv_func_qlist_iterator_constructor],
24823
53f68d0fb122 acinclude.m4: Keep macros in alphabetical order.
Rik <rik@octave.org>
parents: 24821
diff changeset
630 [AC_LANG_PUSH(C++)
53f68d0fb122 acinclude.m4: Keep macros in alphabetical order.
Rik <rik@octave.org>
parents: 24821
diff changeset
631 ac_octave_save_CPPFLAGS="$CPPFLAGS"
53f68d0fb122 acinclude.m4: Keep macros in alphabetical order.
Rik <rik@octave.org>
parents: 24821
diff changeset
632 ac_octave_save_CXXFLAGS="$CXXFLAGS"
53f68d0fb122 acinclude.m4: Keep macros in alphabetical order.
Rik <rik@octave.org>
parents: 24821
diff changeset
633 CPPFLAGS="$QT_CPPFLAGS $CXXPICFLAG $CPPFLAGS"
53f68d0fb122 acinclude.m4: Keep macros in alphabetical order.
Rik <rik@octave.org>
parents: 24821
diff changeset
634 CXXFLAGS="$CXXPICFLAG $CXXFLAGS"
53f68d0fb122 acinclude.m4: Keep macros in alphabetical order.
Rik <rik@octave.org>
parents: 24821
diff changeset
635 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
53f68d0fb122 acinclude.m4: Keep macros in alphabetical order.
Rik <rik@octave.org>
parents: 24821
diff changeset
636 #include <QList>
53f68d0fb122 acinclude.m4: Keep macros in alphabetical order.
Rik <rik@octave.org>
parents: 24821
diff changeset
637 ]], [[
29367
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
638 QList<int> lst_one;
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
639 QList<int> lst_two (lst_one.begin (), lst_one.end ());
24823
53f68d0fb122 acinclude.m4: Keep macros in alphabetical order.
Rik <rik@octave.org>
parents: 24821
diff changeset
640 ]])],
29367
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
641 octave_cv_func_qlist_iterator_constructor=yes,
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
642 octave_cv_func_qlist_iterator_constructor=no)
24823
53f68d0fb122 acinclude.m4: Keep macros in alphabetical order.
Rik <rik@octave.org>
parents: 24821
diff changeset
643 CPPFLAGS="$ac_octave_save_CPPFLAGS"
53f68d0fb122 acinclude.m4: Keep macros in alphabetical order.
Rik <rik@octave.org>
parents: 24821
diff changeset
644 CXXFLAGS="$ac_octave_save_CXXFLAGS"
53f68d0fb122 acinclude.m4: Keep macros in alphabetical order.
Rik <rik@octave.org>
parents: 24821
diff changeset
645 AC_LANG_POP(C++)
53f68d0fb122 acinclude.m4: Keep macros in alphabetical order.
Rik <rik@octave.org>
parents: 24821
diff changeset
646 ])
29367
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
647 if test $octave_cv_func_qlist_iterator_constructor = yes; then
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
648 AC_DEFINE(HAVE_QLIST_ITERATOR_CONSTRUCTOR, 1,
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
649 [Define to 1 if you have the `QList<T>::QList (iterator, iterator)' constructor.])
24823
53f68d0fb122 acinclude.m4: Keep macros in alphabetical order.
Rik <rik@octave.org>
parents: 24821
diff changeset
650 fi
53f68d0fb122 acinclude.m4: Keep macros in alphabetical order.
Rik <rik@octave.org>
parents: 24821
diff changeset
651 ])
53f68d0fb122 acinclude.m4: Keep macros in alphabetical order.
Rik <rik@octave.org>
parents: 24821
diff changeset
652 dnl
29147
5d7a651bf0bb fix error when restoring previous main window layout (bug #59426)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29069
diff changeset
653 dnl Check whether the Qt class QMainWindow has the resizeDocks member function.
5d7a651bf0bb fix error when restoring previous main window layout (bug #59426)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29069
diff changeset
654 dnl This member function was introduced in Qt 5.6.
5d7a651bf0bb fix error when restoring previous main window layout (bug #59426)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29069
diff changeset
655 dnl
5d7a651bf0bb fix error when restoring previous main window layout (bug #59426)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29069
diff changeset
656 dnl FIXME: remove this test when we drop support for Qt older than 5.6
5d7a651bf0bb fix error when restoring previous main window layout (bug #59426)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29069
diff changeset
657 dnl
5d7a651bf0bb fix error when restoring previous main window layout (bug #59426)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29069
diff changeset
658 AC_DEFUN([OCTAVE_CHECK_FUNC_QMAINWINDOW_RESIZEDOCKS], [
5d7a651bf0bb fix error when restoring previous main window layout (bug #59426)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29069
diff changeset
659 AC_CACHE_CHECK([for QMainWindow::resizeDocks in <QMainWindow>],
5d7a651bf0bb fix error when restoring previous main window layout (bug #59426)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29069
diff changeset
660 [octave_cv_func_mainwindow_resizedocks],
5d7a651bf0bb fix error when restoring previous main window layout (bug #59426)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29069
diff changeset
661 [AC_LANG_PUSH(C++)
5d7a651bf0bb fix error when restoring previous main window layout (bug #59426)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29069
diff changeset
662 ac_octave_save_CPPFLAGS="$CPPFLAGS"
5d7a651bf0bb fix error when restoring previous main window layout (bug #59426)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29069
diff changeset
663 ac_octave_save_CXXFLAGS="$CXXFLAGS"
5d7a651bf0bb fix error when restoring previous main window layout (bug #59426)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29069
diff changeset
664 CPPFLAGS="$QT_CPPFLAGS $CXXPICFLAG $CPPFLAGS"
5d7a651bf0bb fix error when restoring previous main window layout (bug #59426)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29069
diff changeset
665 CXXFLAGS="$CXXPICFLAG $CXXFLAGS"
5d7a651bf0bb fix error when restoring previous main window layout (bug #59426)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29069
diff changeset
666 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
5d7a651bf0bb fix error when restoring previous main window layout (bug #59426)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29069
diff changeset
667 #include <QMainWindow>
5d7a651bf0bb fix error when restoring previous main window layout (bug #59426)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29069
diff changeset
668 #include <QDockWidget>
5d7a651bf0bb fix error when restoring previous main window layout (bug #59426)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29069
diff changeset
669 ]], [[
5d7a651bf0bb fix error when restoring previous main window layout (bug #59426)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29069
diff changeset
670 QMainWindow *mw = new QMainWindow ();
5d7a651bf0bb fix error when restoring previous main window layout (bug #59426)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29069
diff changeset
671 QDockWidget *dw = new QDockWidget (mw);
5d7a651bf0bb fix error when restoring previous main window layout (bug #59426)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29069
diff changeset
672 mw->addDockWidget (Qt::LeftDockWidgetArea, dw);
5d7a651bf0bb fix error when restoring previous main window layout (bug #59426)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29069
diff changeset
673 mw->resizeDocks ({dw},{20},Qt::Horizontal);
5d7a651bf0bb fix error when restoring previous main window layout (bug #59426)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29069
diff changeset
674 ]])],
5d7a651bf0bb fix error when restoring previous main window layout (bug #59426)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29069
diff changeset
675 octave_cv_func_mainwindow_resizedocks=yes,
5d7a651bf0bb fix error when restoring previous main window layout (bug #59426)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29069
diff changeset
676 octave_cv_func_mainwindow_resizedocks=no)
5d7a651bf0bb fix error when restoring previous main window layout (bug #59426)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29069
diff changeset
677 CPPFLAGS="$ac_octave_save_CPPFLAGS"
5d7a651bf0bb fix error when restoring previous main window layout (bug #59426)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29069
diff changeset
678 CXXFLAGS="$ac_octave_save_CXXFLAGS"
5d7a651bf0bb fix error when restoring previous main window layout (bug #59426)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29069
diff changeset
679 AC_LANG_POP(C++)
5d7a651bf0bb fix error when restoring previous main window layout (bug #59426)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29069
diff changeset
680 ])
5d7a651bf0bb fix error when restoring previous main window layout (bug #59426)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29069
diff changeset
681 if test $octave_cv_func_mainwindow_resizedocks = yes; then
5d7a651bf0bb fix error when restoring previous main window layout (bug #59426)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29069
diff changeset
682 AC_DEFINE(HAVE_QMAINWINDOW_RESIZEDOCKS, 1,
5d7a651bf0bb fix error when restoring previous main window layout (bug #59426)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29069
diff changeset
683 [Define to 1 if you have the 'QMainWindow::resizeDocks' member function.])
5d7a651bf0bb fix error when restoring previous main window layout (bug #59426)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29069
diff changeset
684 fi
5d7a651bf0bb fix error when restoring previous main window layout (bug #59426)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29069
diff changeset
685 ])
5d7a651bf0bb fix error when restoring previous main window layout (bug #59426)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29069
diff changeset
686 dnl
29482
67f1d5fc69bb avoid warning about deprecated Qprinter::setPaperSize function
John W. Eaton <jwe@octave.org>
parents: 29470
diff changeset
687 dnl Check whether the Qt class QPrinter has the setPageSize member function.
67f1d5fc69bb avoid warning about deprecated Qprinter::setPaperSize function
John W. Eaton <jwe@octave.org>
parents: 29470
diff changeset
688 dnl This member function was introduced in Qt 5.3.
67f1d5fc69bb avoid warning about deprecated Qprinter::setPaperSize function
John W. Eaton <jwe@octave.org>
parents: 29470
diff changeset
689 dnl
67f1d5fc69bb avoid warning about deprecated Qprinter::setPaperSize function
John W. Eaton <jwe@octave.org>
parents: 29470
diff changeset
690 dnl FIXME: remove this test when we drop support for Qt older than 5.3.
67f1d5fc69bb avoid warning about deprecated Qprinter::setPaperSize function
John W. Eaton <jwe@octave.org>
parents: 29470
diff changeset
691 dnl
67f1d5fc69bb avoid warning about deprecated Qprinter::setPaperSize function
John W. Eaton <jwe@octave.org>
parents: 29470
diff changeset
692 AC_DEFUN([OCTAVE_CHECK_FUNC_QPRINTER_SETPAGESIZE], [
67f1d5fc69bb avoid warning about deprecated Qprinter::setPaperSize function
John W. Eaton <jwe@octave.org>
parents: 29470
diff changeset
693 AC_CACHE_CHECK([for QPrinter::setPageSize in <QPrinter>],
67f1d5fc69bb avoid warning about deprecated Qprinter::setPaperSize function
John W. Eaton <jwe@octave.org>
parents: 29470
diff changeset
694 [octave_cv_func_qprinter_setpagesizes],
67f1d5fc69bb avoid warning about deprecated Qprinter::setPaperSize function
John W. Eaton <jwe@octave.org>
parents: 29470
diff changeset
695 [AC_LANG_PUSH(C++)
67f1d5fc69bb avoid warning about deprecated Qprinter::setPaperSize function
John W. Eaton <jwe@octave.org>
parents: 29470
diff changeset
696 ac_octave_save_CPPFLAGS="$CPPFLAGS"
67f1d5fc69bb avoid warning about deprecated Qprinter::setPaperSize function
John W. Eaton <jwe@octave.org>
parents: 29470
diff changeset
697 ac_octave_save_CXXFLAGS="$CXXFLAGS"
67f1d5fc69bb avoid warning about deprecated Qprinter::setPaperSize function
John W. Eaton <jwe@octave.org>
parents: 29470
diff changeset
698 CPPFLAGS="$QT_CPPFLAGS $CXXPICFLAG $CPPFLAGS"
67f1d5fc69bb avoid warning about deprecated Qprinter::setPaperSize function
John W. Eaton <jwe@octave.org>
parents: 29470
diff changeset
699 CXXFLAGS="$CXXPICFLAG $CXXFLAGS"
67f1d5fc69bb avoid warning about deprecated Qprinter::setPaperSize function
John W. Eaton <jwe@octave.org>
parents: 29470
diff changeset
700 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
67f1d5fc69bb avoid warning about deprecated Qprinter::setPaperSize function
John W. Eaton <jwe@octave.org>
parents: 29470
diff changeset
701 #include <QPrinter>
67f1d5fc69bb avoid warning about deprecated Qprinter::setPaperSize function
John W. Eaton <jwe@octave.org>
parents: 29470
diff changeset
702 ]], [[
67f1d5fc69bb avoid warning about deprecated Qprinter::setPaperSize function
John W. Eaton <jwe@octave.org>
parents: 29470
diff changeset
703 QPrinter printer;
67f1d5fc69bb avoid warning about deprecated Qprinter::setPaperSize function
John W. Eaton <jwe@octave.org>
parents: 29470
diff changeset
704 printer.setPageSize (QPageSize (QSizeF (8.5, 11.0), QPageSize::Inch));
67f1d5fc69bb avoid warning about deprecated Qprinter::setPaperSize function
John W. Eaton <jwe@octave.org>
parents: 29470
diff changeset
705 ]])],
67f1d5fc69bb avoid warning about deprecated Qprinter::setPaperSize function
John W. Eaton <jwe@octave.org>
parents: 29470
diff changeset
706 octave_cv_func_qprinter_setpagesize=yes,
67f1d5fc69bb avoid warning about deprecated Qprinter::setPaperSize function
John W. Eaton <jwe@octave.org>
parents: 29470
diff changeset
707 octave_cv_func_qprinter_setpagesize=no)
67f1d5fc69bb avoid warning about deprecated Qprinter::setPaperSize function
John W. Eaton <jwe@octave.org>
parents: 29470
diff changeset
708 CPPFLAGS="$ac_octave_save_CPPFLAGS"
67f1d5fc69bb avoid warning about deprecated Qprinter::setPaperSize function
John W. Eaton <jwe@octave.org>
parents: 29470
diff changeset
709 CXXFLAGS="$ac_octave_save_CXXFLAGS"
67f1d5fc69bb avoid warning about deprecated Qprinter::setPaperSize function
John W. Eaton <jwe@octave.org>
parents: 29470
diff changeset
710 AC_LANG_POP(C++)
67f1d5fc69bb avoid warning about deprecated Qprinter::setPaperSize function
John W. Eaton <jwe@octave.org>
parents: 29470
diff changeset
711 ])
67f1d5fc69bb avoid warning about deprecated Qprinter::setPaperSize function
John W. Eaton <jwe@octave.org>
parents: 29470
diff changeset
712 if test $octave_cv_func_qprinter_setpagesize = yes; then
67f1d5fc69bb avoid warning about deprecated Qprinter::setPaperSize function
John W. Eaton <jwe@octave.org>
parents: 29470
diff changeset
713 AC_DEFINE(HAVE_QPRINTER_SETPAGESIZE, 1,
67f1d5fc69bb avoid warning about deprecated Qprinter::setPaperSize function
John W. Eaton <jwe@octave.org>
parents: 29470
diff changeset
714 [Define to 1 if you have the 'QPrinter::setPageSize' member function.])
67f1d5fc69bb avoid warning about deprecated Qprinter::setPaperSize function
John W. Eaton <jwe@octave.org>
parents: 29470
diff changeset
715 fi
67f1d5fc69bb avoid warning about deprecated Qprinter::setPaperSize function
John W. Eaton <jwe@octave.org>
parents: 29470
diff changeset
716 ])
67f1d5fc69bb avoid warning about deprecated Qprinter::setPaperSize function
John W. Eaton <jwe@octave.org>
parents: 29470
diff changeset
717 dnl
25884
4e108574385c Improve OpenGL rendering on high resolution screens with Qt 5 (bug #49053)
John Swensen <jpswensen@gmail.com>
parents: 25862
diff changeset
718 dnl Check whether the Qt class QScreen has the devicePixelRatio member function.
4e108574385c Improve OpenGL rendering on high resolution screens with Qt 5 (bug #49053)
John Swensen <jpswensen@gmail.com>
parents: 25862
diff changeset
719 dnl This member function was introduced in Qt 5.5.
4e108574385c Improve OpenGL rendering on high resolution screens with Qt 5 (bug #49053)
John Swensen <jpswensen@gmail.com>
parents: 25862
diff changeset
720 dnl
4e108574385c Improve OpenGL rendering on high resolution screens with Qt 5 (bug #49053)
John Swensen <jpswensen@gmail.com>
parents: 25862
diff changeset
721 AC_DEFUN([OCTAVE_CHECK_FUNC_QSCREEN_DEVICEPIXELRATIO], [
4e108574385c Improve OpenGL rendering on high resolution screens with Qt 5 (bug #49053)
John Swensen <jpswensen@gmail.com>
parents: 25862
diff changeset
722 AC_CACHE_CHECK([for QScreen::devicePixelRatio in <QScreen>],
4e108574385c Improve OpenGL rendering on high resolution screens with Qt 5 (bug #49053)
John Swensen <jpswensen@gmail.com>
parents: 25862
diff changeset
723 [octave_cv_func_qscreen_devicepixelratio],
4e108574385c Improve OpenGL rendering on high resolution screens with Qt 5 (bug #49053)
John Swensen <jpswensen@gmail.com>
parents: 25862
diff changeset
724 [AC_LANG_PUSH(C++)
4e108574385c Improve OpenGL rendering on high resolution screens with Qt 5 (bug #49053)
John Swensen <jpswensen@gmail.com>
parents: 25862
diff changeset
725 ac_octave_save_CPPFLAGS="$CPPFLAGS"
4e108574385c Improve OpenGL rendering on high resolution screens with Qt 5 (bug #49053)
John Swensen <jpswensen@gmail.com>
parents: 25862
diff changeset
726 ac_octave_save_CXXFLAGS="$CXXFLAGS"
4e108574385c Improve OpenGL rendering on high resolution screens with Qt 5 (bug #49053)
John Swensen <jpswensen@gmail.com>
parents: 25862
diff changeset
727 CPPFLAGS="$QT_CPPFLAGS $CXXPICFLAG $CPPFLAGS"
4e108574385c Improve OpenGL rendering on high resolution screens with Qt 5 (bug #49053)
John Swensen <jpswensen@gmail.com>
parents: 25862
diff changeset
728 CXXFLAGS="$CXXPICFLAG $CXXFLAGS"
4e108574385c Improve OpenGL rendering on high resolution screens with Qt 5 (bug #49053)
John Swensen <jpswensen@gmail.com>
parents: 25862
diff changeset
729 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
4e108574385c Improve OpenGL rendering on high resolution screens with Qt 5 (bug #49053)
John Swensen <jpswensen@gmail.com>
parents: 25862
diff changeset
730 #include <QApplication>
4e108574385c Improve OpenGL rendering on high resolution screens with Qt 5 (bug #49053)
John Swensen <jpswensen@gmail.com>
parents: 25862
diff changeset
731 #include <QScreen>
4e108574385c Improve OpenGL rendering on high resolution screens with Qt 5 (bug #49053)
John Swensen <jpswensen@gmail.com>
parents: 25862
diff changeset
732 ]], [[
4e108574385c Improve OpenGL rendering on high resolution screens with Qt 5 (bug #49053)
John Swensen <jpswensen@gmail.com>
parents: 25862
diff changeset
733 QScreen *screen = QApplication::primaryScreen ();
4e108574385c Improve OpenGL rendering on high resolution screens with Qt 5 (bug #49053)
John Swensen <jpswensen@gmail.com>
parents: 25862
diff changeset
734 qreal ratio = screen->devicePixelRatio ();
4e108574385c Improve OpenGL rendering on high resolution screens with Qt 5 (bug #49053)
John Swensen <jpswensen@gmail.com>
parents: 25862
diff changeset
735 ]])],
4e108574385c Improve OpenGL rendering on high resolution screens with Qt 5 (bug #49053)
John Swensen <jpswensen@gmail.com>
parents: 25862
diff changeset
736 octave_cv_func_qscreen_devicepixelratio=yes,
4e108574385c Improve OpenGL rendering on high resolution screens with Qt 5 (bug #49053)
John Swensen <jpswensen@gmail.com>
parents: 25862
diff changeset
737 octave_cv_func_qscreen_devicepixelratio=no)
4e108574385c Improve OpenGL rendering on high resolution screens with Qt 5 (bug #49053)
John Swensen <jpswensen@gmail.com>
parents: 25862
diff changeset
738 CPPFLAGS="$ac_octave_save_CPPFLAGS"
4e108574385c Improve OpenGL rendering on high resolution screens with Qt 5 (bug #49053)
John Swensen <jpswensen@gmail.com>
parents: 25862
diff changeset
739 CXXFLAGS="$ac_octave_save_CXXFLAGS"
4e108574385c Improve OpenGL rendering on high resolution screens with Qt 5 (bug #49053)
John Swensen <jpswensen@gmail.com>
parents: 25862
diff changeset
740 AC_LANG_POP(C++)
4e108574385c Improve OpenGL rendering on high resolution screens with Qt 5 (bug #49053)
John Swensen <jpswensen@gmail.com>
parents: 25862
diff changeset
741 ])
4e108574385c Improve OpenGL rendering on high resolution screens with Qt 5 (bug #49053)
John Swensen <jpswensen@gmail.com>
parents: 25862
diff changeset
742 if test $octave_cv_func_qscreen_devicepixelratio = yes; then
4e108574385c Improve OpenGL rendering on high resolution screens with Qt 5 (bug #49053)
John Swensen <jpswensen@gmail.com>
parents: 25862
diff changeset
743 AC_DEFINE(HAVE_QSCREEN_DEVICEPIXELRATIO, 1,
4e108574385c Improve OpenGL rendering on high resolution screens with Qt 5 (bug #49053)
John Swensen <jpswensen@gmail.com>
parents: 25862
diff changeset
744 [Define to 1 if you have the `QScreen::devicePixelRatio' member function.])
4e108574385c Improve OpenGL rendering on high resolution screens with Qt 5 (bug #49053)
John Swensen <jpswensen@gmail.com>
parents: 25862
diff changeset
745 fi
4e108574385c Improve OpenGL rendering on high resolution screens with Qt 5 (bug #49053)
John Swensen <jpswensen@gmail.com>
parents: 25862
diff changeset
746 ])
4e108574385c Improve OpenGL rendering on high resolution screens with Qt 5 (bug #49053)
John Swensen <jpswensen@gmail.com>
parents: 25862
diff changeset
747 dnl
27215
274766cae722 allow building with Qt4 to work again
John W. Eaton <jwe@octave.org>
parents: 27134
diff changeset
748 dnl Check whether the Qt class QWheelEvent has the angleDelta member function.
274766cae722 allow building with Qt4 to work again
John W. Eaton <jwe@octave.org>
parents: 27134
diff changeset
749 dnl This member function was introduced in Qt 5.
274766cae722 allow building with Qt4 to work again
John W. Eaton <jwe@octave.org>
parents: 27134
diff changeset
750 dnl
274766cae722 allow building with Qt4 to work again
John W. Eaton <jwe@octave.org>
parents: 27134
diff changeset
751 dnl FIXME: Delete this entirely when we drop support for Qt 4.
274766cae722 allow building with Qt4 to work again
John W. Eaton <jwe@octave.org>
parents: 27134
diff changeset
752 dnl
274766cae722 allow building with Qt4 to work again
John W. Eaton <jwe@octave.org>
parents: 27134
diff changeset
753 AC_DEFUN([OCTAVE_CHECK_FUNC_QWHEELEVENT_ANGLEDELTA], [
274766cae722 allow building with Qt4 to work again
John W. Eaton <jwe@octave.org>
parents: 27134
diff changeset
754 AC_CACHE_CHECK([for QWheelEvent::angleDelta in <QWheelEvent>],
274766cae722 allow building with Qt4 to work again
John W. Eaton <jwe@octave.org>
parents: 27134
diff changeset
755 [octave_cv_func_qwheelevent_angledelta],
274766cae722 allow building with Qt4 to work again
John W. Eaton <jwe@octave.org>
parents: 27134
diff changeset
756 [AC_LANG_PUSH(C++)
274766cae722 allow building with Qt4 to work again
John W. Eaton <jwe@octave.org>
parents: 27134
diff changeset
757 ac_octave_save_CPPFLAGS="$CPPFLAGS"
274766cae722 allow building with Qt4 to work again
John W. Eaton <jwe@octave.org>
parents: 27134
diff changeset
758 ac_octave_save_CXXFLAGS="$CXXFLAGS"
274766cae722 allow building with Qt4 to work again
John W. Eaton <jwe@octave.org>
parents: 27134
diff changeset
759 CPPFLAGS="$QT_CPPFLAGS $CXXPICFLAG $CPPFLAGS"
274766cae722 allow building with Qt4 to work again
John W. Eaton <jwe@octave.org>
parents: 27134
diff changeset
760 CXXFLAGS="$CXXPICFLAG $CXXFLAGS"
274766cae722 allow building with Qt4 to work again
John W. Eaton <jwe@octave.org>
parents: 27134
diff changeset
761 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
274766cae722 allow building with Qt4 to work again
John W. Eaton <jwe@octave.org>
parents: 27134
diff changeset
762 #include <QWheelEvent>
29047
94396ec1a89d avoid warnings about deprecated QWheelEvent methods delta and orientation
John W. Eaton <jwe@octave.org>
parents: 29034
diff changeset
763 void foo (const QWheelEvent& ev)
27215
274766cae722 allow building with Qt4 to work again
John W. Eaton <jwe@octave.org>
parents: 27134
diff changeset
764 {
29047
94396ec1a89d avoid warnings about deprecated QWheelEvent methods delta and orientation
John W. Eaton <jwe@octave.org>
parents: 29034
diff changeset
765 ev.angleDelta ();
27215
274766cae722 allow building with Qt4 to work again
John W. Eaton <jwe@octave.org>
parents: 27134
diff changeset
766 };
274766cae722 allow building with Qt4 to work again
John W. Eaton <jwe@octave.org>
parents: 27134
diff changeset
767 ]])],
274766cae722 allow building with Qt4 to work again
John W. Eaton <jwe@octave.org>
parents: 27134
diff changeset
768 octave_cv_func_qwheelevent_angledelta=yes,
274766cae722 allow building with Qt4 to work again
John W. Eaton <jwe@octave.org>
parents: 27134
diff changeset
769 octave_cv_func_qwheelevent_angledelta=no)
274766cae722 allow building with Qt4 to work again
John W. Eaton <jwe@octave.org>
parents: 27134
diff changeset
770 CPPFLAGS="$ac_octave_save_CPPFLAGS"
274766cae722 allow building with Qt4 to work again
John W. Eaton <jwe@octave.org>
parents: 27134
diff changeset
771 CXXFLAGS="$ac_octave_save_CXXFLAGS"
274766cae722 allow building with Qt4 to work again
John W. Eaton <jwe@octave.org>
parents: 27134
diff changeset
772 AC_LANG_POP(C++)
274766cae722 allow building with Qt4 to work again
John W. Eaton <jwe@octave.org>
parents: 27134
diff changeset
773 ])
274766cae722 allow building with Qt4 to work again
John W. Eaton <jwe@octave.org>
parents: 27134
diff changeset
774 if test $octave_cv_func_qwheelevent_angledelta = yes; then
274766cae722 allow building with Qt4 to work again
John W. Eaton <jwe@octave.org>
parents: 27134
diff changeset
775 AC_DEFINE(HAVE_QWHEELEVENT_ANGLEDELTA, 1,
274766cae722 allow building with Qt4 to work again
John W. Eaton <jwe@octave.org>
parents: 27134
diff changeset
776 [Define to 1 if you have the `QWheelEvent::angleDelta' member function.])
274766cae722 allow building with Qt4 to work again
John W. Eaton <jwe@octave.org>
parents: 27134
diff changeset
777 fi
274766cae722 allow building with Qt4 to work again
John W. Eaton <jwe@octave.org>
parents: 27134
diff changeset
778 ])
274766cae722 allow building with Qt4 to work again
John W. Eaton <jwe@octave.org>
parents: 27134
diff changeset
779 dnl
29048
440ace36950e avoid warnings about deprecated QWheelEvent::pos method
John W. Eaton <jwe@octave.org>
parents: 29047
diff changeset
780 dnl Check whether the Qt class QWheelEvent has the position member function.
440ace36950e avoid warnings about deprecated QWheelEvent::pos method
John W. Eaton <jwe@octave.org>
parents: 29047
diff changeset
781 dnl This member function was introduced in Qt 5.14.
440ace36950e avoid warnings about deprecated QWheelEvent::pos method
John W. Eaton <jwe@octave.org>
parents: 29047
diff changeset
782 dnl
440ace36950e avoid warnings about deprecated QWheelEvent::pos method
John W. Eaton <jwe@octave.org>
parents: 29047
diff changeset
783 AC_DEFUN([OCTAVE_CHECK_FUNC_QWHEELEVENT_POSITION], [
440ace36950e avoid warnings about deprecated QWheelEvent::pos method
John W. Eaton <jwe@octave.org>
parents: 29047
diff changeset
784 AC_CACHE_CHECK([for QWheelEvent::position in <QWheelEvent>],
440ace36950e avoid warnings about deprecated QWheelEvent::pos method
John W. Eaton <jwe@octave.org>
parents: 29047
diff changeset
785 [octave_cv_func_qwheelevent_position],
440ace36950e avoid warnings about deprecated QWheelEvent::pos method
John W. Eaton <jwe@octave.org>
parents: 29047
diff changeset
786 [AC_LANG_PUSH(C++)
440ace36950e avoid warnings about deprecated QWheelEvent::pos method
John W. Eaton <jwe@octave.org>
parents: 29047
diff changeset
787 ac_octave_save_CPPFLAGS="$CPPFLAGS"
440ace36950e avoid warnings about deprecated QWheelEvent::pos method
John W. Eaton <jwe@octave.org>
parents: 29047
diff changeset
788 ac_octave_save_CXXFLAGS="$CXXFLAGS"
440ace36950e avoid warnings about deprecated QWheelEvent::pos method
John W. Eaton <jwe@octave.org>
parents: 29047
diff changeset
789 CPPFLAGS="$QT_CPPFLAGS $CXXPICFLAG $CPPFLAGS"
440ace36950e avoid warnings about deprecated QWheelEvent::pos method
John W. Eaton <jwe@octave.org>
parents: 29047
diff changeset
790 CXXFLAGS="$CXXPICFLAG $CXXFLAGS"
440ace36950e avoid warnings about deprecated QWheelEvent::pos method
John W. Eaton <jwe@octave.org>
parents: 29047
diff changeset
791 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
440ace36950e avoid warnings about deprecated QWheelEvent::pos method
John W. Eaton <jwe@octave.org>
parents: 29047
diff changeset
792 #include <QWheelEvent>
440ace36950e avoid warnings about deprecated QWheelEvent::pos method
John W. Eaton <jwe@octave.org>
parents: 29047
diff changeset
793 void foo (const QWheelEvent& ev)
440ace36950e avoid warnings about deprecated QWheelEvent::pos method
John W. Eaton <jwe@octave.org>
parents: 29047
diff changeset
794 {
440ace36950e avoid warnings about deprecated QWheelEvent::pos method
John W. Eaton <jwe@octave.org>
parents: 29047
diff changeset
795 ev.position ();
440ace36950e avoid warnings about deprecated QWheelEvent::pos method
John W. Eaton <jwe@octave.org>
parents: 29047
diff changeset
796 };
440ace36950e avoid warnings about deprecated QWheelEvent::pos method
John W. Eaton <jwe@octave.org>
parents: 29047
diff changeset
797 ]])],
440ace36950e avoid warnings about deprecated QWheelEvent::pos method
John W. Eaton <jwe@octave.org>
parents: 29047
diff changeset
798 octave_cv_func_qwheelevent_position=yes,
440ace36950e avoid warnings about deprecated QWheelEvent::pos method
John W. Eaton <jwe@octave.org>
parents: 29047
diff changeset
799 octave_cv_func_qwheelevent_position=no)
440ace36950e avoid warnings about deprecated QWheelEvent::pos method
John W. Eaton <jwe@octave.org>
parents: 29047
diff changeset
800 CPPFLAGS="$ac_octave_save_CPPFLAGS"
440ace36950e avoid warnings about deprecated QWheelEvent::pos method
John W. Eaton <jwe@octave.org>
parents: 29047
diff changeset
801 CXXFLAGS="$ac_octave_save_CXXFLAGS"
440ace36950e avoid warnings about deprecated QWheelEvent::pos method
John W. Eaton <jwe@octave.org>
parents: 29047
diff changeset
802 AC_LANG_POP(C++)
440ace36950e avoid warnings about deprecated QWheelEvent::pos method
John W. Eaton <jwe@octave.org>
parents: 29047
diff changeset
803 ])
440ace36950e avoid warnings about deprecated QWheelEvent::pos method
John W. Eaton <jwe@octave.org>
parents: 29047
diff changeset
804 if test $octave_cv_func_qwheelevent_position = yes; then
440ace36950e avoid warnings about deprecated QWheelEvent::pos method
John W. Eaton <jwe@octave.org>
parents: 29047
diff changeset
805 AC_DEFINE(HAVE_QWHEELEVENT_POSITION, 1,
440ace36950e avoid warnings about deprecated QWheelEvent::pos method
John W. Eaton <jwe@octave.org>
parents: 29047
diff changeset
806 [Define to 1 if you have the `QWheelEvent::position' member function.])
440ace36950e avoid warnings about deprecated QWheelEvent::pos method
John W. Eaton <jwe@octave.org>
parents: 29047
diff changeset
807 fi
440ace36950e avoid warnings about deprecated QWheelEvent::pos method
John W. Eaton <jwe@octave.org>
parents: 29047
diff changeset
808 ])
440ace36950e avoid warnings about deprecated QWheelEvent::pos method
John W. Eaton <jwe@octave.org>
parents: 29047
diff changeset
809 dnl
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
810 dnl Check whether HDF5 library has version 1.6 API functions.
14605
28e53daab1f8 Cleanup on autoconf warnings
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 14550
diff changeset
811 dnl
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
812 AC_DEFUN([OCTAVE_CHECK_HDF5_HAS_VER_16_API], [
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
813 AC_CACHE_CHECK([whether HDF5 library has enforced version 1.6 API],
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
814 [octave_cv_hdf5_has_ver_16_api],
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
815 [AC_LINK_IFELSE([AC_LANG_PROGRAM([[
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
816 #include <hdf5.h>
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
817 ]], [[
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
818 H5Eset_auto (0, 0);
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
819 ]])],
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
820 octave_cv_hdf5_has_ver_16_api=yes,
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
821 octave_cv_hdf5_has_ver_16_api=no)
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
822 ])
15336
5fff79162342 acinclude.m4: Put temporary shell variables in macros into ac_octave namespace.
Rik <rik@octave.org>
parents: 15330
diff changeset
823 if test $octave_cv_hdf5_has_ver_16_api != yes; then
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
824 AC_DEFINE(HAVE_HDF5_18, 1, [Define to 1 if >=HDF5-1.8 is available.])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
825 fi
14605
28e53daab1f8 Cleanup on autoconf warnings
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 14550
diff changeset
826 ])
28e53daab1f8 Cleanup on autoconf warnings
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 14550
diff changeset
827 dnl
30243
a4061ae5ff79 Use UTF-8 file API if supported by HDF5 library.
Markus Mützel <markus.muetzel@gmx.de>
parents: 30170
diff changeset
828 dnl Check whether HDF5 library has UTF-8 file API.
a4061ae5ff79 Use UTF-8 file API if supported by HDF5 library.
Markus Mützel <markus.muetzel@gmx.de>
parents: 30170
diff changeset
829 dnl
a4061ae5ff79 Use UTF-8 file API if supported by HDF5 library.
Markus Mützel <markus.muetzel@gmx.de>
parents: 30170
diff changeset
830 AC_DEFUN([OCTAVE_CHECK_HDF5_HAS_UTF8_API], [
a4061ae5ff79 Use UTF-8 file API if supported by HDF5 library.
Markus Mützel <markus.muetzel@gmx.de>
parents: 30170
diff changeset
831 AC_CACHE_CHECK([whether HDF5 library has UTF-8 file API],
a4061ae5ff79 Use UTF-8 file API if supported by HDF5 library.
Markus Mützel <markus.muetzel@gmx.de>
parents: 30170
diff changeset
832 [octave_cv_hdf5_has_utf8_api],
a4061ae5ff79 Use UTF-8 file API if supported by HDF5 library.
Markus Mützel <markus.muetzel@gmx.de>
parents: 30170
diff changeset
833 [case $host_os in
a4061ae5ff79 Use UTF-8 file API if supported by HDF5 library.
Markus Mützel <markus.muetzel@gmx.de>
parents: 30170
diff changeset
834 msdosmsvc | mingw*)
a4061ae5ff79 Use UTF-8 file API if supported by HDF5 library.
Markus Mützel <markus.muetzel@gmx.de>
parents: 30170
diff changeset
835 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
a4061ae5ff79 Use UTF-8 file API if supported by HDF5 library.
Markus Mützel <markus.muetzel@gmx.de>
parents: 30170
diff changeset
836 #include <stddef.h>
a4061ae5ff79 Use UTF-8 file API if supported by HDF5 library.
Markus Mützel <markus.muetzel@gmx.de>
parents: 30170
diff changeset
837 const wchar_t *H5_get_utf16_str(const char *s);
a4061ae5ff79 Use UTF-8 file API if supported by HDF5 library.
Markus Mützel <markus.muetzel@gmx.de>
parents: 30170
diff changeset
838 ]], [[
a4061ae5ff79 Use UTF-8 file API if supported by HDF5 library.
Markus Mützel <markus.muetzel@gmx.de>
parents: 30170
diff changeset
839 H5_get_utf16_str ("");
a4061ae5ff79 Use UTF-8 file API if supported by HDF5 library.
Markus Mützel <markus.muetzel@gmx.de>
parents: 30170
diff changeset
840 ]])],
a4061ae5ff79 Use UTF-8 file API if supported by HDF5 library.
Markus Mützel <markus.muetzel@gmx.de>
parents: 30170
diff changeset
841 octave_cv_hdf5_has_utf8_api=yes,
a4061ae5ff79 Use UTF-8 file API if supported by HDF5 library.
Markus Mützel <markus.muetzel@gmx.de>
parents: 30170
diff changeset
842 octave_cv_hdf5_has_utf8_api=no)
a4061ae5ff79 Use UTF-8 file API if supported by HDF5 library.
Markus Mützel <markus.muetzel@gmx.de>
parents: 30170
diff changeset
843 ;;
a4061ae5ff79 Use UTF-8 file API if supported by HDF5 library.
Markus Mützel <markus.muetzel@gmx.de>
parents: 30170
diff changeset
844 *)
a4061ae5ff79 Use UTF-8 file API if supported by HDF5 library.
Markus Mützel <markus.muetzel@gmx.de>
parents: 30170
diff changeset
845 ## Assume yes on all other platforms
a4061ae5ff79 Use UTF-8 file API if supported by HDF5 library.
Markus Mützel <markus.muetzel@gmx.de>
parents: 30170
diff changeset
846 octave_cv_hdf5_has_utf8_api=yes
a4061ae5ff79 Use UTF-8 file API if supported by HDF5 library.
Markus Mützel <markus.muetzel@gmx.de>
parents: 30170
diff changeset
847 ;;
a4061ae5ff79 Use UTF-8 file API if supported by HDF5 library.
Markus Mützel <markus.muetzel@gmx.de>
parents: 30170
diff changeset
848 esac
a4061ae5ff79 Use UTF-8 file API if supported by HDF5 library.
Markus Mützel <markus.muetzel@gmx.de>
parents: 30170
diff changeset
849 ])
a4061ae5ff79 Use UTF-8 file API if supported by HDF5 library.
Markus Mützel <markus.muetzel@gmx.de>
parents: 30170
diff changeset
850 if test $octave_cv_hdf5_has_utf8_api = yes; then
a4061ae5ff79 Use UTF-8 file API if supported by HDF5 library.
Markus Mützel <markus.muetzel@gmx.de>
parents: 30170
diff changeset
851 AC_DEFINE(HAVE_HDF5_UTF8, 1, [Define to 1 if HDF5 has UTF-8 file API.])
a4061ae5ff79 Use UTF-8 file API if supported by HDF5 library.
Markus Mützel <markus.muetzel@gmx.de>
parents: 30170
diff changeset
852 fi
a4061ae5ff79 Use UTF-8 file API if supported by HDF5 library.
Markus Mützel <markus.muetzel@gmx.de>
parents: 30170
diff changeset
853 ])
a4061ae5ff79 Use UTF-8 file API if supported by HDF5 library.
Markus Mützel <markus.muetzel@gmx.de>
parents: 30170
diff changeset
854 dnl
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
855 dnl Usage:
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
856 dnl OCTAVE_CHECK_LIB(LIBRARY, DOC-NAME, WARN-MSG, HEADER, FUNC,
23006
06c248729e6f allow OCTAVE_CHECK_LIB to stop with an error if a library is required
John W. Eaton <jwe@octave.org>
parents: 22986
diff changeset
857 dnl LANG, DOC-STRING, EXTRA-CHECK, PKG-CONFIG-NAME,
06c248729e6f allow OCTAVE_CHECK_LIB to stop with an error if a library is required
John W. Eaton <jwe@octave.org>
parents: 22986
diff changeset
858 dnl REQUIRED)
14605
28e53daab1f8 Cleanup on autoconf warnings
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 14550
diff changeset
859 dnl
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
860 AC_DEFUN([OCTAVE_CHECK_LIB], [
23017
0f22914be30e * acinclude.m4 (OCTAVE_CHECK_LIB): Downcase --with-XYZ options.
John W. Eaton <jwe@octave.org>
parents: 23008
diff changeset
861 AC_ARG_WITH([m4_tolower($1)-includedir],
0f22914be30e * acinclude.m4 (OCTAVE_CHECK_LIB): Downcase --with-XYZ options.
John W. Eaton <jwe@octave.org>
parents: 23008
diff changeset
862 [AS_HELP_STRING([--with-m4_tolower($1)-includedir=DIR],
9519
ee99f9f37505 improve configure checks for qhull and curl libs
John W. Eaton <jwe@octave.org>
parents: 9515
diff changeset
863 [look for $2 include files in DIR])],
ee99f9f37505 improve configure checks for qhull and curl libs
John W. Eaton <jwe@octave.org>
parents: 9515
diff changeset
864 [m4_toupper([$1])_CPPFLAGS="-I$withval"])
ee99f9f37505 improve configure checks for qhull and curl libs
John W. Eaton <jwe@octave.org>
parents: 9515
diff changeset
865 AC_SUBST(m4_toupper([$1])_CPPFLAGS)
ee99f9f37505 improve configure checks for qhull and curl libs
John W. Eaton <jwe@octave.org>
parents: 9515
diff changeset
866
23017
0f22914be30e * acinclude.m4 (OCTAVE_CHECK_LIB): Downcase --with-XYZ options.
John W. Eaton <jwe@octave.org>
parents: 23008
diff changeset
867 AC_ARG_WITH([m4_tolower($1)-libdir],
0f22914be30e * acinclude.m4 (OCTAVE_CHECK_LIB): Downcase --with-XYZ options.
John W. Eaton <jwe@octave.org>
parents: 23008
diff changeset
868 [AS_HELP_STRING([--with-m4_tolower($1)-libdir=DIR],
9519
ee99f9f37505 improve configure checks for qhull and curl libs
John W. Eaton <jwe@octave.org>
parents: 9515
diff changeset
869 [look for $2 libraries in DIR])],
ee99f9f37505 improve configure checks for qhull and curl libs
John W. Eaton <jwe@octave.org>
parents: 9515
diff changeset
870 [m4_toupper([$1])_LDFLAGS="-L$withval"])
ee99f9f37505 improve configure checks for qhull and curl libs
John W. Eaton <jwe@octave.org>
parents: 9515
diff changeset
871 AC_SUBST(m4_toupper([$1])_LDFLAGS)
ee99f9f37505 improve configure checks for qhull and curl libs
John W. Eaton <jwe@octave.org>
parents: 9515
diff changeset
872
23017
0f22914be30e * acinclude.m4 (OCTAVE_CHECK_LIB): Downcase --with-XYZ options.
John W. Eaton <jwe@octave.org>
parents: 23008
diff changeset
873 AC_ARG_WITH([m4_tolower($1)],
23006
06c248729e6f allow OCTAVE_CHECK_LIB to stop with an error if a library is required
John W. Eaton <jwe@octave.org>
parents: 22986
diff changeset
874 [ifelse([$#], 10,
06c248729e6f allow OCTAVE_CHECK_LIB to stop with an error if a library is required
John W. Eaton <jwe@octave.org>
parents: 22986
diff changeset
875 [m4_ifblank([$7],
23017
0f22914be30e * acinclude.m4 (OCTAVE_CHECK_LIB): Downcase --with-XYZ options.
John W. Eaton <jwe@octave.org>
parents: 23008
diff changeset
876 [AS_HELP_STRING([--with-m4_tolower($1)=<lib>], [use $2 library <lib>])],
0f22914be30e * acinclude.m4 (OCTAVE_CHECK_LIB): Downcase --with-XYZ options.
John W. Eaton <jwe@octave.org>
parents: 23008
diff changeset
877 [AS_HELP_STRING([--with-m4_tolower($1)], [$7])])],
23006
06c248729e6f allow OCTAVE_CHECK_LIB to stop with an error if a library is required
John W. Eaton <jwe@octave.org>
parents: 22986
diff changeset
878 [m4_ifblank([$7],
23017
0f22914be30e * acinclude.m4 (OCTAVE_CHECK_LIB): Downcase --with-XYZ options.
John W. Eaton <jwe@octave.org>
parents: 23008
diff changeset
879 [AS_HELP_STRING([--without-m4_tolower($1)], [don't use $2 library])],
0f22914be30e * acinclude.m4 (OCTAVE_CHECK_LIB): Downcase --with-XYZ options.
John W. Eaton <jwe@octave.org>
parents: 23008
diff changeset
880 [AS_HELP_STRING([--without-m4_tolower($1)], [$7])])])],
9519
ee99f9f37505 improve configure checks for qhull and curl libs
John W. Eaton <jwe@octave.org>
parents: 9515
diff changeset
881 with_$1=$withval, with_$1=yes)
ee99f9f37505 improve configure checks for qhull and curl libs
John W. Eaton <jwe@octave.org>
parents: 9515
diff changeset
882
22039
0a528a6dac95 build: use pkg-config in OCTAVE_CHECK_LIB without overriding user options
Mike Miller <mtmiller@octave.org>
parents: 22036
diff changeset
883 ac_octave_$1_pkg_check=no
9519
ee99f9f37505 improve configure checks for qhull and curl libs
John W. Eaton <jwe@octave.org>
parents: 9515
diff changeset
884 m4_toupper([$1])_LIBS=
21381
e5d96f39a37d configure script fixes
John W. Eaton <jwe@octave.org>
parents: 21374
diff changeset
885 warn_$1="$3"
9519
ee99f9f37505 improve configure checks for qhull and curl libs
John W. Eaton <jwe@octave.org>
parents: 9515
diff changeset
886 case $with_$1 in
9539
41a74dcd14df Clear QHULL_LIBS etc on errors. Interpret --without-qhull etc correctly.
David Grundberg <individ@acc.umu.se>
parents: 9531
diff changeset
887 no)
23006
06c248729e6f allow OCTAVE_CHECK_LIB to stop with an error if a library is required
John W. Eaton <jwe@octave.org>
parents: 22986
diff changeset
888 ifelse([$#], 10,
23017
0f22914be30e * acinclude.m4 (OCTAVE_CHECK_LIB): Downcase --with-XYZ options.
John W. Eaton <jwe@octave.org>
parents: 23008
diff changeset
889 [AC_MSG_ERROR([--without-m4_tolower($1) specified but $2 is required.])],
28299
a8f6a7083428 Don't issue configure warnings when --without-XXX used (bug #58330)
Rik <rik@octave.org>
parents: 27957
diff changeset
890 [warn_$1=""
23006
06c248729e6f allow OCTAVE_CHECK_LIB to stop with an error if a library is required
John W. Eaton <jwe@octave.org>
parents: 22986
diff changeset
891 m4_toupper([$1])_LIBS=])
9539
41a74dcd14df Clear QHULL_LIBS etc on errors. Interpret --without-qhull etc correctly.
David Grundberg <individ@acc.umu.se>
parents: 9531
diff changeset
892 ;;
9519
ee99f9f37505 improve configure checks for qhull and curl libs
John W. Eaton <jwe@octave.org>
parents: 9515
diff changeset
893 yes | "")
22039
0a528a6dac95 build: use pkg-config in OCTAVE_CHECK_LIB without overriding user options
Mike Miller <mtmiller@octave.org>
parents: 22036
diff changeset
894 ac_octave_$1_pkg_check=yes
9519
ee99f9f37505 improve configure checks for qhull and curl libs
John W. Eaton <jwe@octave.org>
parents: 9515
diff changeset
895 m4_toupper([$1])_LIBS="-l$1"
ee99f9f37505 improve configure checks for qhull and curl libs
John W. Eaton <jwe@octave.org>
parents: 9515
diff changeset
896 ;;
ee99f9f37505 improve configure checks for qhull and curl libs
John W. Eaton <jwe@octave.org>
parents: 9515
diff changeset
897 -* | */* | *.a | *.so | *.so.* | *.o)
ee99f9f37505 improve configure checks for qhull and curl libs
John W. Eaton <jwe@octave.org>
parents: 9515
diff changeset
898 m4_toupper([$1])_LIBS="$with_$1"
ee99f9f37505 improve configure checks for qhull and curl libs
John W. Eaton <jwe@octave.org>
parents: 9515
diff changeset
899 ;;
ee99f9f37505 improve configure checks for qhull and curl libs
John W. Eaton <jwe@octave.org>
parents: 9515
diff changeset
900 *)
ee99f9f37505 improve configure checks for qhull and curl libs
John W. Eaton <jwe@octave.org>
parents: 9515
diff changeset
901 m4_toupper([$1])_LIBS="-l$with_$1"
ee99f9f37505 improve configure checks for qhull and curl libs
John W. Eaton <jwe@octave.org>
parents: 9515
diff changeset
902 ;;
ee99f9f37505 improve configure checks for qhull and curl libs
John W. Eaton <jwe@octave.org>
parents: 9515
diff changeset
903 esac
ee99f9f37505 improve configure checks for qhull and curl libs
John W. Eaton <jwe@octave.org>
parents: 9515
diff changeset
904
22039
0a528a6dac95 build: use pkg-config in OCTAVE_CHECK_LIB without overriding user options
Mike Miller <mtmiller@octave.org>
parents: 22036
diff changeset
905 if test $ac_octave_$1_pkg_check = yes; then
22103
9811e7875d52 build: allow pkg-config name to differ from library name
Mike Miller <mtmiller@octave.org>
parents: 22039
diff changeset
906 PKG_CHECK_EXISTS(m4_default([$9], [$1]), [
22039
0a528a6dac95 build: use pkg-config in OCTAVE_CHECK_LIB without overriding user options
Mike Miller <mtmiller@octave.org>
parents: 22036
diff changeset
907 if test -z "$m4_toupper([$1])_CPPFLAGS"; then
23835
6ae0292aaa5c configure: ensure empty pkg-config results are actually empty (bug #51680)
Mike Miller <mtmiller@octave.org>
parents: 23414
diff changeset
908 m4_toupper([$1])_CPPFLAGS="$($PKG_CONFIG --cflags-only-I m4_default([$9], [$1]) | $SED -e 's/^ *$//')"
22039
0a528a6dac95 build: use pkg-config in OCTAVE_CHECK_LIB without overriding user options
Mike Miller <mtmiller@octave.org>
parents: 22036
diff changeset
909 fi
0a528a6dac95 build: use pkg-config in OCTAVE_CHECK_LIB without overriding user options
Mike Miller <mtmiller@octave.org>
parents: 22036
diff changeset
910 if test -z "$m4_toupper([$1])_LDFLAGS"; then
23835
6ae0292aaa5c configure: ensure empty pkg-config results are actually empty (bug #51680)
Mike Miller <mtmiller@octave.org>
parents: 23414
diff changeset
911 m4_toupper([$1])_LDFLAGS="$($PKG_CONFIG --libs-only-L m4_default([$9], [$1]) | $SED -e 's/^ *$//')"
22039
0a528a6dac95 build: use pkg-config in OCTAVE_CHECK_LIB without overriding user options
Mike Miller <mtmiller@octave.org>
parents: 22036
diff changeset
912 fi
23835
6ae0292aaa5c configure: ensure empty pkg-config results are actually empty (bug #51680)
Mike Miller <mtmiller@octave.org>
parents: 23414
diff changeset
913 m4_toupper([$1])_LIBS="$($PKG_CONFIG --libs-only-l m4_default([$9], [$1]) | $SED -e 's/^ *$//')"
22039
0a528a6dac95 build: use pkg-config in OCTAVE_CHECK_LIB without overriding user options
Mike Miller <mtmiller@octave.org>
parents: 22036
diff changeset
914 ])
0a528a6dac95 build: use pkg-config in OCTAVE_CHECK_LIB without overriding user options
Mike Miller <mtmiller@octave.org>
parents: 22036
diff changeset
915 fi
22036
a2c29df93df7 acinclude.m4: Use pkg-config from OCTAVE_CHECK_LIB whenever possible
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 21945
diff changeset
916
9519
ee99f9f37505 improve configure checks for qhull and curl libs
John W. Eaton <jwe@octave.org>
parents: 9515
diff changeset
917 if test -n "$m4_toupper([$1])_LIBS"; then
15336
5fff79162342 acinclude.m4: Put temporary shell variables in macros into ac_octave namespace.
Rik <rik@octave.org>
parents: 15330
diff changeset
918 ac_octave_save_CPPFLAGS="$CPPFLAGS"
15350
6a0c0d3d60b6 build: Implement some caching for OCTAVE_CHECK_LIB macro.
Rik <rik@octave.org>
parents: 15338
diff changeset
919 ac_octave_save_LDFLAGS="$LDFLAGS"
6a0c0d3d60b6 build: Implement some caching for OCTAVE_CHECK_LIB macro.
Rik <rik@octave.org>
parents: 15338
diff changeset
920 ac_octave_save_LIBS="$LIBS"
9519
ee99f9f37505 improve configure checks for qhull and curl libs
John W. Eaton <jwe@octave.org>
parents: 9515
diff changeset
921 CPPFLAGS="$m4_toupper([$1])_CPPFLAGS $CPPFLAGS"
15350
6a0c0d3d60b6 build: Implement some caching for OCTAVE_CHECK_LIB macro.
Rik <rik@octave.org>
parents: 15338
diff changeset
922 LDFLAGS="$m4_toupper([$1])_LDFLAGS $LDFLAGS"
6a0c0d3d60b6 build: Implement some caching for OCTAVE_CHECK_LIB macro.
Rik <rik@octave.org>
parents: 15338
diff changeset
923 LIBS="$m4_toupper([$1])_LIBS $LIBS"
9523
0ce82753dd72 more configure changes for libraries
John W. Eaton <jwe@octave.org>
parents: 9520
diff changeset
924 m4_ifnblank([$6], [AC_LANG_PUSH($6)])
16068
b309a5da17f5 use yes/no instead of true/false in confgure scripts
John W. Eaton <jwe@octave.org>
parents: 16012
diff changeset
925 ac_octave_$1_check_for_lib=no
b309a5da17f5 use yes/no instead of true/false in confgure scripts
John W. Eaton <jwe@octave.org>
parents: 16012
diff changeset
926 m4_ifblank([$4], [ac_octave_$1_check_for_lib=yes],
b309a5da17f5 use yes/no instead of true/false in confgure scripts
John W. Eaton <jwe@octave.org>
parents: 16012
diff changeset
927 [AC_CHECK_HEADERS([$4], [ac_octave_$1_check_for_lib=yes; break])])
b309a5da17f5 use yes/no instead of true/false in confgure scripts
John W. Eaton <jwe@octave.org>
parents: 16012
diff changeset
928 if test $ac_octave_$1_check_for_lib = yes; then
15350
6a0c0d3d60b6 build: Implement some caching for OCTAVE_CHECK_LIB macro.
Rik <rik@octave.org>
parents: 15338
diff changeset
929 AC_CACHE_CHECK([for $5 in $m4_toupper([$1])_LIBS],
6a0c0d3d60b6 build: Implement some caching for OCTAVE_CHECK_LIB macro.
Rik <rik@octave.org>
parents: 15338
diff changeset
930 [octave_cv_lib_$1],
6a0c0d3d60b6 build: Implement some caching for OCTAVE_CHECK_LIB macro.
Rik <rik@octave.org>
parents: 15338
diff changeset
931 [AC_LINK_IFELSE([AC_LANG_CALL([], [$5])],
6a0c0d3d60b6 build: Implement some caching for OCTAVE_CHECK_LIB macro.
Rik <rik@octave.org>
parents: 15338
diff changeset
932 [octave_cv_lib_$1=yes], [octave_cv_lib_$1=no])
6a0c0d3d60b6 build: Implement some caching for OCTAVE_CHECK_LIB macro.
Rik <rik@octave.org>
parents: 15338
diff changeset
933 ])
6a0c0d3d60b6 build: Implement some caching for OCTAVE_CHECK_LIB macro.
Rik <rik@octave.org>
parents: 15338
diff changeset
934 if test "$octave_cv_lib_$1" = yes; then
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
935 m4_ifblank([$8], [
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
936 warn_$1=
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
937 AC_DEFINE([HAVE_]m4_toupper([$1]), 1,
19355
22289e6e316e build: Remove unused TEXINFO_LIBNAME definitions from Makefiles.
Rik <rik@octave.org>
parents: 19108
diff changeset
938 [Define to 1 if $2 is available.])], [$8])
25299
537b732926fb fix logic error in OCTAVE_CONFIG_LIB (bug #53736)
John W. Eaton <jwe@octave.org>
parents: 25135
diff changeset
939 else
537b732926fb fix logic error in OCTAVE_CONFIG_LIB (bug #53736)
John W. Eaton <jwe@octave.org>
parents: 25135
diff changeset
940 m4_toupper([$1])_LIBS=
9519
ee99f9f37505 improve configure checks for qhull and curl libs
John W. Eaton <jwe@octave.org>
parents: 9515
diff changeset
941 fi
25299
537b732926fb fix logic error in OCTAVE_CONFIG_LIB (bug #53736)
John W. Eaton <jwe@octave.org>
parents: 25135
diff changeset
942 else
25666
b08864ae8506 OCTAVE_CHECK_LIB: avoid shell syntax error if not checking for lib
John W. Eaton <jwe@octave.org>
parents: 25559
diff changeset
943 octave_cv_lib_$1=no
25299
537b732926fb fix logic error in OCTAVE_CONFIG_LIB (bug #53736)
John W. Eaton <jwe@octave.org>
parents: 25135
diff changeset
944 m4_toupper([$1])_LIBS=
9568
d3fccc4c4b9e use OCTAVE_CHECK_LIBRARY to check for ARPACK
John W. Eaton <jwe@octave.org>
parents: 9543
diff changeset
945 fi
9523
0ce82753dd72 more configure changes for libraries
John W. Eaton <jwe@octave.org>
parents: 9520
diff changeset
946 m4_ifnblank([$6], [AC_LANG_POP($6)])
15336
5fff79162342 acinclude.m4: Put temporary shell variables in macros into ac_octave namespace.
Rik <rik@octave.org>
parents: 15330
diff changeset
947 CPPFLAGS="$ac_octave_save_CPPFLAGS"
15350
6a0c0d3d60b6 build: Implement some caching for OCTAVE_CHECK_LIB macro.
Rik <rik@octave.org>
parents: 15338
diff changeset
948 LDFLAGS="$ac_octave_save_LDFLAGS"
6a0c0d3d60b6 build: Implement some caching for OCTAVE_CHECK_LIB macro.
Rik <rik@octave.org>
parents: 15338
diff changeset
949 LIBS="$ac_octave_save_LIBS"
21381
e5d96f39a37d configure script fixes
John W. Eaton <jwe@octave.org>
parents: 21374
diff changeset
950 else
e5d96f39a37d configure script fixes
John W. Eaton <jwe@octave.org>
parents: 21374
diff changeset
951 octave_cv_lib_$1=no
9519
ee99f9f37505 improve configure checks for qhull and curl libs
John W. Eaton <jwe@octave.org>
parents: 9515
diff changeset
952 fi
15350
6a0c0d3d60b6 build: Implement some caching for OCTAVE_CHECK_LIB macro.
Rik <rik@octave.org>
parents: 15338
diff changeset
953
23006
06c248729e6f allow OCTAVE_CHECK_LIB to stop with an error if a library is required
John W. Eaton <jwe@octave.org>
parents: 22986
diff changeset
954 ifelse([$#], 10, [
06c248729e6f allow OCTAVE_CHECK_LIB to stop with an error if a library is required
John W. Eaton <jwe@octave.org>
parents: 22986
diff changeset
955 if test $octave_cv_lib_$1 = no; then
06c248729e6f allow OCTAVE_CHECK_LIB to stop with an error if a library is required
John W. Eaton <jwe@octave.org>
parents: 22986
diff changeset
956 AC_MSG_ERROR([to build Octave, you must have the $2 library and header files installed])
06c248729e6f allow OCTAVE_CHECK_LIB to stop with an error if a library is required
John W. Eaton <jwe@octave.org>
parents: 22986
diff changeset
957 fi])
9519
ee99f9f37505 improve configure checks for qhull and curl libs
John W. Eaton <jwe@octave.org>
parents: 9515
diff changeset
958 AC_SUBST(m4_toupper([$1])_LIBS)
ee99f9f37505 improve configure checks for qhull and curl libs
John W. Eaton <jwe@octave.org>
parents: 9515
diff changeset
959 if test -n "$warn_$1"; then
21381
e5d96f39a37d configure script fixes
John W. Eaton <jwe@octave.org>
parents: 21374
diff changeset
960 OCTAVE_CONFIGURE_WARNING([warn_$1])
9519
ee99f9f37505 improve configure checks for qhull and curl libs
John W. Eaton <jwe@octave.org>
parents: 9515
diff changeset
961 fi
ee99f9f37505 improve configure checks for qhull and curl libs
John W. Eaton <jwe@octave.org>
parents: 9515
diff changeset
962 ])
ee99f9f37505 improve configure checks for qhull and curl libs
John W. Eaton <jwe@octave.org>
parents: 9515
diff changeset
963 dnl
15133
f91eac1bc66d m4/acinclude.m4: Correct typos, use consistent style for describing macros.
Rik <rik@octave.org>
parents: 15126
diff changeset
964 dnl Check whether ARPACK works (does not crash).
14144
834df9f10963 remove ARPACK files from sources and restore configure checks for external ARPACK library
John W. Eaton <jwe@octave.org>
parents: 14138
diff changeset
965 dnl
14147
71e28fda7be9 use C++ program to test ARPACK
John W. Eaton <jwe@octave.org>
parents: 14144
diff changeset
966 dnl Using a pure Fortran program doesn't seem to crash when linked
24289
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
967 dnl with the buggy ARPACK library, but the C++ program does. Maybe it
15133
f91eac1bc66d m4/acinclude.m4: Correct typos, use consistent style for describing macros.
Rik <rik@octave.org>
parents: 15126
diff changeset
968 dnl is the memory allocation that exposes the bug and using statically
14147
71e28fda7be9 use C++ program to test ARPACK
John W. Eaton <jwe@octave.org>
parents: 14144
diff changeset
969 dnl allocated arrays in Fortran does not?
71e28fda7be9 use C++ program to test ARPACK
John W. Eaton <jwe@octave.org>
parents: 14144
diff changeset
970 dnl
18058
46ca76f194cb make arpack check work with --enable-64
John W. Eaton <jwe@octave.org>
parents: 18036
diff changeset
971 dnl FIXME: it would be nice to avoid the duplication of F77 macros
25047
1fe6002f68a7 update arpack checks for F77_INT vs octave_idx_type changes
John W. Eaton <jwe@octave.org>
parents: 25046
diff changeset
972 dnl and typedefs here and in the f77-fcn.h header file. Also, the
1fe6002f68a7 update arpack checks for F77_INT vs octave_idx_type changes
John W. Eaton <jwe@octave.org>
parents: 25046
diff changeset
973 dnl definition of the character handling macros are not right for
1fe6002f68a7 update arpack checks for F77_INT vs octave_idx_type changes
John W. Eaton <jwe@octave.org>
parents: 25046
diff changeset
974 dnl all systems (but should work on most modern systems in use today).
18058
46ca76f194cb make arpack check work with --enable-64
John W. Eaton <jwe@octave.org>
parents: 18036
diff changeset
975 dnl
24289
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
976 AC_DEFUN([OCTAVE_CHECK_LIB_ARPACK_OK_1], [
14144
834df9f10963 remove ARPACK files from sources and restore configure checks for external ARPACK library
John W. Eaton <jwe@octave.org>
parents: 14138
diff changeset
977 AC_CACHE_CHECK([whether the arpack library works],
24289
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
978 [octave_cv_lib_arpack_ok_1],
15294
d1751eee9a42 acinclude.m4: Use AC_LANG_PUSH macro with AC_CACHE_CHECK for greater efficiency.
Rik <rik@octave.org>
parents: 15293
diff changeset
979 [AC_LANG_PUSH(C++)
d1751eee9a42 acinclude.m4: Use AC_LANG_PUSH macro with AC_CACHE_CHECK for greater efficiency.
Rik <rik@octave.org>
parents: 15293
diff changeset
980 AC_RUN_IFELSE([AC_LANG_PROGRAM([[
14147
71e28fda7be9 use C++ program to test ARPACK
John W. Eaton <jwe@octave.org>
parents: 14144
diff changeset
981
71e28fda7be9 use C++ program to test ARPACK
John W. Eaton <jwe@octave.org>
parents: 14144
diff changeset
982 #include <cfloat>
71e28fda7be9 use C++ program to test ARPACK
John W. Eaton <jwe@octave.org>
parents: 14144
diff changeset
983
18058
46ca76f194cb make arpack check work with --enable-64
John W. Eaton <jwe@octave.org>
parents: 18036
diff changeset
984 #include <stdint.h>
46ca76f194cb make arpack check work with --enable-64
John W. Eaton <jwe@octave.org>
parents: 18036
diff changeset
985
46ca76f194cb make arpack check work with --enable-64
John W. Eaton <jwe@octave.org>
parents: 18036
diff changeset
986 typedef int F77_RET_T;
46ca76f194cb make arpack check work with --enable-64
John W. Eaton <jwe@octave.org>
parents: 18036
diff changeset
987
46ca76f194cb make arpack check work with --enable-64
John W. Eaton <jwe@octave.org>
parents: 18036
diff changeset
988 #define F77_CHAR_ARG2(x, l) x
46ca76f194cb make arpack check work with --enable-64
John W. Eaton <jwe@octave.org>
parents: 18036
diff changeset
989 #define F77_CONST_CHAR_ARG2(x, l) F77_CHAR_ARG2 (x, l)
46ca76f194cb make arpack check work with --enable-64
John W. Eaton <jwe@octave.org>
parents: 18036
diff changeset
990
46ca76f194cb make arpack check work with --enable-64
John W. Eaton <jwe@octave.org>
parents: 18036
diff changeset
991 #define F77_CHAR_ARG_LEN(l) , l
46ca76f194cb make arpack check work with --enable-64
John W. Eaton <jwe@octave.org>
parents: 18036
diff changeset
992
46ca76f194cb make arpack check work with --enable-64
John W. Eaton <jwe@octave.org>
parents: 18036
diff changeset
993 #define F77_CONST_CHAR_ARG_DECL const char *
46ca76f194cb make arpack check work with --enable-64
John W. Eaton <jwe@octave.org>
parents: 18036
diff changeset
994 #define F77_CHAR_ARG_LEN_DECL , long
46ca76f194cb make arpack check work with --enable-64
John W. Eaton <jwe@octave.org>
parents: 18036
diff changeset
995
25047
1fe6002f68a7 update arpack checks for F77_INT vs octave_idx_type changes
John W. Eaton <jwe@octave.org>
parents: 25046
diff changeset
996 #define F77_INT $OCTAVE_F77_INT_TYPE
1fe6002f68a7 update arpack checks for F77_INT vs octave_idx_type changes
John W. Eaton <jwe@octave.org>
parents: 25046
diff changeset
997 #define F77_DBLE double
1fe6002f68a7 update arpack checks for F77_INT vs octave_idx_type changes
John W. Eaton <jwe@octave.org>
parents: 25046
diff changeset
998
18058
46ca76f194cb make arpack check work with --enable-64
John W. Eaton <jwe@octave.org>
parents: 18036
diff changeset
999 extern "C"
46ca76f194cb make arpack check work with --enable-64
John W. Eaton <jwe@octave.org>
parents: 18036
diff changeset
1000 {
46ca76f194cb make arpack check work with --enable-64
John W. Eaton <jwe@octave.org>
parents: 18036
diff changeset
1001 F77_RET_T
25047
1fe6002f68a7 update arpack checks for F77_INT vs octave_idx_type changes
John W. Eaton <jwe@octave.org>
parents: 25046
diff changeset
1002 F77_FUNC (dnaupd, DNAUPD) (F77_INT&,
18058
46ca76f194cb make arpack check work with --enable-64
John W. Eaton <jwe@octave.org>
parents: 18036
diff changeset
1003 F77_CONST_CHAR_ARG_DECL,
25047
1fe6002f68a7 update arpack checks for F77_INT vs octave_idx_type changes
John W. Eaton <jwe@octave.org>
parents: 25046
diff changeset
1004 const F77_INT&,
18058
46ca76f194cb make arpack check work with --enable-64
John W. Eaton <jwe@octave.org>
parents: 18036
diff changeset
1005 F77_CONST_CHAR_ARG_DECL,
25047
1fe6002f68a7 update arpack checks for F77_INT vs octave_idx_type changes
John W. Eaton <jwe@octave.org>
parents: 25046
diff changeset
1006 F77_INT&, const F77_DBLE&,
1fe6002f68a7 update arpack checks for F77_INT vs octave_idx_type changes
John W. Eaton <jwe@octave.org>
parents: 25046
diff changeset
1007 F77_DBLE*, const F77_INT&, F77_DBLE*,
1fe6002f68a7 update arpack checks for F77_INT vs octave_idx_type changes
John W. Eaton <jwe@octave.org>
parents: 25046
diff changeset
1008 const F77_INT&, F77_INT*,
1fe6002f68a7 update arpack checks for F77_INT vs octave_idx_type changes
John W. Eaton <jwe@octave.org>
parents: 25046
diff changeset
1009 F77_INT*, F77_DBLE*, F77_DBLE*,
1fe6002f68a7 update arpack checks for F77_INT vs octave_idx_type changes
John W. Eaton <jwe@octave.org>
parents: 25046
diff changeset
1010 const F77_INT&, F77_INT&
18058
46ca76f194cb make arpack check work with --enable-64
John W. Eaton <jwe@octave.org>
parents: 18036
diff changeset
1011 F77_CHAR_ARG_LEN_DECL
46ca76f194cb make arpack check work with --enable-64
John W. Eaton <jwe@octave.org>
parents: 18036
diff changeset
1012 F77_CHAR_ARG_LEN_DECL);
46ca76f194cb make arpack check work with --enable-64
John W. Eaton <jwe@octave.org>
parents: 18036
diff changeset
1013
46ca76f194cb make arpack check work with --enable-64
John W. Eaton <jwe@octave.org>
parents: 18036
diff changeset
1014 F77_RET_T
25047
1fe6002f68a7 update arpack checks for F77_INT vs octave_idx_type changes
John W. Eaton <jwe@octave.org>
parents: 25046
diff changeset
1015 F77_FUNC (dneupd, DNEUPD) (const F77_INT&,
18058
46ca76f194cb make arpack check work with --enable-64
John W. Eaton <jwe@octave.org>
parents: 18036
diff changeset
1016 F77_CONST_CHAR_ARG_DECL,
25047
1fe6002f68a7 update arpack checks for F77_INT vs octave_idx_type changes
John W. Eaton <jwe@octave.org>
parents: 25046
diff changeset
1017 F77_INT*, F77_DBLE*, F77_DBLE*,
1fe6002f68a7 update arpack checks for F77_INT vs octave_idx_type changes
John W. Eaton <jwe@octave.org>
parents: 25046
diff changeset
1018 F77_DBLE*, const F77_INT&, const F77_DBLE&,
1fe6002f68a7 update arpack checks for F77_INT vs octave_idx_type changes
John W. Eaton <jwe@octave.org>
parents: 25046
diff changeset
1019 const F77_DBLE&, F77_DBLE*,
18058
46ca76f194cb make arpack check work with --enable-64
John W. Eaton <jwe@octave.org>
parents: 18036
diff changeset
1020 F77_CONST_CHAR_ARG_DECL,
25047
1fe6002f68a7 update arpack checks for F77_INT vs octave_idx_type changes
John W. Eaton <jwe@octave.org>
parents: 25046
diff changeset
1021 const F77_INT&,
18058
46ca76f194cb make arpack check work with --enable-64
John W. Eaton <jwe@octave.org>
parents: 18036
diff changeset
1022 F77_CONST_CHAR_ARG_DECL,
25047
1fe6002f68a7 update arpack checks for F77_INT vs octave_idx_type changes
John W. Eaton <jwe@octave.org>
parents: 25046
diff changeset
1023 F77_INT&, const F77_DBLE&, F77_DBLE*,
1fe6002f68a7 update arpack checks for F77_INT vs octave_idx_type changes
John W. Eaton <jwe@octave.org>
parents: 25046
diff changeset
1024 const F77_INT&, F77_DBLE*,
1fe6002f68a7 update arpack checks for F77_INT vs octave_idx_type changes
John W. Eaton <jwe@octave.org>
parents: 25046
diff changeset
1025 const F77_INT&, F77_INT*,
1fe6002f68a7 update arpack checks for F77_INT vs octave_idx_type changes
John W. Eaton <jwe@octave.org>
parents: 25046
diff changeset
1026 F77_INT*, F77_DBLE*, F77_DBLE*,
1fe6002f68a7 update arpack checks for F77_INT vs octave_idx_type changes
John W. Eaton <jwe@octave.org>
parents: 25046
diff changeset
1027 const F77_INT&, F77_INT&
18058
46ca76f194cb make arpack check work with --enable-64
John W. Eaton <jwe@octave.org>
parents: 18036
diff changeset
1028 F77_CHAR_ARG_LEN_DECL
46ca76f194cb make arpack check work with --enable-64
John W. Eaton <jwe@octave.org>
parents: 18036
diff changeset
1029 F77_CHAR_ARG_LEN_DECL
46ca76f194cb make arpack check work with --enable-64
John W. Eaton <jwe@octave.org>
parents: 18036
diff changeset
1030 F77_CHAR_ARG_LEN_DECL);
46ca76f194cb make arpack check work with --enable-64
John W. Eaton <jwe@octave.org>
parents: 18036
diff changeset
1031
46ca76f194cb make arpack check work with --enable-64
John W. Eaton <jwe@octave.org>
parents: 18036
diff changeset
1032 F77_RET_T
46ca76f194cb make arpack check work with --enable-64
John W. Eaton <jwe@octave.org>
parents: 18036
diff changeset
1033 F77_FUNC (dgemv, DGEMV) (F77_CONST_CHAR_ARG_DECL,
25047
1fe6002f68a7 update arpack checks for F77_INT vs octave_idx_type changes
John W. Eaton <jwe@octave.org>
parents: 25046
diff changeset
1034 const F77_INT&, const F77_INT&,
1fe6002f68a7 update arpack checks for F77_INT vs octave_idx_type changes
John W. Eaton <jwe@octave.org>
parents: 25046
diff changeset
1035 const F77_DBLE&, const F77_DBLE*,
1fe6002f68a7 update arpack checks for F77_INT vs octave_idx_type changes
John W. Eaton <jwe@octave.org>
parents: 25046
diff changeset
1036 const F77_INT&, const F77_DBLE*,
1fe6002f68a7 update arpack checks for F77_INT vs octave_idx_type changes
John W. Eaton <jwe@octave.org>
parents: 25046
diff changeset
1037 const F77_INT&, const F77_DBLE&,
1fe6002f68a7 update arpack checks for F77_INT vs octave_idx_type changes
John W. Eaton <jwe@octave.org>
parents: 25046
diff changeset
1038 F77_DBLE*, const F77_INT&
18058
46ca76f194cb make arpack check work with --enable-64
John W. Eaton <jwe@octave.org>
parents: 18036
diff changeset
1039 F77_CHAR_ARG_LEN_DECL);
46ca76f194cb make arpack check work with --enable-64
John W. Eaton <jwe@octave.org>
parents: 18036
diff changeset
1040 }
46ca76f194cb make arpack check work with --enable-64
John W. Eaton <jwe@octave.org>
parents: 18036
diff changeset
1041
14147
71e28fda7be9 use C++ program to test ARPACK
John W. Eaton <jwe@octave.org>
parents: 14144
diff changeset
1042 void
71e28fda7be9 use C++ program to test ARPACK
John W. Eaton <jwe@octave.org>
parents: 14144
diff changeset
1043 doit (void)
71e28fda7be9 use C++ program to test ARPACK
John W. Eaton <jwe@octave.org>
parents: 14144
diff changeset
1044 {
71e28fda7be9 use C++ program to test ARPACK
John W. Eaton <jwe@octave.org>
parents: 14144
diff changeset
1045 // Based on function EigsRealNonSymmetricMatrix from liboctave/eigs-base.cc.
14144
834df9f10963 remove ARPACK files from sources and restore configure checks for external ARPACK library
John W. Eaton <jwe@octave.org>
parents: 14138
diff changeset
1046
24289
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1047 // Problem matrix. See bug #31479.
25047
1fe6002f68a7 update arpack checks for F77_INT vs octave_idx_type changes
John W. Eaton <jwe@octave.org>
parents: 25046
diff changeset
1048 F77_INT n = 4;
14147
71e28fda7be9 use C++ program to test ARPACK
John W. Eaton <jwe@octave.org>
parents: 14144
diff changeset
1049 double *m = new double [n * n];
71e28fda7be9 use C++ program to test ARPACK
John W. Eaton <jwe@octave.org>
parents: 14144
diff changeset
1050 m[0] = 1, m[4] = 0, m[8] = 0, m[12] = -1;
24289
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1051 m[1] = 0, m[5] = 1, m[9] = 0, m[13] = 0;
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1052 m[2] = 0, m[6] = 0, m[10] = 1, m[14] = 0;
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1053 m[3] = 0, m[7] = 0, m[11] = 2, m[15] = 1;
14144
834df9f10963 remove ARPACK files from sources and restore configure checks for external ARPACK library
John W. Eaton <jwe@octave.org>
parents: 14138
diff changeset
1054
14147
71e28fda7be9 use C++ program to test ARPACK
John W. Eaton <jwe@octave.org>
parents: 14144
diff changeset
1055 double *resid = new double [4];
14144
834df9f10963 remove ARPACK files from sources and restore configure checks for external ARPACK library
John W. Eaton <jwe@octave.org>
parents: 14138
diff changeset
1056
14147
71e28fda7be9 use C++ program to test ARPACK
John W. Eaton <jwe@octave.org>
parents: 14144
diff changeset
1057 resid[0] = 0.960966;
71e28fda7be9 use C++ program to test ARPACK
John W. Eaton <jwe@octave.org>
parents: 14144
diff changeset
1058 resid[1] = 0.741195;
71e28fda7be9 use C++ program to test ARPACK
John W. Eaton <jwe@octave.org>
parents: 14144
diff changeset
1059 resid[2] = 0.150143;
71e28fda7be9 use C++ program to test ARPACK
John W. Eaton <jwe@octave.org>
parents: 14144
diff changeset
1060 resid[3] = 0.868067;
14144
834df9f10963 remove ARPACK files from sources and restore configure checks for external ARPACK library
John W. Eaton <jwe@octave.org>
parents: 14138
diff changeset
1061
25047
1fe6002f68a7 update arpack checks for F77_INT vs octave_idx_type changes
John W. Eaton <jwe@octave.org>
parents: 25046
diff changeset
1062 F77_INT *ip = new F77_INT [11];
14144
834df9f10963 remove ARPACK files from sources and restore configure checks for external ARPACK library
John W. Eaton <jwe@octave.org>
parents: 14138
diff changeset
1063
14147
71e28fda7be9 use C++ program to test ARPACK
John W. Eaton <jwe@octave.org>
parents: 14144
diff changeset
1064 ip[0] = 1; // ishift
71e28fda7be9 use C++ program to test ARPACK
John W. Eaton <jwe@octave.org>
parents: 14144
diff changeset
1065 ip[1] = 0; // ip[1] not referenced
71e28fda7be9 use C++ program to test ARPACK
John W. Eaton <jwe@octave.org>
parents: 14144
diff changeset
1066 ip[2] = 300; // mxiter, maximum number of iterations
71e28fda7be9 use C++ program to test ARPACK
John W. Eaton <jwe@octave.org>
parents: 14144
diff changeset
1067 ip[3] = 1; // NB blocksize in recurrence
71e28fda7be9 use C++ program to test ARPACK
John W. Eaton <jwe@octave.org>
parents: 14144
diff changeset
1068 ip[4] = 0; // nconv, number of Ritz values that satisfy convergence
71e28fda7be9 use C++ program to test ARPACK
John W. Eaton <jwe@octave.org>
parents: 14144
diff changeset
1069 ip[5] = 0; // ip[5] not referenced
71e28fda7be9 use C++ program to test ARPACK
John W. Eaton <jwe@octave.org>
parents: 14144
diff changeset
1070 ip[6] = 1; // mode
71e28fda7be9 use C++ program to test ARPACK
John W. Eaton <jwe@octave.org>
parents: 14144
diff changeset
1071 ip[7] = 0; // ip[7] to ip[10] are return values
71e28fda7be9 use C++ program to test ARPACK
John W. Eaton <jwe@octave.org>
parents: 14144
diff changeset
1072 ip[8] = 0;
71e28fda7be9 use C++ program to test ARPACK
John W. Eaton <jwe@octave.org>
parents: 14144
diff changeset
1073 ip[9] = 0;
71e28fda7be9 use C++ program to test ARPACK
John W. Eaton <jwe@octave.org>
parents: 14144
diff changeset
1074 ip[10] = 0;
17034
8d84dc5f5b5d acinclude.m4: Use m4 quote '[' rather than '"' in AC_MSG_ERROR.
Rik <rik@octave.org>
parents: 17031
diff changeset
1075
25047
1fe6002f68a7 update arpack checks for F77_INT vs octave_idx_type changes
John W. Eaton <jwe@octave.org>
parents: 25046
diff changeset
1076 F77_INT *ipntr = new F77_INT [14];
14144
834df9f10963 remove ARPACK files from sources and restore configure checks for external ARPACK library
John W. Eaton <jwe@octave.org>
parents: 14138
diff changeset
1077
25047
1fe6002f68a7 update arpack checks for F77_INT vs octave_idx_type changes
John W. Eaton <jwe@octave.org>
parents: 25046
diff changeset
1078 F77_INT k = 1;
1fe6002f68a7 update arpack checks for F77_INT vs octave_idx_type changes
John W. Eaton <jwe@octave.org>
parents: 25046
diff changeset
1079 F77_INT p = 3;
1fe6002f68a7 update arpack checks for F77_INT vs octave_idx_type changes
John W. Eaton <jwe@octave.org>
parents: 25046
diff changeset
1080 F77_INT lwork = 3 * p * (p + 2);
14147
71e28fda7be9 use C++ program to test ARPACK
John W. Eaton <jwe@octave.org>
parents: 14144
diff changeset
1081
71e28fda7be9 use C++ program to test ARPACK
John W. Eaton <jwe@octave.org>
parents: 14144
diff changeset
1082 double *v = new double [n * (p + 1)];
71e28fda7be9 use C++ program to test ARPACK
John W. Eaton <jwe@octave.org>
parents: 14144
diff changeset
1083 double *workl = new double [lwork + 1];
71e28fda7be9 use C++ program to test ARPACK
John W. Eaton <jwe@octave.org>
parents: 14144
diff changeset
1084 double *workd = new double [3 * n + 1];
71e28fda7be9 use C++ program to test ARPACK
John W. Eaton <jwe@octave.org>
parents: 14144
diff changeset
1085
25047
1fe6002f68a7 update arpack checks for F77_INT vs octave_idx_type changes
John W. Eaton <jwe@octave.org>
parents: 25046
diff changeset
1086 F77_INT ido = 0;
1fe6002f68a7 update arpack checks for F77_INT vs octave_idx_type changes
John W. Eaton <jwe@octave.org>
parents: 25046
diff changeset
1087 F77_INT info = 0;
14144
834df9f10963 remove ARPACK files from sources and restore configure checks for external ARPACK library
John W. Eaton <jwe@octave.org>
parents: 14138
diff changeset
1088
14147
71e28fda7be9 use C++ program to test ARPACK
John W. Eaton <jwe@octave.org>
parents: 14144
diff changeset
1089 double tol = DBL_EPSILON;
71e28fda7be9 use C++ program to test ARPACK
John W. Eaton <jwe@octave.org>
parents: 14144
diff changeset
1090
17034
8d84dc5f5b5d acinclude.m4: Use m4 quote '[' rather than '"' in AC_MSG_ERROR.
Rik <rik@octave.org>
parents: 17031
diff changeset
1091 do
14147
71e28fda7be9 use C++ program to test ARPACK
John W. Eaton <jwe@octave.org>
parents: 14144
diff changeset
1092 {
18058
46ca76f194cb make arpack check work with --enable-64
John W. Eaton <jwe@octave.org>
parents: 18036
diff changeset
1093 F77_FUNC (dnaupd, DNAUPD) (ido, F77_CONST_CHAR_ARG2 ("I", 1),
46ca76f194cb make arpack check work with --enable-64
John W. Eaton <jwe@octave.org>
parents: 18036
diff changeset
1094 n, F77_CONST_CHAR_ARG2 ("LM", 2),
46ca76f194cb make arpack check work with --enable-64
John W. Eaton <jwe@octave.org>
parents: 18036
diff changeset
1095 k, tol, resid, p, v, n, ip, ipntr,
46ca76f194cb make arpack check work with --enable-64
John W. Eaton <jwe@octave.org>
parents: 18036
diff changeset
1096 workd, workl, lwork, info
46ca76f194cb make arpack check work with --enable-64
John W. Eaton <jwe@octave.org>
parents: 18036
diff changeset
1097 F77_CHAR_ARG_LEN (1)
46ca76f194cb make arpack check work with --enable-64
John W. Eaton <jwe@octave.org>
parents: 18036
diff changeset
1098 F77_CHAR_ARG_LEN (2));
14147
71e28fda7be9 use C++ program to test ARPACK
John W. Eaton <jwe@octave.org>
parents: 14144
diff changeset
1099
71e28fda7be9 use C++ program to test ARPACK
John W. Eaton <jwe@octave.org>
parents: 14144
diff changeset
1100 if (ido == -1 || ido == 1 || ido == 2)
71e28fda7be9 use C++ program to test ARPACK
John W. Eaton <jwe@octave.org>
parents: 14144
diff changeset
1101 {
71e28fda7be9 use C++ program to test ARPACK
John W. Eaton <jwe@octave.org>
parents: 14144
diff changeset
1102 double *x = workd + ipntr[0] - 1;
71e28fda7be9 use C++ program to test ARPACK
John W. Eaton <jwe@octave.org>
parents: 14144
diff changeset
1103 double *y = workd + ipntr[1] - 1;
14144
834df9f10963 remove ARPACK files from sources and restore configure checks for external ARPACK library
John W. Eaton <jwe@octave.org>
parents: 14138
diff changeset
1104
18058
46ca76f194cb make arpack check work with --enable-64
John W. Eaton <jwe@octave.org>
parents: 18036
diff changeset
1105 F77_FUNC (dgemv, DGEMV) (F77_CONST_CHAR_ARG2 ("N", 1),
46ca76f194cb make arpack check work with --enable-64
John W. Eaton <jwe@octave.org>
parents: 18036
diff changeset
1106 n, n, 1.0, m, n, x, 1, 0.0, y, 1
46ca76f194cb make arpack check work with --enable-64
John W. Eaton <jwe@octave.org>
parents: 18036
diff changeset
1107 F77_CHAR_ARG_LEN (1));
14147
71e28fda7be9 use C++ program to test ARPACK
John W. Eaton <jwe@octave.org>
parents: 14144
diff changeset
1108 }
71e28fda7be9 use C++ program to test ARPACK
John W. Eaton <jwe@octave.org>
parents: 14144
diff changeset
1109 else
71e28fda7be9 use C++ program to test ARPACK
John W. Eaton <jwe@octave.org>
parents: 14144
diff changeset
1110 {
71e28fda7be9 use C++ program to test ARPACK
John W. Eaton <jwe@octave.org>
parents: 14144
diff changeset
1111 if (info < 0)
24289
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1112 return; // Error
14144
834df9f10963 remove ARPACK files from sources and restore configure checks for external ARPACK library
John W. Eaton <jwe@octave.org>
parents: 14138
diff changeset
1113
14147
71e28fda7be9 use C++ program to test ARPACK
John W. Eaton <jwe@octave.org>
parents: 14144
diff changeset
1114 break;
71e28fda7be9 use C++ program to test ARPACK
John W. Eaton <jwe@octave.org>
parents: 14144
diff changeset
1115 }
17034
8d84dc5f5b5d acinclude.m4: Use m4 quote '[' rather than '"' in AC_MSG_ERROR.
Rik <rik@octave.org>
parents: 17031
diff changeset
1116 }
14147
71e28fda7be9 use C++ program to test ARPACK
John W. Eaton <jwe@octave.org>
parents: 14144
diff changeset
1117 while (1);
14144
834df9f10963 remove ARPACK files from sources and restore configure checks for external ARPACK library
John W. Eaton <jwe@octave.org>
parents: 14138
diff changeset
1118
25047
1fe6002f68a7 update arpack checks for F77_INT vs octave_idx_type changes
John W. Eaton <jwe@octave.org>
parents: 25046
diff changeset
1119 F77_INT *sel = new F77_INT [p];
14144
834df9f10963 remove ARPACK files from sources and restore configure checks for external ARPACK library
John W. Eaton <jwe@octave.org>
parents: 14138
diff changeset
1120
14147
71e28fda7be9 use C++ program to test ARPACK
John W. Eaton <jwe@octave.org>
parents: 14144
diff changeset
1121 // In Octave, the dimensions of dr and di are k+1, but k+2 avoids segfault
71e28fda7be9 use C++ program to test ARPACK
John W. Eaton <jwe@octave.org>
parents: 14144
diff changeset
1122 double *dr = new double [k + 1];
71e28fda7be9 use C++ program to test ARPACK
John W. Eaton <jwe@octave.org>
parents: 14144
diff changeset
1123 double *di = new double [k + 1];
71e28fda7be9 use C++ program to test ARPACK
John W. Eaton <jwe@octave.org>
parents: 14144
diff changeset
1124 double *workev = new double [3 * p];
71e28fda7be9 use C++ program to test ARPACK
John W. Eaton <jwe@octave.org>
parents: 14144
diff changeset
1125
25047
1fe6002f68a7 update arpack checks for F77_INT vs octave_idx_type changes
John W. Eaton <jwe@octave.org>
parents: 25046
diff changeset
1126 for (F77_INT i = 0; i < k + 1; i++)
24289
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1127 dr[i] = di[i] = 0.0;
14147
71e28fda7be9 use C++ program to test ARPACK
John W. Eaton <jwe@octave.org>
parents: 14144
diff changeset
1128
25047
1fe6002f68a7 update arpack checks for F77_INT vs octave_idx_type changes
John W. Eaton <jwe@octave.org>
parents: 25046
diff changeset
1129 F77_INT rvec = 1;
14144
834df9f10963 remove ARPACK files from sources and restore configure checks for external ARPACK library
John W. Eaton <jwe@octave.org>
parents: 14138
diff changeset
1130
14147
71e28fda7be9 use C++ program to test ARPACK
John W. Eaton <jwe@octave.org>
parents: 14144
diff changeset
1131 double sigmar = 0.0;
71e28fda7be9 use C++ program to test ARPACK
John W. Eaton <jwe@octave.org>
parents: 14144
diff changeset
1132 double sigmai = 0.0;
71e28fda7be9 use C++ program to test ARPACK
John W. Eaton <jwe@octave.org>
parents: 14144
diff changeset
1133
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1134 // In Octave, this is n*(k+1), but n*(k+2) avoids segfault
14147
71e28fda7be9 use C++ program to test ARPACK
John W. Eaton <jwe@octave.org>
parents: 14144
diff changeset
1135 double *z = new double [n * (k + 1)];
14144
834df9f10963 remove ARPACK files from sources and restore configure checks for external ARPACK library
John W. Eaton <jwe@octave.org>
parents: 14138
diff changeset
1136
18058
46ca76f194cb make arpack check work with --enable-64
John W. Eaton <jwe@octave.org>
parents: 18036
diff changeset
1137 F77_FUNC (dneupd, DNEUPD) (rvec, F77_CONST_CHAR_ARG2 ("A", 1),
46ca76f194cb make arpack check work with --enable-64
John W. Eaton <jwe@octave.org>
parents: 18036
diff changeset
1138 sel, dr, di, z, n, sigmar, sigmai, workev,
46ca76f194cb make arpack check work with --enable-64
John W. Eaton <jwe@octave.org>
parents: 18036
diff changeset
1139 F77_CONST_CHAR_ARG2 ("I", 1), n,
46ca76f194cb make arpack check work with --enable-64
John W. Eaton <jwe@octave.org>
parents: 18036
diff changeset
1140 F77_CONST_CHAR_ARG2 ("LM", 2), k, tol,
14147
71e28fda7be9 use C++ program to test ARPACK
John W. Eaton <jwe@octave.org>
parents: 14144
diff changeset
1141 resid, p, v, n, ip, ipntr, workd,
18058
46ca76f194cb make arpack check work with --enable-64
John W. Eaton <jwe@octave.org>
parents: 18036
diff changeset
1142 workl, lwork, info
46ca76f194cb make arpack check work with --enable-64
John W. Eaton <jwe@octave.org>
parents: 18036
diff changeset
1143 F77_CHAR_ARG_LEN (1)
46ca76f194cb make arpack check work with --enable-64
John W. Eaton <jwe@octave.org>
parents: 18036
diff changeset
1144 F77_CHAR_ARG_LEN (1)
46ca76f194cb make arpack check work with --enable-64
John W. Eaton <jwe@octave.org>
parents: 18036
diff changeset
1145 F77_CHAR_ARG_LEN (2));
14147
71e28fda7be9 use C++ program to test ARPACK
John W. Eaton <jwe@octave.org>
parents: 14144
diff changeset
1146 }
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1147
14147
71e28fda7be9 use C++ program to test ARPACK
John W. Eaton <jwe@octave.org>
parents: 14144
diff changeset
1148 ]], [[
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1149
14147
71e28fda7be9 use C++ program to test ARPACK
John W. Eaton <jwe@octave.org>
parents: 14144
diff changeset
1150 for (int i = 0; i < 10; i++)
71e28fda7be9 use C++ program to test ARPACK
John W. Eaton <jwe@octave.org>
parents: 14144
diff changeset
1151 doit ();
24289
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1152
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1153 ]])],
24289
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1154 octave_cv_lib_arpack_ok_1=yes,
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1155 octave_cv_lib_arpack_ok_1=no,
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1156 octave_cv_lib_arpack_ok_1=yes)
15294
d1751eee9a42 acinclude.m4: Use AC_LANG_PUSH macro with AC_CACHE_CHECK for greater efficiency.
Rik <rik@octave.org>
parents: 15293
diff changeset
1157 AC_LANG_POP(C++)
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1158 ])
24289
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1159 if test $octave_cv_lib_arpack_ok_1 = yes; then
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1160 $1
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1161 :
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1162 else
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1163 $2
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1164 :
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1165 fi
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1166 ])
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1167 dnl
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1168 dnl Check whether ARPACK is buggy (it doesn't crash, but gets wrong answers).
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1169 dnl
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1170 dnl ARPACK versions < 3.3.0 have a bug which results in different eigenvalues
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1171 dnl being calculated depending on whether eigenvectors are also requested.
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1172 dnl See bug #52425.
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1173 dnl
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1174 AC_DEFUN([OCTAVE_CHECK_LIB_ARPACK_OK_2], [
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1175 AC_CACHE_CHECK([whether the arpack library is free of bugs],
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1176 [octave_cv_lib_arpack_ok_2],
24336
0771ce2d30ef build: Fix compiling OCTAVE_ARPACK_OK_2 Fortran code (bug #52425).
Rik <rik@octave.org>
parents: 24289
diff changeset
1177 [save_FFLAGS="$FFLAGS"
0771ce2d30ef build: Fix compiling OCTAVE_ARPACK_OK_2 Fortran code (bug #52425).
Rik <rik@octave.org>
parents: 24289
diff changeset
1178 FFLAGS="$FFLAGS $F77_INTEGER_8_FLAG"
0771ce2d30ef build: Fix compiling OCTAVE_ARPACK_OK_2 Fortran code (bug #52425).
Rik <rik@octave.org>
parents: 24289
diff changeset
1179 AC_LANG_PUSH(Fortran 77)
24289
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1180 AC_RUN_IFELSE([[
24446
4ca5c9f899d3 maint: Strip trailing whitespace from source files.
John W. Eaton <jwe@octave.org>
parents: 24337
diff changeset
1181 program bug_52425
24289
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1182 c
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1183 integer maxn, maxnev, maxncv, ldv
24446
4ca5c9f899d3 maint: Strip trailing whitespace from source files.
John W. Eaton <jwe@octave.org>
parents: 24337
diff changeset
1184 parameter (maxn=256, maxnev=10, maxncv=25,
24289
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1185 $ ldv=maxn )
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1186 c
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1187 Double precision
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1188 & v(ldv,maxncv), workl(maxncv*(maxncv+8)),
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1189 & workd(3*maxn), d(maxncv,2), resid(maxn),
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1190 & ax(maxn)
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1191 logical select(maxncv)
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1192 integer iparam(11), ipntr(11)
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1193 c
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1194 character bmat*1, which*2
24446
4ca5c9f899d3 maint: Strip trailing whitespace from source files.
John W. Eaton <jwe@octave.org>
parents: 24337
diff changeset
1195 integer ido, n, nev, ncv, lworkl, info, ierr, j,
24289
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1196 & nx, nconv, maxitr, mode, ishfts
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1197 logical rvec
24446
4ca5c9f899d3 maint: Strip trailing whitespace from source files.
John W. Eaton <jwe@octave.org>
parents: 24337
diff changeset
1198 Double precision
24289
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1199 & tol, sigma
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1200 c
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1201 Double precision
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1202 & zero
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1203 parameter (zero = 0.0D+0)
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1204 c
24446
4ca5c9f899d3 maint: Strip trailing whitespace from source files.
John W. Eaton <jwe@octave.org>
parents: 24337
diff changeset
1205 Double precision
24289
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1206 & dnrm2
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1207 external dnrm2, daxpy
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1208 c
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1209 intrinsic abs
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1210 c
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1211 n = 20
24446
4ca5c9f899d3 maint: Strip trailing whitespace from source files.
John W. Eaton <jwe@octave.org>
parents: 24337
diff changeset
1212 nev = 4
4ca5c9f899d3 maint: Strip trailing whitespace from source files.
John W. Eaton <jwe@octave.org>
parents: 24337
diff changeset
1213 ncv = 20
24289
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1214 bmat = 'I'
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1215 which = 'BE'
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1216 c
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1217 lworkl = ncv*(ncv+8)
24446
4ca5c9f899d3 maint: Strip trailing whitespace from source files.
John W. Eaton <jwe@octave.org>
parents: 24337
diff changeset
1218 tol = zero
24289
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1219 info = 1
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1220 do j = 1,n
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1221 resid (j) = 1.0d0
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1222 end do
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1223 ido = 0
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1224 c
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1225 ishfts = 1
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1226 maxitr = 300
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1227 mode = 1
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1228 c
24446
4ca5c9f899d3 maint: Strip trailing whitespace from source files.
John W. Eaton <jwe@octave.org>
parents: 24337
diff changeset
1229 iparam(1) = ishfts
4ca5c9f899d3 maint: Strip trailing whitespace from source files.
John W. Eaton <jwe@octave.org>
parents: 24337
diff changeset
1230 iparam(3) = maxitr
4ca5c9f899d3 maint: Strip trailing whitespace from source files.
John W. Eaton <jwe@octave.org>
parents: 24337
diff changeset
1231 iparam(7) = mode
24289
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1232 c
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1233 10 continue
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1234 c
24446
4ca5c9f899d3 maint: Strip trailing whitespace from source files.
John W. Eaton <jwe@octave.org>
parents: 24337
diff changeset
1235 call dsaupd ( ido, bmat, n, which, nev, tol, resid,
24289
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1236 & ncv, v, ldv, iparam, ipntr, workd, workl,
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1237 & lworkl, info )
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1238 c
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1239 if (ido .eq. -1 .or. ido .eq. 1) then
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1240 call av (n, workd(ipntr(1)), workd(ipntr(2)))
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1241 go to 10
24446
4ca5c9f899d3 maint: Strip trailing whitespace from source files.
John W. Eaton <jwe@octave.org>
parents: 24337
diff changeset
1242 end if
24289
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1243 c
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1244 if ( info .lt. 0 ) then
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1245 stop 1
24446
4ca5c9f899d3 maint: Strip trailing whitespace from source files.
John W. Eaton <jwe@octave.org>
parents: 24337
diff changeset
1246 else
24289
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1247 rvec = .false.
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1248 c
24446
4ca5c9f899d3 maint: Strip trailing whitespace from source files.
John W. Eaton <jwe@octave.org>
parents: 24337
diff changeset
1249 call dseupd ( rvec, 'All', select, d, v, ldv, sigma,
4ca5c9f899d3 maint: Strip trailing whitespace from source files.
John W. Eaton <jwe@octave.org>
parents: 24337
diff changeset
1250 & bmat, n, which, nev, tol, resid, ncv, v, ldv,
24289
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1251 & iparam, ipntr, workd, workl, lworkl, ierr )
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1252 c
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1253 if ( ierr .ne. 0) then
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1254 stop 1
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1255 else
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1256 nconv = iparam(5)
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1257 do 20 j=1, nconv
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1258 call av(n, v(1,j), ax)
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1259 call daxpy(n, -d(j,1), v(1,j), 1, ax, 1)
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1260 d(j,2) = dnrm2(n, ax, 1)
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1261 d(j,2) = d(j,2) / abs(d(j,1))
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1262 c
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1263 20 continue
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1264 c
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1265 c | Litmus test: return 1 or 0 based on returned eigenvalue
24446
4ca5c9f899d3 maint: Strip trailing whitespace from source files.
John W. Eaton <jwe@octave.org>
parents: 24337
diff changeset
1266 c
24289
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1267 if (abs(d(1,1) - 2.0810) > 1.0d-4) then
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1268 stop 1
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1269 else
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1270 stop 0
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1271 end if
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1272 end if
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1273 end if
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1274 c
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1275 end
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1276 c
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1277 subroutine av (n, v, w)
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1278 integer n, j
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1279 Double precision v(n), w(n)
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1280 c
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1281 w(1) = 4*v(1) + v(3)
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1282 w(2) = 4*v(2) + v(4)
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1283 do 10 j = 3, n - 2
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1284 w(j) = v(j-2) + 4*v(j) + v(j+2)
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1285 10 continue
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1286 w(n-1) = v(n-3) + 4 * v(n-1)
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1287 w(n) = v(n-2) + 4 * v(n)
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1288 return
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1289 end
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1290 ]],
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1291 octave_cv_lib_arpack_ok_2=yes,
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1292 octave_cv_lib_arpack_ok_2=no,
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1293 octave_cv_lib_arpack_ok_2=yes)
24336
0771ce2d30ef build: Fix compiling OCTAVE_ARPACK_OK_2 Fortran code (bug #52425).
Rik <rik@octave.org>
parents: 24289
diff changeset
1294 ## Restore FFLAGS.
0771ce2d30ef build: Fix compiling OCTAVE_ARPACK_OK_2 Fortran code (bug #52425).
Rik <rik@octave.org>
parents: 24289
diff changeset
1295 FFLAGS="$save_FFLAGS"
24289
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1296 AC_LANG_POP(Fortran 77)
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1297 ])
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1298 if test $octave_cv_lib_arpack_ok_2 = yes; then
14144
834df9f10963 remove ARPACK files from sources and restore configure checks for external ARPACK library
John W. Eaton <jwe@octave.org>
parents: 14138
diff changeset
1299 $1
15336
5fff79162342 acinclude.m4: Put temporary shell variables in macros into ac_octave namespace.
Rik <rik@octave.org>
parents: 15330
diff changeset
1300 :
14144
834df9f10963 remove ARPACK files from sources and restore configure checks for external ARPACK library
John W. Eaton <jwe@octave.org>
parents: 14138
diff changeset
1301 else
834df9f10963 remove ARPACK files from sources and restore configure checks for external ARPACK library
John W. Eaton <jwe@octave.org>
parents: 14138
diff changeset
1302 $2
15336
5fff79162342 acinclude.m4: Put temporary shell variables in macros into ac_octave namespace.
Rik <rik@octave.org>
parents: 15330
diff changeset
1303 :
14144
834df9f10963 remove ARPACK files from sources and restore configure checks for external ARPACK library
John W. Eaton <jwe@octave.org>
parents: 14138
diff changeset
1304 fi
834df9f10963 remove ARPACK files from sources and restore configure checks for external ARPACK library
John W. Eaton <jwe@octave.org>
parents: 14138
diff changeset
1305 ])
834df9f10963 remove ARPACK files from sources and restore configure checks for external ARPACK library
John W. Eaton <jwe@octave.org>
parents: 14138
diff changeset
1306 dnl
17241
03a666018e0f build: Detect new GLPK API features required since changeset 54e251e699bb
Mike Miller <mtmiller@ieee.org>
parents: 17197
diff changeset
1307 dnl Check whether GLPK provides the latest API functions required
03a666018e0f build: Detect new GLPK API features required since changeset 54e251e699bb
Mike Miller <mtmiller@ieee.org>
parents: 17197
diff changeset
1308 dnl for the glpk function. The glp_iptcp structure was introduced
03a666018e0f build: Detect new GLPK API features required since changeset 54e251e699bb
Mike Miller <mtmiller@ieee.org>
parents: 17197
diff changeset
1309 dnl in GLPK version 4.38.
03a666018e0f build: Detect new GLPK API features required since changeset 54e251e699bb
Mike Miller <mtmiller@ieee.org>
parents: 17197
diff changeset
1310 dnl
03a666018e0f build: Detect new GLPK API features required since changeset 54e251e699bb
Mike Miller <mtmiller@ieee.org>
parents: 17197
diff changeset
1311 AC_DEFUN([OCTAVE_CHECK_LIB_GLPK_OK], [
03a666018e0f build: Detect new GLPK API features required since changeset 54e251e699bb
Mike Miller <mtmiller@ieee.org>
parents: 17197
diff changeset
1312 AC_CACHE_CHECK([whether the glpk library has glp_interior(glp_prob*, glp_iptcp*)],
03a666018e0f build: Detect new GLPK API features required since changeset 54e251e699bb
Mike Miller <mtmiller@ieee.org>
parents: 17197
diff changeset
1313 [octave_cv_lib_glpk_ok],
03a666018e0f build: Detect new GLPK API features required since changeset 54e251e699bb
Mike Miller <mtmiller@ieee.org>
parents: 17197
diff changeset
1314 [AC_LANG_PUSH(C++)
03a666018e0f build: Detect new GLPK API features required since changeset 54e251e699bb
Mike Miller <mtmiller@ieee.org>
parents: 17197
diff changeset
1315 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
03a666018e0f build: Detect new GLPK API features required since changeset 54e251e699bb
Mike Miller <mtmiller@ieee.org>
parents: 17197
diff changeset
1316 extern "C"
03a666018e0f build: Detect new GLPK API features required since changeset 54e251e699bb
Mike Miller <mtmiller@ieee.org>
parents: 17197
diff changeset
1317 {
03a666018e0f build: Detect new GLPK API features required since changeset 54e251e699bb
Mike Miller <mtmiller@ieee.org>
parents: 17197
diff changeset
1318 #if defined (HAVE_GLPK_GLPK_H)
03a666018e0f build: Detect new GLPK API features required since changeset 54e251e699bb
Mike Miller <mtmiller@ieee.org>
parents: 17197
diff changeset
1319 #include <glpk/glpk.h>
03a666018e0f build: Detect new GLPK API features required since changeset 54e251e699bb
Mike Miller <mtmiller@ieee.org>
parents: 17197
diff changeset
1320 #else
03a666018e0f build: Detect new GLPK API features required since changeset 54e251e699bb
Mike Miller <mtmiller@ieee.org>
parents: 17197
diff changeset
1321 #include <glpk.h>
03a666018e0f build: Detect new GLPK API features required since changeset 54e251e699bb
Mike Miller <mtmiller@ieee.org>
parents: 17197
diff changeset
1322 #endif
03a666018e0f build: Detect new GLPK API features required since changeset 54e251e699bb
Mike Miller <mtmiller@ieee.org>
parents: 17197
diff changeset
1323 }
03a666018e0f build: Detect new GLPK API features required since changeset 54e251e699bb
Mike Miller <mtmiller@ieee.org>
parents: 17197
diff changeset
1324 ]], [[
03a666018e0f build: Detect new GLPK API features required since changeset 54e251e699bb
Mike Miller <mtmiller@ieee.org>
parents: 17197
diff changeset
1325 glp_prob *lp = glp_create_prob ();
03a666018e0f build: Detect new GLPK API features required since changeset 54e251e699bb
Mike Miller <mtmiller@ieee.org>
parents: 17197
diff changeset
1326 glp_iptcp iptcp;
03a666018e0f build: Detect new GLPK API features required since changeset 54e251e699bb
Mike Miller <mtmiller@ieee.org>
parents: 17197
diff changeset
1327 glp_init_iptcp (&iptcp);
03a666018e0f build: Detect new GLPK API features required since changeset 54e251e699bb
Mike Miller <mtmiller@ieee.org>
parents: 17197
diff changeset
1328 int retval = glp_interior (lp, &iptcp);
03a666018e0f build: Detect new GLPK API features required since changeset 54e251e699bb
Mike Miller <mtmiller@ieee.org>
parents: 17197
diff changeset
1329 ]])],
03a666018e0f build: Detect new GLPK API features required since changeset 54e251e699bb
Mike Miller <mtmiller@ieee.org>
parents: 17197
diff changeset
1330 octave_cv_lib_glpk_ok=yes,
03a666018e0f build: Detect new GLPK API features required since changeset 54e251e699bb
Mike Miller <mtmiller@ieee.org>
parents: 17197
diff changeset
1331 octave_cv_lib_glpk_ok=no)
03a666018e0f build: Detect new GLPK API features required since changeset 54e251e699bb
Mike Miller <mtmiller@ieee.org>
parents: 17197
diff changeset
1332 AC_LANG_POP(C++)
03a666018e0f build: Detect new GLPK API features required since changeset 54e251e699bb
Mike Miller <mtmiller@ieee.org>
parents: 17197
diff changeset
1333 ])
03a666018e0f build: Detect new GLPK API features required since changeset 54e251e699bb
Mike Miller <mtmiller@ieee.org>
parents: 17197
diff changeset
1334 if test $octave_cv_lib_glpk_ok = yes; then
03a666018e0f build: Detect new GLPK API features required since changeset 54e251e699bb
Mike Miller <mtmiller@ieee.org>
parents: 17197
diff changeset
1335 $1
03a666018e0f build: Detect new GLPK API features required since changeset 54e251e699bb
Mike Miller <mtmiller@ieee.org>
parents: 17197
diff changeset
1336 :
03a666018e0f build: Detect new GLPK API features required since changeset 54e251e699bb
Mike Miller <mtmiller@ieee.org>
parents: 17197
diff changeset
1337 else
03a666018e0f build: Detect new GLPK API features required since changeset 54e251e699bb
Mike Miller <mtmiller@ieee.org>
parents: 17197
diff changeset
1338 $2
03a666018e0f build: Detect new GLPK API features required since changeset 54e251e699bb
Mike Miller <mtmiller@ieee.org>
parents: 17197
diff changeset
1339 :
03a666018e0f build: Detect new GLPK API features required since changeset 54e251e699bb
Mike Miller <mtmiller@ieee.org>
parents: 17197
diff changeset
1340 fi
03a666018e0f build: Detect new GLPK API features required since changeset 54e251e699bb
Mike Miller <mtmiller@ieee.org>
parents: 17197
diff changeset
1341 ])
03a666018e0f build: Detect new GLPK API features required since changeset 54e251e699bb
Mike Miller <mtmiller@ieee.org>
parents: 17197
diff changeset
1342 dnl
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1343 dnl Check whether using HDF5 DLL under Windows. This is done by
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1344 dnl testing for a data symbol in the HDF5 library, which would
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1345 dnl require the definition of _HDF5USEDL_ under MSVC compiler.
12166
eceacb78aa7f don't add -L/usr/X11R6/lib to LDFLAGS in check for OpenGL libraries
John W. Eaton <jwe@octave.org>
parents: 11523
diff changeset
1346 dnl
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1347 AC_DEFUN([OCTAVE_CHECK_LIB_HDF5_DLL], [
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1348 AC_CACHE_CHECK([if _HDF5USEDLL_ needs to be defined],
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1349 [octave_cv_lib_hdf5_dll],
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1350 [AC_LINK_IFELSE([AC_LANG_PROGRAM([[
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1351 #include <hdf5.h>
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1352 ]], [[
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1353 hid_t x = H5T_NATIVE_DOUBLE;
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1354 return x
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1355 ]])],
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1356 [octave_cv_lib_hdf5_dll=no],
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1357 [save_CFLAGS="$CFLAGS"
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1358 CFLAGS="$CFLAGS -DWIN32 -D_HDF5USEDLL_"
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1359 save_LIBS="$LIBS"
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1360 LIBS="$HDF5_LIBS $LIBS"
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1361 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1362 #include <hdf5.h>
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1363 ]], [[
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1364 hid_t x = H5T_NATIVE_DOUBLE;
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1365 return x
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1366 ]])],
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1367 octave_cv_lib_hdf5_dll=yes,
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1368 octave_cv_lib_hdf5_dll=no)
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1369 CFLAGS="$save_CFLAGS"
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1370 LIBS="$save_LIBS"
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1371 ])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1372 ])
15336
5fff79162342 acinclude.m4: Put temporary shell variables in macros into ac_octave namespace.
Rik <rik@octave.org>
parents: 15330
diff changeset
1373 if test $octave_cv_lib_hdf5_dll = yes; then
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1374 AC_DEFINE(_HDF5USEDLL_, 1, [Define to 1 if using HDF5 dll (Win32).])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1375 fi
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1376 ])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1377 dnl
15133
f91eac1bc66d m4/acinclude.m4: Correct typos, use consistent style for describing macros.
Rik <rik@octave.org>
parents: 15126
diff changeset
1378 dnl Check for OpenGL. If found, define OPENGL_LIBS.
12166
eceacb78aa7f don't add -L/usr/X11R6/lib to LDFLAGS in check for OpenGL libraries
John W. Eaton <jwe@octave.org>
parents: 11523
diff changeset
1379 dnl
15063
36cbcc37fdb8 Refactor configure.ac to make it more understandable.
Rik <rik@octave.org>
parents: 15013
diff changeset
1380 dnl FIXME: The following tests should probably check for the
12166
eceacb78aa7f don't add -L/usr/X11R6/lib to LDFLAGS in check for OpenGL libraries
John W. Eaton <jwe@octave.org>
parents: 11523
diff changeset
1381 dnl libraries separately.
eceacb78aa7f don't add -L/usr/X11R6/lib to LDFLAGS in check for OpenGL libraries
John W. Eaton <jwe@octave.org>
parents: 11523
diff changeset
1382 dnl
15063
36cbcc37fdb8 Refactor configure.ac to make it more understandable.
Rik <rik@octave.org>
parents: 15013
diff changeset
1383 dnl FIXME: Should we allow a way to specify a directory for OpenGL
12166
eceacb78aa7f don't add -L/usr/X11R6/lib to LDFLAGS in check for OpenGL libraries
John W. Eaton <jwe@octave.org>
parents: 11523
diff changeset
1384 dnl libraries and header files?
7825
13871b7de124 Import sources for OpenGL-based renderer.
Michael Goffioul <michael.goffioul@gmail.com>
parents: 7361
diff changeset
1385 dnl
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1386 AC_DEFUN([OCTAVE_CHECK_LIB_OPENGL], [
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1387 OPENGL_LIBS=
8724
a50228129dba Introduce new macro OCTAVE_GLUTESSCALLBACK_THREEDOTS. Use definitions HAVE_FRAMEWORK_OPENGL and HAVE_GLUTESSCALLBACK_THREEDOTS for Mac's framework OpenGL implementation.
Ben Abbott <bpabbott@mac.com>
parents: 8676
diff changeset
1388
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1389 ## On MacOSX systems the OpenGL framework can be used
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1390 OCTAVE_HAVE_FRAMEWORK(OpenGL, [[
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1391 #include <OpenGL/gl.h>
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1392 #include <OpenGL/glu.h>
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1393 ]], [[
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1394 GLint par; glGetIntegerv (GL_VIEWPORT, &par);
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1395 ]],
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1396 have_framework_opengl=yes, have_framework_opengl=no)
8724
a50228129dba Introduce new macro OCTAVE_GLUTESSCALLBACK_THREEDOTS. Use definitions HAVE_FRAMEWORK_OPENGL and HAVE_GLUTESSCALLBACK_THREEDOTS for Mac's framework OpenGL implementation.
Ben Abbott <bpabbott@mac.com>
parents: 8676
diff changeset
1397
15336
5fff79162342 acinclude.m4: Put temporary shell variables in macros into ac_octave namespace.
Rik <rik@octave.org>
parents: 15330
diff changeset
1398 if test $have_framework_opengl = yes; then
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1399 AC_DEFINE(HAVE_FRAMEWORK_OPENGL, 1,
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1400 [Define to 1 if framework OPENGL is available.])
22208
83963bad5e7d improvements to Qt & OpenGL linking on the Mac (bug #41574)
Michael C. Grant <mcg@cvxr.com>
parents: 22150
diff changeset
1401 OPENGL_LIBS="-framework OpenGL"
83963bad5e7d improvements to Qt & OpenGL linking on the Mac (bug #41574)
Michael C. Grant <mcg@cvxr.com>
parents: 22150
diff changeset
1402 AC_MSG_NOTICE([adding -framework OpenGL to OPENGL_LIBS])
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1403 OCTAVE_CHECK_FUNC_GLUTESSCALLBACK_THREEDOTS
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1404 else
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1405 case $canonical_host_type in
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1406 *-*-mingw32* | *-*-msdosmsvc)
15319
daf74ce2afdc m4/acinclude.m4: Use more consistent m4 quoting of arguments to macros.
Rik <rik@octave.org>
parents: 15302
diff changeset
1407 AC_CHECK_HEADERS([windows.h])
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1408 ;;
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1409 esac
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1410 have_opengl_incs=no
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1411 AC_CHECK_HEADERS([GL/gl.h OpenGL/gl.h],
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1412 [AC_CHECK_HEADERS([GL/glu.h OpenGL/glu.h],
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1413 [have_opengl_incs=yes; break], [], [
21724
aba2e6293dd8 use "#if ..." consistently instead of "#ifdef" and "#ifndef"
John W. Eaton <jwe@octave.org>
parents: 21604
diff changeset
1414 #if defined (HAVE_WINDOWS_H)
7954
3ffc34caec65 configure fixes
John W. Eaton <jwe@octave.org>
parents: 7945
diff changeset
1415 #include <windows.h>
3ffc34caec65 configure fixes
John W. Eaton <jwe@octave.org>
parents: 7945
diff changeset
1416 #endif
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1417 ])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1418 break
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1419 ], [], [
21724
aba2e6293dd8 use "#if ..." consistently instead of "#ifdef" and "#ifndef"
John W. Eaton <jwe@octave.org>
parents: 21604
diff changeset
1420 #if defined (HAVE_WINDOWS_H)
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1421 # include <windows.h>
7954
3ffc34caec65 configure fixes
John W. Eaton <jwe@octave.org>
parents: 7945
diff changeset
1422 #endif
8724
a50228129dba Introduce new macro OCTAVE_GLUTESSCALLBACK_THREEDOTS. Use definitions HAVE_FRAMEWORK_OPENGL and HAVE_GLUTESSCALLBACK_THREEDOTS for Mac's framework OpenGL implementation.
Ben Abbott <bpabbott@mac.com>
parents: 8676
diff changeset
1423 ])
a50228129dba Introduce new macro OCTAVE_GLUTESSCALLBACK_THREEDOTS. Use definitions HAVE_FRAMEWORK_OPENGL and HAVE_GLUTESSCALLBACK_THREEDOTS for Mac's framework OpenGL implementation.
Ben Abbott <bpabbott@mac.com>
parents: 8676
diff changeset
1424
17197
fbee0d312af5 acinclude.m4: Remove some unnecessary double quotes around variables.
Rik <rik@octave.org>
parents: 17196
diff changeset
1425 if test $have_opengl_incs = yes; then
18866
95b69b880b19 Allow conpile of gl-render.cc under mingw.
John Donoghue
parents: 18854
diff changeset
1426 AC_CHECK_HEADERS([GL/glext.h OpenGL/glext.h], [], [], [
21724
aba2e6293dd8 use "#if ..." consistently instead of "#ifdef" and "#ifndef"
John W. Eaton <jwe@octave.org>
parents: 21604
diff changeset
1427 #if defined (HAVE_WINDOWS_H)
18866
95b69b880b19 Allow conpile of gl-render.cc under mingw.
John Donoghue
parents: 18854
diff changeset
1428 # include <windows.h>
95b69b880b19 Allow conpile of gl-render.cc under mingw.
John Donoghue
parents: 18854
diff changeset
1429 #endif
95b69b880b19 Allow conpile of gl-render.cc under mingw.
John Donoghue
parents: 18854
diff changeset
1430 #if defined (HAVE_GL_GL_H)
95b69b880b19 Allow conpile of gl-render.cc under mingw.
John Donoghue
parents: 18854
diff changeset
1431 # include <GL/gl.h>
95b69b880b19 Allow conpile of gl-render.cc under mingw.
John Donoghue
parents: 18854
diff changeset
1432 #elif defined (HAVE_OPENGL_GL_H)
95b69b880b19 Allow conpile of gl-render.cc under mingw.
John Donoghue
parents: 18854
diff changeset
1433 # include <OpenGL/gl.h>
95b69b880b19 Allow conpile of gl-render.cc under mingw.
John Donoghue
parents: 18854
diff changeset
1434 #endif
95b69b880b19 Allow conpile of gl-render.cc under mingw.
John Donoghue
parents: 18854
diff changeset
1435 ])
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1436 case $canonical_host_type in
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1437 *-*-mingw32* | *-*-msdosmsvc)
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1438 save_LIBS="$LIBS"
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1439 LIBS="$LIBS -lopengl32"
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1440 AC_MSG_CHECKING([for glEnable in -lopengl32])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1441 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1442 #if HAVE_WINDOWS_H
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1443 # include <windows.h>
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1444 #endif
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1445 #if defined (HAVE_GL_GL_H)
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1446 # include <GL/gl.h>
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1447 #elif defined (HAVE_OPENGL_GL_H)
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1448 # include <OpenGL/gl.h>
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1449 #endif
17034
8d84dc5f5b5d acinclude.m4: Use m4 quote '[' rather than '"' in AC_MSG_ERROR.
Rik <rik@octave.org>
parents: 17031
diff changeset
1450 ]], [[
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1451 glEnable(GL_SMOOTH);
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1452 ]])], [OPENGL_LIBS="-lopengl32 -lglu32"])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1453
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1454 LIBS="$save_LIBS"
21374
1487a68a496a untangle configuration of OpenGL, FLTK, and Qt (bug #47263)
John W. Eaton <jwe@octave.org>
parents: 21354
diff changeset
1455 if test -n "$OPENGL_LIBS"; then
15319
daf74ce2afdc m4/acinclude.m4: Use more consistent m4 quoting of arguments to macros.
Rik <rik@octave.org>
parents: 15302
diff changeset
1456 AC_MSG_RESULT([yes])
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1457 else
15319
daf74ce2afdc m4/acinclude.m4: Use more consistent m4 quoting of arguments to macros.
Rik <rik@octave.org>
parents: 15302
diff changeset
1458 AC_MSG_RESULT([no])
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1459 fi
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1460 ;;
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1461 *)
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1462 ## Non-Mac, Non-Windows systems use this check
15319
daf74ce2afdc m4/acinclude.m4: Use more consistent m4 quoting of arguments to macros.
Rik <rik@octave.org>
parents: 15302
diff changeset
1463 AC_CHECK_LIB([GL], [glEnable], [OPENGL_LIBS="-lGL -lGLU"])
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1464 ;;
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1465 esac
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1466 fi
8724
a50228129dba Introduce new macro OCTAVE_GLUTESSCALLBACK_THREEDOTS. Use definitions HAVE_FRAMEWORK_OPENGL and HAVE_GLUTESSCALLBACK_THREEDOTS for Mac's framework OpenGL implementation.
Ben Abbott <bpabbott@mac.com>
parents: 8676
diff changeset
1467 fi
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1468 AC_SUBST(OPENGL_LIBS)
21374
1487a68a496a untangle configuration of OpenGL, FLTK, and Qt (bug #47263)
John W. Eaton <jwe@octave.org>
parents: 21354
diff changeset
1469 if test -n "$OPENGL_LIBS"; then
1487a68a496a untangle configuration of OpenGL, FLTK, and Qt (bug #47263)
John W. Eaton <jwe@octave.org>
parents: 21354
diff changeset
1470 AC_DEFINE(HAVE_OPENGL, 1, [Define to 1 if OpenGL is available.])
1487a68a496a untangle configuration of OpenGL, FLTK, and Qt (bug #47263)
John W. Eaton <jwe@octave.org>
parents: 21354
diff changeset
1471 fi
7825
13871b7de124 Import sources for OpenGL-based renderer.
Michael Goffioul <michael.goffioul@gmail.com>
parents: 7361
diff changeset
1472 ])
7834
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1473 dnl
27543
d7b18d44ae4e Check if PCRE was compiled with --enable-utf (bug #35910).
Markus Mützel <markus.muetzel@gmx.de>
parents: 27450
diff changeset
1474 dnl Check whether PCRE is compiled with --enable-utf.
d7b18d44ae4e Check if PCRE was compiled with --enable-utf (bug #35910).
Markus Mützel <markus.muetzel@gmx.de>
parents: 27450
diff changeset
1475 dnl
d7b18d44ae4e Check if PCRE was compiled with --enable-utf (bug #35910).
Markus Mützel <markus.muetzel@gmx.de>
parents: 27450
diff changeset
1476 AC_DEFUN([OCTAVE_CHECK_LIB_PCRE_OK], [
d7b18d44ae4e Check if PCRE was compiled with --enable-utf (bug #35910).
Markus Mützel <markus.muetzel@gmx.de>
parents: 27450
diff changeset
1477 AC_CACHE_CHECK([whether PCRE library was compiled with UTF support],
d7b18d44ae4e Check if PCRE was compiled with --enable-utf (bug #35910).
Markus Mützel <markus.muetzel@gmx.de>
parents: 27450
diff changeset
1478 [octave_cv_lib_pcre_ok],
d7b18d44ae4e Check if PCRE was compiled with --enable-utf (bug #35910).
Markus Mützel <markus.muetzel@gmx.de>
parents: 27450
diff changeset
1479 [AC_LANG_PUSH(C++)
d7b18d44ae4e Check if PCRE was compiled with --enable-utf (bug #35910).
Markus Mützel <markus.muetzel@gmx.de>
parents: 27450
diff changeset
1480 AC_RUN_IFELSE([AC_LANG_PROGRAM([[
d7b18d44ae4e Check if PCRE was compiled with --enable-utf (bug #35910).
Markus Mützel <markus.muetzel@gmx.de>
parents: 27450
diff changeset
1481 #include <stdio.h>
d7b18d44ae4e Check if PCRE was compiled with --enable-utf (bug #35910).
Markus Mützel <markus.muetzel@gmx.de>
parents: 27450
diff changeset
1482 #if defined (HAVE_PCRE_H)
d7b18d44ae4e Check if PCRE was compiled with --enable-utf (bug #35910).
Markus Mützel <markus.muetzel@gmx.de>
parents: 27450
diff changeset
1483 # include <pcre.h>
d7b18d44ae4e Check if PCRE was compiled with --enable-utf (bug #35910).
Markus Mützel <markus.muetzel@gmx.de>
parents: 27450
diff changeset
1484 #elif defined (HAVE_PCRE_PCRE_H)
d7b18d44ae4e Check if PCRE was compiled with --enable-utf (bug #35910).
Markus Mützel <markus.muetzel@gmx.de>
parents: 27450
diff changeset
1485 # include <pcre/pcre.h>
d7b18d44ae4e Check if PCRE was compiled with --enable-utf (bug #35910).
Markus Mützel <markus.muetzel@gmx.de>
parents: 27450
diff changeset
1486 #endif
d7b18d44ae4e Check if PCRE was compiled with --enable-utf (bug #35910).
Markus Mützel <markus.muetzel@gmx.de>
parents: 27450
diff changeset
1487 ]], [[
d7b18d44ae4e Check if PCRE was compiled with --enable-utf (bug #35910).
Markus Mützel <markus.muetzel@gmx.de>
parents: 27450
diff changeset
1488 const char *pattern = "test";
d7b18d44ae4e Check if PCRE was compiled with --enable-utf (bug #35910).
Markus Mützel <markus.muetzel@gmx.de>
parents: 27450
diff changeset
1489 const char *err;
d7b18d44ae4e Check if PCRE was compiled with --enable-utf (bug #35910).
Markus Mützel <markus.muetzel@gmx.de>
parents: 27450
diff changeset
1490 int erroffset;
d7b18d44ae4e Check if PCRE was compiled with --enable-utf (bug #35910).
Markus Mützel <markus.muetzel@gmx.de>
parents: 27450
diff changeset
1491 pcre *data = pcre_compile (pattern, PCRE_UTF8, &err, &erroffset, nullptr);
d7b18d44ae4e Check if PCRE was compiled with --enable-utf (bug #35910).
Markus Mützel <markus.muetzel@gmx.de>
parents: 27450
diff changeset
1492 return (! data);
d7b18d44ae4e Check if PCRE was compiled with --enable-utf (bug #35910).
Markus Mützel <markus.muetzel@gmx.de>
parents: 27450
diff changeset
1493 ]])],
d7b18d44ae4e Check if PCRE was compiled with --enable-utf (bug #35910).
Markus Mützel <markus.muetzel@gmx.de>
parents: 27450
diff changeset
1494 octave_cv_lib_pcre_ok=yes,
d7b18d44ae4e Check if PCRE was compiled with --enable-utf (bug #35910).
Markus Mützel <markus.muetzel@gmx.de>
parents: 27450
diff changeset
1495 octave_cv_lib_pcre_ok=no,
d7b18d44ae4e Check if PCRE was compiled with --enable-utf (bug #35910).
Markus Mützel <markus.muetzel@gmx.de>
parents: 27450
diff changeset
1496 octave_cv_lib_pcre_ok=yes)
d7b18d44ae4e Check if PCRE was compiled with --enable-utf (bug #35910).
Markus Mützel <markus.muetzel@gmx.de>
parents: 27450
diff changeset
1497 AC_LANG_POP(C++)
d7b18d44ae4e Check if PCRE was compiled with --enable-utf (bug #35910).
Markus Mützel <markus.muetzel@gmx.de>
parents: 27450
diff changeset
1498 ])
d7b18d44ae4e Check if PCRE was compiled with --enable-utf (bug #35910).
Markus Mützel <markus.muetzel@gmx.de>
parents: 27450
diff changeset
1499 if test $octave_cv_lib_pcre_ok = yes; then
d7b18d44ae4e Check if PCRE was compiled with --enable-utf (bug #35910).
Markus Mützel <markus.muetzel@gmx.de>
parents: 27450
diff changeset
1500 $1
d7b18d44ae4e Check if PCRE was compiled with --enable-utf (bug #35910).
Markus Mützel <markus.muetzel@gmx.de>
parents: 27450
diff changeset
1501 :
d7b18d44ae4e Check if PCRE was compiled with --enable-utf (bug #35910).
Markus Mützel <markus.muetzel@gmx.de>
parents: 27450
diff changeset
1502 else
d7b18d44ae4e Check if PCRE was compiled with --enable-utf (bug #35910).
Markus Mützel <markus.muetzel@gmx.de>
parents: 27450
diff changeset
1503 $2
d7b18d44ae4e Check if PCRE was compiled with --enable-utf (bug #35910).
Markus Mützel <markus.muetzel@gmx.de>
parents: 27450
diff changeset
1504 :
d7b18d44ae4e Check if PCRE was compiled with --enable-utf (bug #35910).
Markus Mützel <markus.muetzel@gmx.de>
parents: 27450
diff changeset
1505 fi
d7b18d44ae4e Check if PCRE was compiled with --enable-utf (bug #35910).
Markus Mützel <markus.muetzel@gmx.de>
parents: 27450
diff changeset
1506 ])
d7b18d44ae4e Check if PCRE was compiled with --enable-utf (bug #35910).
Markus Mützel <markus.muetzel@gmx.de>
parents: 27450
diff changeset
1507 dnl
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1508 dnl Check whether Qhull works (does not crash).
8724
a50228129dba Introduce new macro OCTAVE_GLUTESSCALLBACK_THREEDOTS. Use definitions HAVE_FRAMEWORK_OPENGL and HAVE_GLUTESSCALLBACK_THREEDOTS for Mac's framework OpenGL implementation.
Ben Abbott <bpabbott@mac.com>
parents: 8676
diff changeset
1509 dnl
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1510 AC_DEFUN([OCTAVE_CHECK_LIB_QHULL_OK], [
29629
93c8df989ea0 qhull: Use reentrant libqhull_r (bug #60016).
Stefan Brüns <stefan.bruens@rwth-aachen.de>
parents: 29588
diff changeset
1511 AC_CACHE_CHECK([whether the qhull_r library works],
93c8df989ea0 qhull: Use reentrant libqhull_r (bug #60016).
Stefan Brüns <stefan.bruens@rwth-aachen.de>
parents: 29588
diff changeset
1512 [octave_cv_lib_qhull_r_ok],
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1513 [AC_RUN_IFELSE([AC_LANG_PROGRAM([[
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1514 #include <stdio.h>
29629
93c8df989ea0 qhull: Use reentrant libqhull_r (bug #60016).
Stefan Brüns <stefan.bruens@rwth-aachen.de>
parents: 29588
diff changeset
1515 #if defined (HAVE_LIBQHULL_R_LIBQHULL_R_H)
93c8df989ea0 qhull: Use reentrant libqhull_r (bug #60016).
Stefan Brüns <stefan.bruens@rwth-aachen.de>
parents: 29588
diff changeset
1516 # include <libqhull_r/libqhull_r.h>
93c8df989ea0 qhull: Use reentrant libqhull_r (bug #60016).
Stefan Brüns <stefan.bruens@rwth-aachen.de>
parents: 29588
diff changeset
1517 # include <libqhull_r/qset_r.h>
93c8df989ea0 qhull: Use reentrant libqhull_r (bug #60016).
Stefan Brüns <stefan.bruens@rwth-aachen.de>
parents: 29588
diff changeset
1518 # include <libqhull_r/geom_r.h>
93c8df989ea0 qhull: Use reentrant libqhull_r (bug #60016).
Stefan Brüns <stefan.bruens@rwth-aachen.de>
parents: 29588
diff changeset
1519 # include <libqhull_r/poly_r.h>
93c8df989ea0 qhull: Use reentrant libqhull_r (bug #60016).
Stefan Brüns <stefan.bruens@rwth-aachen.de>
parents: 29588
diff changeset
1520 # include <libqhull_r/io_r.h>
93c8df989ea0 qhull: Use reentrant libqhull_r (bug #60016).
Stefan Brüns <stefan.bruens@rwth-aachen.de>
parents: 29588
diff changeset
1521 #elif defined (HAVE_LIBQHULL_R_H)
93c8df989ea0 qhull: Use reentrant libqhull_r (bug #60016).
Stefan Brüns <stefan.bruens@rwth-aachen.de>
parents: 29588
diff changeset
1522 # include <libqhull_r.h>
93c8df989ea0 qhull: Use reentrant libqhull_r (bug #60016).
Stefan Brüns <stefan.bruens@rwth-aachen.de>
parents: 29588
diff changeset
1523 # include <qset_r.h>
93c8df989ea0 qhull: Use reentrant libqhull_r (bug #60016).
Stefan Brüns <stefan.bruens@rwth-aachen.de>
parents: 29588
diff changeset
1524 # include <geom_r.h>
93c8df989ea0 qhull: Use reentrant libqhull_r (bug #60016).
Stefan Brüns <stefan.bruens@rwth-aachen.de>
parents: 29588
diff changeset
1525 # include <poly_r.h>
93c8df989ea0 qhull: Use reentrant libqhull_r (bug #60016).
Stefan Brüns <stefan.bruens@rwth-aachen.de>
parents: 29588
diff changeset
1526 # include <io_r.h>
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1527 #endif
29629
93c8df989ea0 qhull: Use reentrant libqhull_r (bug #60016).
Stefan Brüns <stefan.bruens@rwth-aachen.de>
parents: 29588
diff changeset
1528 #if defined (NEED_QHULL_R_VERSION)
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1529 char *qh_version = "version";
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1530 #endif
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1531 ]], [[
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1532 int dim = 2;
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1533 int n = 4;
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1534 coordT points[8] = { -0.5, -0.5, -0.5, 0.5, 0.5, -0.5, 0.5, 0.5 };
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1535 boolT ismalloc = 0;
29632
162abe58aaef build: Initialize QHull context structure in configure test (bug #60016).
Markus Mützel <markus.muetzel@gmx.de>
parents: 29629
diff changeset
1536 qhT context = { };
29629
93c8df989ea0 qhull: Use reentrant libqhull_r (bug #60016).
Stefan Brüns <stefan.bruens@rwth-aachen.de>
parents: 29588
diff changeset
1537 qhT* qh = &context;
93c8df989ea0 qhull: Use reentrant libqhull_r (bug #60016).
Stefan Brüns <stefan.bruens@rwth-aachen.de>
parents: 29588
diff changeset
1538 return qh_new_qhull (qh, dim, n, points, ismalloc, "qhull ", 0, stderr);
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1539 ]])],
29629
93c8df989ea0 qhull: Use reentrant libqhull_r (bug #60016).
Stefan Brüns <stefan.bruens@rwth-aachen.de>
parents: 29588
diff changeset
1540 octave_cv_lib_qhull_r_ok=yes,
93c8df989ea0 qhull: Use reentrant libqhull_r (bug #60016).
Stefan Brüns <stefan.bruens@rwth-aachen.de>
parents: 29588
diff changeset
1541 octave_cv_lib_qhull_r_ok=no,
93c8df989ea0 qhull: Use reentrant libqhull_r (bug #60016).
Stefan Brüns <stefan.bruens@rwth-aachen.de>
parents: 29588
diff changeset
1542 octave_cv_lib_qhull_r_ok=yes)
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1543 ])
29629
93c8df989ea0 qhull: Use reentrant libqhull_r (bug #60016).
Stefan Brüns <stefan.bruens@rwth-aachen.de>
parents: 29588
diff changeset
1544 if test $octave_cv_lib_qhull_r_ok = yes; then
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1545 $1
15336
5fff79162342 acinclude.m4: Put temporary shell variables in macros into ac_octave namespace.
Rik <rik@octave.org>
parents: 15330
diff changeset
1546 :
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1547 else
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1548 $2
15336
5fff79162342 acinclude.m4: Put temporary shell variables in macros into ac_octave namespace.
Rik <rik@octave.org>
parents: 15330
diff changeset
1549 :
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1550 fi
8724
a50228129dba Introduce new macro OCTAVE_GLUTESSCALLBACK_THREEDOTS. Use definitions HAVE_FRAMEWORK_OPENGL and HAVE_GLUTESSCALLBACK_THREEDOTS for Mac's framework OpenGL implementation.
Ben Abbott <bpabbott@mac.com>
parents: 8676
diff changeset
1551 ])
20715
5b7643257978 Remove trailing whitespace at end of lines.
Rik <rik@octave.org>
parents: 20420
diff changeset
1552 dnl
20153
3b3579ad7e46 Check for a modern version of sndfile in configure scripts (bug #44976).
Rik <rik@octave.org>
parents: 19816
diff changeset
1553 dnl Check whether sndfile library is modern enough to include things like Ogg
3b3579ad7e46 Check for a modern version of sndfile in configure scripts (bug #44976).
Rik <rik@octave.org>
parents: 19816
diff changeset
1554 dnl
3b3579ad7e46 Check for a modern version of sndfile in configure scripts (bug #44976).
Rik <rik@octave.org>
parents: 19816
diff changeset
1555 AC_DEFUN([OCTAVE_CHECK_LIB_SNDFILE_OK], [
3b3579ad7e46 Check for a modern version of sndfile in configure scripts (bug #44976).
Rik <rik@octave.org>
parents: 19816
diff changeset
1556 AC_CACHE_CHECK([whether sndfile library is modern enough],
3b3579ad7e46 Check for a modern version of sndfile in configure scripts (bug #44976).
Rik <rik@octave.org>
parents: 19816
diff changeset
1557 [octave_cv_lib_sndfile_ok],
3b3579ad7e46 Check for a modern version of sndfile in configure scripts (bug #44976).
Rik <rik@octave.org>
parents: 19816
diff changeset
1558 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
3b3579ad7e46 Check for a modern version of sndfile in configure scripts (bug #44976).
Rik <rik@octave.org>
parents: 19816
diff changeset
1559 #include <sndfile.h>
3b3579ad7e46 Check for a modern version of sndfile in configure scripts (bug #44976).
Rik <rik@octave.org>
parents: 19816
diff changeset
1560 ]], [[
3b3579ad7e46 Check for a modern version of sndfile in configure scripts (bug #44976).
Rik <rik@octave.org>
parents: 19816
diff changeset
1561 int x = SF_FORMAT_OGG;
3b3579ad7e46 Check for a modern version of sndfile in configure scripts (bug #44976).
Rik <rik@octave.org>
parents: 19816
diff changeset
1562 ]])],
3b3579ad7e46 Check for a modern version of sndfile in configure scripts (bug #44976).
Rik <rik@octave.org>
parents: 19816
diff changeset
1563 octave_cv_lib_sndfile_ok=yes,
3b3579ad7e46 Check for a modern version of sndfile in configure scripts (bug #44976).
Rik <rik@octave.org>
parents: 19816
diff changeset
1564 octave_cv_lib_sndfile_ok=no)
3b3579ad7e46 Check for a modern version of sndfile in configure scripts (bug #44976).
Rik <rik@octave.org>
parents: 19816
diff changeset
1565 ])
3b3579ad7e46 Check for a modern version of sndfile in configure scripts (bug #44976).
Rik <rik@octave.org>
parents: 19816
diff changeset
1566 if test $octave_cv_lib_sndfile_ok = yes; then
3b3579ad7e46 Check for a modern version of sndfile in configure scripts (bug #44976).
Rik <rik@octave.org>
parents: 19816
diff changeset
1567 $1
3b3579ad7e46 Check for a modern version of sndfile in configure scripts (bug #44976).
Rik <rik@octave.org>
parents: 19816
diff changeset
1568 :
3b3579ad7e46 Check for a modern version of sndfile in configure scripts (bug #44976).
Rik <rik@octave.org>
parents: 19816
diff changeset
1569 else
3b3579ad7e46 Check for a modern version of sndfile in configure scripts (bug #44976).
Rik <rik@octave.org>
parents: 19816
diff changeset
1570 $2
3b3579ad7e46 Check for a modern version of sndfile in configure scripts (bug #44976).
Rik <rik@octave.org>
parents: 19816
diff changeset
1571 :
3b3579ad7e46 Check for a modern version of sndfile in configure scripts (bug #44976).
Rik <rik@octave.org>
parents: 19816
diff changeset
1572 fi
3b3579ad7e46 Check for a modern version of sndfile in configure scripts (bug #44976).
Rik <rik@octave.org>
parents: 19816
diff changeset
1573 ])
8724
a50228129dba Introduce new macro OCTAVE_GLUTESSCALLBACK_THREEDOTS. Use definitions HAVE_FRAMEWORK_OPENGL and HAVE_GLUTESSCALLBACK_THREEDOTS for Mac's framework OpenGL implementation.
Ben Abbott <bpabbott@mac.com>
parents: 8676
diff changeset
1574 dnl
15302
a8cfbc1911e4 build: Set TERM_LIBS before checking for READLINE.
Rik <rik@octave.org>
parents: 15295
diff changeset
1575 dnl Find a suitable termlib to use.
a8cfbc1911e4 build: Set TERM_LIBS before checking for READLINE.
Rik <rik@octave.org>
parents: 15295
diff changeset
1576 dnl
a8cfbc1911e4 build: Set TERM_LIBS before checking for READLINE.
Rik <rik@octave.org>
parents: 15295
diff changeset
1577 AC_DEFUN([OCTAVE_CHECK_LIB_TERMLIB], [
a8cfbc1911e4 build: Set TERM_LIBS before checking for READLINE.
Rik <rik@octave.org>
parents: 15295
diff changeset
1578 TERM_LIBS=
15338
dc39c1d84c5b build: Use caching on more intermediate results to speed up configure.
Rik <rik@octave.org>
parents: 15336
diff changeset
1579 ac_octave_save_LIBS="$LIBS"
dc39c1d84c5b build: Use caching on more intermediate results to speed up configure.
Rik <rik@octave.org>
parents: 15336
diff changeset
1580 AC_SEARCH_LIBS([tputs],
dc39c1d84c5b build: Use caching on more intermediate results to speed up configure.
Rik <rik@octave.org>
parents: 15336
diff changeset
1581 [ncurses curses termcap terminfo termlib],
dc39c1d84c5b build: Use caching on more intermediate results to speed up configure.
Rik <rik@octave.org>
parents: 15336
diff changeset
1582 [], [])
dc39c1d84c5b build: Use caching on more intermediate results to speed up configure.
Rik <rik@octave.org>
parents: 15336
diff changeset
1583 LIBS="$ac_octave_save_LIBS"
dc39c1d84c5b build: Use caching on more intermediate results to speed up configure.
Rik <rik@octave.org>
parents: 15336
diff changeset
1584 case "$ac_cv_search_tputs" in
17034
8d84dc5f5b5d acinclude.m4: Use m4 quote '[' rather than '"' in AC_MSG_ERROR.
Rik <rik@octave.org>
parents: 17031
diff changeset
1585 -l*)
15338
dc39c1d84c5b build: Use caching on more intermediate results to speed up configure.
Rik <rik@octave.org>
parents: 15336
diff changeset
1586 TERM_LIBS="$ac_cv_search_tputs"
dc39c1d84c5b build: Use caching on more intermediate results to speed up configure.
Rik <rik@octave.org>
parents: 15336
diff changeset
1587 ;;
dc39c1d84c5b build: Use caching on more intermediate results to speed up configure.
Rik <rik@octave.org>
parents: 15336
diff changeset
1588 no)
dc39c1d84c5b build: Use caching on more intermediate results to speed up configure.
Rik <rik@octave.org>
parents: 15336
diff changeset
1589 warn_termlibs="I couldn't find -ltermcap, -lterminfo, -lncurses, -lcurses, or -ltermlib!"
dc39c1d84c5b build: Use caching on more intermediate results to speed up configure.
Rik <rik@octave.org>
parents: 15336
diff changeset
1590 AC_MSG_WARN([$warn_termlibs])
dc39c1d84c5b build: Use caching on more intermediate results to speed up configure.
Rik <rik@octave.org>
parents: 15336
diff changeset
1591 ;;
dc39c1d84c5b build: Use caching on more intermediate results to speed up configure.
Rik <rik@octave.org>
parents: 15336
diff changeset
1592 esac
15302
a8cfbc1911e4 build: Set TERM_LIBS before checking for READLINE.
Rik <rik@octave.org>
parents: 15295
diff changeset
1593
15338
dc39c1d84c5b build: Use caching on more intermediate results to speed up configure.
Rik <rik@octave.org>
parents: 15336
diff changeset
1594 dnl Old code (9/9/2012). Delete when new code is definitely proven.
dc39c1d84c5b build: Use caching on more intermediate results to speed up configure.
Rik <rik@octave.org>
parents: 15336
diff changeset
1595 dnl
dc39c1d84c5b build: Use caching on more intermediate results to speed up configure.
Rik <rik@octave.org>
parents: 15336
diff changeset
1596 dnl for _termlib in ncurses curses termcap terminfo termlib; do
dc39c1d84c5b build: Use caching on more intermediate results to speed up configure.
Rik <rik@octave.org>
parents: 15336
diff changeset
1597 dnl AC_CHECK_LIB([${_termlib}], [tputs], [
dc39c1d84c5b build: Use caching on more intermediate results to speed up configure.
Rik <rik@octave.org>
parents: 15336
diff changeset
1598 dnl TERM_LIBS="-l${termlib}"
dc39c1d84c5b build: Use caching on more intermediate results to speed up configure.
Rik <rik@octave.org>
parents: 15336
diff changeset
1599 dnl octave_cv_lib_found_termlib=yes
dc39c1d84c5b build: Use caching on more intermediate results to speed up configure.
Rik <rik@octave.org>
parents: 15336
diff changeset
1600 dnl break])
dc39c1d84c5b build: Use caching on more intermediate results to speed up configure.
Rik <rik@octave.org>
parents: 15336
diff changeset
1601 dnl done
dc39c1d84c5b build: Use caching on more intermediate results to speed up configure.
Rik <rik@octave.org>
parents: 15336
diff changeset
1602
15302
a8cfbc1911e4 build: Set TERM_LIBS before checking for READLINE.
Rik <rik@octave.org>
parents: 15295
diff changeset
1603 AC_SUBST(TERM_LIBS)
7825
13871b7de124 Import sources for OpenGL-based renderer.
Michael Goffioul <michael.goffioul@gmail.com>
parents: 7361
diff changeset
1604 ])
7834
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1605 dnl
29367
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
1606 dnl Check whether new API is used with QHelpIndexWidget.
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
1607 dnl Under new API, QHelpIndexWidget emits documentActivates.
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
1608 dnl Under old API, QHelpIndexWidget emits linkActivated.
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
1609 dnl New structure/signal API was introduced in Qt 5.15.
23510
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1610 dnl
29367
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
1611 dnl FIXME: Delete this entirely when we drop support for Qt 5.14 or older.
24093
7d9ba57201b4 configure: improve Qt feature tests for functionality and consistency
Mike Miller <mtmiller@octave.org>
parents: 24077
diff changeset
1612 dnl
29367
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
1613 AC_DEFUN([OCTAVE_CHECK_NEW_QHELPINDEXWIDGET_API], [
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
1614 AC_CACHE_CHECK([for new QHelpIndexWidget API],
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
1615 [octave_cv_new_qhelpindexwidget_api],
23510
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1616 [AC_LANG_PUSH(C++)
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1617 ac_octave_save_CPPFLAGS="$CPPFLAGS"
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1618 ac_octave_save_CXXFLAGS="$CXXFLAGS"
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1619 CPPFLAGS="$QT_CPPFLAGS $CXXPICFLAG $CPPFLAGS"
30447
8a341cf6773d build: Fix possible typo in configure tests.
Markus Mützel <markus.muetzel@gmx.de>
parents: 30243
diff changeset
1620 CXXFLAGS="$CXXPICFLAG $CXXFLAGS"
23510
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1621 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
29367
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
1622 #include <QHelpLink>
23510
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1623 ]], [[
29367
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
1624 QHelpLink link;
23510
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1625 ]])],
29367
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
1626 octave_cv_new_qhelpindexwidget_api=yes,
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
1627 octave_cv_new_qhelpindexwidget_api=no)
23510
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1628 CPPFLAGS="$ac_octave_save_CPPFLAGS"
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1629 CXXFLAGS="$ac_octave_save_CXXFLAGS"
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1630 AC_LANG_POP(C++)
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1631 ])
29367
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
1632 if test $octave_cv_new_qhelpindexwidget_api = yes; then
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
1633 AC_DEFINE(HAVE_NEW_QHELPINDEXWIDGET_API, 1,
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
1634 [Define to 1 if using new QHelpIndexWidget API.])
23510
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1635 fi
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1636 ])
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1637 dnl
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1638 dnl Check for the Qhull version.
23510
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1639 dnl
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1640 AC_DEFUN([OCTAVE_CHECK_QHULL_VERSION], [
29629
93c8df989ea0 qhull: Use reentrant libqhull_r (bug #60016).
Stefan Brüns <stefan.bruens@rwth-aachen.de>
parents: 29588
diff changeset
1641 AC_CACHE_CHECK([for qh_version in $QHULL_R_LIBS],
93c8df989ea0 qhull: Use reentrant libqhull_r (bug #60016).
Stefan Brüns <stefan.bruens@rwth-aachen.de>
parents: 29588
diff changeset
1642 [octave_cv_lib_qhull_r_version],
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1643 [AC_LINK_IFELSE([AC_LANG_PROGRAM([[
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1644 #include <stdio.h>
29629
93c8df989ea0 qhull: Use reentrant libqhull_r (bug #60016).
Stefan Brüns <stefan.bruens@rwth-aachen.de>
parents: 29588
diff changeset
1645 #if defined (HAVE_LIBQHULL_R_LIBQHULL_R_H)
93c8df989ea0 qhull: Use reentrant libqhull_r (bug #60016).
Stefan Brüns <stefan.bruens@rwth-aachen.de>
parents: 29588
diff changeset
1646 # include <libqhull_r/libqhull_r.h>
93c8df989ea0 qhull: Use reentrant libqhull_r (bug #60016).
Stefan Brüns <stefan.bruens@rwth-aachen.de>
parents: 29588
diff changeset
1647 # include <libqhull_r/qset_r.h>
93c8df989ea0 qhull: Use reentrant libqhull_r (bug #60016).
Stefan Brüns <stefan.bruens@rwth-aachen.de>
parents: 29588
diff changeset
1648 # include <libqhull_r/geom_r.h>
93c8df989ea0 qhull: Use reentrant libqhull_r (bug #60016).
Stefan Brüns <stefan.bruens@rwth-aachen.de>
parents: 29588
diff changeset
1649 # include <libqhull_r/poly_r.h>
93c8df989ea0 qhull: Use reentrant libqhull_r (bug #60016).
Stefan Brüns <stefan.bruens@rwth-aachen.de>
parents: 29588
diff changeset
1650 # include <libqhull_r/io_r.h>
93c8df989ea0 qhull: Use reentrant libqhull_r (bug #60016).
Stefan Brüns <stefan.bruens@rwth-aachen.de>
parents: 29588
diff changeset
1651 #elif defined (HAVE_LIBQHULL_R_H)
93c8df989ea0 qhull: Use reentrant libqhull_r (bug #60016).
Stefan Brüns <stefan.bruens@rwth-aachen.de>
parents: 29588
diff changeset
1652 # include <libqhull_r.h>
93c8df989ea0 qhull: Use reentrant libqhull_r (bug #60016).
Stefan Brüns <stefan.bruens@rwth-aachen.de>
parents: 29588
diff changeset
1653 # include <qset_r.h>
93c8df989ea0 qhull: Use reentrant libqhull_r (bug #60016).
Stefan Brüns <stefan.bruens@rwth-aachen.de>
parents: 29588
diff changeset
1654 # include <geom_r.h>
93c8df989ea0 qhull: Use reentrant libqhull_r (bug #60016).
Stefan Brüns <stefan.bruens@rwth-aachen.de>
parents: 29588
diff changeset
1655 # include <poly_r.h>
93c8df989ea0 qhull: Use reentrant libqhull_r (bug #60016).
Stefan Brüns <stefan.bruens@rwth-aachen.de>
parents: 29588
diff changeset
1656 # include <io_r.h>
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1657 #endif
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1658 ]], [[
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1659 const char *tmp = qh_version;
17034
8d84dc5f5b5d acinclude.m4: Use m4 quote '[' rather than '"' in AC_MSG_ERROR.
Rik <rik@octave.org>
parents: 17031
diff changeset
1660 ]])],
29629
93c8df989ea0 qhull: Use reentrant libqhull_r (bug #60016).
Stefan Brüns <stefan.bruens@rwth-aachen.de>
parents: 29588
diff changeset
1661 octave_cv_lib_qhull_r_version=yes, octave_cv_lib_qhull_r_version=no)
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1662 ])
29629
93c8df989ea0 qhull: Use reentrant libqhull_r (bug #60016).
Stefan Brüns <stefan.bruens@rwth-aachen.de>
parents: 29588
diff changeset
1663 if test $octave_cv_lib_qhull_r_version = no; then
93c8df989ea0 qhull: Use reentrant libqhull_r (bug #60016).
Stefan Brüns <stefan.bruens@rwth-aachen.de>
parents: 29588
diff changeset
1664 AC_DEFINE(NEED_QHULL_R_VERSION, 1,
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1665 [Define to 1 if the Qhull library needs a qh_version variable defined.])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1666 fi
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1667 ])
24093
7d9ba57201b4 configure: improve Qt feature tests for functionality and consistency
Mike Miller <mtmiller@octave.org>
parents: 24077
diff changeset
1668 dnl
29560
5b7e721844df provide QOverload template if it is not in <QtGlobal> (bug #60416)
John W. Eaton <jwe@octave.org>
parents: 29519
diff changeset
1669 dnl Check whether Qt has the QOverload template introduced in Qt 5.7.
5b7e721844df provide QOverload template if it is not in <QtGlobal> (bug #60416)
John W. Eaton <jwe@octave.org>
parents: 29519
diff changeset
1670 dnl
5b7e721844df provide QOverload template if it is not in <QtGlobal> (bug #60416)
John W. Eaton <jwe@octave.org>
parents: 29519
diff changeset
1671 AC_DEFUN([OCTAVE_CHECK_QOVERLOAD_TEMPLATE], [
5b7e721844df provide QOverload template if it is not in <QtGlobal> (bug #60416)
John W. Eaton <jwe@octave.org>
parents: 29519
diff changeset
1672 AC_CACHE_CHECK([for QOverload template],
5b7e721844df provide QOverload template if it is not in <QtGlobal> (bug #60416)
John W. Eaton <jwe@octave.org>
parents: 29519
diff changeset
1673 [octave_cv_qoverload_template],
23510
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1674 [AC_LANG_PUSH(C++)
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1675 ac_octave_save_CPPFLAGS="$CPPFLAGS"
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1676 ac_octave_save_CXXFLAGS="$CXXFLAGS"
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1677 CPPFLAGS="$QT_CPPFLAGS $CXXPICFLAG $CPPFLAGS"
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1678 CXXFLAGS="$CXXPICFLAG $CXXFLAGS"
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1679 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
29560
5b7e721844df provide QOverload template if it is not in <QtGlobal> (bug #60416)
John W. Eaton <jwe@octave.org>
parents: 29519
diff changeset
1680 #include <QtGlobal>
23510
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1681 ]], [[
29560
5b7e721844df provide QOverload template if it is not in <QtGlobal> (bug #60416)
John W. Eaton <jwe@octave.org>
parents: 29519
diff changeset
1682 struct Foo
5b7e721844df provide QOverload template if it is not in <QtGlobal> (bug #60416)
John W. Eaton <jwe@octave.org>
parents: 29519
diff changeset
1683 {
5b7e721844df provide QOverload template if it is not in <QtGlobal> (bug #60416)
John W. Eaton <jwe@octave.org>
parents: 29519
diff changeset
1684 void overloadedFunction (int) const;
5b7e721844df provide QOverload template if it is not in <QtGlobal> (bug #60416)
John W. Eaton <jwe@octave.org>
parents: 29519
diff changeset
1685 void overloadedFunction (int, const QString &) const;
5b7e721844df provide QOverload template if it is not in <QtGlobal> (bug #60416)
John W. Eaton <jwe@octave.org>
parents: 29519
diff changeset
1686 };
5b7e721844df provide QOverload template if it is not in <QtGlobal> (bug #60416)
John W. Eaton <jwe@octave.org>
parents: 29519
diff changeset
1687 QOverload<int>::of (&Foo::overloadedFunction);
5b7e721844df provide QOverload template if it is not in <QtGlobal> (bug #60416)
John W. Eaton <jwe@octave.org>
parents: 29519
diff changeset
1688 QOverload<int, const QString &>::of (&Foo::overloadedFunction);
23510
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1689 ]])],
29560
5b7e721844df provide QOverload template if it is not in <QtGlobal> (bug #60416)
John W. Eaton <jwe@octave.org>
parents: 29519
diff changeset
1690 octave_cv_qoverload_template=yes,
5b7e721844df provide QOverload template if it is not in <QtGlobal> (bug #60416)
John W. Eaton <jwe@octave.org>
parents: 29519
diff changeset
1691 octave_cv_qoverload_template=no)
23510
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1692 CPPFLAGS="$ac_octave_save_CPPFLAGS"
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1693 CXXFLAGS="$ac_octave_save_CXXFLAGS"
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1694 AC_LANG_POP(C++)
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1695 ])
29560
5b7e721844df provide QOverload template if it is not in <QtGlobal> (bug #60416)
John W. Eaton <jwe@octave.org>
parents: 29519
diff changeset
1696 if test $octave_cv_qoverload_template = yes; then
5b7e721844df provide QOverload template if it is not in <QtGlobal> (bug #60416)
John W. Eaton <jwe@octave.org>
parents: 29519
diff changeset
1697 AC_DEFINE(HAVE_QOVERLOAD_TEMPLATE, 1,
5b7e721844df provide QOverload template if it is not in <QtGlobal> (bug #60416)
John W. Eaton <jwe@octave.org>
parents: 29519
diff changeset
1698 [Define to 1 if you have the `QOverload' template.])
23510
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1699 fi
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1700 ])
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1701 dnl
29367
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
1702 dnl Check whether the Qt class QRegion has the iterators and related
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
1703 dnl functions introduced in Qt 5.8.
29271
0348f3f57e3c avoid build errors with Qt4 (bug #59813)
John W. Eaton <jwe@octave.org>
parents: 29147
diff changeset
1704 dnl
29367
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
1705 AC_DEFUN([OCTAVE_CHECK_QREGION_ITERATORS], [
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
1706 AC_CACHE_CHECK([for QRegion iterators and related functions],
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
1707 [octave_cv_qregion_iterators],
29271
0348f3f57e3c avoid build errors with Qt4 (bug #59813)
John W. Eaton <jwe@octave.org>
parents: 29147
diff changeset
1708 [AC_LANG_PUSH(C++)
0348f3f57e3c avoid build errors with Qt4 (bug #59813)
John W. Eaton <jwe@octave.org>
parents: 29147
diff changeset
1709 ac_octave_save_CPPFLAGS="$CPPFLAGS"
0348f3f57e3c avoid build errors with Qt4 (bug #59813)
John W. Eaton <jwe@octave.org>
parents: 29147
diff changeset
1710 ac_octave_save_CXXFLAGS="$CXXFLAGS"
0348f3f57e3c avoid build errors with Qt4 (bug #59813)
John W. Eaton <jwe@octave.org>
parents: 29147
diff changeset
1711 CPPFLAGS="$QT_CPPFLAGS $CXXPICFLAG $CPPFLAGS"
0348f3f57e3c avoid build errors with Qt4 (bug #59813)
John W. Eaton <jwe@octave.org>
parents: 29147
diff changeset
1712 CXXFLAGS="$CXXPICFLAG $CXXFLAGS"
0348f3f57e3c avoid build errors with Qt4 (bug #59813)
John W. Eaton <jwe@octave.org>
parents: 29147
diff changeset
1713 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
29367
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
1714 #include <QRegion>
29271
0348f3f57e3c avoid build errors with Qt4 (bug #59813)
John W. Eaton <jwe@octave.org>
parents: 29147
diff changeset
1715 ]], [[
29367
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
1716 QRegion region;
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
1717 QRegion::const_iterator it;
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
1718 it = region.begin ();
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
1719 it = region.end ();
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
1720 it = region.cbegin ();
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
1721 it = region.cend ();
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
1722 QRegion::const_reverse_iterator rit;
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
1723 rit = region.rbegin ();
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
1724 rit = region.rend ();
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
1725 rit = region.crbegin ();
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
1726 rit = region.crend ();
29271
0348f3f57e3c avoid build errors with Qt4 (bug #59813)
John W. Eaton <jwe@octave.org>
parents: 29147
diff changeset
1727 ]])],
29367
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
1728 octave_cv_qregion_iterators=yes,
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
1729 octave_cv_qregion_iterators=no)
29271
0348f3f57e3c avoid build errors with Qt4 (bug #59813)
John W. Eaton <jwe@octave.org>
parents: 29147
diff changeset
1730 CPPFLAGS="$ac_octave_save_CPPFLAGS"
0348f3f57e3c avoid build errors with Qt4 (bug #59813)
John W. Eaton <jwe@octave.org>
parents: 29147
diff changeset
1731 CXXFLAGS="$ac_octave_save_CXXFLAGS"
0348f3f57e3c avoid build errors with Qt4 (bug #59813)
John W. Eaton <jwe@octave.org>
parents: 29147
diff changeset
1732 AC_LANG_POP(C++)
0348f3f57e3c avoid build errors with Qt4 (bug #59813)
John W. Eaton <jwe@octave.org>
parents: 29147
diff changeset
1733 ])
29367
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
1734 if test $octave_cv_qregion_iterators = yes; then
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
1735 AC_DEFINE(HAVE_QREGION_ITERATORS, 1,
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
1736 [Define to 1 if you have the `QFontMetrics::horizontalAdvance' function.])
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1737 fi
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1738 ])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1739 dnl
22823
e2afee0041bf new configure option, --without-qscintilla
John W. Eaton <jwe@octave.org>
parents: 22755
diff changeset
1740 dnl Check whether we have QScintilla for the given Qt VERSION.
20420
6cfbf412a2c3 configure.ac: Test that Qt and OpenGL can be used together (bug #45672)
Mike Miller <mtmiller@octave.org>
parents: 20416
diff changeset
1741 dnl
22823
e2afee0041bf new configure option, --without-qscintilla
John W. Eaton <jwe@octave.org>
parents: 22755
diff changeset
1742 AC_DEFUN([OCTAVE_CHECK_QSCINTILLA], [
22234
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1743 qt_version="$1";
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1744 use_qscintilla=no
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1745 warn_qscintilla=""
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1746
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1747 ## Check for Qt libraries
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1748 case "$qt_version" in
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1749 5)
23414
a759896c2b53 acinclude.m4: Look for "qscintilla_qt5" as another name for Qt5 scintilla library.
Rik <rik@octave.org>
parents: 23219
diff changeset
1750 octave_qscintilla_libnames="qscintilla2-qt5 qscintilla2_qt5 qt5scintilla2"
22234
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1751 ;;
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1752 *)
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1753 AC_MSG_ERROR([Unrecognized Qt version $qt_version])
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1754 ;;
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1755 esac
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1756
22823
e2afee0041bf new configure option, --without-qscintilla
John W. Eaton <jwe@octave.org>
parents: 22755
diff changeset
1757 if test $build_qt_gui = yes && test $check_qscintilla = yes; then
22234
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1758
22286
f394436a4025 build: improve QScintilla detection to work with distro naming schemes (bug #48773)
Mike Miller <mtmiller@octave.org>
parents: 22257
diff changeset
1759 ## Check for QScintilla library which is used in the Qt GUI editor.
f394436a4025 build: improve QScintilla detection to work with distro naming schemes (bug #48773)
Mike Miller <mtmiller@octave.org>
parents: 22257
diff changeset
1760 AC_CACHE_CHECK([for the QScintilla library for Qt $qt_version],
22234
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1761 [octave_cv_lib_qscintilla],
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1762 [save_CPPFLAGS="$CPPFLAGS"
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1763 save_CXXFLAGS="$CXXFLAGS"
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1764 save_LDFLAGS="$LDFLAGS"
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1765 save_LIBS="$LIBS"
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1766 CPPFLAGS="$QT_CPPFLAGS $CXXPICFLAG $CPPFLAGS"
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1767 CXXFLAGS="$CXXPICFLAG $CXXFLAGS"
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1768 LDFLAGS="$QT_LDFLAGS $LDFLAGS"
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1769 AC_LANG_PUSH(C++)
22286
f394436a4025 build: improve QScintilla detection to work with distro naming schemes (bug #48773)
Mike Miller <mtmiller@octave.org>
parents: 22257
diff changeset
1770 for octave_qscintilla_try in $octave_qscintilla_libnames; do
f394436a4025 build: improve QScintilla detection to work with distro naming schemes (bug #48773)
Mike Miller <mtmiller@octave.org>
parents: 22257
diff changeset
1771 LIBS="$QT_LIBS -l$octave_qscintilla_try"
f394436a4025 build: improve QScintilla detection to work with distro naming schemes (bug #48773)
Mike Miller <mtmiller@octave.org>
parents: 22257
diff changeset
1772 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
22456
8924139b4f21 fix test for qscintilla (bug #49018)
John W. Eaton <jwe@octave.org>
parents: 22323
diff changeset
1773 #include <Qsci/qsciapis.h>
8924139b4f21 fix test for qscintilla (bug #49018)
John W. Eaton <jwe@octave.org>
parents: 22323
diff changeset
1774 #include <Qsci/qscilexercpp.h>
22286
f394436a4025 build: improve QScintilla detection to work with distro naming schemes (bug #48773)
Mike Miller <mtmiller@octave.org>
parents: 22257
diff changeset
1775 ]], [[
22456
8924139b4f21 fix test for qscintilla (bug #49018)
John W. Eaton <jwe@octave.org>
parents: 22323
diff changeset
1776 QsciLexer *lexer = new QsciLexerCPP ();
8924139b4f21 fix test for qscintilla (bug #49018)
John W. Eaton <jwe@octave.org>
parents: 22323
diff changeset
1777 QsciAPIs *lexer_apis = new QsciAPIs (lexer);
22286
f394436a4025 build: improve QScintilla detection to work with distro naming schemes (bug #48773)
Mike Miller <mtmiller@octave.org>
parents: 22257
diff changeset
1778 ]])],
f394436a4025 build: improve QScintilla detection to work with distro naming schemes (bug #48773)
Mike Miller <mtmiller@octave.org>
parents: 22257
diff changeset
1779 octave_cv_lib_qscintilla="-l$octave_qscintilla_try",
f394436a4025 build: improve QScintilla detection to work with distro naming schemes (bug #48773)
Mike Miller <mtmiller@octave.org>
parents: 22257
diff changeset
1780 octave_cv_lib_qscintilla=no)
f394436a4025 build: improve QScintilla detection to work with distro naming schemes (bug #48773)
Mike Miller <mtmiller@octave.org>
parents: 22257
diff changeset
1781 if test $octave_cv_lib_qscintilla != no; then
f394436a4025 build: improve QScintilla detection to work with distro naming schemes (bug #48773)
Mike Miller <mtmiller@octave.org>
parents: 22257
diff changeset
1782 break
f394436a4025 build: improve QScintilla detection to work with distro naming schemes (bug #48773)
Mike Miller <mtmiller@octave.org>
parents: 22257
diff changeset
1783 fi
f394436a4025 build: improve QScintilla detection to work with distro naming schemes (bug #48773)
Mike Miller <mtmiller@octave.org>
parents: 22257
diff changeset
1784 done
22234
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1785 CPPFLAGS="$save_CPPFLAGS"
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1786 CXXFLAGS="$save_CXXFLAGS"
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1787 LDFLAGS="$save_LDFLAGS"
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1788 LIBS="$save_LIBS"
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1789 AC_LANG_POP([C++])
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1790 ])
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1791
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1792 if test $octave_cv_lib_qscintilla = no; then
22286
f394436a4025 build: improve QScintilla detection to work with distro naming schemes (bug #48773)
Mike Miller <mtmiller@octave.org>
parents: 22257
diff changeset
1793 warn_qscintilla="QScintilla library not found; disabling built-in Qt GUI editor"
22234
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1794 else
22286
f394436a4025 build: improve QScintilla detection to work with distro naming schemes (bug #48773)
Mike Miller <mtmiller@octave.org>
parents: 22257
diff changeset
1795 ## Let's assume QScintilla library is at the same location as
22234
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1796 ## other regular Qt libraries.
22286
f394436a4025 build: improve QScintilla detection to work with distro naming schemes (bug #48773)
Mike Miller <mtmiller@octave.org>
parents: 22257
diff changeset
1797 QT_LIBS="$QT_LIBS $octave_cv_lib_qscintilla"
22234
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1798 OCTAVE_CHECK_QSCINTILLA_VERSION
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1799 AC_DEFINE(HAVE_QSCINTILLA, 1,
22250
2fd4f1a3f4a8 allow building with Qt5 (bug #40252)
John W. Eaton <jwe@octave.org>
parents: 22234
diff changeset
1800 [Define to 1 if the QScintilla library and header files are available.])
22234
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1801
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1802 save_CPPFLAGS="$CPPFLAGS"
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1803 save_CXXFLAGS="$CXXFLAGS"
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1804 CPPFLAGS="$QT_CPPFLAGS $CXXPICFLAG $CPPFLAGS"
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1805 CXXFLAGS="$CXXPICFLAG $CXXFLAGS"
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1806 AC_LANG_PUSH(C++)
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1807 AC_CHECK_HEADERS([Qsci/qscilexeroctave.h Qsci/qscilexermatlab.h])
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1808 AC_LANG_POP(C++)
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1809 CPPFLAGS="$save_CPPFLAGS"
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1810 CXXFLAGS="$save_CXXFLAGS"
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1811
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1812 use_qscintilla=yes
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1813 fi
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1814 fi
22823
e2afee0041bf new configure option, --without-qscintilla
John W. Eaton <jwe@octave.org>
parents: 22755
diff changeset
1815 ])
e2afee0041bf new configure option, --without-qscintilla
John W. Eaton <jwe@octave.org>
parents: 22755
diff changeset
1816 dnl
23510
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1817 dnl Check whether QScintilla has version 2.6.0 or later
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1818 dnl FIXME: This test uses a version number. It potentially could
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1819 dnl be re-written to actually call the function, but is it worth it?
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1820 dnl
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1821 AC_DEFUN([OCTAVE_CHECK_QSCINTILLA_VERSION], [
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1822 AC_CACHE_CHECK([whether QScintilla has version 2.6.0 or later],
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1823 [octave_cv_version_2_6_0],
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1824 [AC_LANG_PUSH(C++)
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1825 ac_octave_save_CPPFLAGS="$CPPFLAGS"
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1826 CPPFLAGS="$QT_CPPFLAGS $CXXPICFLAG $CPPFLAGS"
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1827 AC_PREPROC_IFELSE([AC_LANG_PROGRAM([[
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1828 #include <Qsci/qsciglobal.h>
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1829 ]], [[
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1830 #if QSCINTILLA_VERSION < 0x020600
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1831 #error Old FindFirst function found.
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1832 #endif
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1833 ]])],
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1834 octave_cv_version_2_6_0=yes,
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1835 octave_cv_version_2_6_0=no)
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1836 CPPFLAGS="$ac_octave_save_CPPFLAGS"
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1837 AC_LANG_POP(C++)
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1838 ])
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1839 if test $octave_cv_version_2_6_0 = yes; then
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1840 AC_DEFINE(HAVE_QSCI_VERSION_2_6_0, 1,
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1841 [Define to 1 if QScintilla is of Version 2.6.0 or later.])
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1842 fi
22234
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1843 ])
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1844 dnl
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1845 dnl OCTAVE_CHECK_QT
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1846 dnl
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1847 AC_DEFUN([OCTAVE_CHECK_QT], [
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1848 octave_qt_versions="$1"
22257
945e7f9c11ff build: fix configure --without-qt or --with-qt
Mike Miller <mtmiller@octave.org>
parents: 22255
diff changeset
1849
945e7f9c11ff build: fix configure --without-qt or --with-qt
Mike Miller <mtmiller@octave.org>
parents: 22255
diff changeset
1850 build_qt_gui=no
945e7f9c11ff build: fix configure --without-qt or --with-qt
Mike Miller <mtmiller@octave.org>
parents: 22255
diff changeset
1851 build_qt_graphics=no
945e7f9c11ff build: fix configure --without-qt or --with-qt
Mike Miller <mtmiller@octave.org>
parents: 22255
diff changeset
1852 use_qscintilla=no
945e7f9c11ff build: fix configure --without-qt or --with-qt
Mike Miller <mtmiller@octave.org>
parents: 22255
diff changeset
1853 win32_terminal=no
945e7f9c11ff build: fix configure --without-qt or --with-qt
Mike Miller <mtmiller@octave.org>
parents: 22255
diff changeset
1854
22255
8e18e364a686 improve checks for Qt when Qt 5 is not installed
John W. Eaton <jwe@octave.org>
parents: 22250
diff changeset
1855 for ver in $octave_qt_versions; do
8e18e364a686 improve checks for Qt when Qt 5 is not installed
John W. Eaton <jwe@octave.org>
parents: 22250
diff changeset
1856 OCTAVE_CHECK_QT_VERSION([$ver])
22250
2fd4f1a3f4a8 allow building with Qt5 (bug #40252)
John W. Eaton <jwe@octave.org>
parents: 22234
diff changeset
1857 if test $build_qt_gui = yes; then
22255
8e18e364a686 improve checks for Qt when Qt 5 is not installed
John W. Eaton <jwe@octave.org>
parents: 22250
diff changeset
1858 have_qt_version=$ver
8e18e364a686 improve checks for Qt when Qt 5 is not installed
John W. Eaton <jwe@octave.org>
parents: 22250
diff changeset
1859 break
25134
5fccb7373bc4 allow configure to continue if some Qt tools are found (bug #53571)
John W. Eaton <jwe@octave.org>
parents: 25119
diff changeset
1860 elif test -n "$QT_MODULES_AVAILABLE"; then
25114
f191e1a26095 if a Qt version appears partially installed, don't check another version
John W. Eaton <jwe@octave.org>
parents: 25098
diff changeset
1861 ## If some modules were found for $ver, then warn about possible
f191e1a26095 if a Qt version appears partially installed, don't check another version
John W. Eaton <jwe@octave.org>
parents: 25098
diff changeset
1862 ## incomplete or broken Qt installation instead of checking for
25134
5fccb7373bc4 allow configure to continue if some Qt tools are found (bug #53571)
John W. Eaton <jwe@octave.org>
parents: 25119
diff changeset
1863 ## next version in the list. Don't attempt a similar check for
27956
2310164737b3 fix many spelling errors (bug #57613)
John W. Eaton <jwe@octave.org>
parents: 26889
diff changeset
1864 ## tools here because Qt4 and Qt5 tools may be installed with
25134
5fccb7373bc4 allow configure to continue if some Qt tools are found (bug #53571)
John W. Eaton <jwe@octave.org>
parents: 25119
diff changeset
1865 ## the same name so determining whether there is a mix of versions
5fccb7373bc4 allow configure to continue if some Qt tools are found (bug #53571)
John W. Eaton <jwe@octave.org>
parents: 25119
diff changeset
1866 ## will require more work than just looking which tools are installed.
25114
f191e1a26095 if a Qt version appears partially installed, don't check another version
John W. Eaton <jwe@octave.org>
parents: 25098
diff changeset
1867 warn_qt_modules="Your installation of Qt version $ver appears incomplete or broken in some way. Fix that or use --with-qt=VER to use another version."
f191e1a26095 if a Qt version appears partially installed, don't check another version
John W. Eaton <jwe@octave.org>
parents: 25098
diff changeset
1868 break
22255
8e18e364a686 improve checks for Qt when Qt 5 is not installed
John W. Eaton <jwe@octave.org>
parents: 22250
diff changeset
1869 fi
8e18e364a686 improve checks for Qt when Qt 5 is not installed
John W. Eaton <jwe@octave.org>
parents: 22250
diff changeset
1870 done
8e18e364a686 improve checks for Qt when Qt 5 is not installed
John W. Eaton <jwe@octave.org>
parents: 22250
diff changeset
1871
8e18e364a686 improve checks for Qt when Qt 5 is not installed
John W. Eaton <jwe@octave.org>
parents: 22250
diff changeset
1872 if test $build_qt_gui = yes; then
25097
cc21f66ecb1c display more info in configure summary about Qt version and missing features
John W. Eaton <jwe@octave.org>
parents: 25061
diff changeset
1873 BUILD_QT_SUMMARY_MSG="yes (version: $have_qt_version)"
22255
8e18e364a686 improve checks for Qt when Qt 5 is not installed
John W. Eaton <jwe@octave.org>
parents: 22250
diff changeset
1874 if test x"$have_qt_version" = x5; then
24810
8a92f442c4a2 configure.ac: Overhaul file (bug #53186).
Rik <rik@octave.org>
parents: 24798
diff changeset
1875 AC_DEFINE(HAVE_QT5, 1, [Define to 1 if using Qt version 5.])
22255
8e18e364a686 improve checks for Qt when Qt 5 is not installed
John W. Eaton <jwe@octave.org>
parents: 22250
diff changeset
1876 fi
8e18e364a686 improve checks for Qt when Qt 5 is not installed
John W. Eaton <jwe@octave.org>
parents: 22250
diff changeset
1877 else
25119
14b9e2a1f3e1 if some Qt tools are instaslled, don't check for another version
John W. Eaton <jwe@octave.org>
parents: 25114
diff changeset
1878 if test -n "$QT_MODULES_MISSING" || test -n "$QT_TOOLS_MISSING"; then
14b9e2a1f3e1 if some Qt tools are instaslled, don't check for another version
John W. Eaton <jwe@octave.org>
parents: 25114
diff changeset
1879 qt_missing=`echo $QT_MODULES_MISSING$QT_TOOLS_MISSING | sed 's/ *$//'`
14b9e2a1f3e1 if some Qt tools are instaslled, don't check for another version
John W. Eaton <jwe@octave.org>
parents: 25114
diff changeset
1880 BUILD_QT_SUMMARY_MSG="no (missing:$qt_missing)"
25097
cc21f66ecb1c display more info in configure summary about Qt version and missing features
John W. Eaton <jwe@octave.org>
parents: 25061
diff changeset
1881 else
cc21f66ecb1c display more info in configure summary about Qt version and missing features
John W. Eaton <jwe@octave.org>
parents: 25061
diff changeset
1882 BUILD_QT_SUMMARY_MSG="no"
cc21f66ecb1c display more info in configure summary about Qt version and missing features
John W. Eaton <jwe@octave.org>
parents: 25061
diff changeset
1883 fi
25114
f191e1a26095 if a Qt version appears partially installed, don't check another version
John W. Eaton <jwe@octave.org>
parents: 25098
diff changeset
1884 if test -n "$warn_qt_modules"; then
f191e1a26095 if a Qt version appears partially installed, don't check another version
John W. Eaton <jwe@octave.org>
parents: 25098
diff changeset
1885 OCTAVE_CONFIGURE_WARNING([warn_qt_modules])
f191e1a26095 if a Qt version appears partially installed, don't check another version
John W. Eaton <jwe@octave.org>
parents: 25098
diff changeset
1886 fi
22255
8e18e364a686 improve checks for Qt when Qt 5 is not installed
John W. Eaton <jwe@octave.org>
parents: 22250
diff changeset
1887 if test -n "$warn_qt_libraries"; then
8e18e364a686 improve checks for Qt when Qt 5 is not installed
John W. Eaton <jwe@octave.org>
parents: 22250
diff changeset
1888 OCTAVE_CONFIGURE_WARNING([warn_qt_libraries])
8e18e364a686 improve checks for Qt when Qt 5 is not installed
John W. Eaton <jwe@octave.org>
parents: 22250
diff changeset
1889 fi
8e18e364a686 improve checks for Qt when Qt 5 is not installed
John W. Eaton <jwe@octave.org>
parents: 22250
diff changeset
1890 if test -n "$warn_qt_version"; then
27839
a8c5255c34b1 Announce deprecation of Qt4 and removal in Octave version 7.
Rik <rik@octave.org>
parents: 27543
diff changeset
1891 OCTAVE_CONFIGURE_WARNING([warn_qt_version])
22255
8e18e364a686 improve checks for Qt when Qt 5 is not installed
John W. Eaton <jwe@octave.org>
parents: 22250
diff changeset
1892 fi
8e18e364a686 improve checks for Qt when Qt 5 is not installed
John W. Eaton <jwe@octave.org>
parents: 22250
diff changeset
1893 if test -n "$warn_qt_tools"; then
27839
a8c5255c34b1 Announce deprecation of Qt4 and removal in Octave version 7.
Rik <rik@octave.org>
parents: 27543
diff changeset
1894 OCTAVE_CONFIGURE_WARNING([warn_qt_tools])
22255
8e18e364a686 improve checks for Qt when Qt 5 is not installed
John W. Eaton <jwe@octave.org>
parents: 22250
diff changeset
1895 fi
8e18e364a686 improve checks for Qt when Qt 5 is not installed
John W. Eaton <jwe@octave.org>
parents: 22250
diff changeset
1896 if test -n "$warn_qt_setvbuf"; then
8e18e364a686 improve checks for Qt when Qt 5 is not installed
John W. Eaton <jwe@octave.org>
parents: 22250
diff changeset
1897 OCTAVE_CONFIGURE_WARNING([warn_qt_setvbuf])
8e18e364a686 improve checks for Qt when Qt 5 is not installed
John W. Eaton <jwe@octave.org>
parents: 22250
diff changeset
1898 fi
8e18e364a686 improve checks for Qt when Qt 5 is not installed
John W. Eaton <jwe@octave.org>
parents: 22250
diff changeset
1899 if test -n "$warn_qt_lib_fcns"; then
8e18e364a686 improve checks for Qt when Qt 5 is not installed
John W. Eaton <jwe@octave.org>
parents: 22250
diff changeset
1900 OCTAVE_CONFIGURE_WARNING([warn_qt_lib_fcns])
8e18e364a686 improve checks for Qt when Qt 5 is not installed
John W. Eaton <jwe@octave.org>
parents: 22250
diff changeset
1901 fi
8e18e364a686 improve checks for Qt when Qt 5 is not installed
John W. Eaton <jwe@octave.org>
parents: 22250
diff changeset
1902 if test -n "$warn_qt_abstract_item_model"; then
8e18e364a686 improve checks for Qt when Qt 5 is not installed
John W. Eaton <jwe@octave.org>
parents: 22250
diff changeset
1903 OCTAVE_CONFIGURE_WARNING([warn_qt_abstract_item_model])
8e18e364a686 improve checks for Qt when Qt 5 is not installed
John W. Eaton <jwe@octave.org>
parents: 22250
diff changeset
1904 fi
8e18e364a686 improve checks for Qt when Qt 5 is not installed
John W. Eaton <jwe@octave.org>
parents: 22250
diff changeset
1905 if test -n "$warn_qt_opengl"; then
8e18e364a686 improve checks for Qt when Qt 5 is not installed
John W. Eaton <jwe@octave.org>
parents: 22250
diff changeset
1906 OCTAVE_CONFIGURE_WARNING([warn_qt_opengl])
8e18e364a686 improve checks for Qt when Qt 5 is not installed
John W. Eaton <jwe@octave.org>
parents: 22250
diff changeset
1907 fi
8e18e364a686 improve checks for Qt when Qt 5 is not installed
John W. Eaton <jwe@octave.org>
parents: 22250
diff changeset
1908 if test -n "$warn_qscintilla"; then
8e18e364a686 improve checks for Qt when Qt 5 is not installed
John W. Eaton <jwe@octave.org>
parents: 22250
diff changeset
1909 OCTAVE_CONFIGURE_WARNING([warn_qscintilla])
22234
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1910 fi
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1911 fi
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1912
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1913 AM_CONDITIONAL([AMCOND_BUILD_QT_GUI], [test $build_qt_gui = yes])
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1914 AM_CONDITIONAL([AMCOND_BUILD_QT_GRAPHICS], [test $build_qt_graphics = yes])
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1915 AM_CONDITIONAL([AMCOND_HAVE_QSCINTILLA], [test $use_qscintilla = yes])
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1916 AM_CONDITIONAL([WIN32_TERMINAL], [test $win32_terminal = yes])
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1917 ])
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1918 dnl
24798
45470049a43f Allow getframe and print to work without osmesa (bug #53186).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 24623
diff changeset
1919 dnl Check whether QOffscreenSurface is present.
45470049a43f Allow getframe and print to work without osmesa (bug #53186).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 24623
diff changeset
1920 dnl
45470049a43f Allow getframe and print to work without osmesa (bug #53186).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 24623
diff changeset
1921 AC_DEFUN([OCTAVE_CHECK_QT_OPENGL_OFFSCREEN_OK], [
45470049a43f Allow getframe and print to work without osmesa (bug #53186).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 24623
diff changeset
1922 dnl Normally the language and compiler flags would be set and restored
45470049a43f Allow getframe and print to work without osmesa (bug #53186).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 24623
diff changeset
1923 dnl inside of the AC_CACHE_CHECK body. Because we also need to check for
45470049a43f Allow getframe and print to work without osmesa (bug #53186).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 24623
diff changeset
1924 dnl Qt header files associated with the compilation test, set and restore
45470049a43f Allow getframe and print to work without osmesa (bug #53186).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 24623
diff changeset
1925 dnl these values outside of the AC_CACHE_CHECK for this macro only.
45470049a43f Allow getframe and print to work without osmesa (bug #53186).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 24623
diff changeset
1926 AC_LANG_PUSH(C++)
45470049a43f Allow getframe and print to work without osmesa (bug #53186).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 24623
diff changeset
1927 ac_octave_save_CPPFLAGS="$CPPFLAGS"
45470049a43f Allow getframe and print to work without osmesa (bug #53186).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 24623
diff changeset
1928 ac_octave_save_CXXFLAGS="$CXXFLAGS"
26881
4af9840f9ce5 make building with Qt4 QGLWidget work again (bug #55735)
John W. Eaton <jwe@octave.org>
parents: 26672
diff changeset
1929 CPPFLAGS="$QT_OPENGL_CPPFLAGS $CXXPICFLAG $CPPFLAGS"
24798
45470049a43f Allow getframe and print to work without osmesa (bug #53186).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 24623
diff changeset
1930 CXXFLAGS="$CXXPICFLAG $CXXFLAGS"
45470049a43f Allow getframe and print to work without osmesa (bug #53186).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 24623
diff changeset
1931 AC_CHECK_HEADERS([QOffscreenSurface])
45470049a43f Allow getframe and print to work without osmesa (bug #53186).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 24623
diff changeset
1932 AC_CACHE_CHECK([whether Qt supports full offscreen OpenGL rendering],
45470049a43f Allow getframe and print to work without osmesa (bug #53186).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 24623
diff changeset
1933 [octave_cv_qt_opengl_os_ok],
45470049a43f Allow getframe and print to work without osmesa (bug #53186).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 24623
diff changeset
1934 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
45470049a43f Allow getframe and print to work without osmesa (bug #53186).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 24623
diff changeset
1935 #if HAVE_WINDOWS_H
45470049a43f Allow getframe and print to work without osmesa (bug #53186).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 24623
diff changeset
1936 # include <windows.h>
45470049a43f Allow getframe and print to work without osmesa (bug #53186).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 24623
diff changeset
1937 #endif
45470049a43f Allow getframe and print to work without osmesa (bug #53186).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 24623
diff changeset
1938 #if defined (HAVE_GL_GL_H)
45470049a43f Allow getframe and print to work without osmesa (bug #53186).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 24623
diff changeset
1939 # include <GL/gl.h>
45470049a43f Allow getframe and print to work without osmesa (bug #53186).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 24623
diff changeset
1940 #elif defined (HAVE_OPENGL_GL_H)
45470049a43f Allow getframe and print to work without osmesa (bug #53186).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 24623
diff changeset
1941 # include <OpenGL/gl.h>
45470049a43f Allow getframe and print to work without osmesa (bug #53186).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 24623
diff changeset
1942 #endif
45470049a43f Allow getframe and print to work without osmesa (bug #53186).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 24623
diff changeset
1943 #if defined (HAVE_GL_GLU_H)
45470049a43f Allow getframe and print to work without osmesa (bug #53186).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 24623
diff changeset
1944 # include <GL/glu.h>
45470049a43f Allow getframe and print to work without osmesa (bug #53186).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 24623
diff changeset
1945 #elif defined HAVE_OPENGL_GLU_H || defined HAVE_FRAMEWORK_OPENGL
45470049a43f Allow getframe and print to work without osmesa (bug #53186).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 24623
diff changeset
1946 # include <OpenGL/glu.h>
45470049a43f Allow getframe and print to work without osmesa (bug #53186).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 24623
diff changeset
1947 #endif
45470049a43f Allow getframe and print to work without osmesa (bug #53186).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 24623
diff changeset
1948 #if defined (HAVE_QOPENGLWIDGET)
45470049a43f Allow getframe and print to work without osmesa (bug #53186).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 24623
diff changeset
1949 # include <QOpenGLWidget>
45470049a43f Allow getframe and print to work without osmesa (bug #53186).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 24623
diff changeset
1950 # include <QOpenGLContext>
45470049a43f Allow getframe and print to work without osmesa (bug #53186).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 24623
diff changeset
1951 #endif
45470049a43f Allow getframe and print to work without osmesa (bug #53186).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 24623
diff changeset
1952 #if defined (HAVE_QOFFSCREENSURFACE)
45470049a43f Allow getframe and print to work without osmesa (bug #53186).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 24623
diff changeset
1953 # include <QOffscreenSurface>
45470049a43f Allow getframe and print to work without osmesa (bug #53186).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 24623
diff changeset
1954 #endif
25061
5fef743c34d7 build: Check for new help query member in qt 5.9 (bug #53006).
Torsten <mttl@mailbox.org>
parents: 25054
diff changeset
1955 QOpenGLContext ctx;
24798
45470049a43f Allow getframe and print to work without osmesa (bug #53186).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 24623
diff changeset
1956 QOffscreenSurface surf;
45470049a43f Allow getframe and print to work without osmesa (bug #53186).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 24623
diff changeset
1957 ]])],
45470049a43f Allow getframe and print to work without osmesa (bug #53186).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 24623
diff changeset
1958 octave_cv_qt_opengl_os_ok=yes,
45470049a43f Allow getframe and print to work without osmesa (bug #53186).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 24623
diff changeset
1959 octave_cv_qt_opengl_os_ok=no)
45470049a43f Allow getframe and print to work without osmesa (bug #53186).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 24623
diff changeset
1960 ])
45470049a43f Allow getframe and print to work without osmesa (bug #53186).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 24623
diff changeset
1961 CPPFLAGS="$ac_octave_save_CPPFLAGS"
45470049a43f Allow getframe and print to work without osmesa (bug #53186).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 24623
diff changeset
1962 CXXFLAGS="$ac_octave_save_CXXFLAGS"
45470049a43f Allow getframe and print to work without osmesa (bug #53186).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 24623
diff changeset
1963 AC_LANG_POP(C++)
45470049a43f Allow getframe and print to work without osmesa (bug #53186).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 24623
diff changeset
1964 if test $octave_cv_qt_opengl_os_ok = yes; then
45470049a43f Allow getframe and print to work without osmesa (bug #53186).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 24623
diff changeset
1965 $1
45470049a43f Allow getframe and print to work without osmesa (bug #53186).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 24623
diff changeset
1966 :
45470049a43f Allow getframe and print to work without osmesa (bug #53186).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 24623
diff changeset
1967 else
45470049a43f Allow getframe and print to work without osmesa (bug #53186).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 24623
diff changeset
1968 $2
45470049a43f Allow getframe and print to work without osmesa (bug #53186).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 24623
diff changeset
1969 :
45470049a43f Allow getframe and print to work without osmesa (bug #53186).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 24623
diff changeset
1970 fi
45470049a43f Allow getframe and print to work without osmesa (bug #53186).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 24623
diff changeset
1971 ])
45470049a43f Allow getframe and print to work without osmesa (bug #53186).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 24623
diff changeset
1972 dnl
20420
6cfbf412a2c3 configure.ac: Test that Qt and OpenGL can be used together (bug #45672)
Mike Miller <mtmiller@octave.org>
parents: 20416
diff changeset
1973 dnl Check whether Qt works with full OpenGL support
6cfbf412a2c3 configure.ac: Test that Qt and OpenGL can be used together (bug #45672)
Mike Miller <mtmiller@octave.org>
parents: 20416
diff changeset
1974 dnl
6cfbf412a2c3 configure.ac: Test that Qt and OpenGL can be used together (bug #45672)
Mike Miller <mtmiller@octave.org>
parents: 20416
diff changeset
1975 AC_DEFUN([OCTAVE_CHECK_QT_OPENGL_OK], [
24144
8e034cb195f1 configure: set and restore compiler flags when testing for Qt header files
Mike Miller <mtmiller@octave.org>
parents: 24143
diff changeset
1976 dnl Normally the language and compiler flags would be set and restored
8e034cb195f1 configure: set and restore compiler flags when testing for Qt header files
Mike Miller <mtmiller@octave.org>
parents: 24143
diff changeset
1977 dnl inside of the AC_CACHE_CHECK body. Because we also need to check for
8e034cb195f1 configure: set and restore compiler flags when testing for Qt header files
Mike Miller <mtmiller@octave.org>
parents: 24143
diff changeset
1978 dnl Qt header files associated with the compilation test, set and restore
8e034cb195f1 configure: set and restore compiler flags when testing for Qt header files
Mike Miller <mtmiller@octave.org>
parents: 24143
diff changeset
1979 dnl these values outside of the AC_CACHE_CHECK for this macro only.
8e034cb195f1 configure: set and restore compiler flags when testing for Qt header files
Mike Miller <mtmiller@octave.org>
parents: 24143
diff changeset
1980 AC_LANG_PUSH(C++)
8e034cb195f1 configure: set and restore compiler flags when testing for Qt header files
Mike Miller <mtmiller@octave.org>
parents: 24143
diff changeset
1981 ac_octave_save_CPPFLAGS="$CPPFLAGS"
8e034cb195f1 configure: set and restore compiler flags when testing for Qt header files
Mike Miller <mtmiller@octave.org>
parents: 24143
diff changeset
1982 ac_octave_save_CXXFLAGS="$CXXFLAGS"
26881
4af9840f9ce5 make building with Qt4 QGLWidget work again (bug #55735)
John W. Eaton <jwe@octave.org>
parents: 26672
diff changeset
1983 CPPFLAGS="$QT_OPENGL_CPPFLAGS $CXXPICFLAG $CPPFLAGS"
24144
8e034cb195f1 configure: set and restore compiler flags when testing for Qt header files
Mike Miller <mtmiller@octave.org>
parents: 24143
diff changeset
1984 CXXFLAGS="$CXXPICFLAG $CXXFLAGS"
25862
e5a73a8c116c use wrapper class to call OpenGL functions
John W. Eaton <jwe@octave.org>
parents: 25844
diff changeset
1985 AC_CHECK_HEADERS([QOpenGLWidget QGLWidget QGLFunctions_1_1])
20420
6cfbf412a2c3 configure.ac: Test that Qt and OpenGL can be used together (bug #45672)
Mike Miller <mtmiller@octave.org>
parents: 20416
diff changeset
1986 AC_CACHE_CHECK([whether Qt works with OpenGL and GLU],
6cfbf412a2c3 configure.ac: Test that Qt and OpenGL can be used together (bug #45672)
Mike Miller <mtmiller@octave.org>
parents: 20416
diff changeset
1987 [octave_cv_qt_opengl_ok],
24144
8e034cb195f1 configure: set and restore compiler flags when testing for Qt header files
Mike Miller <mtmiller@octave.org>
parents: 24143
diff changeset
1988 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
20420
6cfbf412a2c3 configure.ac: Test that Qt and OpenGL can be used together (bug #45672)
Mike Miller <mtmiller@octave.org>
parents: 20416
diff changeset
1989 #if HAVE_WINDOWS_H
24142
59cdf06c940e use QOpenGLWidget if it is available
John W. Eaton <jwe@octave.org>
parents: 24125
diff changeset
1990 # include <windows.h>
20420
6cfbf412a2c3 configure.ac: Test that Qt and OpenGL can be used together (bug #45672)
Mike Miller <mtmiller@octave.org>
parents: 20416
diff changeset
1991 #endif
6cfbf412a2c3 configure.ac: Test that Qt and OpenGL can be used together (bug #45672)
Mike Miller <mtmiller@octave.org>
parents: 20416
diff changeset
1992 #if defined (HAVE_GL_GL_H)
24142
59cdf06c940e use QOpenGLWidget if it is available
John W. Eaton <jwe@octave.org>
parents: 24125
diff changeset
1993 # include <GL/gl.h>
20420
6cfbf412a2c3 configure.ac: Test that Qt and OpenGL can be used together (bug #45672)
Mike Miller <mtmiller@octave.org>
parents: 20416
diff changeset
1994 #elif defined (HAVE_OPENGL_GL_H)
24142
59cdf06c940e use QOpenGLWidget if it is available
John W. Eaton <jwe@octave.org>
parents: 24125
diff changeset
1995 # include <OpenGL/gl.h>
20420
6cfbf412a2c3 configure.ac: Test that Qt and OpenGL can be used together (bug #45672)
Mike Miller <mtmiller@octave.org>
parents: 20416
diff changeset
1996 #endif
21724
aba2e6293dd8 use "#if ..." consistently instead of "#ifdef" and "#ifndef"
John W. Eaton <jwe@octave.org>
parents: 21604
diff changeset
1997 #if defined (HAVE_GL_GLU_H)
24142
59cdf06c940e use QOpenGLWidget if it is available
John W. Eaton <jwe@octave.org>
parents: 24125
diff changeset
1998 # include <GL/glu.h>
20420
6cfbf412a2c3 configure.ac: Test that Qt and OpenGL can be used together (bug #45672)
Mike Miller <mtmiller@octave.org>
parents: 20416
diff changeset
1999 #elif defined HAVE_OPENGL_GLU_H || defined HAVE_FRAMEWORK_OPENGL
24142
59cdf06c940e use QOpenGLWidget if it is available
John W. Eaton <jwe@octave.org>
parents: 24125
diff changeset
2000 # include <OpenGL/glu.h>
20420
6cfbf412a2c3 configure.ac: Test that Qt and OpenGL can be used together (bug #45672)
Mike Miller <mtmiller@octave.org>
parents: 20416
diff changeset
2001 #endif
24142
59cdf06c940e use QOpenGLWidget if it is available
John W. Eaton <jwe@octave.org>
parents: 24125
diff changeset
2002 #if defined (HAVE_QOPENGLWIDGET)
59cdf06c940e use QOpenGLWidget if it is available
John W. Eaton <jwe@octave.org>
parents: 24125
diff changeset
2003 # include <QOpenGLWidget>
59cdf06c940e use QOpenGLWidget if it is available
John W. Eaton <jwe@octave.org>
parents: 24125
diff changeset
2004 # define OCTAVE_QT_OPENGL_WIDGET QOpenGLWidget
59cdf06c940e use QOpenGLWidget if it is available
John W. Eaton <jwe@octave.org>
parents: 24125
diff changeset
2005 #elif defined (HAVE_QGLWIDGET)
59cdf06c940e use QOpenGLWidget if it is available
John W. Eaton <jwe@octave.org>
parents: 24125
diff changeset
2006 # include <QGLWidget>
59cdf06c940e use QOpenGLWidget if it is available
John W. Eaton <jwe@octave.org>
parents: 24125
diff changeset
2007 # define OCTAVE_QT_OPENGL_WIDGET QGLWidget
59cdf06c940e use QOpenGLWidget if it is available
John W. Eaton <jwe@octave.org>
parents: 24125
diff changeset
2008 #endif
59cdf06c940e use QOpenGLWidget if it is available
John W. Eaton <jwe@octave.org>
parents: 24125
diff changeset
2009 class gl_widget : public OCTAVE_QT_OPENGL_WIDGET
20420
6cfbf412a2c3 configure.ac: Test that Qt and OpenGL can be used together (bug #45672)
Mike Miller <mtmiller@octave.org>
parents: 20416
diff changeset
2010 {
6cfbf412a2c3 configure.ac: Test that Qt and OpenGL can be used together (bug #45672)
Mike Miller <mtmiller@octave.org>
parents: 20416
diff changeset
2011 public:
24142
59cdf06c940e use QOpenGLWidget if it is available
John W. Eaton <jwe@octave.org>
parents: 24125
diff changeset
2012 gl_widget (QWidget *parent = 0)
59cdf06c940e use QOpenGLWidget if it is available
John W. Eaton <jwe@octave.org>
parents: 24125
diff changeset
2013 : OCTAVE_QT_OPENGL_WIDGET (parent) { }
20420
6cfbf412a2c3 configure.ac: Test that Qt and OpenGL can be used together (bug #45672)
Mike Miller <mtmiller@octave.org>
parents: 20416
diff changeset
2014 ~gl_widget () {}
6cfbf412a2c3 configure.ac: Test that Qt and OpenGL can be used together (bug #45672)
Mike Miller <mtmiller@octave.org>
parents: 20416
diff changeset
2015 };
6cfbf412a2c3 configure.ac: Test that Qt and OpenGL can be used together (bug #45672)
Mike Miller <mtmiller@octave.org>
parents: 20416
diff changeset
2016 ]], [[
6cfbf412a2c3 configure.ac: Test that Qt and OpenGL can be used together (bug #45672)
Mike Miller <mtmiller@octave.org>
parents: 20416
diff changeset
2017 gl_widget widget;
6cfbf412a2c3 configure.ac: Test that Qt and OpenGL can be used together (bug #45672)
Mike Miller <mtmiller@octave.org>
parents: 20416
diff changeset
2018 ]])],
6cfbf412a2c3 configure.ac: Test that Qt and OpenGL can be used together (bug #45672)
Mike Miller <mtmiller@octave.org>
parents: 20416
diff changeset
2019 octave_cv_qt_opengl_ok=yes,
6cfbf412a2c3 configure.ac: Test that Qt and OpenGL can be used together (bug #45672)
Mike Miller <mtmiller@octave.org>
parents: 20416
diff changeset
2020 octave_cv_qt_opengl_ok=no)
6cfbf412a2c3 configure.ac: Test that Qt and OpenGL can be used together (bug #45672)
Mike Miller <mtmiller@octave.org>
parents: 20416
diff changeset
2021 ])
24144
8e034cb195f1 configure: set and restore compiler flags when testing for Qt header files
Mike Miller <mtmiller@octave.org>
parents: 24143
diff changeset
2022 CPPFLAGS="$ac_octave_save_CPPFLAGS"
8e034cb195f1 configure: set and restore compiler flags when testing for Qt header files
Mike Miller <mtmiller@octave.org>
parents: 24143
diff changeset
2023 CXXFLAGS="$ac_octave_save_CXXFLAGS"
8e034cb195f1 configure: set and restore compiler flags when testing for Qt header files
Mike Miller <mtmiller@octave.org>
parents: 24143
diff changeset
2024 AC_LANG_POP(C++)
20420
6cfbf412a2c3 configure.ac: Test that Qt and OpenGL can be used together (bug #45672)
Mike Miller <mtmiller@octave.org>
parents: 20416
diff changeset
2025 if test $octave_cv_qt_opengl_ok = yes; then
6cfbf412a2c3 configure.ac: Test that Qt and OpenGL can be used together (bug #45672)
Mike Miller <mtmiller@octave.org>
parents: 20416
diff changeset
2026 $1
6cfbf412a2c3 configure.ac: Test that Qt and OpenGL can be used together (bug #45672)
Mike Miller <mtmiller@octave.org>
parents: 20416
diff changeset
2027 :
6cfbf412a2c3 configure.ac: Test that Qt and OpenGL can be used together (bug #45672)
Mike Miller <mtmiller@octave.org>
parents: 20416
diff changeset
2028 else
6cfbf412a2c3 configure.ac: Test that Qt and OpenGL can be used together (bug #45672)
Mike Miller <mtmiller@octave.org>
parents: 20416
diff changeset
2029 $2
6cfbf412a2c3 configure.ac: Test that Qt and OpenGL can be used together (bug #45672)
Mike Miller <mtmiller@octave.org>
parents: 20416
diff changeset
2030 :
6cfbf412a2c3 configure.ac: Test that Qt and OpenGL can be used together (bug #45672)
Mike Miller <mtmiller@octave.org>
parents: 20416
diff changeset
2031 fi
6cfbf412a2c3 configure.ac: Test that Qt and OpenGL can be used together (bug #45672)
Mike Miller <mtmiller@octave.org>
parents: 20416
diff changeset
2032 ])
6cfbf412a2c3 configure.ac: Test that Qt and OpenGL can be used together (bug #45672)
Mike Miller <mtmiller@octave.org>
parents: 20416
diff changeset
2033 dnl
30005
7677b6184c0b use new Qt::ImCursorRectangle enum value if available
John W. Eaton <jwe@octave.org>
parents: 29949
diff changeset
2034 dnl Check whether the Qt::ImCursorRectangle enum value exists.
7677b6184c0b use new Qt::ImCursorRectangle enum value if available
John W. Eaton <jwe@octave.org>
parents: 29949
diff changeset
2035 dnl It replaces the Qt::ImMicroFocus enum value that was deprecated
7677b6184c0b use new Qt::ImCursorRectangle enum value if available
John W. Eaton <jwe@octave.org>
parents: 29949
diff changeset
2036 dnl in Qt 5.14.
7677b6184c0b use new Qt::ImCursorRectangle enum value if available
John W. Eaton <jwe@octave.org>
parents: 29949
diff changeset
2037 dnl
7677b6184c0b use new Qt::ImCursorRectangle enum value if available
John W. Eaton <jwe@octave.org>
parents: 29949
diff changeset
2038 AC_DEFUN([OCTAVE_CHECK_QT_IMCURSORRECTANGLE_ENUM_VALUE], [
7677b6184c0b use new Qt::ImCursorRectangle enum value if available
John W. Eaton <jwe@octave.org>
parents: 29949
diff changeset
2039 AC_CACHE_CHECK([for Qt::ImCursorRectangle enum value],
7677b6184c0b use new Qt::ImCursorRectangle enum value if available
John W. Eaton <jwe@octave.org>
parents: 29949
diff changeset
2040 [octave_cv_qt_imcursorrectangle_enum_value],
7677b6184c0b use new Qt::ImCursorRectangle enum value if available
John W. Eaton <jwe@octave.org>
parents: 29949
diff changeset
2041 [AC_LANG_PUSH(C++)
7677b6184c0b use new Qt::ImCursorRectangle enum value if available
John W. Eaton <jwe@octave.org>
parents: 29949
diff changeset
2042 ac_octave_save_CPPFLAGS="$CPPFLAGS"
7677b6184c0b use new Qt::ImCursorRectangle enum value if available
John W. Eaton <jwe@octave.org>
parents: 29949
diff changeset
2043 ac_octave_save_CXXFLAGS="$CXXFLAGS"
7677b6184c0b use new Qt::ImCursorRectangle enum value if available
John W. Eaton <jwe@octave.org>
parents: 29949
diff changeset
2044 CPPFLAGS="$QT_CPPFLAGS $CXXPICFLAG $CPPFLAGS"
7677b6184c0b use new Qt::ImCursorRectangle enum value if available
John W. Eaton <jwe@octave.org>
parents: 29949
diff changeset
2045 CXXFLAGS="$CXXPICFLAG $CXXFLAGS"
7677b6184c0b use new Qt::ImCursorRectangle enum value if available
John W. Eaton <jwe@octave.org>
parents: 29949
diff changeset
2046 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
7677b6184c0b use new Qt::ImCursorRectangle enum value if available
John W. Eaton <jwe@octave.org>
parents: 29949
diff changeset
2047 #include <Qt>
7677b6184c0b use new Qt::ImCursorRectangle enum value if available
John W. Eaton <jwe@octave.org>
parents: 29949
diff changeset
2048 ]], [[
7677b6184c0b use new Qt::ImCursorRectangle enum value if available
John W. Eaton <jwe@octave.org>
parents: 29949
diff changeset
2049 Qt::InputMethodQuery method_query = Qt::ImCursorRectangle;
7677b6184c0b use new Qt::ImCursorRectangle enum value if available
John W. Eaton <jwe@octave.org>
parents: 29949
diff changeset
2050 ]])],
7677b6184c0b use new Qt::ImCursorRectangle enum value if available
John W. Eaton <jwe@octave.org>
parents: 29949
diff changeset
2051 octave_cv_qt_imcursorrectangle_enum_value=yes,
7677b6184c0b use new Qt::ImCursorRectangle enum value if available
John W. Eaton <jwe@octave.org>
parents: 29949
diff changeset
2052 octave_cv_qt_imcursorrectangle_enum_value=no)
7677b6184c0b use new Qt::ImCursorRectangle enum value if available
John W. Eaton <jwe@octave.org>
parents: 29949
diff changeset
2053 CPPFLAGS="$ac_octave_save_CPPFLAGS"
7677b6184c0b use new Qt::ImCursorRectangle enum value if available
John W. Eaton <jwe@octave.org>
parents: 29949
diff changeset
2054 CXXFLAGS="$ac_octave_save_CXXFLAGS"
7677b6184c0b use new Qt::ImCursorRectangle enum value if available
John W. Eaton <jwe@octave.org>
parents: 29949
diff changeset
2055 AC_LANG_POP(C++)
7677b6184c0b use new Qt::ImCursorRectangle enum value if available
John W. Eaton <jwe@octave.org>
parents: 29949
diff changeset
2056 ])
7677b6184c0b use new Qt::ImCursorRectangle enum value if available
John W. Eaton <jwe@octave.org>
parents: 29949
diff changeset
2057 if test $octave_cv_qt_imcursorrectangle_enum_value = yes; then
7677b6184c0b use new Qt::ImCursorRectangle enum value if available
John W. Eaton <jwe@octave.org>
parents: 29949
diff changeset
2058 AC_DEFINE(HAVE_QT_IMCURSORRECTANGLE_ENUM_VALUE, 1,
7677b6184c0b use new Qt::ImCursorRectangle enum value if available
John W. Eaton <jwe@octave.org>
parents: 29949
diff changeset
2059 [Define to 1 if you have the `Qt::ImCursorRectangle' enum value.])
7677b6184c0b use new Qt::ImCursorRectangle enum value if available
John W. Eaton <jwe@octave.org>
parents: 29949
diff changeset
2060 fi
7677b6184c0b use new Qt::ImCursorRectangle enum value if available
John W. Eaton <jwe@octave.org>
parents: 29949
diff changeset
2061 ])
7677b6184c0b use new Qt::ImCursorRectangle enum value if available
John W. Eaton <jwe@octave.org>
parents: 29949
diff changeset
2062 dnl
29367
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2063 dnl Check whether the Qt::SplitBehavior enum exists and has
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2064 dnl Qt::KeepEmptyParts and Qt::SkipEmptyParts members. This enum
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2065 dnl was introduced or modified in Qt 5.14.
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2066 dnl
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2067 AC_DEFUN([OCTAVE_CHECK_QT_SPLITBEHAVIOR_ENUM], [
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2068 AC_CACHE_CHECK([for Qt::SplitBehavior enum],
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2069 [octave_cv_qt_splitbehavior_enum],
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2070 [AC_LANG_PUSH(C++)
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2071 ac_octave_save_CPPFLAGS="$CPPFLAGS"
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2072 ac_octave_save_CXXFLAGS="$CXXFLAGS"
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2073 CPPFLAGS="$QT_CPPFLAGS $CXXPICFLAG $CPPFLAGS"
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2074 CXXFLAGS="$CXXPICFLAG $CXXFLAGS"
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2075 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2076 #include <Qt>
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2077 ]], [[
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2078 Qt::SplitBehavior sb_keep = Qt::KeepEmptyParts;
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2079 Qt::SplitBehavior sb_skip = Qt::SkipEmptyParts;
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2080 ]])],
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2081 octave_cv_qt_splitbehavior_enum=yes,
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2082 octave_cv_qt_splitbehavior_enum=no)
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2083 CPPFLAGS="$ac_octave_save_CPPFLAGS"
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2084 CXXFLAGS="$ac_octave_save_CXXFLAGS"
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2085 AC_LANG_POP(C++)
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2086 ])
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2087 if test $octave_cv_qt_splitbehavior_enum = yes; then
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2088 AC_DEFINE(HAVE_QT_SPLITBEHAVIOR_ENUM, 1,
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2089 [Define to 1 if you have the `Qt::SplitBehavior' enum.])
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2090 fi
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2091 ])
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2092 dnl
25135
ab3904f253c5 correctly track available/missing Qt tools when qtchooser is not found
John W. Eaton <jwe@octave.org>
parents: 25134
diff changeset
2093 dnl OCTAVE_CHECK_QT_TOOL(TOOL)
ab3904f253c5 correctly track available/missing Qt tools when qtchooser is not found
John W. Eaton <jwe@octave.org>
parents: 25134
diff changeset
2094 dnl
ab3904f253c5 correctly track available/missing Qt tools when qtchooser is not found
John W. Eaton <jwe@octave.org>
parents: 25134
diff changeset
2095 AC_DEFUN([OCTAVE_CHECK_QT_TOOL], [
ab3904f253c5 correctly track available/missing Qt tools when qtchooser is not found
John W. Eaton <jwe@octave.org>
parents: 25134
diff changeset
2096 AC_CHECK_TOOLS(m4_toupper([$1])_QTVER, [$1-qt$qt_version])
ab3904f253c5 correctly track available/missing Qt tools when qtchooser is not found
John W. Eaton <jwe@octave.org>
parents: 25134
diff changeset
2097 if test -z "$m4_toupper([$1])_QTVER"; then
ab3904f253c5 correctly track available/missing Qt tools when qtchooser is not found
John W. Eaton <jwe@octave.org>
parents: 25134
diff changeset
2098 AC_CHECK_TOOLS(m4_toupper([$1]), [$1])
ab3904f253c5 correctly track available/missing Qt tools when qtchooser is not found
John W. Eaton <jwe@octave.org>
parents: 25134
diff changeset
2099 if test -n "$m4_toupper([$1])"; then
ab3904f253c5 correctly track available/missing Qt tools when qtchooser is not found
John W. Eaton <jwe@octave.org>
parents: 25134
diff changeset
2100 if test -n "$QTCHOOSER"; then
29069
c6796a1c35b2 Call Qt helper programs with flags "-qt=VERSION" (bug #59474).
Rik <rik@octave.org>
parents: 29053
diff changeset
2101 m4_toupper([$1])FLAGS="-qt=$qt_version"
25135
ab3904f253c5 correctly track available/missing Qt tools when qtchooser is not found
John W. Eaton <jwe@octave.org>
parents: 25134
diff changeset
2102 fi
ab3904f253c5 correctly track available/missing Qt tools when qtchooser is not found
John W. Eaton <jwe@octave.org>
parents: 25134
diff changeset
2103 QT_TOOLS_AVAILABLE="$QT_TOOLS_AVAILABLE $1"
ab3904f253c5 correctly track available/missing Qt tools when qtchooser is not found
John W. Eaton <jwe@octave.org>
parents: 25134
diff changeset
2104 else
ab3904f253c5 correctly track available/missing Qt tools when qtchooser is not found
John W. Eaton <jwe@octave.org>
parents: 25134
diff changeset
2105 QT_TOOLS_MISSING="$QT_TOOLS_MISSING $1"
ab3904f253c5 correctly track available/missing Qt tools when qtchooser is not found
John W. Eaton <jwe@octave.org>
parents: 25134
diff changeset
2106 fi
ab3904f253c5 correctly track available/missing Qt tools when qtchooser is not found
John W. Eaton <jwe@octave.org>
parents: 25134
diff changeset
2107 else
ab3904f253c5 correctly track available/missing Qt tools when qtchooser is not found
John W. Eaton <jwe@octave.org>
parents: 25134
diff changeset
2108 m4_toupper([$1])="$m4_toupper([$1])_QTVER"
ab3904f253c5 correctly track available/missing Qt tools when qtchooser is not found
John W. Eaton <jwe@octave.org>
parents: 25134
diff changeset
2109 QT_TOOLS_AVAILABLE="$QT_TOOLS_AVAILABLE $1"
ab3904f253c5 correctly track available/missing Qt tools when qtchooser is not found
John W. Eaton <jwe@octave.org>
parents: 25134
diff changeset
2110 fi
ab3904f253c5 correctly track available/missing Qt tools when qtchooser is not found
John W. Eaton <jwe@octave.org>
parents: 25134
diff changeset
2111 ])
ab3904f253c5 correctly track available/missing Qt tools when qtchooser is not found
John W. Eaton <jwe@octave.org>
parents: 25134
diff changeset
2112 dnl
22234
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2113 dnl Check whether Qt VERSION is present, supports QtOpenGL and
24798
45470049a43f Allow getframe and print to work without osmesa (bug #53186).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 24623
diff changeset
2114 dnl QScintilla, and will work for Octave.
22234
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2115 dnl
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2116 dnl OCTAVE_CHECK_QT_VERSION(VERSION)
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2117 dnl
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2118 AC_DEFUN([OCTAVE_CHECK_QT_VERSION], [AC_MSG_CHECKING([Qt version $1])
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2119 QT_CPPFLAGS=
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2120 QT_LDFLAGS=
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2121 QT_LIBS=
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2122
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2123 qt_version="$1";
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2124
22255
8e18e364a686 improve checks for Qt when Qt 5 is not installed
John W. Eaton <jwe@octave.org>
parents: 22250
diff changeset
2125 build_qt_gui=yes
22234
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2126 build_qt_graphics=no
24798
45470049a43f Allow getframe and print to work without osmesa (bug #53186).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 24623
diff changeset
2127 have_qt_opengl_offscreen=no
22234
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2128 win32_terminal=no
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2129
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2130 warn_qt_libraries=""
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2131 warn_qt_version=""
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2132 warn_qt_tools=""
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2133 warn_qt_setvbuf=""
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2134 warn_qt_lib_fcns=""
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2135 warn_qt_abstract_item_model=""
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2136 warn_qt_opengl=""
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2137
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2138 ## Check for Qt libraries
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2139 case "$qt_version" in
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2140 5)
26889
8295dfd22a02 Backed out changeset 4b256f00650c
John W. Eaton <jwe@octave.org>
parents: 26887
diff changeset
2141 QT_OPENGL_MODULE="Qt5OpenGL"
29519
78f42413e20f octave-svgconvert: Don't use Qt's SVG module (bug #59546)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 29482
diff changeset
2142 QT_MODULES="Qt5Core Qt5Gui Qt5Help Qt5Network Qt5PrintSupport Qt5Xml"
22234
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2143 ;;
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2144 *)
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2145 AC_MSG_ERROR([Unrecognized Qt version $qt_version])
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2146 ;;
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2147 esac
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2148
25114
f191e1a26095 if a Qt version appears partially installed, don't check another version
John W. Eaton <jwe@octave.org>
parents: 25098
diff changeset
2149 ## Use this check to get info in the log file.
22234
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2150 PKG_CHECK_MODULES(QT, [$QT_MODULES],
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2151 [],
22255
8e18e364a686 improve checks for Qt when Qt 5 is not installed
John W. Eaton <jwe@octave.org>
parents: 22250
diff changeset
2152 [build_qt_gui=no
22234
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2153 warn_qt_libraries="Qt libraries not found; disabling Qt GUI"])
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2154
25114
f191e1a26095 if a Qt version appears partially installed, don't check another version
John W. Eaton <jwe@octave.org>
parents: 25098
diff changeset
2155 ## Check the modules again individually to get lists of modules that
f191e1a26095 if a Qt version appears partially installed, don't check another version
John W. Eaton <jwe@octave.org>
parents: 25098
diff changeset
2156 ## are available and/or missing
f191e1a26095 if a Qt version appears partially installed, don't check another version
John W. Eaton <jwe@octave.org>
parents: 25098
diff changeset
2157 QT_MODULES_AVAILABLE=
25097
cc21f66ecb1c display more info in configure summary about Qt version and missing features
John W. Eaton <jwe@octave.org>
parents: 25061
diff changeset
2158 QT_MODULES_MISSING=
25114
f191e1a26095 if a Qt version appears partially installed, don't check another version
John W. Eaton <jwe@octave.org>
parents: 25098
diff changeset
2159 for qt_mod in $QT_MODULES; do
f191e1a26095 if a Qt version appears partially installed, don't check another version
John W. Eaton <jwe@octave.org>
parents: 25098
diff changeset
2160 if $PKG_CONFIG --exists $qt_mod; then
f191e1a26095 if a Qt version appears partially installed, don't check another version
John W. Eaton <jwe@octave.org>
parents: 25098
diff changeset
2161 QT_MODULES_AVAILABLE="$QT_MODULES_AVAILABLE $qt_mod"
f191e1a26095 if a Qt version appears partially installed, don't check another version
John W. Eaton <jwe@octave.org>
parents: 25098
diff changeset
2162 else
f191e1a26095 if a Qt version appears partially installed, don't check another version
John W. Eaton <jwe@octave.org>
parents: 25098
diff changeset
2163 QT_MODULES_MISSING="$QT_MODULES_MISSING $qt_mod"
f191e1a26095 if a Qt version appears partially installed, don't check another version
John W. Eaton <jwe@octave.org>
parents: 25098
diff changeset
2164 fi
f191e1a26095 if a Qt version appears partially installed, don't check another version
John W. Eaton <jwe@octave.org>
parents: 25098
diff changeset
2165 done
25097
cc21f66ecb1c display more info in configure summary about Qt version and missing features
John W. Eaton <jwe@octave.org>
parents: 25061
diff changeset
2166
22255
8e18e364a686 improve checks for Qt when Qt 5 is not installed
John W. Eaton <jwe@octave.org>
parents: 22250
diff changeset
2167 if test $build_qt_gui = yes; then
22234
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2168 ## Retrieve Qt compilation and linker flags
23835
6ae0292aaa5c configure: ensure empty pkg-config results are actually empty (bug #51680)
Mike Miller <mtmiller@octave.org>
parents: 23414
diff changeset
2169 QT_CPPFLAGS="$($PKG_CONFIG --cflags-only-I $QT_MODULES | $SED -e 's/^ *$//')"
6ae0292aaa5c configure: ensure empty pkg-config results are actually empty (bug #51680)
Mike Miller <mtmiller@octave.org>
parents: 23414
diff changeset
2170 QT_LDFLAGS="$($PKG_CONFIG --libs-only-L $QT_MODULES | $SED -e 's/^ *$//')"
6ae0292aaa5c configure: ensure empty pkg-config results are actually empty (bug #51680)
Mike Miller <mtmiller@octave.org>
parents: 23414
diff changeset
2171 QT_LIBS="$($PKG_CONFIG --libs-only-l $QT_MODULES | $SED -e 's/^ *$//')"
26889
8295dfd22a02 Backed out changeset 4b256f00650c
John W. Eaton <jwe@octave.org>
parents: 26887
diff changeset
2172 QT_OPENGL_CPPFLAGS="$($PKG_CONFIG --cflags-only-I $QT_OPENGL_MODULE | $SED -e 's/^ *$//')"
8295dfd22a02 Backed out changeset 4b256f00650c
John W. Eaton <jwe@octave.org>
parents: 26887
diff changeset
2173 QT_OPENGL_LDFLAGS="$($PKG_CONFIG --libs-only-L $QT_OPENGL_MODULE | $SED -e 's/^ *$//')"
8295dfd22a02 Backed out changeset 4b256f00650c
John W. Eaton <jwe@octave.org>
parents: 26887
diff changeset
2174 QT_OPENGL_LIBS="$($PKG_CONFIG --libs-only-l $QT_OPENGL_MODULE | $SED -e 's/^ *$//')"
22234
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2175
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2176 case $host_os in
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2177 *darwin*)
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2178 ## Qt might be installed in framework
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2179 if test -z "$QT_LIBS"; then
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2180 QT_LDFLAGS="`$PKG_CONFIG --libs-only-other $QT_MODULES | tr ' ' '\n' | $GREP -e '-F' | uniq | tr '\n' ' '`"
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2181 QT_LIBS="`$PKG_CONFIG --libs-only-other $QT_MODULES | tr ' ' '\n' | $GREP -v -e '-F' | uniq | tr '\n' ' '`"
26889
8295dfd22a02 Backed out changeset 4b256f00650c
John W. Eaton <jwe@octave.org>
parents: 26887
diff changeset
2182 QT_OPENGL_LDFLAGS="`$PKG_CONFIG --libs-only-other $QT_OPENGL_MODULE | tr ' ' '\n' | $GREP -e '-F' | uniq | tr '\n' ' '`"
8295dfd22a02 Backed out changeset 4b256f00650c
John W. Eaton <jwe@octave.org>
parents: 26887
diff changeset
2183 QT_OPENGL_LIBS="`$PKG_CONFIG --libs-only-other $QT_OPENGL_MODULE | tr ' ' '\n' | $GREP -v -e '-F' | uniq | tr '\n' ' '`"
22234
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2184 ## Enabling link_all_deps works around libtool's imperfect handling
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2185 ## of the -F flag
29663
5811df727e96 build: Don't try to expand Makefile variable in configure script.
Markus Mützel <markus.muetzel@gmx.de>
parents: 29661
diff changeset
2186 if test -n "$QT_LDFLAGS"; then
5811df727e96 build: Don't try to expand Makefile variable in configure script.
Markus Mützel <markus.muetzel@gmx.de>
parents: 29661
diff changeset
2187 link_all_deps=yes
5811df727e96 build: Don't try to expand Makefile variable in configure script.
Markus Mützel <markus.muetzel@gmx.de>
parents: 29661
diff changeset
2188 fi
5811df727e96 build: Don't try to expand Makefile variable in configure script.
Markus Mützel <markus.muetzel@gmx.de>
parents: 29661
diff changeset
2189 AM_CONDITIONAL([AMCOND_LINK_ALL_DEPS], [test $link_all_deps = yes])
22234
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2190 fi
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2191 ;;
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2192 esac
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2193 fi
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2194
25119
14b9e2a1f3e1 if some Qt tools are instaslled, don't check for another version
John W. Eaton <jwe@octave.org>
parents: 25114
diff changeset
2195 QT_TOOLS_AVAILABLE=
14b9e2a1f3e1 if some Qt tools are instaslled, don't check for another version
John W. Eaton <jwe@octave.org>
parents: 25114
diff changeset
2196 QT_TOOLS_MISSING=
14b9e2a1f3e1 if some Qt tools are instaslled, don't check for another version
John W. Eaton <jwe@octave.org>
parents: 25114
diff changeset
2197
22255
8e18e364a686 improve checks for Qt when Qt 5 is not installed
John W. Eaton <jwe@octave.org>
parents: 22250
diff changeset
2198 if test $build_qt_gui = yes; then
23154
80a2434ba83c refactor checks for Qt tools (bug #50214)
John W. Eaton <jwe@octave.org>
parents: 23088
diff changeset
2199 AC_CHECK_TOOLS(QTCHOOSER, [qtchooser])
22234
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2200
25135
ab3904f253c5 correctly track available/missing Qt tools when qtchooser is not found
John W. Eaton <jwe@octave.org>
parents: 25134
diff changeset
2201 OCTAVE_CHECK_QT_TOOL([moc])
ab3904f253c5 correctly track available/missing Qt tools when qtchooser is not found
John W. Eaton <jwe@octave.org>
parents: 25134
diff changeset
2202 OCTAVE_CHECK_QT_TOOL([uic])
ab3904f253c5 correctly track available/missing Qt tools when qtchooser is not found
John W. Eaton <jwe@octave.org>
parents: 25134
diff changeset
2203 OCTAVE_CHECK_QT_TOOL([rcc])
ab3904f253c5 correctly track available/missing Qt tools when qtchooser is not found
John W. Eaton <jwe@octave.org>
parents: 25134
diff changeset
2204 OCTAVE_CHECK_QT_TOOL([lrelease])
ab3904f253c5 correctly track available/missing Qt tools when qtchooser is not found
John W. Eaton <jwe@octave.org>
parents: 25134
diff changeset
2205 OCTAVE_CHECK_QT_TOOL([qcollectiongenerator])
ab3904f253c5 correctly track available/missing Qt tools when qtchooser is not found
John W. Eaton <jwe@octave.org>
parents: 25134
diff changeset
2206 OCTAVE_CHECK_QT_TOOL([qhelpgenerator])
24873
486bc22482ca Improve Doxygen generation.
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 24837
diff changeset
2207
25119
14b9e2a1f3e1 if some Qt tools are instaslled, don't check for another version
John W. Eaton <jwe@octave.org>
parents: 25114
diff changeset
2208 if test -n "$QT_TOOLS_MISSING"; then
25029
91671d57817e configure: mention qcollectiongenerator and qhelpgenerator in diagnostics (bug #53474)
Mike Miller <mtmiller@octave.org>
parents: 24938
diff changeset
2209 warn_qt_tools="one or more of the Qt utilities moc, uic, rcc, lrelease, qcollectiongenerator, and qhelpgenerator not found; disabling Qt GUI"
22255
8e18e364a686 improve checks for Qt when Qt 5 is not installed
John W. Eaton <jwe@octave.org>
parents: 22250
diff changeset
2210 build_qt_gui=no
23154
80a2434ba83c refactor checks for Qt tools (bug #50214)
John W. Eaton <jwe@octave.org>
parents: 23088
diff changeset
2211 MOC_QTVER=
80a2434ba83c refactor checks for Qt tools (bug #50214)
John W. Eaton <jwe@octave.org>
parents: 23088
diff changeset
2212 UIC_QTVER=
80a2434ba83c refactor checks for Qt tools (bug #50214)
John W. Eaton <jwe@octave.org>
parents: 23088
diff changeset
2213 RCC_QTVER=
80a2434ba83c refactor checks for Qt tools (bug #50214)
John W. Eaton <jwe@octave.org>
parents: 23088
diff changeset
2214 LRELEASE_QTVER=
24875
7c7b60dd4d4c Generate Qt compressed help and collection files for the manual (bug #53006)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 24873
diff changeset
2215 QCOLLECTIONGENERATOR_QTVER=
24873
486bc22482ca Improve Doxygen generation.
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 24837
diff changeset
2216 QHELPGENERATOR_QTVER=
486bc22482ca Improve Doxygen generation.
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 24837
diff changeset
2217 MOCFLAGS=
486bc22482ca Improve Doxygen generation.
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 24837
diff changeset
2218 UICFLAGS=
486bc22482ca Improve Doxygen generation.
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 24837
diff changeset
2219 RCCFLAGS=
486bc22482ca Improve Doxygen generation.
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 24837
diff changeset
2220 LRELEASEFLAGS=
24938
4f1da669b610 build: export and use qcollectiongenerator command line options correctly
Mike Miller <mtmiller@octave.org>
parents: 24890
diff changeset
2221 QCOLLECTIONGENERATORFLAGS=
24873
486bc22482ca Improve Doxygen generation.
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 24837
diff changeset
2222 QHELPGENERATORFLAGS=
23154
80a2434ba83c refactor checks for Qt tools (bug #50214)
John W. Eaton <jwe@octave.org>
parents: 23088
diff changeset
2223 $as_unset ac_cv_prog_MOC_QTVER
23198
8db35b1a4f63 build: Clear ac_cv_prog_ac_ct_XXXX qt variables if correct qt was not found (Bug #50214)
John D
parents: 23175
diff changeset
2224 $as_unset ac_cv_prog_ac_ct_MOC_QTVER
23154
80a2434ba83c refactor checks for Qt tools (bug #50214)
John W. Eaton <jwe@octave.org>
parents: 23088
diff changeset
2225 $as_unset ac_cv_prog_UIC_QTVER
23198
8db35b1a4f63 build: Clear ac_cv_prog_ac_ct_XXXX qt variables if correct qt was not found (Bug #50214)
John D
parents: 23175
diff changeset
2226 $as_unset ac_cv_prog_ac_ct_UIC_QTVER
23154
80a2434ba83c refactor checks for Qt tools (bug #50214)
John W. Eaton <jwe@octave.org>
parents: 23088
diff changeset
2227 $as_unset ac_cv_prog_RCC_QTVER
23198
8db35b1a4f63 build: Clear ac_cv_prog_ac_ct_XXXX qt variables if correct qt was not found (Bug #50214)
John D
parents: 23175
diff changeset
2228 $as_unset ac_cv_prog_ac_ct_RCC_QTVER
23154
80a2434ba83c refactor checks for Qt tools (bug #50214)
John W. Eaton <jwe@octave.org>
parents: 23088
diff changeset
2229 $as_unset ac_cv_prog_LRELEASE_QTVER
23198
8db35b1a4f63 build: Clear ac_cv_prog_ac_ct_XXXX qt variables if correct qt was not found (Bug #50214)
John D
parents: 23175
diff changeset
2230 $as_unset ac_cv_prog_ac_ct_LRELEASE_QTVER
24938
4f1da669b610 build: export and use qcollectiongenerator command line options correctly
Mike Miller <mtmiller@octave.org>
parents: 24890
diff changeset
2231 $as_unset ac_cv_prog_QCOLLECTIONGENERATOR_QTVER
4f1da669b610 build: export and use qcollectiongenerator command line options correctly
Mike Miller <mtmiller@octave.org>
parents: 24890
diff changeset
2232 $as_unset ac_cv_prog_ac_ct_QCOLLECTIONGENERATOR_QTVER
24873
486bc22482ca Improve Doxygen generation.
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 24837
diff changeset
2233 $as_unset ac_cv_prog_QHELPGENERATOR_QTVER
486bc22482ca Improve Doxygen generation.
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 24837
diff changeset
2234 $as_unset ac_cv_prog_ac_ct_QHELPGENERATOR_QTVER
22234
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2235 fi
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2236 fi
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2237
22255
8e18e364a686 improve checks for Qt when Qt 5 is not installed
John W. Eaton <jwe@octave.org>
parents: 22250
diff changeset
2238 if test $build_qt_gui = yes; then
22234
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2239 case $host_os in
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2240 mingw* | msdosmsvc*)
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2241 AC_CHECK_FUNCS([setvbuf], [win32_terminal=yes],
22255
8e18e364a686 improve checks for Qt when Qt 5 is not installed
John W. Eaton <jwe@octave.org>
parents: 22250
diff changeset
2242 [build_qt_gui=no
22234
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2243 warn_qt_setvbuf="setvbuf not found; disabling Qt GUI"])
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2244 ;;
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2245 *)
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2246 AC_CHECK_HEADERS([pty.h libutil.h util.h])
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2247 AC_SEARCH_LIBS([openpty], [util],
24810
8a92f442c4a2 configure.ac: Overhaul file (bug #53186).
Rik <rik@octave.org>
parents: 24798
diff changeset
2248 [AC_DEFINE(HAVE_OPENPTY, 1, [Define to 1 if openpty exists])])
22234
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2249 AC_CHECK_FUNCS([chmod chown ftruncate mmap munmap], [],
22255
8e18e364a686 improve checks for Qt when Qt 5 is not installed
John W. Eaton <jwe@octave.org>
parents: 22250
diff changeset
2250 [build_qt_gui=no
22234
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2251 warn_qt_lib_fcns="At least one of chmod, chown, ftruncate, mmap, and munmap not found; disabling Qt GUI"])
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2252 ;;
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2253 esac
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2254 fi
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2255
22255
8e18e364a686 improve checks for Qt when Qt 5 is not installed
John W. Eaton <jwe@octave.org>
parents: 22250
diff changeset
2256 if test $build_qt_gui = yes; then
22234
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2257 ## We have what we need to build the Qt GUI. The remaining
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2258 ## checks below are for optional features related to the Qt GUI.
22255
8e18e364a686 improve checks for Qt when Qt 5 is not installed
John W. Eaton <jwe@octave.org>
parents: 22250
diff changeset
2259
8e18e364a686 improve checks for Qt when Qt 5 is not installed
John W. Eaton <jwe@octave.org>
parents: 22250
diff changeset
2260 AC_DEFINE(HAVE_QT, 1,
25029
91671d57817e configure: mention qcollectiongenerator and qhelpgenerator in diagnostics (bug #53474)
Mike Miller <mtmiller@octave.org>
parents: 24938
diff changeset
2261 [Define to 1 if Qt is available, with all required functions, libraries, developer header files, and utilities.])
22234
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2262
24827
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
2263 AC_LANG_PUSH(C++)
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
2264 ac_octave_save_CPPFLAGS="$CPPFLAGS"
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
2265 CPPFLAGS="$QT_CPPFLAGS $CXXPICFLAG $CPPFLAGS"
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
2266 AC_CHECK_HEADERS([QStandardPaths])
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
2267 CPPFLAGS="$ac_octave_save_CPPFLAGS"
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
2268 AC_LANG_POP(C++)
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
2269
22255
8e18e364a686 improve checks for Qt when Qt 5 is not installed
John W. Eaton <jwe@octave.org>
parents: 22250
diff changeset
2270 ## We don't need to unset cache variables for any of the remaining
8e18e364a686 improve checks for Qt when Qt 5 is not installed
John W. Eaton <jwe@octave.org>
parents: 22250
diff changeset
2271 ## tests if they fail because we have already decided that the Qt
8e18e364a686 improve checks for Qt when Qt 5 is not installed
John W. Eaton <jwe@octave.org>
parents: 22250
diff changeset
2272 ## version that we are testing now will be the one used.
8e18e364a686 improve checks for Qt when Qt 5 is not installed
John W. Eaton <jwe@octave.org>
parents: 22250
diff changeset
2273
28846
2219027f5bd4 avoid deprecated Qt QFontMetrics::width function
John W. Eaton <jwe@octave.org>
parents: 28845
diff changeset
2274 OCTAVE_CHECK_FUNC_QFONTMETRICS_HORIZONTAL_ADVANCE
25046
a4c687fec320 gui: set Qt Application and Desktop metadata for desktop integration (bug #53102)
Mike Miller <mtmiller@octave.org>
parents: 25042
diff changeset
2275 OCTAVE_CHECK_FUNC_QGUIAPPLICATION_SETDESKTOPFILENAME
25061
5fef743c34d7 build: Check for new help query member in qt 5.9 (bug #53006).
Torsten <mttl@mailbox.org>
parents: 25054
diff changeset
2276 OCTAVE_CHECK_FUNC_QHELPSEARCHQUERYWIDGET_SEARCHINPUT
29034
e3bc897115ed Change feature test to OCTAVE_CHECK_NEW_QHELPINDEXWIDGET_API in cset a0ff81c8b8e8.
Rik <rik@octave.org>
parents: 29031
diff changeset
2277 OCTAVE_CHECK_NEW_QHELPINDEXWIDGET_API
28835
2735fb9007e9 avoid QList deprecated function warnings
John W. Eaton <jwe@octave.org>
parents: 28527
diff changeset
2278 OCTAVE_CHECK_FUNC_QLIST_ITERATOR_CONSTRUCTOR
29147
5d7a651bf0bb fix error when restoring previous main window layout (bug #59426)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 29069
diff changeset
2279 OCTAVE_CHECK_FUNC_QMAINWINDOW_RESIZEDOCKS
29482
67f1d5fc69bb avoid warning about deprecated Qprinter::setPaperSize function
John W. Eaton <jwe@octave.org>
parents: 29470
diff changeset
2280 OCTAVE_CHECK_FUNC_QPRINTER_SETPAGESIZE
25884
4e108574385c Improve OpenGL rendering on high resolution screens with Qt 5 (bug #49053)
John Swensen <jpswensen@gmail.com>
parents: 25862
diff changeset
2281 OCTAVE_CHECK_FUNC_QSCREEN_DEVICEPIXELRATIO
29053
0678fdb81efc avoid deprecated QHelpEngine::linksForIdentifier function
John W. Eaton <jwe@octave.org>
parents: 29049
diff changeset
2282 OCTAVE_CHECK_FUNC_QHELPENGINE_DOCUMENTSFORIDENTIFIER
27215
274766cae722 allow building with Qt4 to work again
John W. Eaton <jwe@octave.org>
parents: 27134
diff changeset
2283 OCTAVE_CHECK_FUNC_QWHEELEVENT_ANGLEDELTA
29048
440ace36950e avoid warnings about deprecated QWheelEvent::pos method
John W. Eaton <jwe@octave.org>
parents: 29047
diff changeset
2284 OCTAVE_CHECK_FUNC_QWHEELEVENT_POSITION
22234
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2285
29560
5b7e721844df provide QOverload template if it is not in <QtGlobal> (bug #60416)
John W. Eaton <jwe@octave.org>
parents: 29519
diff changeset
2286 OCTAVE_CHECK_QOVERLOAD_TEMPLATE
28845
50c112129700 avoid deprecated Qt QRegion::rects function
John W. Eaton <jwe@octave.org>
parents: 28835
diff changeset
2287 OCTAVE_CHECK_QREGION_ITERATORS
30005
7677b6184c0b use new Qt::ImCursorRectangle enum value if available
John W. Eaton <jwe@octave.org>
parents: 29949
diff changeset
2288 OCTAVE_CHECK_QT_IMCURSORRECTANGLE_ENUM_VALUE
29049
461bd8b9ce91 use Qt::SplitBehavior enum and values if available
John W. Eaton <jwe@octave.org>
parents: 29048
diff changeset
2289 OCTAVE_CHECK_QT_SPLITBEHAVIOR_ENUM
28845
50c112129700 avoid deprecated Qt QRegion::rects function
John W. Eaton <jwe@octave.org>
parents: 28835
diff changeset
2290
22234
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2291 if test -n "$OPENGL_LIBS"; then
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2292 OCTAVE_CHECK_QT_OPENGL_OK([build_qt_graphics=yes],
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2293 [warn_qt_opengl="Qt does not work with the OpenGL libs (GL and GLU); disabling OpenGL graphics with Qt GUI"])
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2294
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2295 if test $build_qt_graphics = yes; then
24837
ae6679369a80 Rely on QOffscreenSurface functionality rather than its presence (bug #53278)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 24827
diff changeset
2296 AC_DEFINE(HAVE_QT_GRAPHICS, 1, [Define to 1 if Qt works with OpenGL libs (GL and GLU)])
24798
45470049a43f Allow getframe and print to work without osmesa (bug #53186).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 24623
diff changeset
2297 OCTAVE_CHECK_QT_OPENGL_OFFSCREEN_OK([have_qt_opengl_offscreen=yes])
24837
ae6679369a80 Rely on QOffscreenSurface functionality rather than its presence (bug #53278)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 24827
diff changeset
2298 if test $have_qt_opengl_offscreen = yes; then
ae6679369a80 Rely on QOffscreenSurface functionality rather than its presence (bug #53278)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 24827
diff changeset
2299 AC_DEFINE(HAVE_QT_OFFSCREEN, 1, [Define to 1 if Qt handles offscreen OpenGL rendering])
ae6679369a80 Rely on QOffscreenSurface functionality rather than its presence (bug #53278)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 24827
diff changeset
2300 fi
22234
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2301 fi
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2302 fi
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2303
22823
e2afee0041bf new configure option, --without-qscintilla
John W. Eaton <jwe@octave.org>
parents: 22755
diff changeset
2304 OCTAVE_CHECK_QSCINTILLA([$qt_version])
22234
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2305
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2306 fi
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2307 AC_SUBST(MOCFLAGS)
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2308 AC_SUBST(UICFLAGS)
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2309 AC_SUBST(RCCFLAGS)
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2310 AC_SUBST(LRELEASEFLAGS)
24938
4f1da669b610 build: export and use qcollectiongenerator command line options correctly
Mike Miller <mtmiller@octave.org>
parents: 24890
diff changeset
2311 AC_SUBST(QCOLLECTIONGENERATORFLAGS)
4f1da669b610 build: export and use qcollectiongenerator command line options correctly
Mike Miller <mtmiller@octave.org>
parents: 24890
diff changeset
2312 AC_SUBST(QHELPGENERATORFLAGS)
22234
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2313 AC_SUBST(QT_CPPFLAGS)
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2314 AC_SUBST(QT_LDFLAGS)
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2315 AC_SUBST(QT_LIBS)
26881
4af9840f9ce5 make building with Qt4 QGLWidget work again (bug #55735)
John W. Eaton <jwe@octave.org>
parents: 26672
diff changeset
2316 AC_SUBST(QT_OPENGL_CPPFLAGS)
4af9840f9ce5 make building with Qt4 QGLWidget work again (bug #55735)
John W. Eaton <jwe@octave.org>
parents: 26672
diff changeset
2317 AC_SUBST(QT_OPENGL_LDFLAGS)
25931
332be8be16eb dynamically load qt graphics
John W. Eaton <jwe@octave.org>
parents: 25884
diff changeset
2318 AC_SUBST(QT_OPENGL_LIBS)
22234
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2319 ])
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2320 dnl
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2321 dnl Check if the default Fortran INTEGER is 64 bits wide.
22986
21707d6a02c7 make --enable-64 the default
John W. Eaton <jwe@octave.org>
parents: 22899
diff changeset
2322 dnl If cross-compiling, assume 4 bytes unless the cache value
21707d6a02c7 make --enable-64 the default
John W. Eaton <jwe@octave.org>
parents: 22899
diff changeset
2323 dnl is already set.
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2324 dnl
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2325 AC_DEFUN([OCTAVE_CHECK_SIZEOF_FORTRAN_INTEGER], [
22986
21707d6a02c7 make --enable-64 the default
John W. Eaton <jwe@octave.org>
parents: 22899
diff changeset
2326 AC_CACHE_CHECK([default size of Fortran INTEGER],
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2327 [octave_cv_sizeof_fortran_integer],
15336
5fff79162342 acinclude.m4: Put temporary shell variables in macros into ac_octave namespace.
Rik <rik@octave.org>
parents: 15330
diff changeset
2328 [ac_octave_save_FFLAGS="$FFLAGS"
22986
21707d6a02c7 make --enable-64 the default
John W. Eaton <jwe@octave.org>
parents: 22899
diff changeset
2329 FFLAGS="$FFLAGS $F77_INTEGER_8_FLAG"
21707d6a02c7 make --enable-64 the default
John W. Eaton <jwe@octave.org>
parents: 22899
diff changeset
2330 AC_LANG_PUSH(Fortran 77)
21707d6a02c7 make --enable-64 the default
John W. Eaton <jwe@octave.org>
parents: 22899
diff changeset
2331 AC_RUN_IFELSE([AC_LANG_PROGRAM(,[[
21707d6a02c7 make --enable-64 the default
John W. Eaton <jwe@octave.org>
parents: 22899
diff changeset
2332 integer*8 n8
21707d6a02c7 make --enable-64 the default
John W. Eaton <jwe@octave.org>
parents: 22899
diff changeset
2333 integer n
21707d6a02c7 make --enable-64 the default
John W. Eaton <jwe@octave.org>
parents: 22899
diff changeset
2334 c Generate -2**33 + 1.
21707d6a02c7 make --enable-64 the default
John W. Eaton <jwe@octave.org>
parents: 22899
diff changeset
2335 n8 = 2
21707d6a02c7 make --enable-64 the default
John W. Eaton <jwe@octave.org>
parents: 22899
diff changeset
2336 n8 = -4 * (n8 ** 30)
21707d6a02c7 make --enable-64 the default
John W. Eaton <jwe@octave.org>
parents: 22899
diff changeset
2337 n8 = n8 + 1
21707d6a02c7 make --enable-64 the default
John W. Eaton <jwe@octave.org>
parents: 22899
diff changeset
2338 c Convert to default integer type. If the values are no longer equal,
21707d6a02c7 make --enable-64 the default
John W. Eaton <jwe@octave.org>
parents: 22899
diff changeset
2339 c assume the default integer size is 32-bits.
21707d6a02c7 make --enable-64 the default
John W. Eaton <jwe@octave.org>
parents: 22899
diff changeset
2340 n = n8
21707d6a02c7 make --enable-64 the default
John W. Eaton <jwe@octave.org>
parents: 22899
diff changeset
2341 if (n .ne. n8) stop 1
21707d6a02c7 make --enable-64 the default
John W. Eaton <jwe@octave.org>
parents: 22899
diff changeset
2342 ]])],
21707d6a02c7 make --enable-64 the default
John W. Eaton <jwe@octave.org>
parents: 22899
diff changeset
2343 octave_cv_sizeof_fortran_integer=8,
21707d6a02c7 make --enable-64 the default
John W. Eaton <jwe@octave.org>
parents: 22899
diff changeset
2344 octave_cv_sizeof_fortran_integer=4,
21707d6a02c7 make --enable-64 the default
John W. Eaton <jwe@octave.org>
parents: 22899
diff changeset
2345 octave_cv_sizeof_fortran_integer=4)
24022
84a52be0cf53 configure: fix restoring of FFLAGS when checking Fortran integer size
Mike Miller <mtmiller@octave.org>
parents: 23981
diff changeset
2346 AC_LANG_POP(Fortran 77)
84a52be0cf53 configure: fix restoring of FFLAGS when checking Fortran integer size
Mike Miller <mtmiller@octave.org>
parents: 23981
diff changeset
2347 FFLAGS="$ac_octave_save_FFLAGS"
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2348 ])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2349 ])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2350 dnl
26991
c188513f5496 configure: disable building with SUNDIALS when the API is too old (bug #55937)
Mike Miller <mtmiller@octave.org>
parents: 26938
diff changeset
2351 dnl Check whether SUNDIALS libraries provide a compatible interface.
c188513f5496 configure: disable building with SUNDIALS when the API is too old (bug #55937)
Mike Miller <mtmiller@octave.org>
parents: 26938
diff changeset
2352 dnl The current recommended interface was introduced in SUNDIALS version 4.
c188513f5496 configure: disable building with SUNDIALS when the API is too old (bug #55937)
Mike Miller <mtmiller@octave.org>
parents: 26938
diff changeset
2353 dnl The deprecated interface that Octave currently works to be compatible with
c188513f5496 configure: disable building with SUNDIALS when the API is too old (bug #55937)
Mike Miller <mtmiller@octave.org>
parents: 26938
diff changeset
2354 dnl was introduced in SUNDIALS version 3.
c188513f5496 configure: disable building with SUNDIALS when the API is too old (bug #55937)
Mike Miller <mtmiller@octave.org>
parents: 26938
diff changeset
2355 dnl
c188513f5496 configure: disable building with SUNDIALS when the API is too old (bug #55937)
Mike Miller <mtmiller@octave.org>
parents: 26938
diff changeset
2356 AC_DEFUN([OCTAVE_CHECK_SUNDIALS_COMPATIBLE_API], [
c188513f5496 configure: disable building with SUNDIALS when the API is too old (bug #55937)
Mike Miller <mtmiller@octave.org>
parents: 26938
diff changeset
2357 ac_octave_save_LIBS=$LIBS
27013
b37c1656aa42 configure: test all SUNKLU functions after core SUNDIALS features (bug #55937)
Mike Miller <mtmiller@octave.org>
parents: 26992
diff changeset
2358 LIBS="$SUNDIALS_IDA_LIBS $SUNDIALS_NVECSERIAL_LIBS $LIBS"
26991
c188513f5496 configure: disable building with SUNDIALS when the API is too old (bug #55937)
Mike Miller <mtmiller@octave.org>
parents: 26938
diff changeset
2359 dnl Current API functions present in SUNDIALS version 4
30543
653493339a8a Check for changed API in SUNDIALS version 6.0 (bug #61701).
Markus Mützel <markus.muetzel@gmx.de>
parents: 30501
diff changeset
2360 AC_CHECK_FUNCS([IDASetJacFn IDASetLinearSolver SUNLinSol_Dense SUNSparseMatrix_Reallocate SUNContext_Create])
26991
c188513f5496 configure: disable building with SUNDIALS when the API is too old (bug #55937)
Mike Miller <mtmiller@octave.org>
parents: 26938
diff changeset
2361 dnl FIXME: The purpose of the following tests is to detect the deprecated
c188513f5496 configure: disable building with SUNDIALS when the API is too old (bug #55937)
Mike Miller <mtmiller@octave.org>
parents: 26938
diff changeset
2362 dnl API from SUNDIALS version 3, which should only be used if the current
c188513f5496 configure: disable building with SUNDIALS when the API is too old (bug #55937)
Mike Miller <mtmiller@octave.org>
parents: 26938
diff changeset
2363 dnl API tests above failed. For now, always test for ida_direct.h.
c188513f5496 configure: disable building with SUNDIALS when the API is too old (bug #55937)
Mike Miller <mtmiller@octave.org>
parents: 26938
diff changeset
2364 AC_CHECK_HEADERS([ida/ida_direct.h ida_direct.h])
c188513f5496 configure: disable building with SUNDIALS when the API is too old (bug #55937)
Mike Miller <mtmiller@octave.org>
parents: 26938
diff changeset
2365 dnl Each of these is a deprecated analog to the functions listed above.
27013
b37c1656aa42 configure: test all SUNKLU functions after core SUNDIALS features (bug #55937)
Mike Miller <mtmiller@octave.org>
parents: 26992
diff changeset
2366 AC_CHECK_FUNCS([IDADlsSetJacFn IDADlsSetLinearSolver SUNDenseLinearSolver])
26991
c188513f5496 configure: disable building with SUNDIALS when the API is too old (bug #55937)
Mike Miller <mtmiller@octave.org>
parents: 26938
diff changeset
2367 LIBS=$ac_octave_save_LIBS
c188513f5496 configure: disable building with SUNDIALS when the API is too old (bug #55937)
Mike Miller <mtmiller@octave.org>
parents: 26938
diff changeset
2368 AC_MSG_CHECKING([whether SUNDIALS API provides the necessary functions])
c188513f5496 configure: disable building with SUNDIALS when the API is too old (bug #55937)
Mike Miller <mtmiller@octave.org>
parents: 26938
diff changeset
2369 if test "x$ac_cv_func_IDASetJacFn" = xyes \
c188513f5496 configure: disable building with SUNDIALS when the API is too old (bug #55937)
Mike Miller <mtmiller@octave.org>
parents: 26938
diff changeset
2370 && test "x$ac_cv_func_IDASetLinearSolver" = xyes \
c188513f5496 configure: disable building with SUNDIALS when the API is too old (bug #55937)
Mike Miller <mtmiller@octave.org>
parents: 26938
diff changeset
2371 && test "x$ac_cv_func_SUNLinSol_Dense" = xyes; then
c188513f5496 configure: disable building with SUNDIALS when the API is too old (bug #55937)
Mike Miller <mtmiller@octave.org>
parents: 26938
diff changeset
2372 octave_have_sundials_compatible_api=yes
c188513f5496 configure: disable building with SUNDIALS when the API is too old (bug #55937)
Mike Miller <mtmiller@octave.org>
parents: 26938
diff changeset
2373 elif test "x$ac_cv_func_IDADlsSetJacFn" = xyes \
c188513f5496 configure: disable building with SUNDIALS when the API is too old (bug #55937)
Mike Miller <mtmiller@octave.org>
parents: 26938
diff changeset
2374 && test "x$ac_cv_func_IDADlsSetLinearSolver" = xyes \
c188513f5496 configure: disable building with SUNDIALS when the API is too old (bug #55937)
Mike Miller <mtmiller@octave.org>
parents: 26938
diff changeset
2375 && test "x$ac_cv_func_SUNDenseLinearSolver" = xyes; then
c188513f5496 configure: disable building with SUNDIALS when the API is too old (bug #55937)
Mike Miller <mtmiller@octave.org>
parents: 26938
diff changeset
2376 octave_have_sundials_compatible_api=yes
c188513f5496 configure: disable building with SUNDIALS when the API is too old (bug #55937)
Mike Miller <mtmiller@octave.org>
parents: 26938
diff changeset
2377 else
c188513f5496 configure: disable building with SUNDIALS when the API is too old (bug #55937)
Mike Miller <mtmiller@octave.org>
parents: 26938
diff changeset
2378 octave_have_sundials_compatible_api=no
c188513f5496 configure: disable building with SUNDIALS when the API is too old (bug #55937)
Mike Miller <mtmiller@octave.org>
parents: 26938
diff changeset
2379 fi
c188513f5496 configure: disable building with SUNDIALS when the API is too old (bug #55937)
Mike Miller <mtmiller@octave.org>
parents: 26938
diff changeset
2380 AC_MSG_RESULT([$octave_have_sundials_compatible_api])
30543
653493339a8a Check for changed API in SUNDIALS version 6.0 (bug #61701).
Markus Mützel <markus.muetzel@gmx.de>
parents: 30501
diff changeset
2381 if test "x$ac_cv_func_SUNContext_Create" = xyes; then
30547
b876de975edf __ode15__: Adapt for changed API of SUNDIALS version 6 (bug #61701).
Markus Mützel <markus.muetzel@gmx.de>
parents: 30543
diff changeset
2382 AC_DEFINE(HAVE_SUNDIALS_SUNCONTEXT, 1,
b876de975edf __ode15__: Adapt for changed API of SUNDIALS version 6 (bug #61701).
Markus Mützel <markus.muetzel@gmx.de>
parents: 30543
diff changeset
2383 [Define to 1 if SUNDIALS' API is using a SUNContext object.])
30543
653493339a8a Check for changed API in SUNDIALS version 6.0 (bug #61701).
Markus Mützel <markus.muetzel@gmx.de>
parents: 30501
diff changeset
2384 fi
26991
c188513f5496 configure: disable building with SUNDIALS when the API is too old (bug #55937)
Mike Miller <mtmiller@octave.org>
parents: 26938
diff changeset
2385 if test $octave_have_sundials_compatible_api = no; then
26992
05f389459461 configure: avoid excessive SUNDIALS warning messages when already disabled
Mike Miller <mtmiller@octave.org>
parents: 26991
diff changeset
2386 warn_sundials_disabled="SUNDIALS libraries do not provide an API that is compatible with Octave. The solvers ode15i and ode15s will be disabled."
05f389459461 configure: avoid excessive SUNDIALS warning messages when already disabled
Mike Miller <mtmiller@octave.org>
parents: 26991
diff changeset
2387 OCTAVE_CONFIGURE_WARNING([warn_sundials_disabled])
26991
c188513f5496 configure: disable building with SUNDIALS when the API is too old (bug #55937)
Mike Miller <mtmiller@octave.org>
parents: 26938
diff changeset
2388 fi
c188513f5496 configure: disable building with SUNDIALS when the API is too old (bug #55937)
Mike Miller <mtmiller@octave.org>
parents: 26938
diff changeset
2389 ])
c188513f5496 configure: disable building with SUNDIALS when the API is too old (bug #55937)
Mike Miller <mtmiller@octave.org>
parents: 26938
diff changeset
2390 dnl
23981
6420142ff32c configure: fix capitalization of SUNDIALS, reword related terms
Mike Miller <mtmiller@octave.org>
parents: 23980
diff changeset
2391 dnl Check whether SUNDIALS IDA library is configured with double
23021
6094018f5e72 refactor configure checks for Sundials (bug #50003)
John W. Eaton <jwe@octave.org>
parents: 23017
diff changeset
2392 dnl precision realtype.
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2393 dnl
23980
eb6602171d59 configure: make SUNDIALS double precision test cross-compile-safe (bug #51904)
Mike Miller <mtmiller@octave.org>
parents: 23836
diff changeset
2394 AC_DEFUN([OCTAVE_CHECK_SUNDIALS_SIZEOF_REALTYPE], [
23981
6420142ff32c configure: fix capitalization of SUNDIALS, reword related terms
Mike Miller <mtmiller@octave.org>
parents: 23980
diff changeset
2395 AC_CACHE_CHECK([whether SUNDIALS IDA is configured with double precision realtype],
23980
eb6602171d59 configure: make SUNDIALS double precision test cross-compile-safe (bug #51904)
Mike Miller <mtmiller@octave.org>
parents: 23836
diff changeset
2396 [octave_cv_sundials_realtype_is_double],
eb6602171d59 configure: make SUNDIALS double precision test cross-compile-safe (bug #51904)
Mike Miller <mtmiller@octave.org>
parents: 23836
diff changeset
2397 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
22899
31bd8a50d44c Add Sundials library support
Francesco Faccio <francesco.faccio@mail.polimi.it>
parents: 22890
diff changeset
2398 #if defined (HAVE_IDA_IDA_H)
26900
ebe7e12765ba fix sundials configure warnings (bug #55911)
John W. Eaton <jwe@octave.org>
parents: 26898
diff changeset
2399 # include <ida/ida.h>
22899
31bd8a50d44c Add Sundials library support
Francesco Faccio <francesco.faccio@mail.polimi.it>
parents: 22890
diff changeset
2400 #endif
31bd8a50d44c Add Sundials library support
Francesco Faccio <francesco.faccio@mail.polimi.it>
parents: 22890
diff changeset
2401 #include <assert.h>
31bd8a50d44c Add Sundials library support
Francesco Faccio <francesco.faccio@mail.polimi.it>
parents: 22890
diff changeset
2402 ]], [[
23980
eb6602171d59 configure: make SUNDIALS double precision test cross-compile-safe (bug #51904)
Mike Miller <mtmiller@octave.org>
parents: 23836
diff changeset
2403 static_assert (sizeof (realtype) == sizeof (double),
eb6602171d59 configure: make SUNDIALS double precision test cross-compile-safe (bug #51904)
Mike Miller <mtmiller@octave.org>
parents: 23836
diff changeset
2404 "SUNDIALS is not configured for double precision");
22899
31bd8a50d44c Add Sundials library support
Francesco Faccio <francesco.faccio@mail.polimi.it>
parents: 22890
diff changeset
2405 ]])],
23980
eb6602171d59 configure: make SUNDIALS double precision test cross-compile-safe (bug #51904)
Mike Miller <mtmiller@octave.org>
parents: 23836
diff changeset
2406 octave_cv_sundials_realtype_is_double=yes,
eb6602171d59 configure: make SUNDIALS double precision test cross-compile-safe (bug #51904)
Mike Miller <mtmiller@octave.org>
parents: 23836
diff changeset
2407 octave_cv_sundials_realtype_is_double=no)
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2408 ])
23980
eb6602171d59 configure: make SUNDIALS double precision test cross-compile-safe (bug #51904)
Mike Miller <mtmiller@octave.org>
parents: 23836
diff changeset
2409 if test $octave_cv_sundials_realtype_is_double = no; then
26992
05f389459461 configure: avoid excessive SUNDIALS warning messages when already disabled
Mike Miller <mtmiller@octave.org>
parents: 26991
diff changeset
2410 warn_sundials_disabled="SUNDIALS IDA library not configured with double precision realtype. The solvers ode15i and ode15s will be disabled."
05f389459461 configure: avoid excessive SUNDIALS warning messages when already disabled
Mike Miller <mtmiller@octave.org>
parents: 26991
diff changeset
2411 OCTAVE_CONFIGURE_WARNING([warn_sundials_disabled])
23021
6094018f5e72 refactor configure checks for Sundials (bug #50003)
John W. Eaton <jwe@octave.org>
parents: 23017
diff changeset
2412 fi
6094018f5e72 refactor configure checks for Sundials (bug #50003)
John W. Eaton <jwe@octave.org>
parents: 23017
diff changeset
2413 ])
6094018f5e72 refactor configure checks for Sundials (bug #50003)
John W. Eaton <jwe@octave.org>
parents: 23017
diff changeset
2414 dnl
29367
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2415 dnl Check whether SUNDIALS IDA library has the SUNLINSOL_DENSE linear solver.
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2416 dnl
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2417 AC_DEFUN([OCTAVE_CHECK_SUNDIALS_SUNLINSOL_DENSE], [
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2418 AC_CHECK_HEADERS([sunlinsol/sunlinsol_dense.h],
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2419 octave_cv_sundials_sunlinsol_dense=yes,
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2420 octave_cv_sundials_sunlinsol_dense=no)
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2421 ])
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2422 if test $octave_cv_sundials_sunlinsol_dense = yes; then
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2423 AC_DEFINE(HAVE_SUNDIALS_SUNLINSOL_DENSE, 1,
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2424 [Define to 1 if SUNDIALS IDA includes the SUNLINSOL_DENSE linear solver.])
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2425 else
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2426 warn_sundials_disabled="SUNDIALS IDA library does not include the SUNLINSOL_DENSE linear solver. The solvers ode15i and ode15s will be disabled."
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2427 OCTAVE_CONFIGURE_WARNING([warn_sundials_disabled])
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2428 fi
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2429 ])
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2430 dnl
26894
ee6300e77c92 Update detection of sundials in the build system (bug #52475).
Carlo de Falco <carlo.defalco@polimi.it>
parents: 26889
diff changeset
2431 dnl Check whether SUNDIALS IDA library is configured with SUNLINSOL_KLU
23021
6094018f5e72 refactor configure checks for Sundials (bug #50003)
John W. Eaton <jwe@octave.org>
parents: 23017
diff changeset
2432 dnl enabled.
6094018f5e72 refactor configure checks for Sundials (bug #50003)
John W. Eaton <jwe@octave.org>
parents: 23017
diff changeset
2433 dnl
26894
ee6300e77c92 Update detection of sundials in the build system (bug #52475).
Carlo de Falco <carlo.defalco@polimi.it>
parents: 26889
diff changeset
2434 AC_DEFUN([OCTAVE_CHECK_SUNDIALS_SUNLINSOL_KLU], [
26938
58e300954518 search for klu.h in more places (bug #55950)
John W. Eaton <jwe@octave.org>
parents: 26937
diff changeset
2435 ## Including <sunlinsol/sunlinsol_klu.h> may depend on including klu.h
58e300954518 search for klu.h in more places (bug #55950)
John W. Eaton <jwe@octave.org>
parents: 26937
diff changeset
2436 ## first. So perform the check as follows using several different
58e300954518 search for klu.h in more places (bug #55950)
John W. Eaton <jwe@octave.org>
parents: 26937
diff changeset
2437 ## possible locations for klu.h instead of using OCTAVE_CHECK_LIB to
58e300954518 search for klu.h in more places (bug #55950)
John W. Eaton <jwe@octave.org>
parents: 26937
diff changeset
2438 ## check for sunlinsol_klu.h.
58e300954518 search for klu.h in more places (bug #55950)
John W. Eaton <jwe@octave.org>
parents: 26937
diff changeset
2439 AC_CHECK_HEADERS([klu.h klu/klu.h suitesparse/klu.h ufsparse/klu.h])
26937
cfa2a65c9fdc fix sunlinsol_klu.h detection with sundials 4.x (bug #55950)
John W. Eaton <jwe@octave.org>
parents: 26923
diff changeset
2440 AC_CHECK_HEADERS([sunlinsol/sunlinsol_klu.h], [], [],
26938
58e300954518 search for klu.h in more places (bug #55950)
John W. Eaton <jwe@octave.org>
parents: 26937
diff changeset
2441 [#if defined (HAVE_KLU_H)
58e300954518 search for klu.h in more places (bug #55950)
John W. Eaton <jwe@octave.org>
parents: 26937
diff changeset
2442 # include <klu.h>
58e300954518 search for klu.h in more places (bug #55950)
John W. Eaton <jwe@octave.org>
parents: 26937
diff changeset
2443 #elif defined (HAVE_KLU_KLU_H)
58e300954518 search for klu.h in more places (bug #55950)
John W. Eaton <jwe@octave.org>
parents: 26937
diff changeset
2444 # include <klu/klu.h>
58e300954518 search for klu.h in more places (bug #55950)
John W. Eaton <jwe@octave.org>
parents: 26937
diff changeset
2445 #elif defined (HAVE_SUITESPARSE_KLU_H)
58e300954518 search for klu.h in more places (bug #55950)
John W. Eaton <jwe@octave.org>
parents: 26937
diff changeset
2446 # include <suitesparse/klu.h>
58e300954518 search for klu.h in more places (bug #55950)
John W. Eaton <jwe@octave.org>
parents: 26937
diff changeset
2447 #elif defined (HAVE_UFSPARSE_KLU_H)
58e300954518 search for klu.h in more places (bug #55950)
John W. Eaton <jwe@octave.org>
parents: 26937
diff changeset
2448 # include <ufsparse/klu.h>
26937
cfa2a65c9fdc fix sunlinsol_klu.h detection with sundials 4.x (bug #55950)
John W. Eaton <jwe@octave.org>
parents: 26923
diff changeset
2449 #endif
cfa2a65c9fdc fix sunlinsol_klu.h detection with sundials 4.x (bug #55950)
John W. Eaton <jwe@octave.org>
parents: 26923
diff changeset
2450 ])
30547
b876de975edf __ode15__: Adapt for changed API of SUNDIALS version 6 (bug #61701).
Markus Mützel <markus.muetzel@gmx.de>
parents: 30543
diff changeset
2451 ## Check for current KLU function name first.
26910
075c4d3bf1de use OCTAVE_CHECK_LIB to check for sundials_sunlinsolklu library
John W. Eaton <jwe@octave.org>
parents: 26909
diff changeset
2452 OCTAVE_CHECK_LIB(sundials_sunlinsolklu, SUNLINSOL_KLU, [],
30547
b876de975edf __ode15__: Adapt for changed API of SUNDIALS version 6 (bug #61701).
Markus Mützel <markus.muetzel@gmx.de>
parents: 30543
diff changeset
2453 [], [SUNLinSol_KLU], [],
26992
05f389459461 configure: avoid excessive SUNDIALS warning messages when already disabled
Mike Miller <mtmiller@octave.org>
parents: 26991
diff changeset
2454 [don't use SUNDIALS SUNLINSOL_KLU library, disable ode15i and ode15s sparse Jacobian],
30547
b876de975edf __ode15__: Adapt for changed API of SUNDIALS version 6 (bug #61701).
Markus Mützel <markus.muetzel@gmx.de>
parents: 30543
diff changeset
2455 [AC_CHECK_FUNCS([SUNLinSol_KLU])
b876de975edf __ode15__: Adapt for changed API of SUNDIALS version 6 (bug #61701).
Markus Mützel <markus.muetzel@gmx.de>
parents: 30543
diff changeset
2456 AC_CACHE_CHECK([whether compiling a program that calls SUNLinSol_KLU works],
26910
075c4d3bf1de use OCTAVE_CHECK_LIB to check for sundials_sunlinsolklu library
John W. Eaton <jwe@octave.org>
parents: 26909
diff changeset
2457 [octave_cv_sundials_sunlinsol_klu],
075c4d3bf1de use OCTAVE_CHECK_LIB to check for sundials_sunlinsolklu library
John W. Eaton <jwe@octave.org>
parents: 26909
diff changeset
2458 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
26894
ee6300e77c92 Update detection of sundials in the build system (bug #52475).
Carlo de Falco <carlo.defalco@polimi.it>
parents: 26889
diff changeset
2459 #if defined (HAVE_IDA_IDA_H)
ee6300e77c92 Update detection of sundials in the build system (bug #52475).
Carlo de Falco <carlo.defalco@polimi.it>
parents: 26889
diff changeset
2460 #include <ida/ida.h>
ee6300e77c92 Update detection of sundials in the build system (bug #52475).
Carlo de Falco <carlo.defalco@polimi.it>
parents: 26889
diff changeset
2461 #endif
26895
a1acd11bad19 Directly include klu.h in __ode15__.cc (bug #52475).
Carlo de Falco <carlo.defalco@polimi.it>
parents: 26894
diff changeset
2462 #if defined (HAVE_KLU_H)
a1acd11bad19 Directly include klu.h in __ode15__.cc (bug #52475).
Carlo de Falco <carlo.defalco@polimi.it>
parents: 26894
diff changeset
2463 #include <klu.h>
a1acd11bad19 Directly include klu.h in __ode15__.cc (bug #52475).
Carlo de Falco <carlo.defalco@polimi.it>
parents: 26894
diff changeset
2464 #endif
a1acd11bad19 Directly include klu.h in __ode15__.cc (bug #52475).
Carlo de Falco <carlo.defalco@polimi.it>
parents: 26894
diff changeset
2465 #if defined (HAVE_KLU_KLU_H)
a1acd11bad19 Directly include klu.h in __ode15__.cc (bug #52475).
Carlo de Falco <carlo.defalco@polimi.it>
parents: 26894
diff changeset
2466 #include <klu/klu.h>
a1acd11bad19 Directly include klu.h in __ode15__.cc (bug #52475).
Carlo de Falco <carlo.defalco@polimi.it>
parents: 26894
diff changeset
2467 #endif
a1acd11bad19 Directly include klu.h in __ode15__.cc (bug #52475).
Carlo de Falco <carlo.defalco@polimi.it>
parents: 26894
diff changeset
2468 #if defined (HAVE_SUITESPARSE_KLU_H)
a1acd11bad19 Directly include klu.h in __ode15__.cc (bug #52475).
Carlo de Falco <carlo.defalco@polimi.it>
parents: 26894
diff changeset
2469 #include <suitesparse/klu.h>
a1acd11bad19 Directly include klu.h in __ode15__.cc (bug #52475).
Carlo de Falco <carlo.defalco@polimi.it>
parents: 26894
diff changeset
2470 #endif
a1acd11bad19 Directly include klu.h in __ode15__.cc (bug #52475).
Carlo de Falco <carlo.defalco@polimi.it>
parents: 26894
diff changeset
2471 #if defined (HAVE_UFPARSE_KLU_H)
a1acd11bad19 Directly include klu.h in __ode15__.cc (bug #52475).
Carlo de Falco <carlo.defalco@polimi.it>
parents: 26894
diff changeset
2472 #include <ufsparse/klu.h>
a1acd11bad19 Directly include klu.h in __ode15__.cc (bug #52475).
Carlo de Falco <carlo.defalco@polimi.it>
parents: 26894
diff changeset
2473 #endif
26894
ee6300e77c92 Update detection of sundials in the build system (bug #52475).
Carlo de Falco <carlo.defalco@polimi.it>
parents: 26889
diff changeset
2474 #if defined (HAVE_SUNLINSOL_SUNLINSOL_KLU_H)
ee6300e77c92 Update detection of sundials in the build system (bug #52475).
Carlo de Falco <carlo.defalco@polimi.it>
parents: 26889
diff changeset
2475 #include <sunlinsol/sunlinsol_klu.h>
23021
6094018f5e72 refactor configure checks for Sundials (bug #50003)
John W. Eaton <jwe@octave.org>
parents: 23017
diff changeset
2476 #endif
6094018f5e72 refactor configure checks for Sundials (bug #50003)
John W. Eaton <jwe@octave.org>
parents: 23017
diff changeset
2477 ]], [[
30547
b876de975edf __ode15__: Adapt for changed API of SUNDIALS version 6 (bug #61701).
Markus Mützel <markus.muetzel@gmx.de>
parents: 30543
diff changeset
2478 #if defined (HAVE_SUNCONTEXT_CREATE)
b876de975edf __ode15__: Adapt for changed API of SUNDIALS version 6 (bug #61701).
Markus Mützel <markus.muetzel@gmx.de>
parents: 30543
diff changeset
2479 SUNContext *sunContext;
b876de975edf __ode15__: Adapt for changed API of SUNDIALS version 6 (bug #61701).
Markus Mützel <markus.muetzel@gmx.de>
parents: 30543
diff changeset
2480 if (SUNContext_Create (NULL, sunContext) < 0)
b876de975edf __ode15__: Adapt for changed API of SUNDIALS version 6 (bug #61701).
Markus Mützel <markus.muetzel@gmx.de>
parents: 30543
diff changeset
2481 1/0; // provoke an error
b876de975edf __ode15__: Adapt for changed API of SUNDIALS version 6 (bug #61701).
Markus Mützel <markus.muetzel@gmx.de>
parents: 30543
diff changeset
2482 SUNLinSol_KLU (0, 0, *sunContext);
b876de975edf __ode15__: Adapt for changed API of SUNDIALS version 6 (bug #61701).
Markus Mützel <markus.muetzel@gmx.de>
parents: 30543
diff changeset
2483 SUNContext_Free (sunContext);
b876de975edf __ode15__: Adapt for changed API of SUNDIALS version 6 (bug #61701).
Markus Mützel <markus.muetzel@gmx.de>
parents: 30543
diff changeset
2484 #else
b876de975edf __ode15__: Adapt for changed API of SUNDIALS version 6 (bug #61701).
Markus Mützel <markus.muetzel@gmx.de>
parents: 30543
diff changeset
2485 SUNLinSol_KLU (0, 0);
b876de975edf __ode15__: Adapt for changed API of SUNDIALS version 6 (bug #61701).
Markus Mützel <markus.muetzel@gmx.de>
parents: 30543
diff changeset
2486 #endif
23021
6094018f5e72 refactor configure checks for Sundials (bug #50003)
John W. Eaton <jwe@octave.org>
parents: 23017
diff changeset
2487 ]])],
26894
ee6300e77c92 Update detection of sundials in the build system (bug #52475).
Carlo de Falco <carlo.defalco@polimi.it>
parents: 26889
diff changeset
2488 octave_cv_sundials_sunlinsol_klu=yes,
ee6300e77c92 Update detection of sundials in the build system (bug #52475).
Carlo de Falco <carlo.defalco@polimi.it>
parents: 26889
diff changeset
2489 octave_cv_sundials_sunlinsol_klu=no)
26910
075c4d3bf1de use OCTAVE_CHECK_LIB to check for sundials_sunlinsolklu library
John W. Eaton <jwe@octave.org>
parents: 26909
diff changeset
2490 ])])
30547
b876de975edf __ode15__: Adapt for changed API of SUNDIALS version 6 (bug #61701).
Markus Mützel <markus.muetzel@gmx.de>
parents: 30543
diff changeset
2491 if test "x$octave_cv_sundials_sunlinsol_klu" = xno; then
b876de975edf __ode15__: Adapt for changed API of SUNDIALS version 6 (bug #61701).
Markus Mützel <markus.muetzel@gmx.de>
parents: 30543
diff changeset
2492 ## Check for deprecated KLU function name second.
b876de975edf __ode15__: Adapt for changed API of SUNDIALS version 6 (bug #61701).
Markus Mützel <markus.muetzel@gmx.de>
parents: 30543
diff changeset
2493 OCTAVE_CHECK_LIB(sundials_sunlinsolklu, SUNLINSOL_KLU, [],
b876de975edf __ode15__: Adapt for changed API of SUNDIALS version 6 (bug #61701).
Markus Mützel <markus.muetzel@gmx.de>
parents: 30543
diff changeset
2494 [], [SUNKLU], [],
b876de975edf __ode15__: Adapt for changed API of SUNDIALS version 6 (bug #61701).
Markus Mützel <markus.muetzel@gmx.de>
parents: 30543
diff changeset
2495 [don't use SUNDIALS SUNLINSOL_KLU library, disable ode15i and ode15s sparse Jacobian],
b876de975edf __ode15__: Adapt for changed API of SUNDIALS version 6 (bug #61701).
Markus Mützel <markus.muetzel@gmx.de>
parents: 30543
diff changeset
2496 [AC_CHECK_FUNCS([SUNKLU])
b876de975edf __ode15__: Adapt for changed API of SUNDIALS version 6 (bug #61701).
Markus Mützel <markus.muetzel@gmx.de>
parents: 30543
diff changeset
2497 AC_CACHE_CHECK([whether compiling a program that calls SUNLinSol_KLU works],
b876de975edf __ode15__: Adapt for changed API of SUNDIALS version 6 (bug #61701).
Markus Mützel <markus.muetzel@gmx.de>
parents: 30543
diff changeset
2498 [octave_cv_sundials_sunlinsol_klu],
b876de975edf __ode15__: Adapt for changed API of SUNDIALS version 6 (bug #61701).
Markus Mützel <markus.muetzel@gmx.de>
parents: 30543
diff changeset
2499 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
b876de975edf __ode15__: Adapt for changed API of SUNDIALS version 6 (bug #61701).
Markus Mützel <markus.muetzel@gmx.de>
parents: 30543
diff changeset
2500 #if defined (HAVE_IDA_IDA_H)
b876de975edf __ode15__: Adapt for changed API of SUNDIALS version 6 (bug #61701).
Markus Mützel <markus.muetzel@gmx.de>
parents: 30543
diff changeset
2501 #include <ida/ida.h>
b876de975edf __ode15__: Adapt for changed API of SUNDIALS version 6 (bug #61701).
Markus Mützel <markus.muetzel@gmx.de>
parents: 30543
diff changeset
2502 #endif
b876de975edf __ode15__: Adapt for changed API of SUNDIALS version 6 (bug #61701).
Markus Mützel <markus.muetzel@gmx.de>
parents: 30543
diff changeset
2503 #if defined (HAVE_KLU_H)
b876de975edf __ode15__: Adapt for changed API of SUNDIALS version 6 (bug #61701).
Markus Mützel <markus.muetzel@gmx.de>
parents: 30543
diff changeset
2504 #include <klu.h>
b876de975edf __ode15__: Adapt for changed API of SUNDIALS version 6 (bug #61701).
Markus Mützel <markus.muetzel@gmx.de>
parents: 30543
diff changeset
2505 #endif
b876de975edf __ode15__: Adapt for changed API of SUNDIALS version 6 (bug #61701).
Markus Mützel <markus.muetzel@gmx.de>
parents: 30543
diff changeset
2506 #if defined (HAVE_KLU_KLU_H)
b876de975edf __ode15__: Adapt for changed API of SUNDIALS version 6 (bug #61701).
Markus Mützel <markus.muetzel@gmx.de>
parents: 30543
diff changeset
2507 #include <klu/klu.h>
b876de975edf __ode15__: Adapt for changed API of SUNDIALS version 6 (bug #61701).
Markus Mützel <markus.muetzel@gmx.de>
parents: 30543
diff changeset
2508 #endif
b876de975edf __ode15__: Adapt for changed API of SUNDIALS version 6 (bug #61701).
Markus Mützel <markus.muetzel@gmx.de>
parents: 30543
diff changeset
2509 #if defined (HAVE_SUITESPARSE_KLU_H)
b876de975edf __ode15__: Adapt for changed API of SUNDIALS version 6 (bug #61701).
Markus Mützel <markus.muetzel@gmx.de>
parents: 30543
diff changeset
2510 #include <suitesparse/klu.h>
b876de975edf __ode15__: Adapt for changed API of SUNDIALS version 6 (bug #61701).
Markus Mützel <markus.muetzel@gmx.de>
parents: 30543
diff changeset
2511 #endif
b876de975edf __ode15__: Adapt for changed API of SUNDIALS version 6 (bug #61701).
Markus Mützel <markus.muetzel@gmx.de>
parents: 30543
diff changeset
2512 #if defined (HAVE_UFPARSE_KLU_H)
b876de975edf __ode15__: Adapt for changed API of SUNDIALS version 6 (bug #61701).
Markus Mützel <markus.muetzel@gmx.de>
parents: 30543
diff changeset
2513 #include <ufsparse/klu.h>
b876de975edf __ode15__: Adapt for changed API of SUNDIALS version 6 (bug #61701).
Markus Mützel <markus.muetzel@gmx.de>
parents: 30543
diff changeset
2514 #endif
b876de975edf __ode15__: Adapt for changed API of SUNDIALS version 6 (bug #61701).
Markus Mützel <markus.muetzel@gmx.de>
parents: 30543
diff changeset
2515 #if defined (HAVE_SUNLINSOL_SUNLINSOL_KLU_H)
b876de975edf __ode15__: Adapt for changed API of SUNDIALS version 6 (bug #61701).
Markus Mützel <markus.muetzel@gmx.de>
parents: 30543
diff changeset
2516 #include <sunlinsol/sunlinsol_klu.h>
b876de975edf __ode15__: Adapt for changed API of SUNDIALS version 6 (bug #61701).
Markus Mützel <markus.muetzel@gmx.de>
parents: 30543
diff changeset
2517 #endif
b876de975edf __ode15__: Adapt for changed API of SUNDIALS version 6 (bug #61701).
Markus Mützel <markus.muetzel@gmx.de>
parents: 30543
diff changeset
2518 ]], [[
b876de975edf __ode15__: Adapt for changed API of SUNDIALS version 6 (bug #61701).
Markus Mützel <markus.muetzel@gmx.de>
parents: 30543
diff changeset
2519 SUNKLU (0, 0);
b876de975edf __ode15__: Adapt for changed API of SUNDIALS version 6 (bug #61701).
Markus Mützel <markus.muetzel@gmx.de>
parents: 30543
diff changeset
2520 ]])],
b876de975edf __ode15__: Adapt for changed API of SUNDIALS version 6 (bug #61701).
Markus Mützel <markus.muetzel@gmx.de>
parents: 30543
diff changeset
2521 octave_cv_sundials_sunlinsol_klu=yes,
b876de975edf __ode15__: Adapt for changed API of SUNDIALS version 6 (bug #61701).
Markus Mützel <markus.muetzel@gmx.de>
parents: 30543
diff changeset
2522 octave_cv_sundials_sunlinsol_klu=no)
b876de975edf __ode15__: Adapt for changed API of SUNDIALS version 6 (bug #61701).
Markus Mützel <markus.muetzel@gmx.de>
parents: 30543
diff changeset
2523 ])])
b876de975edf __ode15__: Adapt for changed API of SUNDIALS version 6 (bug #61701).
Markus Mützel <markus.muetzel@gmx.de>
parents: 30543
diff changeset
2524 fi
26923
c81b471cdb28 build: avoid test syntax error in sundials configuration (bug #55926)
Mike Miller <mtmiller@octave.org>
parents: 26910
diff changeset
2525 if test "x$ac_cv_header_sunlinsol_sunlinsol_klu_h" = xyes \
c81b471cdb28 build: avoid test syntax error in sundials configuration (bug #55926)
Mike Miller <mtmiller@octave.org>
parents: 26910
diff changeset
2526 && test "x$octave_cv_sundials_sunlinsol_klu" = xyes; then
26894
ee6300e77c92 Update detection of sundials in the build system (bug #52475).
Carlo de Falco <carlo.defalco@polimi.it>
parents: 26889
diff changeset
2527 AC_DEFINE(HAVE_SUNDIALS_SUNLINSOL_KLU, 1,
ee6300e77c92 Update detection of sundials in the build system (bug #52475).
Carlo de Falco <carlo.defalco@polimi.it>
parents: 26889
diff changeset
2528 [Define to 1 if SUNDIALS IDA is configured with SUNLINSOL_KLU enabled.])
23021
6094018f5e72 refactor configure checks for Sundials (bug #50003)
John W. Eaton <jwe@octave.org>
parents: 23017
diff changeset
2529 else
26992
05f389459461 configure: avoid excessive SUNDIALS warning messages when already disabled
Mike Miller <mtmiller@octave.org>
parents: 26991
diff changeset
2530 warn_sundials_sunlinsol_klu="SUNDIALS IDA library not configured with SUNLINSOL_KLU or sunlinksol_klu.h is not usable. The solvers ode15i and ode15s will not support the sparse Jacobian feature."
26894
ee6300e77c92 Update detection of sundials in the build system (bug #52475).
Carlo de Falco <carlo.defalco@polimi.it>
parents: 26889
diff changeset
2531 OCTAVE_CONFIGURE_WARNING([warn_sundials_sunlinsol_klu])
22899
31bd8a50d44c Add Sundials library support
Francesco Faccio <francesco.faccio@mail.polimi.it>
parents: 22890
diff changeset
2532 fi
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2533 ])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2534 dnl
29367
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2535 dnl Like AC_CONFIG_FILES, but don't touch the output file if it already
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2536 dnl exists and hasn't changed.
28938
8592190176a8 build: Re-instate configure test for SUNLinSol_Dense header (bug #59248).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28933
diff changeset
2537 dnl
29367
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2538 AC_DEFUN([OCTAVE_CONFIG_MOVE_IF_CHANGE_FILES], [
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2539 m4_foreach_w([elt], [$1], [
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2540 AC_CONFIG_FILES(elt[-tmp:]patsubst(elt, [.sh$], [.in.sh]))
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2541 AC_CONFIG_COMMANDS(elt,
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2542 [$SHELL $srcdir/build-aux/move-if-change ]elt[-tmp ]elt)])])
28938
8592190176a8 build: Re-instate configure test for SUNLinSol_Dense header (bug #59248).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28933
diff changeset
2543 dnl
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2544 dnl Add warning to final summary.
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2545 dnl
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2546 AC_DEFUN([OCTAVE_CONFIGURE_WARNING], [
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2547 AC_MSG_WARN([$][$1])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2548 m4_set_add([summary_warning_list], [$1])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2549 ])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2550 dnl
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2551 dnl Print final summary.
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2552 dnl
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2553 AC_DEFUN([OCTAVE_CONFIGURE_WARNING_SUMMARY], [
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2554 m4_set_foreach([summary_warning_list], [elt], [
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2555 if test -n "[$]elt"; then
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2556 AC_MSG_WARN([$]elt)
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2557 warn_msg_printed=true
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2558 fi])
8724
a50228129dba Introduce new macro OCTAVE_GLUTESSCALLBACK_THREEDOTS. Use definitions HAVE_FRAMEWORK_OPENGL and HAVE_GLUTESSCALLBACK_THREEDOTS for Mac's framework OpenGL implementation.
Ben Abbott <bpabbott@mac.com>
parents: 8676
diff changeset
2559 ])
a50228129dba Introduce new macro OCTAVE_GLUTESSCALLBACK_THREEDOTS. Use definitions HAVE_FRAMEWORK_OPENGL and HAVE_GLUTESSCALLBACK_THREEDOTS for Mac's framework OpenGL implementation.
Ben Abbott <bpabbott@mac.com>
parents: 8676
diff changeset
2560 dnl
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2561 dnl Check if the C++ library has the bit_and, bit_or, and bit_xor
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2562 dnl templates defined.
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2563 dnl
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2564 AC_DEFUN([OCTAVE_CXX_BITWISE_OP_TEMPLATES], [
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2565 AC_CACHE_CHECK([whether bit_and, bit_or, bit_xor are defined in the C++ library],
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2566 [octave_cv_cxx_bitwise_op_templates],
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2567 [AC_LANG_PUSH(C++)
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2568 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2569 #include <functional>
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2570 ]], [[
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2571 int x = 0;
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2572 int y = 1;
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2573 int z1 = std::bit_and<int>() (x, y);
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2574 int z2 = std::bit_or<int>() (x, y);
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2575 int z3 = std::bit_xor<int>() (x, y);
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2576 ]])],
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2577 octave_cv_cxx_bitwise_op_templates=yes,
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2578 octave_cv_cxx_bitwise_op_templates=no)
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2579 AC_LANG_POP(C++)
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2580 ])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2581 if test $octave_cv_cxx_bitwise_op_templates = yes; then
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2582 AC_DEFINE(HAVE_CXX_BITWISE_OP_TEMPLATES, 1,
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2583 [Define to 1 if C++ library has templated bitwise operators.])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2584 fi
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2585 ])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2586 dnl
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2587 dnl Check if the C++ library has functions to access real and imaginary
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2588 dnl parts of complex numbers independently via references.
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2589 dnl
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2590 AC_DEFUN([OCTAVE_CXX_COMPLEX_REFERENCE_ACCESSORS], [
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2591 AC_CACHE_CHECK([whether complex class can reference components independently],
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2592 [octave_cv_cxx_complex_reference_accessors],
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2593 [AC_LANG_PUSH(C++)
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2594 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2595 #include <complex>
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2596 ]], [[
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2597 std::complex<double> x;
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2598 x.real () = 1.0;
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2599 x.imag () = 1.0;
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2600 ]])],
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2601 octave_cv_cxx_complex_reference_accessors=yes,
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2602 octave_cv_cxx_complex_reference_accessors=no)
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2603 AC_LANG_POP(C++)
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2604 ])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2605 if test $octave_cv_cxx_complex_reference_accessors = yes; then
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2606 AC_DEFINE(HAVE_CXX_COMPLEX_REFERENCE_ACCESSORS, 1,
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2607 [Define to 1 if C++ complex class has T& real (void) and T& imag (void) methods.])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2608 fi
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2609 ])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2610 dnl
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2611 dnl Check if the C++ library has functions to set real and imaginary
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2612 dnl parts of complex numbers independently.
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2613 dnl
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2614 AC_DEFUN([OCTAVE_CXX_COMPLEX_SETTERS], [
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2615 AC_CACHE_CHECK([whether complex class can set components independently],
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2616 [octave_cv_cxx_complex_setters],
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2617 [AC_LANG_PUSH(C++)
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2618 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2619 #include <complex>
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2620 ]], [[
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2621 std::complex<double> x;
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2622 x.real (1.0);
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2623 x.imag (2.0);
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2624 ]])],
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2625 octave_cv_cxx_complex_setters=yes, octave_cv_cxx_complex_setters=no)
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2626 AC_LANG_POP(C++)
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2627 ])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2628 if test $octave_cv_cxx_complex_setters = yes; then
17034
8d84dc5f5b5d acinclude.m4: Use m4 quote '[' rather than '"' in AC_MSG_ERROR.
Rik <rik@octave.org>
parents: 17031
diff changeset
2629 AC_DEFINE(HAVE_CXX_COMPLEX_SETTERS, 1,
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2630 [Define to 1 if C++ complex class has void real (T) and void imag (T) methods.])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2631 fi
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2632 ])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2633 dnl
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2634 dnl Check if the compiler supports dynamic auto arrays.
10471
bcabc1c4f20c Add detection of OpenMP support to configure. Disabled by default
David Bateman <dbateman@free.fr>
parents: 10380
diff changeset
2635 dnl
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2636 AC_DEFUN([OCTAVE_CXX_DYNAMIC_AUTO_ARRAYS], [
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2637 AC_CACHE_CHECK([whether C++ supports dynamic auto arrays],
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2638 [octave_cv_cxx_dynamic_auto_arrays],
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2639 [AC_LANG_PUSH(C++)
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2640 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [[
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2641 void test(char *);
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2642 int length();
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2643 char x[length()];
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2644 test(x);
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2645 ]])],
17034
8d84dc5f5b5d acinclude.m4: Use m4 quote '[' rather than '"' in AC_MSG_ERROR.
Rik <rik@octave.org>
parents: 17031
diff changeset
2646 octave_cv_cxx_dynamic_auto_arrays=yes,
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2647 octave_cv_cxx_dynamic_auto_arrays=no)
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2648 AC_LANG_POP(C++)
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2649 ])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2650 if test $octave_cv_cxx_dynamic_auto_arrays = yes; then
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2651 AC_DEFINE(HAVE_DYNAMIC_AUTO_ARRAYS, 1,
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2652 [Define to 1 if C++ supports dynamic auto arrays.])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2653 fi
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2654 ])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2655 dnl
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2656 dnl Check if C++ compiler handles FLAG command line option. If two
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2657 dnl arguments are specified, execute the second arg as shell commands.
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2658 dnl Otherwise, add FLAG to CXXFLAGS if the compiler accepts the flag.
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2659 dnl
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2660 AC_DEFUN([OCTAVE_CXX_FLAG], [
17661
1978a6c76aa9 Use user-specified SED during build process (bug #40273).
Rik <rik@octave.org>
parents: 17615
diff changeset
2661 ac_safe=`echo "$1" | $SED 'y%./+-:=%__p___%'`
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2662 AC_MSG_CHECKING([whether ${CXX-g++} accepts $1])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2663 AC_CACHE_VAL([octave_cv_cxx_flag_$ac_safe],
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2664 [AC_LANG_PUSH(C++)
15336
5fff79162342 acinclude.m4: Put temporary shell variables in macros into ac_octave namespace.
Rik <rik@octave.org>
parents: 15330
diff changeset
2665 ac_octave_save_CXXFLAGS="$CXXFLAGS"
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2666 CXXFLAGS="$CXXFLAGS $1"
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2667 AC_LINK_IFELSE([AC_LANG_PROGRAM([], [])],
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2668 eval "octave_cv_cxx_flag_$ac_safe=yes",
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2669 eval "octave_cv_cxx_flag_$ac_safe=no")
15336
5fff79162342 acinclude.m4: Put temporary shell variables in macros into ac_octave namespace.
Rik <rik@octave.org>
parents: 15330
diff changeset
2670 CXXFLAGS="$ac_octave_save_CXXFLAGS"
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2671 AC_LANG_POP(C++)
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2672 ])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2673 if eval "test \"`echo '$octave_cv_cxx_flag_'$ac_safe`\" = yes"; then
15319
daf74ce2afdc m4/acinclude.m4: Use more consistent m4 quoting of arguments to macros.
Rik <rik@octave.org>
parents: 15302
diff changeset
2674 AC_MSG_RESULT([yes])
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2675 ifelse([$2], ,
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2676 [CXXFLAGS="$CXXFLAGS $1"
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2677 AC_MSG_RESULT([adding $1 to CXXFLAGS])], [$2])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2678 else
15319
daf74ce2afdc m4/acinclude.m4: Use more consistent m4 quoting of arguments to macros.
Rik <rik@octave.org>
parents: 15302
diff changeset
2679 AC_MSG_RESULT([no])
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2680 ifelse([$3], , , [$3])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2681 fi
10471
bcabc1c4f20c Add detection of OpenMP support to configure. Disabled by default
David Bateman <dbateman@free.fr>
parents: 10380
diff changeset
2682 ])
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2683 dnl
29367
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2684 dnl OCTAVE_DEFINE_MKOCTFILE_DYNAMIC_LINK_OPTIONS
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2685 dnl
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2686 dnl Requires the following variables to already be set:
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2687 dnl
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2688 dnl AR
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2689 dnl CFLAGS
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2690 dnl CXX
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2691 dnl CXXFLAGS
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2692 dnl EXEEXT
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2693 dnl GCC
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2694 dnl GREP
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2695 dnl GXX
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2696 dnl LDFLAGS
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2697 dnl ac_cv_f77_compiler_gnu
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2698 dnl ac_top_build_prefix
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2699 dnl canonical_host_type
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2700 dnl have_msvc
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2701 dnl
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2702 AC_DEFUN_ONCE([OCTAVE_DEFINE_MKOCTFILE_DYNAMIC_LINK_OPTIONS], [
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2703 ### Set system-dependent options for building shared libraries.
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2704 ### These are used by mkoctfile to create dynamically loadable
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2705 ### .oct and .mex files. It would be great if we could somehow
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2706 ### use libtool to get this information.
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2707
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2708 CPICFLAG=-fPIC
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2709 CXXPICFLAG=-fPIC
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2710 FPICFLAG=-fPIC
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2711 SH_LDFLAGS=-shared
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2712 DL_LDFLAGS="${SH_LDFLAGS}"
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2713 MKOCTFILE_DL_LDFLAGS="${DL_LDFLAGS}"
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2714 NO_OCT_FILE_STRIP=false
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2715 TEMPLATE_AR="${AR}"
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2716 TEMPLATE_ARFLAGS="${ARFLAGS}"
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2717 library_path_var=LD_LIBRARY_PATH
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2718 ldpreloadsep=" "
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2719 case $canonical_host_type in
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2720 *-*-386bsd* | *-*-netbsd*)
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2721 SH_LDFLAGS=-Bshareable
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2722 ;;
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2723 *-*-openbsd*)
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2724 SH_LDFLAGS="-shared -fPIC"
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2725 ;;
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2726 *-*-freebsd*)
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2727 SH_LDFLAGS="-shared -Wl,-x"
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2728 ;;
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2729 alpha*-dec-osf*)
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2730 CPICFLAG=
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2731 CXXPICFLAG=
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2732 FPICFLAG=
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2733 SH_LDFLAGS="-shared -Wl,-expect_unresolved -Wl,'*'"
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2734 ;;
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2735 *-*-darwin*)
29808
e0fded8bd7bb maint: Merge stable to default.
Markus Mützel <markus.muetzel@gmx.de>
parents: 29746 29807
diff changeset
2736 DL_LDFLAGS="-bundle -undefined dynamic_lookup -bind_at_load -bundle_loader ${ac_top_build_prefix}src/octave${EXEEXT} ${LDFLAGS}"
29367
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2737 dnl Contains variables that are defined and undefined at this point, so use
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2738 dnl appropriate quoting to defer expansion of ${bindir} and ${version}.
29588
b4cb9d04f3cf build: Use dynamic symbol lookup for functions in libraries on macOS (bug #53627).
Andrew Janke <andrew@apjanke.net>
parents: 29560
diff changeset
2739 MKOCTFILE_DL_LDFLAGS='-bundle -undefined dynamic_lookup -bind_at_load -bundle_loader ${bindir}/octave-${version}'"${EXEEXT}"
29367
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2740 SH_LDFLAGS="-dynamiclib -single_module ${LDFLAGS}"
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2741 case $canonical_host_type in
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2742 powerpc-*)
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2743 CXXPICFLAG=
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2744 CPICFLAG=
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2745 FPICFLAG=
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2746 ;;
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2747 esac
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2748 NO_OCT_FILE_STRIP=true
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2749 library_path_var=DYLD_LIBRARY_PATH
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2750 ;;
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2751 *-*-cygwin*)
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2752 CPICFLAG=
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2753 CXXPICFLAG=
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2754 FPICFLAG=
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2755 DL_LDFLAGS="-shared -Wl,--export-all-symbols -Wl,--enable-auto-import -Wl,--enable-runtime-pseudo-reloc"
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2756 SH_LDFLAGS="-shared -Wl,--export-all-symbols -Wl,--enable-auto-import -Wl,--enable-auto-image-base"
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2757 ldpreloadsep=":"
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2758 ;;
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2759 *-*-mingw*)
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2760 if test $have_msvc = yes; then
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2761 DL_LDFLAGS="-shared"
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2762 CPICFLAG=
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2763 CXXPICFLAG=
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2764 FPICFLAG=
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2765 SH_LDFLAGS="-shared"
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2766 if test -n "`echo $CFLAGS | $GREP -e '-g'`" || test -n "`echo $CXXFLAGS | $GREP -e '-g'`"; then
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2767 DL_LDFLAGS="$DL_LDFLAGS -g"
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2768 SH_LDFLAGS="$SH_LDFLAGS -g"
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2769 fi
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2770 NO_OCT_FILE_STRIP=true
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2771 library_path_var=PATH
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2772 else
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2773 CPICFLAG=
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2774 CXXPICFLAG=
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2775 FPICFLAG=
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2776 DL_LDFLAGS="-shared -Wl,--export-all-symbols -Wl,--enable-auto-import -Wl,--enable-runtime-pseudo-reloc"
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2777 SH_LDFLAGS="-shared -Wl,--export-all-symbols -Wl,--enable-auto-import -Wl,--enable-auto-image-base"
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2778 library_path_var=PATH
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2779 fi
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2780 ;;
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2781 *-*-msdosmsvc)
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2782 DL_LDFLAGS="-shared"
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2783 CPICFLAG=
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2784 CXXPICFLAG=
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2785 FPICFLAG=
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2786 SH_LDFLAGS="-shared"
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2787 if test -n "`echo $CFLAGS | $GREP -e '-g'`" || test -n "`echo $CXXFLAGS | $GREP -e '-g'`"; then
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2788 DL_LDFLAGS="$DL_LDFLAGS -g"
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2789 SH_LDFLAGS="$SH_LDFLAGS -g"
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2790 fi
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2791 NO_OCT_FILE_STRIP=true
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2792 library_path_var=PATH
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2793 ;;
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2794 *-*-linux* | *-*-gnu*)
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2795 MKOCTFILE_DL_LDFLAGS="-shared -Wl,-Bsymbolic"
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2796 ;;
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2797 i[[3456]]86-*-sco3.2v5*)
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2798 SH_LDFLAGS=-G
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2799 ;;
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2800 rs6000-ibm-aix* | powerpc-ibm-aix*)
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2801 CPICFLAG=
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2802 CXXPICFLAG=
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2803 FPICFLAG=
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2804 library_path_var=LIBPATH
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2805 ;;
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2806 hppa*-hp-hpux*)
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2807 if test $ac_cv_f77_compiler_gnu = yes; then
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2808 FPICFLAG=-fPIC
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2809 else
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2810 FPICFLAG=+Z
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2811 fi
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2812 SH_LDFLAGS="-shared -fPIC"
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2813 library_path_var=SHLIB_PATH
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2814 ;;
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2815 ia64*-hp-hpux*)
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2816 if test $ac_cv_f77_compiler_gnu = yes; then
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2817 FPICFLAG=-fPIC
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2818 else
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2819 FPICFLAG=+Z
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2820 fi
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2821 SH_LDFLAGS="-shared -fPIC"
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2822 ;;
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2823 *-sgi-*)
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2824 CPICFLAG=
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2825 CXXPICFLAG=
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2826 FPICFLAG=
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2827 ;;
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2828 sparc-sun-sunos4*)
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2829 if test $ac_cv_f77_compiler_gnu = yes; then
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2830 FPICFLAG=-fPIC
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2831 else
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2832 FPICFLAG=-PIC
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2833 fi
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2834 SH_LDFLAGS="-assert nodefinitions"
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2835 ;;
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2836 sparc-sun-solaris2* | i386-pc-solaris2*)
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2837 if test $ac_cv_f77_compiler_gnu = yes; then
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2838 FPICFLAG=-fPIC
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2839 else
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2840 FPICFLAG=-KPIC
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2841 fi
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2842 if test "$GCC" = yes; then
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2843 CPICFLAG=-fPIC
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2844 else
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2845 CPICFLAG=-KPIC
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2846 fi
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2847 if test "$GXX" = yes; then
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2848 CXXPICFLAG=-fPIC
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2849 SH_LDFLAGS=-shared
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2850 else
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2851 CXXPICFLAG=-KPIC
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2852 SH_LDFLAGS=-G
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2853 fi
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2854 ## Template closures in archive libraries need a different mechanism.
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2855 if test "$GXX" != yes; then
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2856 TEMPLATE_AR="${CXX}"
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2857 TEMPLATE_ARFLAGS="-xar -o"
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2858 fi
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2859 ;;
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2860 esac
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2861
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2862 AC_MSG_NOTICE([defining FPICFLAG to be $FPICFLAG])
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2863 AC_MSG_NOTICE([defining CPICFLAG to be $CPICFLAG])
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2864 AC_MSG_NOTICE([defining CXXPICFLAG to be $CXXPICFLAG])
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2865 AC_MSG_NOTICE([defining SH_LDFLAGS to be $SH_LDFLAGS])
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2866 AC_MSG_NOTICE([defining DL_LDFLAGS to be $DL_LDFLAGS])
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2867 AC_MSG_NOTICE([defining MKOCTFILE_DL_LDFLAGS to be $MKOCTFILE_DL_LDFLAGS])
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2868 AC_MSG_NOTICE([defining NO_OCT_FILE_STRIP to be $NO_OCT_FILE_STRIP])
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2869 AC_MSG_NOTICE([defining TEMPLATE_AR to be $TEMPLATE_AR])
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2870 AC_MSG_NOTICE([defining TEMPLATE_ARFLAGS to be $TEMPLATE_ARFLAGS])
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2871 AC_MSG_NOTICE([defining library_path_var to be $library_path_var])
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2872 AC_SUBST(FPICFLAG)
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2873 AC_SUBST(CPICFLAG)
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2874 AC_SUBST(CXXPICFLAG)
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2875 AC_SUBST(SH_LDFLAGS)
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2876 AC_SUBST(DL_LDFLAGS)
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2877 AC_SUBST(MKOCTFILE_DL_LDFLAGS)
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2878 AC_SUBST(NO_OCT_FILE_STRIP)
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2879 AC_SUBST(TEMPLATE_AR)
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2880 AC_SUBST(TEMPLATE_ARFLAGS)
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2881 AC_SUBST(library_path_var)
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2882 AC_SUBST(ldpreloadsep)
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2883 AM_SUBST_NOTMAKE(ldpreloadsep)
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2884 ])
8608b7e50720 maint: sort m4 macros alphabetically in acinclude.m4.
Rik <rik@octave.org>
parents: 29366
diff changeset
2885 dnl
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2886 dnl Allow the user disable support for command line editing using GNU
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2887 dnl readline.
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2888 dnl
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2889 AC_DEFUN([OCTAVE_ENABLE_READLINE], [
16068
b309a5da17f5 use yes/no instead of true/false in confgure scripts
John W. Eaton <jwe@octave.org>
parents: 16012
diff changeset
2890 USE_READLINE=yes
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2891 READLINE_LIBS=
15319
daf74ce2afdc m4/acinclude.m4: Use more consistent m4 quoting of arguments to macros.
Rik <rik@octave.org>
parents: 15302
diff changeset
2892 AC_ARG_ENABLE([readline],
15238
c4779a180134 avoid confusing --disable-foo (default is yes) configure help messages
John W. Eaton <jwe@octave.org>
parents: 15166
diff changeset
2893 [AS_HELP_STRING([--disable-readline],
18141
5e72998000fb acinclude.m4 (OCTAVE_ENABLE_READLINE): correct the help for --disable-readline
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 18058
diff changeset
2894 [do not use readline library])],
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2895 [if test "$enableval" = no; then
16068
b309a5da17f5 use yes/no instead of true/false in confgure scripts
John W. Eaton <jwe@octave.org>
parents: 16012
diff changeset
2896 USE_READLINE=no
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2897 warn_readline="command editing and history features require GNU Readline"
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2898 fi])
16068
b309a5da17f5 use yes/no instead of true/false in confgure scripts
John W. Eaton <jwe@octave.org>
parents: 16012
diff changeset
2899 if test $USE_READLINE = yes; then
15302
a8cfbc1911e4 build: Set TERM_LIBS before checking for READLINE.
Rik <rik@octave.org>
parents: 15295
diff changeset
2900 dnl RHEL 5 and older systems require termlib set before enabling readline
a8cfbc1911e4 build: Set TERM_LIBS before checking for READLINE.
Rik <rik@octave.org>
parents: 15295
diff changeset
2901 AC_REQUIRE([OCTAVE_CHECK_LIB_TERMLIB])
15336
5fff79162342 acinclude.m4: Put temporary shell variables in macros into ac_octave namespace.
Rik <rik@octave.org>
parents: 15330
diff changeset
2902 ac_octave_save_LIBS="$LIBS"
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2903 LIBS="$TERM_LIBS"
15319
daf74ce2afdc m4/acinclude.m4: Use more consistent m4 quoting of arguments to macros.
Rik <rik@octave.org>
parents: 15302
diff changeset
2904 AC_CHECK_LIB([readline], [rl_set_keyboard_input_timeout],
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2905 [READLINE_LIBS="-lreadline"
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2906 AC_DEFINE(USE_READLINE, 1, [Define to 1 to use the readline library.])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2907 ],
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2908 [AC_MSG_WARN([I need GNU Readline 4.2 or later])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2909 AC_MSG_ERROR([this is fatal unless you specify --disable-readline])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2910 ])
15336
5fff79162342 acinclude.m4: Put temporary shell variables in macros into ac_octave namespace.
Rik <rik@octave.org>
parents: 15330
diff changeset
2911 LIBS="$ac_octave_save_LIBS"
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2912 fi
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2913 AC_SUBST(READLINE_LIBS)
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2914 ])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2915 dnl
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2916 dnl Check if Fortran compiler handles FLAG command line option. If
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2917 dnl two arguments are specified, execute the second arg as shell
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2918 dnl commands. Otherwise, add FLAG to FFLAGS if the compiler accepts
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2919 dnl the flag.
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2920 dnl
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2921 AC_DEFUN([OCTAVE_F77_FLAG], [
17661
1978a6c76aa9 Use user-specified SED during build process (bug #40273).
Rik <rik@octave.org>
parents: 17615
diff changeset
2922 ac_safe=`echo "$1" | $SED 'y%./+-:=%__p___%'`
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2923 AC_MSG_CHECKING([whether ${F77-g77} accepts $1])
15319
daf74ce2afdc m4/acinclude.m4: Use more consistent m4 quoting of arguments to macros.
Rik <rik@octave.org>
parents: 15302
diff changeset
2924 AC_CACHE_VAL([octave_cv_f77_flag_$ac_safe], [
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2925 AC_LANG_PUSH(Fortran 77)
15336
5fff79162342 acinclude.m4: Put temporary shell variables in macros into ac_octave namespace.
Rik <rik@octave.org>
parents: 15330
diff changeset
2926 ac_octave_save_FFLAGS="$FFLAGS"
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2927 FFLAGS="$FFLAGS $1"
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2928 AC_LINK_IFELSE([AC_LANG_PROGRAM([], [])],
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2929 eval "octave_cv_f77_flag_$ac_safe=yes",
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2930 eval "octave_cv_f77_flag_$ac_safe=no")
15336
5fff79162342 acinclude.m4: Put temporary shell variables in macros into ac_octave namespace.
Rik <rik@octave.org>
parents: 15330
diff changeset
2931 FFLAGS="$ac_octave_save_FFLAGS"
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2932 AC_LANG_POP(Fortran 77)
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2933 ])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2934 if eval "test \"`echo '$octave_cv_f77_flag_'$ac_safe`\" = yes"; then
15319
daf74ce2afdc m4/acinclude.m4: Use more consistent m4 quoting of arguments to macros.
Rik <rik@octave.org>
parents: 15302
diff changeset
2935 AC_MSG_RESULT([yes])
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2936 ifelse([$2], ,
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2937 [FFLAGS="$FFLAGS $1"
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2938 AC_MSG_RESULT([adding $1 to FFLAGS])], [$2])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2939 else
15319
daf74ce2afdc m4/acinclude.m4: Use more consistent m4 quoting of arguments to macros.
Rik <rik@octave.org>
parents: 15302
diff changeset
2940 AC_MSG_RESULT([no])
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2941 ifelse([$3], , , [$3])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2942 fi
10471
bcabc1c4f20c Add detection of OpenMP support to configure. Disabled by default
David Bateman <dbateman@free.fr>
parents: 10380
diff changeset
2943 ])
bcabc1c4f20c Add detection of OpenMP support to configure. Disabled by default
David Bateman <dbateman@free.fr>
parents: 10380
diff changeset
2944 dnl
8595
dee5d60257e4 Use Carbon framework to determine ScreenSize on Mac.
Thomas Treichl <Thomas.Treichl@gmx.net>
parents: 8169
diff changeset
2945 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
2946 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
2947 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
2948 dnl Add options (lower case letters $1) "--with-framework-$1" and
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2949 dnl "--without-framework-$1". If this test is successful then perform
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
2950 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
2951 dnl
9654
a307a6f77fb3 aclocal.m4: consistently quote first arg to AC_DEFUN
John W. Eaton <jwe@octave.org>
parents: 9645
diff changeset
2952 AC_DEFUN([OCTAVE_HAVE_FRAMEWORK], [
10012
2441327485a3 use m4 quating in aclocal.m4 autoconf macros with variable expansion
Rik <rdrider0-list@yahoo.com>
parents: 10011
diff changeset
2953 AC_MSG_CHECKING([whether ${LD-ld} accepts -framework $1])
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2954 AC_CACHE_VAL([octave_cv_framework_$1],
15336
5fff79162342 acinclude.m4: Put temporary shell variables in macros into ac_octave namespace.
Rik <rik@octave.org>
parents: 15330
diff changeset
2955 [ac_octave_save_LDFLAGS="$LDFLAGS"
8595
dee5d60257e4 Use Carbon framework to determine ScreenSize on Mac.
Thomas Treichl <Thomas.Treichl@gmx.net>
parents: 8169
diff changeset
2956 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
2957 AC_LANG_PUSH(C++)
8595
dee5d60257e4 Use Carbon framework to determine ScreenSize on Mac.
Thomas Treichl <Thomas.Treichl@gmx.net>
parents: 8169
diff changeset
2958 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
2959 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
2960 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
2961 AC_LANG_POP(C++)
15336
5fff79162342 acinclude.m4: Put temporary shell variables in macros into ac_octave namespace.
Rik <rik@octave.org>
parents: 15330
diff changeset
2962 LDFLAGS="$ac_octave_save_LDFLAGS"
8595
dee5d60257e4 Use Carbon framework to determine ScreenSize on Mac.
Thomas Treichl <Thomas.Treichl@gmx.net>
parents: 8169
diff changeset
2963 ])
15336
5fff79162342 acinclude.m4: Put temporary shell variables in macros into ac_octave namespace.
Rik <rik@octave.org>
parents: 15330
diff changeset
2964 if test "$octave_cv_framework_$1" = yes; then
15319
daf74ce2afdc m4/acinclude.m4: Use more consistent m4 quoting of arguments to macros.
Rik <rik@octave.org>
parents: 15302
diff changeset
2965 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
2966 AC_ARG_WITH(framework-m4_tolower($1),
17034
8d84dc5f5b5d acinclude.m4: Use m4 quote '[' rather than '"' in AC_MSG_ERROR.
Rik <rik@octave.org>
parents: 17031
diff changeset
2967 [AS_HELP_STRING([--without-framework-m4_tolower($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
2968 [don't use framework $1])],
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2969 with_have_framework=$withval, with_have_framework=yes)
15336
5fff79162342 acinclude.m4: Put temporary shell variables in macros into ac_octave namespace.
Rik <rik@octave.org>
parents: 15330
diff changeset
2970 if test "$with_have_framework" = yes; then
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
2971 [$4]
15336
5fff79162342 acinclude.m4: Put temporary shell variables in macros into ac_octave namespace.
Rik <rik@octave.org>
parents: 15330
diff changeset
2972 :
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
2973 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
2974 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
2975 [$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
2976 fi
8595
dee5d60257e4 Use Carbon framework to determine ScreenSize on Mac.
Thomas Treichl <Thomas.Treichl@gmx.net>
parents: 8169
diff changeset
2977 else
15319
daf74ce2afdc m4/acinclude.m4: Use more consistent m4 quoting of arguments to macros.
Rik <rik@octave.org>
parents: 15302
diff changeset
2978 AC_MSG_RESULT([no])
8595
dee5d60257e4 Use Carbon framework to determine ScreenSize on Mac.
Thomas Treichl <Thomas.Treichl@gmx.net>
parents: 8169
diff changeset
2979 [$5]
dee5d60257e4 Use Carbon framework to determine ScreenSize on Mac.
Thomas Treichl <Thomas.Treichl@gmx.net>
parents: 8169
diff changeset
2980 fi
dee5d60257e4 Use Carbon framework to determine ScreenSize on Mac.
Thomas Treichl <Thomas.Treichl@gmx.net>
parents: 8169
diff changeset
2981 ])
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2982 dnl
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2983 dnl Check for IEEE 754 data format.
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2984 dnl
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2985 AC_DEFUN([OCTAVE_IEEE754_DATA_FORMAT], [
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2986 AC_MSG_CHECKING([for IEEE 754 data format])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2987 AC_CACHE_VAL([octave_cv_ieee754_data_format],
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2988 [AC_RUN_IFELSE([AC_LANG_SOURCE([[
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2989 int
17034
8d84dc5f5b5d acinclude.m4: Use m4 quote '[' rather than '"' in AC_MSG_ERROR.
Rik <rik@octave.org>
parents: 17031
diff changeset
2990 main (void)
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2991 {
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2992 typedef union { unsigned char c[8]; double d; } ieeebytes;
17034
8d84dc5f5b5d acinclude.m4: Use m4 quote '[' rather than '"' in AC_MSG_ERROR.
Rik <rik@octave.org>
parents: 17031
diff changeset
2993
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2994 ieeebytes l = {0x1c, 0xbc, 0x6e, 0xf2, 0x54, 0x8b, 0x11, 0x43};
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2995 ieeebytes b = {0x43, 0x11, 0x8b, 0x54, 0xf2, 0x6e, 0xbc, 0x1c};
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2996
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2997 return l.d != 1234567891234567.0 && b.d != 1234567891234567.0;
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2998 }
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2999 ]])],
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3000 octave_cv_ieee754_data_format=yes,
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3001 octave_cv_ieee754_data_format=no,
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3002 octave_cv_ieee754_data_format=yes)
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3003 ])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3004 if test "$cross_compiling" = yes; then
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3005 AC_MSG_RESULT([$octave_cv_ieee754_data_format assumed for cross compilation])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3006 else
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3007 AC_MSG_RESULT([$octave_cv_ieee754_data_format])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3008 fi
15336
5fff79162342 acinclude.m4: Put temporary shell variables in macros into ac_octave namespace.
Rik <rik@octave.org>
parents: 15330
diff changeset
3009 if test $octave_cv_ieee754_data_format = yes; then
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3010 AC_DEFINE(HAVE_IEEE754_DATA_FORMAT, 1,
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3011 [Define to 1 if your system uses IEEE 754 data format.])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3012 else
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3013 ## If the format is unknown, then you will probably not have a
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3014 ## useful system, so we will abort here. Anyone wishing to
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3015 ## experiment with building Octave on a system without IEEE
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3016 ## floating point should be capable of removing this check and
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3017 ## the one in the octave_ieee_init function in liboctave/lo-ieee.cc.
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3018 AC_MSG_ERROR([IEEE 754 data format required for building Octave])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3019 fi
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3020 ])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3021 dnl
29365
e9b7ac7031fb Compute with NA correctly on MIPS architecture (bug #59830).
Rik <rik@octave.org>
parents: 29358
diff changeset
3022 dnl Check if MIPS processor is target and quiet signalling NaN value is
e9b7ac7031fb Compute with NA correctly on MIPS architecture (bug #59830).
Rik <rik@octave.org>
parents: 29358
diff changeset
3023 dnl opposite of IEEE 754-2008 standard used by all other architectures.
e9b7ac7031fb Compute with NA correctly on MIPS architecture (bug #59830).
Rik <rik@octave.org>
parents: 29358
diff changeset
3024 dnl
e9b7ac7031fb Compute with NA correctly on MIPS architecture (bug #59830).
Rik <rik@octave.org>
parents: 29358
diff changeset
3025 AC_DEFUN([OCTAVE_MIPS_NAN], [
e9b7ac7031fb Compute with NA correctly on MIPS architecture (bug #59830).
Rik <rik@octave.org>
parents: 29358
diff changeset
3026 AC_CACHE_CHECK([whether MIPS processor is using non-standard NaN encoding],
e9b7ac7031fb Compute with NA correctly on MIPS architecture (bug #59830).
Rik <rik@octave.org>
parents: 29358
diff changeset
3027 [octave_cv_mips_nan],
e9b7ac7031fb Compute with NA correctly on MIPS architecture (bug #59830).
Rik <rik@octave.org>
parents: 29358
diff changeset
3028 [AC_LANG_PUSH(C++)
e9b7ac7031fb Compute with NA correctly on MIPS architecture (bug #59830).
Rik <rik@octave.org>
parents: 29358
diff changeset
3029 AC_RUN_IFELSE([AC_LANG_PROGRAM([[
e9b7ac7031fb Compute with NA correctly on MIPS architecture (bug #59830).
Rik <rik@octave.org>
parents: 29358
diff changeset
3030 #include <cmath>
e9b7ac7031fb Compute with NA correctly on MIPS architecture (bug #59830).
Rik <rik@octave.org>
parents: 29358
diff changeset
3031 #include <limits>
e9b7ac7031fb Compute with NA correctly on MIPS architecture (bug #59830).
Rik <rik@octave.org>
parents: 29358
diff changeset
3032 ]], [[
e9b7ac7031fb Compute with NA correctly on MIPS architecture (bug #59830).
Rik <rik@octave.org>
parents: 29358
diff changeset
3033 /* FIXME: Only test is that MIPS is the target architecture.
e9b7ac7031fb Compute with NA correctly on MIPS architecture (bug #59830).
Rik <rik@octave.org>
parents: 29358
diff changeset
3034 * This should be AND'ed with a test for whether the actual NaN
e9b7ac7031fb Compute with NA correctly on MIPS architecture (bug #59830).
Rik <rik@octave.org>
parents: 29358
diff changeset
3035 * value for the high word (LO_IEEE_NA_HW) has the value
e9b7ac7031fb Compute with NA correctly on MIPS architecture (bug #59830).
Rik <rik@octave.org>
parents: 29358
diff changeset
3036 * 0x7FF840F4 (normal) or 0x7FF040F4 (non-standard). Template code
e9b7ac7031fb Compute with NA correctly on MIPS architecture (bug #59830).
Rik <rik@octave.org>
parents: 29358
diff changeset
3037 * that could work is in liboctave/utils/lo-ieee.cc but it also
e9b7ac7031fb Compute with NA correctly on MIPS architecture (bug #59830).
Rik <rik@octave.org>
parents: 29358
diff changeset
3038 * depends on knowing whether the architecture is big-endian or
e9b7ac7031fb Compute with NA correctly on MIPS architecture (bug #59830).
Rik <rik@octave.org>
parents: 29358
diff changeset
3039 * little-endian. */
e9b7ac7031fb Compute with NA correctly on MIPS architecture (bug #59830).
Rik <rik@octave.org>
parents: 29358
diff changeset
3040 #if defined (__mips__)
e9b7ac7031fb Compute with NA correctly on MIPS architecture (bug #59830).
Rik <rik@octave.org>
parents: 29358
diff changeset
3041 return (0);
e9b7ac7031fb Compute with NA correctly on MIPS architecture (bug #59830).
Rik <rik@octave.org>
parents: 29358
diff changeset
3042 #else
e9b7ac7031fb Compute with NA correctly on MIPS architecture (bug #59830).
Rik <rik@octave.org>
parents: 29358
diff changeset
3043 return (1);
29366
8224cb664385 maint: merge stable to default.
Rik <rik@octave.org>
parents: 29359 29365
diff changeset
3044 #endif
29365
e9b7ac7031fb Compute with NA correctly on MIPS architecture (bug #59830).
Rik <rik@octave.org>
parents: 29358
diff changeset
3045 ]])],
e9b7ac7031fb Compute with NA correctly on MIPS architecture (bug #59830).
Rik <rik@octave.org>
parents: 29358
diff changeset
3046 octave_cv_mips_nan=yes,
29370
8e549734531e Add default value to OCTAVE_MIPS_NAN configure macro for cross-compiling (bug #59830)
Rik <rik@octave.org>
parents: 29365
diff changeset
3047 octave_cv_mips_nan=no,
29365
e9b7ac7031fb Compute with NA correctly on MIPS architecture (bug #59830).
Rik <rik@octave.org>
parents: 29358
diff changeset
3048 octave_cv_mips_nan=no)
e9b7ac7031fb Compute with NA correctly on MIPS architecture (bug #59830).
Rik <rik@octave.org>
parents: 29358
diff changeset
3049 AC_LANG_POP(C++)
e9b7ac7031fb Compute with NA correctly on MIPS architecture (bug #59830).
Rik <rik@octave.org>
parents: 29358
diff changeset
3050 ])
e9b7ac7031fb Compute with NA correctly on MIPS architecture (bug #59830).
Rik <rik@octave.org>
parents: 29358
diff changeset
3051 if test $octave_cv_mips_nan = yes; then
e9b7ac7031fb Compute with NA correctly on MIPS architecture (bug #59830).
Rik <rik@octave.org>
parents: 29358
diff changeset
3052 AC_DEFINE(HAVE_MIPS_NAN, 1,
e9b7ac7031fb Compute with NA correctly on MIPS architecture (bug #59830).
Rik <rik@octave.org>
parents: 29358
diff changeset
3053 [Define to 1 if MIPS processor is using non-standard NaN encoding.])
e9b7ac7031fb Compute with NA correctly on MIPS architecture (bug #59830).
Rik <rik@octave.org>
parents: 29358
diff changeset
3054 fi
e9b7ac7031fb Compute with NA correctly on MIPS architecture (bug #59830).
Rik <rik@octave.org>
parents: 29358
diff changeset
3055 ])
e9b7ac7031fb Compute with NA correctly on MIPS architecture (bug #59830).
Rik <rik@octave.org>
parents: 29358
diff changeset
3056 dnl
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3057 dnl Check for ar.
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3058 dnl
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3059 AC_DEFUN([OCTAVE_PROG_AR], [
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3060 if test -z "$AR"; then
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3061 AR=ar
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3062 fi
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3063 AC_SUBST(AR)
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3064
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3065 if test -z "$ARFLAGS"; then
23402
1fadf480a63b maint: tweak ARFLAGS and AR_FLAGS defaults and comments
Mike Miller <mtmiller@octave.org>
parents: 23400
diff changeset
3066 ARFLAGS="cr"
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3067 fi
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3068 AC_SUBST(ARFLAGS)
23400
b5ee9b985a82 Silence compile warning about 'u' modifier to ar.
Rik <rik@octave.org>
parents: 23329
diff changeset
3069
23402
1fadf480a63b maint: tweak ARFLAGS and AR_FLAGS defaults and comments
Mike Miller <mtmiller@octave.org>
parents: 23400
diff changeset
3070 dnl FIXME: Remove when libtool updated (placed 4/15/2017).
23400
b5ee9b985a82 Silence compile warning about 'u' modifier to ar.
Rik <rik@octave.org>
parents: 23329
diff changeset
3071 dnl This silences the following unnecessary warning during compile:
b5ee9b985a82 Silence compile warning about 'u' modifier to ar.
Rik <rik@octave.org>
parents: 23329
diff changeset
3072 dnl ar: `u' modifier ignored since `D' is the default (see `U')
b5ee9b985a82 Silence compile warning about 'u' modifier to ar.
Rik <rik@octave.org>
parents: 23329
diff changeset
3073 if test -z "$AR_FLAGS"; then
23402
1fadf480a63b maint: tweak ARFLAGS and AR_FLAGS defaults and comments
Mike Miller <mtmiller@octave.org>
parents: 23400
diff changeset
3074 AR_FLAGS="$ARFLAGS"
23400
b5ee9b985a82 Silence compile warning about 'u' modifier to ar.
Rik <rik@octave.org>
parents: 23329
diff changeset
3075 fi
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3076 ])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3077 dnl
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3078 dnl Check for bison.
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3079 dnl
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3080 AC_DEFUN([OCTAVE_PROG_BISON], [
30170
72adc88bc674 modernize bison rules
John W. Eaton <jwe@octave.org>
parents: 30005
diff changeset
3081 dnl FIXME: What is our actual required minimum version for Bison?
72adc88bc674 modernize bison rules
John W. Eaton <jwe@octave.org>
parents: 30005
diff changeset
3082 gl_PROG_BISON([BISON], [3.0])
72adc88bc674 modernize bison rules
John W. Eaton <jwe@octave.org>
parents: 30005
diff changeset
3083 WARN_BISONFLAGS=
16784
0fabe0f49f38 use better method to determine whether we are using flex and bison
John W. Eaton <jwe@octave.org>
parents: 16733
diff changeset
3084
30170
72adc88bc674 modernize bison rules
John W. Eaton <jwe@octave.org>
parents: 30005
diff changeset
3085 case "`$BISON --version`" in
17197
fbee0d312af5 acinclude.m4: Remove some unnecessary double quotes around variables.
Rik <rik@octave.org>
parents: 17196
diff changeset
3086 *bison*) tmp_have_bison=yes ;;
16784
0fabe0f49f38 use better method to determine whether we are using flex and bison
John W. Eaton <jwe@octave.org>
parents: 16733
diff changeset
3087 *) tmp_have_bison=no ;;
0fabe0f49f38 use better method to determine whether we are using flex and bison
John W. Eaton <jwe@octave.org>
parents: 16733
diff changeset
3088 esac
0fabe0f49f38 use better method to determine whether we are using flex and bison
John W. Eaton <jwe@octave.org>
parents: 16733
diff changeset
3089
17197
fbee0d312af5 acinclude.m4: Remove some unnecessary double quotes around variables.
Rik <rik@octave.org>
parents: 17196
diff changeset
3090 if test $tmp_have_bison = yes; then
30170
72adc88bc674 modernize bison rules
John W. Eaton <jwe@octave.org>
parents: 30005
diff changeset
3091 WARN_BISONFLAGS="-Wno-yacc"
26672
df42ea23502f build: support GNU bison 3.3, silence POSIX compatibility warning (bug #55613)
Mike Miller <mtmiller@octave.org>
parents: 26541
diff changeset
3092
18974
d8abf813c69f handle changes in bison 3.x
John W. Eaton <jwe@octave.org>
parents: 18973
diff changeset
3093 AC_CACHE_CHECK([syntax of bison api.prefix (or name-prefix) declaration],
d8abf813c69f handle changes in bison 3.x
John W. Eaton <jwe@octave.org>
parents: 18973
diff changeset
3094 [octave_cv_bison_api_prefix_decl_style], [
d8abf813c69f handle changes in bison 3.x
John W. Eaton <jwe@octave.org>
parents: 18973
diff changeset
3095 style="api name"
19105
6b4dfb1e5afb allow building with old versions of bison again (bug #43023)
John W. Eaton <jwe@octave.org>
parents: 18974
diff changeset
3096 quote="quote brace"
18974
d8abf813c69f handle changes in bison 3.x
John W. Eaton <jwe@octave.org>
parents: 18973
diff changeset
3097 for s in $style; do
19105
6b4dfb1e5afb allow building with old versions of bison again (bug #43023)
John W. Eaton <jwe@octave.org>
parents: 18974
diff changeset
3098 for q in $quote; do
6b4dfb1e5afb allow building with old versions of bison again (bug #43023)
John W. Eaton <jwe@octave.org>
parents: 18974
diff changeset
3099 if test $s = "api"; then
6b4dfb1e5afb allow building with old versions of bison again (bug #43023)
John W. Eaton <jwe@octave.org>
parents: 18974
diff changeset
3100 if test $q = "quote"; then
6b4dfb1e5afb allow building with old versions of bison again (bug #43023)
John W. Eaton <jwe@octave.org>
parents: 18974
diff changeset
3101 def='%define api.prefix "foo_"'
6b4dfb1e5afb allow building with old versions of bison again (bug #43023)
John W. Eaton <jwe@octave.org>
parents: 18974
diff changeset
3102 else
6b4dfb1e5afb allow building with old versions of bison again (bug #43023)
John W. Eaton <jwe@octave.org>
parents: 18974
diff changeset
3103 def='%define api.prefix {foo_}'
6b4dfb1e5afb allow building with old versions of bison again (bug #43023)
John W. Eaton <jwe@octave.org>
parents: 18974
diff changeset
3104 fi
6b4dfb1e5afb allow building with old versions of bison again (bug #43023)
John W. Eaton <jwe@octave.org>
parents: 18974
diff changeset
3105 else
6b4dfb1e5afb allow building with old versions of bison again (bug #43023)
John W. Eaton <jwe@octave.org>
parents: 18974
diff changeset
3106 if test $q = "quote"; then
6b4dfb1e5afb allow building with old versions of bison again (bug #43023)
John W. Eaton <jwe@octave.org>
parents: 18974
diff changeset
3107 def='%name-prefix="foo_"'
6b4dfb1e5afb allow building with old versions of bison again (bug #43023)
John W. Eaton <jwe@octave.org>
parents: 18974
diff changeset
3108 else
6b4dfb1e5afb allow building with old versions of bison again (bug #43023)
John W. Eaton <jwe@octave.org>
parents: 18974
diff changeset
3109 def='%name-prefix {foo_}'
6b4dfb1e5afb allow building with old versions of bison again (bug #43023)
John W. Eaton <jwe@octave.org>
parents: 18974
diff changeset
3110 fi
6b4dfb1e5afb allow building with old versions of bison again (bug #43023)
John W. Eaton <jwe@octave.org>
parents: 18974
diff changeset
3111 fi
6b4dfb1e5afb allow building with old versions of bison again (bug #43023)
John W. Eaton <jwe@octave.org>
parents: 18974
diff changeset
3112 cat << EOF > conftest.yy
18974
d8abf813c69f handle changes in bison 3.x
John W. Eaton <jwe@octave.org>
parents: 18973
diff changeset
3113 $def
d8abf813c69f handle changes in bison 3.x
John W. Eaton <jwe@octave.org>
parents: 18973
diff changeset
3114 %start input
d8abf813c69f handle changes in bison 3.x
John W. Eaton <jwe@octave.org>
parents: 18973
diff changeset
3115 %%
d8abf813c69f handle changes in bison 3.x
John W. Eaton <jwe@octave.org>
parents: 18973
diff changeset
3116 input:;
d8abf813c69f handle changes in bison 3.x
John W. Eaton <jwe@octave.org>
parents: 18973
diff changeset
3117 %%
d8abf813c69f handle changes in bison 3.x
John W. Eaton <jwe@octave.org>
parents: 18973
diff changeset
3118 EOF
19105
6b4dfb1e5afb allow building with old versions of bison again (bug #43023)
John W. Eaton <jwe@octave.org>
parents: 18974
diff changeset
3119 ## Older versions of bison only warn and exit with success.
30170
72adc88bc674 modernize bison rules
John W. Eaton <jwe@octave.org>
parents: 30005
diff changeset
3120 octave_bison_output=`$BISON $WARN_BISONFLAGS conftest.yy 2>&1`
19105
6b4dfb1e5afb allow building with old versions of bison again (bug #43023)
John W. Eaton <jwe@octave.org>
parents: 18974
diff changeset
3121 ac_status=$?
6b4dfb1e5afb allow building with old versions of bison again (bug #43023)
John W. Eaton <jwe@octave.org>
parents: 18974
diff changeset
3122 if test $ac_status -eq 0 && test -z "$octave_bison_output"; then
6b4dfb1e5afb allow building with old versions of bison again (bug #43023)
John W. Eaton <jwe@octave.org>
parents: 18974
diff changeset
3123 octave_cv_bison_api_prefix_decl_style="$s $q"
6b4dfb1e5afb allow building with old versions of bison again (bug #43023)
John W. Eaton <jwe@octave.org>
parents: 18974
diff changeset
3124 break
6b4dfb1e5afb allow building with old versions of bison again (bug #43023)
John W. Eaton <jwe@octave.org>
parents: 18974
diff changeset
3125 fi
6b4dfb1e5afb allow building with old versions of bison again (bug #43023)
John W. Eaton <jwe@octave.org>
parents: 18974
diff changeset
3126 done
6b4dfb1e5afb allow building with old versions of bison again (bug #43023)
John W. Eaton <jwe@octave.org>
parents: 18974
diff changeset
3127 if test -n "$octave_cv_bison_api_prefix_decl_style"; then
18974
d8abf813c69f handle changes in bison 3.x
John W. Eaton <jwe@octave.org>
parents: 18973
diff changeset
3128 break
d8abf813c69f handle changes in bison 3.x
John W. Eaton <jwe@octave.org>
parents: 18973
diff changeset
3129 fi
d8abf813c69f handle changes in bison 3.x
John W. Eaton <jwe@octave.org>
parents: 18973
diff changeset
3130 done
d8abf813c69f handle changes in bison 3.x
John W. Eaton <jwe@octave.org>
parents: 18973
diff changeset
3131 rm -f conftest.yy y.tab.h y.tab.c
d8abf813c69f handle changes in bison 3.x
John W. Eaton <jwe@octave.org>
parents: 18973
diff changeset
3132 ])
29746
7f339da6cabd avoid possible gcc warning about C++ one definition rule (bug #60586)
John W. Eaton <jwe@octave.org>
parents: 29663
diff changeset
3133
7f339da6cabd avoid possible gcc warning about C++ one definition rule (bug #60586)
John W. Eaton <jwe@octave.org>
parents: 29663
diff changeset
3134 AC_CACHE_CHECK([whether api.prefix applies to yysymbol_kind_t],
7f339da6cabd avoid possible gcc warning about C++ one definition rule (bug #60586)
John W. Eaton <jwe@octave.org>
parents: 29663
diff changeset
3135 [octave_cv_bison_api_prefix_applies_to_yysymbol_kind_t], [
7f339da6cabd avoid possible gcc warning about C++ one definition rule (bug #60586)
John W. Eaton <jwe@octave.org>
parents: 29663
diff changeset
3136 [case "$octave_cv_bison_api_prefix_decl_style" in
7f339da6cabd avoid possible gcc warning about C++ one definition rule (bug #60586)
John W. Eaton <jwe@octave.org>
parents: 29663
diff changeset
3137 "api brace")
7f339da6cabd avoid possible gcc warning about C++ one definition rule (bug #60586)
John W. Eaton <jwe@octave.org>
parents: 29663
diff changeset
3138 def='%define api.prefix {PREFIX_}'
7f339da6cabd avoid possible gcc warning about C++ one definition rule (bug #60586)
John W. Eaton <jwe@octave.org>
parents: 29663
diff changeset
3139 ;;
7f339da6cabd avoid possible gcc warning about C++ one definition rule (bug #60586)
John W. Eaton <jwe@octave.org>
parents: 29663
diff changeset
3140 "api quote")
7f339da6cabd avoid possible gcc warning about C++ one definition rule (bug #60586)
John W. Eaton <jwe@octave.org>
parents: 29663
diff changeset
3141 def='%define api.prefix "PREFIX_"'
7f339da6cabd avoid possible gcc warning about C++ one definition rule (bug #60586)
John W. Eaton <jwe@octave.org>
parents: 29663
diff changeset
3142 ;;
7f339da6cabd avoid possible gcc warning about C++ one definition rule (bug #60586)
John W. Eaton <jwe@octave.org>
parents: 29663
diff changeset
3143 "name brace")
7f339da6cabd avoid possible gcc warning about C++ one definition rule (bug #60586)
John W. Eaton <jwe@octave.org>
parents: 29663
diff changeset
3144 def='%define name-prefix {PREFIX_}'
7f339da6cabd avoid possible gcc warning about C++ one definition rule (bug #60586)
John W. Eaton <jwe@octave.org>
parents: 29663
diff changeset
3145 ;;
7f339da6cabd avoid possible gcc warning about C++ one definition rule (bug #60586)
John W. Eaton <jwe@octave.org>
parents: 29663
diff changeset
3146 "name quote")
7f339da6cabd avoid possible gcc warning about C++ one definition rule (bug #60586)
John W. Eaton <jwe@octave.org>
parents: 29663
diff changeset
3147 def='%define name-prefix "PREFIX_"'
7f339da6cabd avoid possible gcc warning about C++ one definition rule (bug #60586)
John W. Eaton <jwe@octave.org>
parents: 29663
diff changeset
3148 ;;
7f339da6cabd avoid possible gcc warning about C++ one definition rule (bug #60586)
John W. Eaton <jwe@octave.org>
parents: 29663
diff changeset
3149 esac]
7f339da6cabd avoid possible gcc warning about C++ one definition rule (bug #60586)
John W. Eaton <jwe@octave.org>
parents: 29663
diff changeset
3150 cat << EOF > conftest.yy
7f339da6cabd avoid possible gcc warning about C++ one definition rule (bug #60586)
John W. Eaton <jwe@octave.org>
parents: 29663
diff changeset
3151 $def
7f339da6cabd avoid possible gcc warning about C++ one definition rule (bug #60586)
John W. Eaton <jwe@octave.org>
parents: 29663
diff changeset
3152 %start input
7f339da6cabd avoid possible gcc warning about C++ one definition rule (bug #60586)
John W. Eaton <jwe@octave.org>
parents: 29663
diff changeset
3153 %%
7f339da6cabd avoid possible gcc warning about C++ one definition rule (bug #60586)
John W. Eaton <jwe@octave.org>
parents: 29663
diff changeset
3154 input:;
7f339da6cabd avoid possible gcc warning about C++ one definition rule (bug #60586)
John W. Eaton <jwe@octave.org>
parents: 29663
diff changeset
3155 %%
7f339da6cabd avoid possible gcc warning about C++ one definition rule (bug #60586)
John W. Eaton <jwe@octave.org>
parents: 29663
diff changeset
3156 EOF
7f339da6cabd avoid possible gcc warning about C++ one definition rule (bug #60586)
John W. Eaton <jwe@octave.org>
parents: 29663
diff changeset
3157 ## Older versions of bison only warn and exit with success.
30170
72adc88bc674 modernize bison rules
John W. Eaton <jwe@octave.org>
parents: 30005
diff changeset
3158 $BISON $WARN_BISONFLAGS --defines --output conftest.cc conftest.yy
72adc88bc674 modernize bison rules
John W. Eaton <jwe@octave.org>
parents: 30005
diff changeset
3159 if grep PREFIX_symbol_kind_t conftest.cc > /dev/null; then
29746
7f339da6cabd avoid possible gcc warning about C++ one definition rule (bug #60586)
John W. Eaton <jwe@octave.org>
parents: 29663
diff changeset
3160 octave_cv_bison_api_prefix_applies_to_yysymbol_kind_t=yes
7f339da6cabd avoid possible gcc warning about C++ one definition rule (bug #60586)
John W. Eaton <jwe@octave.org>
parents: 29663
diff changeset
3161 else
7f339da6cabd avoid possible gcc warning about C++ one definition rule (bug #60586)
John W. Eaton <jwe@octave.org>
parents: 29663
diff changeset
3162 octave_cv_bison_api_prefix_applies_to_yysymbol_kind_t=no
7f339da6cabd avoid possible gcc warning about C++ one definition rule (bug #60586)
John W. Eaton <jwe@octave.org>
parents: 29663
diff changeset
3163 fi
30170
72adc88bc674 modernize bison rules
John W. Eaton <jwe@octave.org>
parents: 30005
diff changeset
3164 rm -f conftest.yy y.tab.h conftest.cc
29746
7f339da6cabd avoid possible gcc warning about C++ one definition rule (bug #60586)
John W. Eaton <jwe@octave.org>
parents: 29663
diff changeset
3165 ])
18974
d8abf813c69f handle changes in bison 3.x
John W. Eaton <jwe@octave.org>
parents: 18973
diff changeset
3166 fi
d8abf813c69f handle changes in bison 3.x
John W. Eaton <jwe@octave.org>
parents: 18973
diff changeset
3167
25637
e1c3d1c6e896 don't substitute api.prefix style in bison input files
John W. Eaton <jwe@octave.org>
parents: 25559
diff changeset
3168 if test -z "$octave_cv_bison_api_prefix_decl_style" \
e1c3d1c6e896 don't substitute api.prefix style in bison input files
John W. Eaton <jwe@octave.org>
parents: 25559
diff changeset
3169 || test "$octave_cv_bison_api_prefix_decl_style" != "api brace"; then
19105
6b4dfb1e5afb allow building with old versions of bison again (bug #43023)
John W. Eaton <jwe@octave.org>
parents: 18974
diff changeset
3170 tmp_have_bison=no
18974
d8abf813c69f handle changes in bison 3.x
John W. Eaton <jwe@octave.org>
parents: 18973
diff changeset
3171 warn_bison_api_prefix_decl_style="
d8abf813c69f handle changes in bison 3.x
John W. Eaton <jwe@octave.org>
parents: 18973
diff changeset
3172
d8abf813c69f handle changes in bison 3.x
John W. Eaton <jwe@octave.org>
parents: 18973
diff changeset
3173 I wasn't able to find a suitable style for declaring the api prefix
25637
e1c3d1c6e896 don't substitute api.prefix style in bison input files
John W. Eaton <jwe@octave.org>
parents: 25559
diff changeset
3174 in a bison input file so I'm disabling bison. We expect bison to
e1c3d1c6e896 don't substitute api.prefix style in bison input files
John W. Eaton <jwe@octave.org>
parents: 25559
diff changeset
3175 understand the '%define api.prefix { PREFIX }' syntax.
18974
d8abf813c69f handle changes in bison 3.x
John W. Eaton <jwe@octave.org>
parents: 18973
diff changeset
3176 "
d8abf813c69f handle changes in bison 3.x
John W. Eaton <jwe@octave.org>
parents: 18973
diff changeset
3177 OCTAVE_CONFIGURE_WARNING([warn_bison_api_prefix_decl_style])
d8abf813c69f handle changes in bison 3.x
John W. Eaton <jwe@octave.org>
parents: 18973
diff changeset
3178 fi
d8abf813c69f handle changes in bison 3.x
John W. Eaton <jwe@octave.org>
parents: 18973
diff changeset
3179
17197
fbee0d312af5 acinclude.m4: Remove some unnecessary double quotes around variables.
Rik <rik@octave.org>
parents: 17196
diff changeset
3180 if test $tmp_have_bison = no; then
30170
72adc88bc674 modernize bison rules
John W. Eaton <jwe@octave.org>
parents: 30005
diff changeset
3181 BISON='${top_srcdir}/build-aux/missing bison'
16784
0fabe0f49f38 use better method to determine whether we are using flex and bison
John W. Eaton <jwe@octave.org>
parents: 16733
diff changeset
3182 warn_bison="
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3183
19105
6b4dfb1e5afb allow building with old versions of bison again (bug #43023)
John W. Eaton <jwe@octave.org>
parents: 18974
diff changeset
3184 I didn't find bison, or the version of bison that I found does not
6b4dfb1e5afb allow building with old versions of bison again (bug #43023)
John W. Eaton <jwe@octave.org>
parents: 18974
diff changeset
3185 support all the features that are required, but it's only a problem
6b4dfb1e5afb allow building with old versions of bison again (bug #43023)
John W. Eaton <jwe@octave.org>
parents: 18974
diff changeset
3186 if you need to reconstruct parse.cc, which is the case if you're
6b4dfb1e5afb allow building with old versions of bison again (bug #43023)
John W. Eaton <jwe@octave.org>
parents: 18974
diff changeset
3187 building from VCS sources.
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3188 "
16784
0fabe0f49f38 use better method to determine whether we are using flex and bison
John W. Eaton <jwe@octave.org>
parents: 16733
diff changeset
3189 OCTAVE_CONFIGURE_WARNING([warn_bison])
29746
7f339da6cabd avoid possible gcc warning about C++ one definition rule (bug #60586)
John W. Eaton <jwe@octave.org>
parents: 29663
diff changeset
3190
16784
0fabe0f49f38 use better method to determine whether we are using flex and bison
John W. Eaton <jwe@octave.org>
parents: 16733
diff changeset
3191 fi
29746
7f339da6cabd avoid possible gcc warning about C++ one definition rule (bug #60586)
John W. Eaton <jwe@octave.org>
parents: 29663
diff changeset
3192 if test "$octave_cv_bison_api_prefix_applies_to_yysymbol_kind_t" = no; then
7f339da6cabd avoid possible gcc warning about C++ one definition rule (bug #60586)
John W. Eaton <jwe@octave.org>
parents: 29663
diff changeset
3193 OCTAVE_PARSER_CPPFLAGS="-Dyysymbol_kind_t=octave_symbol_kind_t"
7f339da6cabd avoid possible gcc warning about C++ one definition rule (bug #60586)
John W. Eaton <jwe@octave.org>
parents: 29663
diff changeset
3194 OCTAVE_TEX_PARSER_CPPFLAGS="-Dyysymbol_kind_t=octave_tex_symbol_kind_t"
7f339da6cabd avoid possible gcc warning about C++ one definition rule (bug #60586)
John W. Eaton <jwe@octave.org>
parents: 29663
diff changeset
3195 fi
7f339da6cabd avoid possible gcc warning about C++ one definition rule (bug #60586)
John W. Eaton <jwe@octave.org>
parents: 29663
diff changeset
3196 AC_SUBST(OCTAVE_PARSER_CPPFLAGS)
7f339da6cabd avoid possible gcc warning about C++ one definition rule (bug #60586)
John W. Eaton <jwe@octave.org>
parents: 29663
diff changeset
3197 AC_SUBST(OCTAVE_TEX_PARSER_CPPFLAGS)
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3198 ])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3199 dnl
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3200 dnl Find find program.
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3201 dnl
15336
5fff79162342 acinclude.m4: Put temporary shell variables in macros into ac_octave namespace.
Rik <rik@octave.org>
parents: 15330
diff changeset
3202 ## Prefer GNU find if found.
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3203 AN_MAKEVAR([FIND], [OCTAVE_PROG_FIND])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3204 AN_PROGRAM([gfind], [OCTAVE_PROG_FIND])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3205 AN_PROGRAM([find], [OCTAVE_PROG_FIND])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3206 AC_DEFUN([OCTAVE_PROG_FIND], [
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3207 AC_CHECK_PROGS(FIND, [gfind find])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3208 ])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3209 dnl
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3210 dnl Check for flex.
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3211 dnl
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3212 AC_DEFUN([OCTAVE_PROG_FLEX], [
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3213 ## For now, don't define LEXLIB to be -lfl -- we don't use anything in
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3214 ## it, and it might not be installed.
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3215 ##
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3216 ## Also make sure that we generate an interactive scanner if we are
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3217 ## using flex.
29661
9e670ec38513 * acinclude.m4 (OCTAVE_PROG_FLEX): Pass noyywrap to AC_PROG_LEX. (bug #60601)
John W. Eaton <jwe@octave.org>
parents: 29647
diff changeset
3218 dnl We declare %noyywrap in the lexer files so we use the noyywrap
9e670ec38513 * acinclude.m4 (OCTAVE_PROG_FLEX): Pass noyywrap to AC_PROG_LEX. (bug #60601)
John W. Eaton <jwe@octave.org>
parents: 29647
diff changeset
3219 dnl option here to skip the search for that function.
9e670ec38513 * acinclude.m4 (OCTAVE_PROG_FLEX): Pass noyywrap to AC_PROG_LEX. (bug #60601)
John W. Eaton <jwe@octave.org>
parents: 29647
diff changeset
3220 AC_PROG_LEX([noyywrap])
16784
0fabe0f49f38 use better method to determine whether we are using flex and bison
John W. Eaton <jwe@octave.org>
parents: 16733
diff changeset
3221 case "`$LEX --version`" in
0fabe0f49f38 use better method to determine whether we are using flex and bison
John W. Eaton <jwe@octave.org>
parents: 16733
diff changeset
3222 *flex*)
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3223 LFLAGS="-I"
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3224 AC_MSG_RESULT([defining LFLAGS to be $LFLAGS])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3225 LEXLIB=
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3226 ;;
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3227 *)
25310
0b253ba6eb91 avoid syntax errors in build-aux/subst scripts
John W. Eaton <jwe@octave.org>
parents: 25299
diff changeset
3228 LEX='${top_srcdir}/build-aux/missing flex'
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3229 warn_flex="
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3230
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3231 I didn't find flex, but it's only a problem if you need to reconstruct
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3232 lex.cc, which is the case if you're building from VCS sources.
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3233 "
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3234 OCTAVE_CONFIGURE_WARNING([warn_flex])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3235 ;;
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3236 esac
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3237 AC_SUBST(LFLAGS)
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3238 ])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3239 dnl
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3240 dnl Check for ghostscript.
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3241 dnl
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3242 AC_DEFUN([OCTAVE_PROG_GHOSTSCRIPT], [
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3243 case "$canonical_host_type" in
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3244 *-*-mingw* | *-*-msdosmsvc)
15336
5fff79162342 acinclude.m4: Put temporary shell variables in macros into ac_octave namespace.
Rik <rik@octave.org>
parents: 15330
diff changeset
3245 ac_octave_gs_names="gswin32c gs mgs"
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3246 ;;
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3247 *)
15336
5fff79162342 acinclude.m4: Put temporary shell variables in macros into ac_octave namespace.
Rik <rik@octave.org>
parents: 15330
diff changeset
3248 ac_octave_gs_names="gs"
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3249 ;;
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3250 esac
15336
5fff79162342 acinclude.m4: Put temporary shell variables in macros into ac_octave namespace.
Rik <rik@octave.org>
parents: 15330
diff changeset
3251 AC_CHECK_PROGS(GHOSTSCRIPT, [$ac_octave_gs_names])
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3252 if test -z "$GHOSTSCRIPT"; then
25310
0b253ba6eb91 avoid syntax errors in build-aux/subst scripts
John W. Eaton <jwe@octave.org>
parents: 25299
diff changeset
3253 GHOSTSCRIPT='${top_srcdir}/build-aux/missing gs'
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3254 warn_ghostscript="
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3255
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3256 I didn't find ghostscript, so reconstructing figures for the manual
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3257 will fail, and saving graphics in some output formats will fail when
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3258 using Octave
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3259 "
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3260 OCTAVE_CONFIGURE_WARNING([warn_ghostscript])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3261 fi
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3262 AC_SUBST(GHOSTSCRIPT)
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3263 ])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3264 dnl
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3265 dnl Check for gnuplot.
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3266 dnl
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3267 AC_DEFUN([OCTAVE_PROG_GNUPLOT], [
15336
5fff79162342 acinclude.m4: Put temporary shell variables in macros into ac_octave namespace.
Rik <rik@octave.org>
parents: 15330
diff changeset
3268 ac_octave_gp_names="gnuplot"
5fff79162342 acinclude.m4: Put temporary shell variables in macros into ac_octave namespace.
Rik <rik@octave.org>
parents: 15330
diff changeset
3269 ac_octave_gp_default="gnuplot"
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3270 if test "$cross_compiling" = yes; then
15336
5fff79162342 acinclude.m4: Put temporary shell variables in macros into ac_octave namespace.
Rik <rik@octave.org>
parents: 15330
diff changeset
3271 GNUPLOT="$ac_octave_gp_default"
26071
658153e1976d Fix failing BIST tests and oddities when gnuplot is not present (bug #55023).
Rik <rik@octave.org>
parents: 25843
diff changeset
3272 GNUPLOT_BINARY=$GNUPLOT
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3273 AC_MSG_RESULT([assuming $GNUPLOT exists on $canonical_host_type host])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3274 else
15336
5fff79162342 acinclude.m4: Put temporary shell variables in macros into ac_octave namespace.
Rik <rik@octave.org>
parents: 15330
diff changeset
3275 AC_CHECK_PROGS(GNUPLOT, [$ac_octave_gp_names])
26071
658153e1976d Fix failing BIST tests and oddities when gnuplot is not present (bug #55023).
Rik <rik@octave.org>
parents: 25843
diff changeset
3276 GNUPLOT_BINARY=$GNUPLOT
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3277 if test -z "$GNUPLOT"; then
26071
658153e1976d Fix failing BIST tests and oddities when gnuplot is not present (bug #55023).
Rik <rik@octave.org>
parents: 25843
diff changeset
3278 GNUPLOT="$ac_octave_gp_default"
658153e1976d Fix failing BIST tests and oddities when gnuplot is not present (bug #55023).
Rik <rik@octave.org>
parents: 25843
diff changeset
3279 GNUPLOT_BINARY=""
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3280 warn_gnuplot="
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3281
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3282 gnuplot not found. It isn't necessary to have gnuplot installed, but
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3283 without native graphics or gnuplot you won't be able to use any of
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3284 Octave's plotting commands.
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3285 "
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3286 OCTAVE_CONFIGURE_WARNING([warn_gnuplot])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3287 fi
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3288 fi
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3289 AC_SUBST(GNUPLOT)
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3290 ])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3291 dnl
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3292 dnl Check for gperf.
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3293 dnl
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3294 AC_DEFUN([OCTAVE_PROG_GPERF], [
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3295 AC_CHECK_PROG(GPERF, gperf, gperf, [])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3296 if test -z "$GPERF"; then
25310
0b253ba6eb91 avoid syntax errors in build-aux/subst scripts
John W. Eaton <jwe@octave.org>
parents: 25299
diff changeset
3297 GPERF='${top_srcdir}/build-aux/missing gperf'
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3298 warn_gperf="
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3299
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3300 I didn't find gperf, but it's only a problem if you need to
17034
8d84dc5f5b5d acinclude.m4: Use m4 quote '[' rather than '"' in AC_MSG_ERROR.
Rik <rik@octave.org>
parents: 17031
diff changeset
3301 reconstruct oct-gperf.h
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3302 "
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3303 OCTAVE_CONFIGURE_WARNING([warn_gperf])
25310
0b253ba6eb91 avoid syntax errors in build-aux/subst scripts
John W. Eaton <jwe@octave.org>
parents: 25299
diff changeset
3304 GPERF='${top_srcdir}/build-aux/missing gperf'
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3305 fi
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3306 AC_SUBST(GPERF)
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3307 ])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3308 dnl
19744
1687269e31e4 build: Generate Octave logo icons from SVG source (bug #37062)
Mike Miller <mtmiller@ieee.org>
parents: 19697
diff changeset
3309 dnl Find icotool program.
1687269e31e4 build: Generate Octave logo icons from SVG source (bug #37062)
Mike Miller <mtmiller@ieee.org>
parents: 19697
diff changeset
3310 dnl
1687269e31e4 build: Generate Octave logo icons from SVG source (bug #37062)
Mike Miller <mtmiller@ieee.org>
parents: 19697
diff changeset
3311 AC_DEFUN([OCTAVE_PROG_ICOTOOL], [
1687269e31e4 build: Generate Octave logo icons from SVG source (bug #37062)
Mike Miller <mtmiller@ieee.org>
parents: 19697
diff changeset
3312 AC_CHECK_PROG(ICOTOOL, icotool, icotool, [])
19753
bc2a8db22831 build: Use the missing script for icotool and rsvg-convert
Mike Miller <mtmiller@ieee.org>
parents: 19744
diff changeset
3313 if test -z "$ICOTOOL"; then
25310
0b253ba6eb91 avoid syntax errors in build-aux/subst scripts
John W. Eaton <jwe@octave.org>
parents: 25299
diff changeset
3314 ICOTOOL='${top_srcdir}/build-aux/missing icotool'
19753
bc2a8db22831 build: Use the missing script for icotool and rsvg-convert
Mike Miller <mtmiller@ieee.org>
parents: 19744
diff changeset
3315 warn_icotool="
bc2a8db22831 build: Use the missing script for icotool and rsvg-convert
Mike Miller <mtmiller@ieee.org>
parents: 19744
diff changeset
3316
bc2a8db22831 build: Use the missing script for icotool and rsvg-convert
Mike Miller <mtmiller@ieee.org>
parents: 19744
diff changeset
3317 I didn't find icotool, but it's only a problem if you need to
bc2a8db22831 build: Use the missing script for icotool and rsvg-convert
Mike Miller <mtmiller@ieee.org>
parents: 19744
diff changeset
3318 reconstruct octave-logo.ico, which is the case if you're building from
bc2a8db22831 build: Use the missing script for icotool and rsvg-convert
Mike Miller <mtmiller@ieee.org>
parents: 19744
diff changeset
3319 VCS sources.
bc2a8db22831 build: Use the missing script for icotool and rsvg-convert
Mike Miller <mtmiller@ieee.org>
parents: 19744
diff changeset
3320 "
bc2a8db22831 build: Use the missing script for icotool and rsvg-convert
Mike Miller <mtmiller@ieee.org>
parents: 19744
diff changeset
3321 OCTAVE_CONFIGURE_WARNING([warn_icotool])
bc2a8db22831 build: Use the missing script for icotool and rsvg-convert
Mike Miller <mtmiller@ieee.org>
parents: 19744
diff changeset
3322 fi
19744
1687269e31e4 build: Generate Octave logo icons from SVG source (bug #37062)
Mike Miller <mtmiller@ieee.org>
parents: 19697
diff changeset
3323 AC_SUBST(ICOTOOL)
1687269e31e4 build: Generate Octave logo icons from SVG source (bug #37062)
Mike Miller <mtmiller@ieee.org>
parents: 19697
diff changeset
3324 ])
1687269e31e4 build: Generate Octave logo icons from SVG source (bug #37062)
Mike Miller <mtmiller@ieee.org>
parents: 19697
diff changeset
3325 dnl
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3326 dnl Check for makeinfo.
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3327 dnl
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3328 AC_DEFUN([OCTAVE_PROG_MAKEINFO], [
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3329 dnl use MKINFO, not MAKEINFO, for variable name because Automake
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3330 dnl automatically defines a value for MAKEINFO even when it does not
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3331 dnl exist which will then fool the 'test -z' line.
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3332 AC_CHECK_PROG(MKINFO, makeinfo, makeinfo, [])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3333 if test -z "$MKINFO"; then
16012
ca37c6023a79 don't abort configure if makeinfo is missing
John W. Eaton <jwe@octave.org>
parents: 15969
diff changeset
3334 warn_makeinfo="
ca37c6023a79 don't abort configure if makeinfo is missing
John W. Eaton <jwe@octave.org>
parents: 15969
diff changeset
3335
ca37c6023a79 don't abort configure if makeinfo is missing
John W. Eaton <jwe@octave.org>
parents: 15969
diff changeset
3336 I didn't find makeinfo, which is required for reading documentation.
ca37c6023a79 don't abort configure if makeinfo is missing
John W. Eaton <jwe@octave.org>
parents: 15969
diff changeset
3337 You may install a copy later for Octave to use.
ca37c6023a79 don't abort configure if makeinfo is missing
John W. Eaton <jwe@octave.org>
parents: 15969
diff changeset
3338 "
ca37c6023a79 don't abort configure if makeinfo is missing
John W. Eaton <jwe@octave.org>
parents: 15969
diff changeset
3339 OCTAVE_CONFIGURE_WARNING([warn_makeinfo])
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3340 fi
24623
f39ae754a7d8 configure: test that makeinfo supports the @sortas command
Mike Miller <mtmiller@octave.org>
parents: 24534
diff changeset
3341 dnl If we have a GNU makeinfo program, see if it supports the @sortas command
f39ae754a7d8 configure: test that makeinfo supports the @sortas command
Mike Miller <mtmiller@octave.org>
parents: 24534
diff changeset
3342 dnl for defining a custom sort key for an index entry.
f39ae754a7d8 configure: test that makeinfo supports the @sortas command
Mike Miller <mtmiller@octave.org>
parents: 24534
diff changeset
3343 if test -n "$MKINFO"; then
f39ae754a7d8 configure: test that makeinfo supports the @sortas command
Mike Miller <mtmiller@octave.org>
parents: 24534
diff changeset
3344 AC_CACHE_CHECK([for makeinfo support for @sortas command],
f39ae754a7d8 configure: test that makeinfo supports the @sortas command
Mike Miller <mtmiller@octave.org>
parents: 24534
diff changeset
3345 [octave_cv_makeinfo_sortas_command],
f39ae754a7d8 configure: test that makeinfo supports the @sortas command
Mike Miller <mtmiller@octave.org>
parents: 24534
diff changeset
3346 [cat << EOF > conftest.texi
f39ae754a7d8 configure: test that makeinfo supports the @sortas command
Mike Miller <mtmiller@octave.org>
parents: 24534
diff changeset
3347 \input texinfo
f39ae754a7d8 configure: test that makeinfo supports the @sortas command
Mike Miller <mtmiller@octave.org>
parents: 24534
diff changeset
3348 @node Top
f39ae754a7d8 configure: test that makeinfo supports the @sortas command
Mike Miller <mtmiller@octave.org>
parents: 24534
diff changeset
3349 @top Document
f39ae754a7d8 configure: test that makeinfo supports the @sortas command
Mike Miller <mtmiller@octave.org>
parents: 24534
diff changeset
3350 @menu
f39ae754a7d8 configure: test that makeinfo supports the @sortas command
Mike Miller <mtmiller@octave.org>
parents: 24534
diff changeset
3351 * Chapter::
f39ae754a7d8 configure: test that makeinfo supports the @sortas command
Mike Miller <mtmiller@octave.org>
parents: 24534
diff changeset
3352 * Index::
f39ae754a7d8 configure: test that makeinfo supports the @sortas command
Mike Miller <mtmiller@octave.org>
parents: 24534
diff changeset
3353 @end menu
f39ae754a7d8 configure: test that makeinfo supports the @sortas command
Mike Miller <mtmiller@octave.org>
parents: 24534
diff changeset
3354 @node Chapter
f39ae754a7d8 configure: test that makeinfo supports the @sortas command
Mike Miller <mtmiller@octave.org>
parents: 24534
diff changeset
3355 @chapter Chapter
f39ae754a7d8 configure: test that makeinfo supports the @sortas command
Mike Miller <mtmiller@octave.org>
parents: 24534
diff changeset
3356 @cindex @sortas{a} foo
f39ae754a7d8 configure: test that makeinfo supports the @sortas command
Mike Miller <mtmiller@octave.org>
parents: 24534
diff changeset
3357 @node Index
f39ae754a7d8 configure: test that makeinfo supports the @sortas command
Mike Miller <mtmiller@octave.org>
parents: 24534
diff changeset
3358 @unnumbered Index
f39ae754a7d8 configure: test that makeinfo supports the @sortas command
Mike Miller <mtmiller@octave.org>
parents: 24534
diff changeset
3359 @printindex cp
f39ae754a7d8 configure: test that makeinfo supports the @sortas command
Mike Miller <mtmiller@octave.org>
parents: 24534
diff changeset
3360 @bye
f39ae754a7d8 configure: test that makeinfo supports the @sortas command
Mike Miller <mtmiller@octave.org>
parents: 24534
diff changeset
3361 EOF
f39ae754a7d8 configure: test that makeinfo supports the @sortas command
Mike Miller <mtmiller@octave.org>
parents: 24534
diff changeset
3362 if $MKINFO --no-warn conftest.texi 2>/dev/null; then
f39ae754a7d8 configure: test that makeinfo supports the @sortas command
Mike Miller <mtmiller@octave.org>
parents: 24534
diff changeset
3363 octave_cv_makeinfo_sortas_command=yes
f39ae754a7d8 configure: test that makeinfo supports the @sortas command
Mike Miller <mtmiller@octave.org>
parents: 24534
diff changeset
3364 else
f39ae754a7d8 configure: test that makeinfo supports the @sortas command
Mike Miller <mtmiller@octave.org>
parents: 24534
diff changeset
3365 octave_cv_makeinfo_sortas_command=no
f39ae754a7d8 configure: test that makeinfo supports the @sortas command
Mike Miller <mtmiller@octave.org>
parents: 24534
diff changeset
3366 fi
f39ae754a7d8 configure: test that makeinfo supports the @sortas command
Mike Miller <mtmiller@octave.org>
parents: 24534
diff changeset
3367 rm -f conftest.info conftest.texi
f39ae754a7d8 configure: test that makeinfo supports the @sortas command
Mike Miller <mtmiller@octave.org>
parents: 24534
diff changeset
3368 ])
f39ae754a7d8 configure: test that makeinfo supports the @sortas command
Mike Miller <mtmiller@octave.org>
parents: 24534
diff changeset
3369 if test $octave_cv_makeinfo_sortas_command = no; then
f39ae754a7d8 configure: test that makeinfo supports the @sortas command
Mike Miller <mtmiller@octave.org>
parents: 24534
diff changeset
3370 warn_makeinfo="
f39ae754a7d8 configure: test that makeinfo supports the @sortas command
Mike Miller <mtmiller@octave.org>
parents: 24534
diff changeset
3371
f39ae754a7d8 configure: test that makeinfo supports the @sortas command
Mike Miller <mtmiller@octave.org>
parents: 24534
diff changeset
3372 I wasn't able to find a version of GNU makeinfo that supports the
f39ae754a7d8 configure: test that makeinfo supports the @sortas command
Mike Miller <mtmiller@octave.org>
parents: 24534
diff changeset
3373 @sortas command, but it's only a problem if you need to build the
f39ae754a7d8 configure: test that makeinfo supports the @sortas command
Mike Miller <mtmiller@octave.org>
parents: 24534
diff changeset
3374 manual, which is the case if you're building from VCS sources.
f39ae754a7d8 configure: test that makeinfo supports the @sortas command
Mike Miller <mtmiller@octave.org>
parents: 24534
diff changeset
3375 "
f39ae754a7d8 configure: test that makeinfo supports the @sortas command
Mike Miller <mtmiller@octave.org>
parents: 24534
diff changeset
3376 OCTAVE_CONFIGURE_WARNING([warn_makeinfo])
f39ae754a7d8 configure: test that makeinfo supports the @sortas command
Mike Miller <mtmiller@octave.org>
parents: 24534
diff changeset
3377 fi
f39ae754a7d8 configure: test that makeinfo supports the @sortas command
Mike Miller <mtmiller@octave.org>
parents: 24534
diff changeset
3378 fi
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3379 ])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3380 dnl
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3381 dnl What pager should we use?
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3382 dnl
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3383 AC_DEFUN([OCTAVE_PROG_PAGER], [
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3384 if test "$cross_compiling" = yes; then
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3385 DEFAULT_PAGER=less
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3386 AC_MSG_RESULT([assuming $DEFAULT_PAGER exists on $canonical_host_type host])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3387 AC_SUBST(DEFAULT_PAGER)
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3388 else
15336
5fff79162342 acinclude.m4: Put temporary shell variables in macros into ac_octave namespace.
Rik <rik@octave.org>
parents: 15330
diff changeset
3389 ac_octave_possible_pagers="less more page pg"
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3390 case "$canonical_host_type" in
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3391 *-*-cygwin* | *-*-mingw32* | *-*-msdosmsvc)
15336
5fff79162342 acinclude.m4: Put temporary shell variables in macros into ac_octave namespace.
Rik <rik@octave.org>
parents: 15330
diff changeset
3392 ac_octave_possible_pagers="$ac_octave_possible_pagers more.com"
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3393 ;;
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3394 esac
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3395
15336
5fff79162342 acinclude.m4: Put temporary shell variables in macros into ac_octave namespace.
Rik <rik@octave.org>
parents: 15330
diff changeset
3396 AC_CHECK_PROGS(DEFAULT_PAGER, [$ac_octave_possible_pagers], [])
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3397 if test -z "$DEFAULT_PAGER"; then
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3398 warn_less="I couldn't find \`less', \`more', \`page', or \`pg'"
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3399 OCTAVE_CONFIGURE_WARNING([warn_less])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3400 fi
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3401 fi
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3402 ])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3403 dnl
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3404 dnl Find Perl program.
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3405 dnl
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3406 AC_DEFUN([OCTAVE_PROG_PERL], [
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3407 AC_CHECK_PROG(PERL, perl, perl, [])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3408 AC_SUBST(PERL)
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3409 ])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3410 dnl
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3411 dnl Find Python program.
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3412 dnl
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3413 AC_DEFUN([OCTAVE_PROG_PYTHON], [
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3414 AC_CHECK_PROG(PYTHON, python, python, [])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3415 AC_SUBST(PYTHON)
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3416 ])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3417 dnl
19744
1687269e31e4 build: Generate Octave logo icons from SVG source (bug #37062)
Mike Miller <mtmiller@ieee.org>
parents: 19697
diff changeset
3418 dnl Find rsvg-convert program.
1687269e31e4 build: Generate Octave logo icons from SVG source (bug #37062)
Mike Miller <mtmiller@ieee.org>
parents: 19697
diff changeset
3419 dnl
1687269e31e4 build: Generate Octave logo icons from SVG source (bug #37062)
Mike Miller <mtmiller@ieee.org>
parents: 19697
diff changeset
3420 AC_DEFUN([OCTAVE_PROG_RSVG_CONVERT], [
1687269e31e4 build: Generate Octave logo icons from SVG source (bug #37062)
Mike Miller <mtmiller@ieee.org>
parents: 19697
diff changeset
3421 AC_CHECK_PROG(RSVG_CONVERT, rsvg-convert, rsvg-convert, [])
19753
bc2a8db22831 build: Use the missing script for icotool and rsvg-convert
Mike Miller <mtmiller@ieee.org>
parents: 19744
diff changeset
3422 if test -z "$RSVG_CONVERT"; then
25310
0b253ba6eb91 avoid syntax errors in build-aux/subst scripts
John W. Eaton <jwe@octave.org>
parents: 25299
diff changeset
3423 RSVG_CONVERT='${top_srcdir}/build-aux/missing rsvg-convert'
19753
bc2a8db22831 build: Use the missing script for icotool and rsvg-convert
Mike Miller <mtmiller@ieee.org>
parents: 19744
diff changeset
3424 warn_rsvg_convert="
bc2a8db22831 build: Use the missing script for icotool and rsvg-convert
Mike Miller <mtmiller@ieee.org>
parents: 19744
diff changeset
3425
bc2a8db22831 build: Use the missing script for icotool and rsvg-convert
Mike Miller <mtmiller@ieee.org>
parents: 19744
diff changeset
3426 I didn't find rsvg-convert, but it's only a problem if you need to
bc2a8db22831 build: Use the missing script for icotool and rsvg-convert
Mike Miller <mtmiller@ieee.org>
parents: 19744
diff changeset
3427 reconstruct octave-logo-*.png, which is the case if you're building
bc2a8db22831 build: Use the missing script for icotool and rsvg-convert
Mike Miller <mtmiller@ieee.org>
parents: 19744
diff changeset
3428 from VCS sources.
bc2a8db22831 build: Use the missing script for icotool and rsvg-convert
Mike Miller <mtmiller@ieee.org>
parents: 19744
diff changeset
3429 "
bc2a8db22831 build: Use the missing script for icotool and rsvg-convert
Mike Miller <mtmiller@ieee.org>
parents: 19744
diff changeset
3430 OCTAVE_CONFIGURE_WARNING([warn_rsvg_convert])
bc2a8db22831 build: Use the missing script for icotool and rsvg-convert
Mike Miller <mtmiller@ieee.org>
parents: 19744
diff changeset
3431 fi
19744
1687269e31e4 build: Generate Octave logo icons from SVG source (bug #37062)
Mike Miller <mtmiller@ieee.org>
parents: 19697
diff changeset
3432 AC_SUBST(RSVG_CONVERT)
1687269e31e4 build: Generate Octave logo icons from SVG source (bug #37062)
Mike Miller <mtmiller@ieee.org>
parents: 19697
diff changeset
3433 ])
1687269e31e4 build: Generate Octave logo icons from SVG source (bug #37062)
Mike Miller <mtmiller@ieee.org>
parents: 19697
diff changeset
3434 dnl
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3435 dnl Find sed program.
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3436 dnl
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3437 # Check for a fully-functional sed program, that truncates
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3438 # as few characters as possible and that supports "\(X\|Y\)"
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3439 # style regular expression alternation. Prefer GNU sed if found.
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3440 AC_DEFUN([OCTAVE_PROG_SED], [
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3441 AC_MSG_CHECKING([for a usable sed])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3442 if test -z "$SED"; then
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3443 AC_CACHE_VAL([octave_cv_prog_sed],
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3444 [# Loop through the user's path and search for sed and gsed.
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3445 # Next, test potential sed programs in list for truncation.
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3446 _AS_PATH_WALK([$PATH],
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3447 [for ac_prog in sed gsed; do
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3448 for ac_exec_ext in '' $ac_executable_extensions; do
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3449 if AS_EXECUTABLE_P(["$as_dir/$ac_prog$ac_exec_ext"]); then
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3450 _sed_list="$_sed_list $as_dir/$ac_prog$ac_exec_ext"
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3451 fi
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3452 done
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3453 done
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3454 ])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3455 AS_TMPDIR(sed)
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3456 _max=0
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3457 _count=0
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3458 # Add /usr/xpg4/bin/sed as it is typically found on Solaris
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3459 # along with /bin/sed that truncates output.
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3460 for _sed in $_sed_list /usr/xpg4/bin/sed; do
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3461 test ! -f ${_sed} && break
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3462 cat /dev/null > "$tmp/sed.in"
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3463 _count=0
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3464 echo $ECHO_N "0123456789$ECHO_C" >"$tmp/sed.in"
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3465 # Check for GNU sed and select it if it is found.
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3466 if "${_sed}" --version 2>&1 < /dev/null | egrep '(GNU)' > /dev/null; then
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3467 octave_cv_prog_sed=${_sed}
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3468 break;
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3469 fi
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3470 # Reject if RE alternation is not handled.
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3471 if test "`echo 'this and that' | ${_sed} -n 's/\(this\|that\).*$/\1/p'`" != "this"; then
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3472 continue;
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3473 fi
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3474 while true; do
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3475 cat "$tmp/sed.in" "$tmp/sed.in" >"$tmp/sed.tmp"
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3476 mv "$tmp/sed.tmp" "$tmp/sed.in"
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3477 cp "$tmp/sed.in" "$tmp/sed.nl"
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3478 echo >>"$tmp/sed.nl"
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3479 ${_sed} -e 's/a$//' < "$tmp/sed.nl" >"$tmp/sed.out" || break
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3480 cmp -s "$tmp/sed.out" "$tmp/sed.nl" || break
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3481 # 10000 chars as input seems more than enough
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3482 test $_count -gt 10 && break
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3483 _count=`expr $_count + 1`
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3484 if test $_count -gt $_max; then
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3485 _max=$_count
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3486 octave_cv_prog_sed=$_sed
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3487 fi
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3488 done
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3489 done
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3490 rm -rf "$tmp"
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3491 ])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3492 SED=$octave_cv_prog_sed
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3493 if test -z "$SED"; then
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3494 AC_MSG_ERROR([no usable version of sed found])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3495 fi
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3496 fi
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3497 AC_SUBST(SED)
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3498 AC_MSG_RESULT([$SED])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3499 ])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3500 dnl
24077
e483dcb5777d build the source distribution archives reproducibly
Mike Miller <mtmiller@octave.org>
parents: 24022
diff changeset
3501 dnl Check for options that can be passed to tar to make archives reproducible.
e483dcb5777d build the source distribution archives reproducibly
Mike Miller <mtmiller@octave.org>
parents: 24022
diff changeset
3502 dnl
e483dcb5777d build the source distribution archives reproducibly
Mike Miller <mtmiller@octave.org>
parents: 24022
diff changeset
3503 AC_DEFUN([OCTAVE_PROG_TAR_REPRODUCIBLE], [
e483dcb5777d build the source distribution archives reproducibly
Mike Miller <mtmiller@octave.org>
parents: 24022
diff changeset
3504 AC_MSG_CHECKING([for options to make reproducible archives with GNU tar])
e483dcb5777d build the source distribution archives reproducibly
Mike Miller <mtmiller@octave.org>
parents: 24022
diff changeset
3505 dnl This uses Automake's logic for finding GNU tar under various names
e483dcb5777d build the source distribution archives reproducibly
Mike Miller <mtmiller@octave.org>
parents: 24022
diff changeset
3506 for octave_tar in tar gnutar gtar :; do
e483dcb5777d build the source distribution archives reproducibly
Mike Miller <mtmiller@octave.org>
parents: 24022
diff changeset
3507 $octave_tar --version >/dev/null 2>&1 && break
e483dcb5777d build the source distribution archives reproducibly
Mike Miller <mtmiller@octave.org>
parents: 24022
diff changeset
3508 done
e483dcb5777d build the source distribution archives reproducibly
Mike Miller <mtmiller@octave.org>
parents: 24022
diff changeset
3509 dnl If we have a valid GNU tar program, see if it supports sets of options
e483dcb5777d build the source distribution archives reproducibly
Mike Miller <mtmiller@octave.org>
parents: 24022
diff changeset
3510 if test x"$octave_tar" != x:; then
e483dcb5777d build the source distribution archives reproducibly
Mike Miller <mtmiller@octave.org>
parents: 24022
diff changeset
3511 octave_tar_flags=
e483dcb5777d build the source distribution archives reproducibly
Mike Miller <mtmiller@octave.org>
parents: 24022
diff changeset
3512 echo > conftest.txt
e483dcb5777d build the source distribution archives reproducibly
Mike Miller <mtmiller@octave.org>
parents: 24022
diff changeset
3513 for octave_tar_flag in --owner=0 --group=0 --numeric-owner --sort=name; do
e483dcb5777d build the source distribution archives reproducibly
Mike Miller <mtmiller@octave.org>
parents: 24022
diff changeset
3514 $octave_tar -cf conftest.tar $octave_tar_flags $octave_tar_flag conftest.txt 2>/dev/null
e483dcb5777d build the source distribution archives reproducibly
Mike Miller <mtmiller@octave.org>
parents: 24022
diff changeset
3515 if test $? -eq 0; then
e483dcb5777d build the source distribution archives reproducibly
Mike Miller <mtmiller@octave.org>
parents: 24022
diff changeset
3516 octave_tar_flags="${octave_tar_flags:+$octave_tar_flags }$octave_tar_flag"
e483dcb5777d build the source distribution archives reproducibly
Mike Miller <mtmiller@octave.org>
parents: 24022
diff changeset
3517 fi
e483dcb5777d build the source distribution archives reproducibly
Mike Miller <mtmiller@octave.org>
parents: 24022
diff changeset
3518 done
e483dcb5777d build the source distribution archives reproducibly
Mike Miller <mtmiller@octave.org>
parents: 24022
diff changeset
3519 rm -f conftest.tar conftest.txt
e483dcb5777d build the source distribution archives reproducibly
Mike Miller <mtmiller@octave.org>
parents: 24022
diff changeset
3520 REPRODUCIBLE_TAR_FLAGS="$octave_tar_flags"
e483dcb5777d build the source distribution archives reproducibly
Mike Miller <mtmiller@octave.org>
parents: 24022
diff changeset
3521 fi
e483dcb5777d build the source distribution archives reproducibly
Mike Miller <mtmiller@octave.org>
parents: 24022
diff changeset
3522 AC_SUBST(REPRODUCIBLE_TAR_FLAGS)
e483dcb5777d build the source distribution archives reproducibly
Mike Miller <mtmiller@octave.org>
parents: 24022
diff changeset
3523 AC_MSG_RESULT([$REPRODUCIBLE_TAR_FLAGS])
e483dcb5777d build the source distribution archives reproducibly
Mike Miller <mtmiller@octave.org>
parents: 24022
diff changeset
3524 ])
e483dcb5777d build the source distribution archives reproducibly
Mike Miller <mtmiller@octave.org>
parents: 24022
diff changeset
3525 dnl
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3526 dnl Check for texi2dvi.
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3527 dnl
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3528 AC_DEFUN([OCTAVE_PROG_TEXI2DVI], [
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3529 AC_CHECK_PROG(TEXI2DVI, texi2dvi, texi2dvi, [])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3530 if test -z "$TEXI2DVI"; then
25310
0b253ba6eb91 avoid syntax errors in build-aux/subst scripts
John W. Eaton <jwe@octave.org>
parents: 25299
diff changeset
3531 TEXI2DVI='${top_srcdir}/build-aux/missing texi2dvi'
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3532 warn_texi2dvi="
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3533
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3534 I didn't find texi2dvi, but it's only a problem if you need to
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3535 reconstruct the DVI version of the manual
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3536 "
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3537 OCTAVE_CONFIGURE_WARNING([warn_texi2dvi])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3538 fi
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3539 AC_SUBST(TEXI2DVI)
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3540 ])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3541 dnl
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3542 dnl Check for texi2pdf.
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3543 dnl
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3544 AC_DEFUN([OCTAVE_PROG_TEXI2PDF], [
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3545 AC_REQUIRE([OCTAVE_PROG_TEXI2DVI])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3546 AC_CHECK_PROG(TEXI2PDF, texi2pdf, texi2pdf, [])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3547 if test -z "$TEXI2PDF"; then
16068
b309a5da17f5 use yes/no instead of true/false in confgure scripts
John W. Eaton <jwe@octave.org>
parents: 16012
diff changeset
3548 ac_octave_texi2pdf_missing=yes;
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3549 if test -n "$TEXI2DVI"; then
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3550 TEXI2PDF="$TEXI2DVI --pdf"
16068
b309a5da17f5 use yes/no instead of true/false in confgure scripts
John W. Eaton <jwe@octave.org>
parents: 16012
diff changeset
3551 ac_octave_texi2pdf_missing=no;
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3552 fi
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3553 else
16068
b309a5da17f5 use yes/no instead of true/false in confgure scripts
John W. Eaton <jwe@octave.org>
parents: 16012
diff changeset
3554 ac_octave_texi2pdf_missing=no;
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3555 fi
16068
b309a5da17f5 use yes/no instead of true/false in confgure scripts
John W. Eaton <jwe@octave.org>
parents: 16012
diff changeset
3556 if test $ac_octave_texi2pdf_missing = yes; then
25310
0b253ba6eb91 avoid syntax errors in build-aux/subst scripts
John W. Eaton <jwe@octave.org>
parents: 25299
diff changeset
3557 TEXI2PDF='${top_srcdir}/build-aux/missing texi2pdf'
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3558 warn_texi2pdf="
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3559
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3560 I didn't find texi2pdf, but it's only a problem if you need to
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3561 reconstruct the PDF version of the manual
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3562 "
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3563 OCTAVE_CONFIGURE_WARNING([warn_texi2pdf])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3564 fi
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3565 AC_SUBST(TEXI2PDF)
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3566 ])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3567 dnl
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3568 dnl Set default value for a variable and substitute it.
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3569 dnl
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3570 AC_DEFUN([OCTAVE_SET_DEFAULT], [
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3571 ifelse($#, 2, [: ${$1=$2}
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3572 ])dnl
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3573 AC_MSG_RESULT([defining $1 to be $$1])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3574 AC_SUBST($1)
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3575 ])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3576 dnl
15144
9cc337ced51a build: Update OCTAVE_UMFPACK_SEPARATE_SPLIT macro to look for SuiteSparse header file.
Rik <rik@octave.org>
parents: 15141
diff changeset
3577 dnl Check for UMFPACK separately split complex matrix and RHS.
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3578 dnl
15144
9cc337ced51a build: Update OCTAVE_UMFPACK_SEPARATE_SPLIT macro to look for SuiteSparse header file.
Rik <rik@octave.org>
parents: 15141
diff changeset
3579 dnl Macro assumes that the check for umfpack has already been performed.
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3580 dnl
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3581 AC_DEFUN([OCTAVE_UMFPACK_SEPARATE_SPLIT], [
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3582 AC_MSG_CHECKING([for UMFPACK separate complex matrix and rhs split])
15319
daf74ce2afdc m4/acinclude.m4: Use more consistent m4 quoting of arguments to macros.
Rik <rik@octave.org>
parents: 15302
diff changeset
3583 AC_CACHE_VAL([octave_cv_umfpack_separate_split],
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3584 [AC_RUN_IFELSE([AC_LANG_SOURCE([[
16318
eb572251b7c6 check for correct SuiteSparse functions if --enable-64
John W. Eaton <jwe@octave.org>
parents: 16313
diff changeset
3585 #include <stdint.h>
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3586 #include <stdlib.h>
15330
81cc4e5733b1 build: Silence compiler warning in config.log for OCTAVE_UMFPACK_SEPARATE_SPLIT.
Rik <rik@octave.org>
parents: 15329
diff changeset
3587 #include <math.h>
15144
9cc337ced51a build: Update OCTAVE_UMFPACK_SEPARATE_SPLIT macro to look for SuiteSparse header file.
Rik <rik@octave.org>
parents: 15141
diff changeset
3588 #if defined (HAVE_SUITESPARSE_UMFPACK_H)
9cc337ced51a build: Update OCTAVE_UMFPACK_SEPARATE_SPLIT macro to look for SuiteSparse header file.
Rik <rik@octave.org>
parents: 15141
diff changeset
3589 # include <suitesparse/umfpack.h>
9cc337ced51a build: Update OCTAVE_UMFPACK_SEPARATE_SPLIT macro to look for SuiteSparse header file.
Rik <rik@octave.org>
parents: 15141
diff changeset
3590 #elif defined (HAVE_UFSPARSE_UMFPACK_H)
9cc337ced51a build: Update OCTAVE_UMFPACK_SEPARATE_SPLIT macro to look for SuiteSparse header file.
Rik <rik@octave.org>
parents: 15141
diff changeset
3591 # include <ufsparse/umfpack.h>
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3592 #elif defined (HAVE_UMFPACK_UMFPACK_H)
15144
9cc337ced51a build: Update OCTAVE_UMFPACK_SEPARATE_SPLIT macro to look for SuiteSparse header file.
Rik <rik@octave.org>
parents: 15141
diff changeset
3593 # include <umfpack/umfpack.h>
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3594 #elif defined (HAVE_UMFPACK_H)
15144
9cc337ced51a build: Update OCTAVE_UMFPACK_SEPARATE_SPLIT macro to look for SuiteSparse header file.
Rik <rik@octave.org>
parents: 15141
diff changeset
3595 # include <umfpack.h>
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3596 #endif
21724
aba2e6293dd8 use "#if ..." consistently instead of "#ifdef" and "#ifndef"
John W. Eaton <jwe@octave.org>
parents: 21604
diff changeset
3597 #if defined (OCTAVE_ENABLE_64)
16318
eb572251b7c6 check for correct SuiteSparse functions if --enable-64
John W. Eaton <jwe@octave.org>
parents: 16313
diff changeset
3598 typedef uint64_t idx_type;
eb572251b7c6 check for correct SuiteSparse functions if --enable-64
John W. Eaton <jwe@octave.org>
parents: 16313
diff changeset
3599 #define UMFPACK_NAME(name) umfpack_zl_ ## name
eb572251b7c6 check for correct SuiteSparse functions if --enable-64
John W. Eaton <jwe@octave.org>
parents: 16313
diff changeset
3600 #else
eb572251b7c6 check for correct SuiteSparse functions if --enable-64
John W. Eaton <jwe@octave.org>
parents: 16313
diff changeset
3601 typedef int idx_type;
eb572251b7c6 check for correct SuiteSparse functions if --enable-64
John W. Eaton <jwe@octave.org>
parents: 16313
diff changeset
3602 #define UMFPACK_NAME(name) umfpack_zi_ ## name
eb572251b7c6 check for correct SuiteSparse functions if --enable-64
John W. Eaton <jwe@octave.org>
parents: 16313
diff changeset
3603 #endif
eb572251b7c6 check for correct SuiteSparse functions if --enable-64
John W. Eaton <jwe@octave.org>
parents: 16313
diff changeset
3604 idx_type n = 5;
eb572251b7c6 check for correct SuiteSparse functions if --enable-64
John W. Eaton <jwe@octave.org>
parents: 16313
diff changeset
3605 idx_type Ap[] = {0, 2, 5, 9, 10, 12};
eb572251b7c6 check for correct SuiteSparse functions if --enable-64
John W. Eaton <jwe@octave.org>
parents: 16313
diff changeset
3606 idx_type Ai[] = {0, 1, 0, 2, 4, 1, 2, 3, 4, 2, 1, 4};
17034
8d84dc5f5b5d acinclude.m4: Use m4 quote '[' rather than '"' in AC_MSG_ERROR.
Rik <rik@octave.org>
parents: 17031
diff changeset
3607 double Ax[] = {2., 0., 3., 0., 3., 0., -1., 0., 4., 0., 4., 0.,
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3608 -3., 0., 1., 0., 2., 0., 2., 0., 6., 0., 1., 0.};
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3609 double br[] = {8., 45., -3., 3., 19.};
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3610 double bi[] = {0., 0., 0., 0., 0.};
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3611 int main (void)
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3612 {
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3613 double *null = (double *) NULL ;
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3614 double *x = (double *)malloc (2 * n * sizeof(double));
16318
eb572251b7c6 check for correct SuiteSparse functions if --enable-64
John W. Eaton <jwe@octave.org>
parents: 16313
diff changeset
3615 idx_type i ;
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3616 void *Symbolic, *Numeric ;
16318
eb572251b7c6 check for correct SuiteSparse functions if --enable-64
John W. Eaton <jwe@octave.org>
parents: 16313
diff changeset
3617 (void) UMFPACK_NAME (symbolic) (n, n, Ap, Ai, Ax, null, &Symbolic, null, null) ;
eb572251b7c6 check for correct SuiteSparse functions if --enable-64
John W. Eaton <jwe@octave.org>
parents: 16313
diff changeset
3618 (void) UMFPACK_NAME (numeric) (Ap, Ai, Ax, null, Symbolic, &Numeric, null, null) ;
eb572251b7c6 check for correct SuiteSparse functions if --enable-64
John W. Eaton <jwe@octave.org>
parents: 16313
diff changeset
3619 UMFPACK_NAME (free_symbolic) (&Symbolic) ;
17034
8d84dc5f5b5d acinclude.m4: Use m4 quote '[' rather than '"' in AC_MSG_ERROR.
Rik <rik@octave.org>
parents: 17031
diff changeset
3620 (void) UMFPACK_NAME (solve) (0, Ap, Ai, Ax, null, x, null, br, bi,
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3621 Numeric, null, null) ;
16318
eb572251b7c6 check for correct SuiteSparse functions if --enable-64
John W. Eaton <jwe@octave.org>
parents: 16313
diff changeset
3622 UMFPACK_NAME (free_numeric) (&Numeric) ;
17034
8d84dc5f5b5d acinclude.m4: Use m4 quote '[' rather than '"' in AC_MSG_ERROR.
Rik <rik@octave.org>
parents: 17031
diff changeset
3623 for (i = 0; i < n; i++, x+=2)
15330
81cc4e5733b1 build: Silence compiler warning in config.log for OCTAVE_UMFPACK_SEPARATE_SPLIT.
Rik <rik@octave.org>
parents: 15329
diff changeset
3624 if (fabs (*x - i - 1.) > 1.e-13)
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3625 return (1);
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3626 return (0) ;
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3627 }
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3628 ]])],
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3629 octave_cv_umfpack_separate_split=yes,
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3630 octave_cv_umfpack_separate_split=no,
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3631 octave_cv_umfpack_separate_split=yes)
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3632 ])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3633 if test "$cross_compiling" = yes; then
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3634 AC_MSG_RESULT([$octave_cv_umfpack_separate_split assumed for cross compilation])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3635 else
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3636 AC_MSG_RESULT([$octave_cv_umfpack_separate_split])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3637 fi
15336
5fff79162342 acinclude.m4: Put temporary shell variables in macros into ac_octave namespace.
Rik <rik@octave.org>
parents: 15330
diff changeset
3638 if test $octave_cv_umfpack_separate_split = yes; then
17034
8d84dc5f5b5d acinclude.m4: Use m4 quote '[' rather than '"' in AC_MSG_ERROR.
Rik <rik@octave.org>
parents: 17031
diff changeset
3639 AC_DEFINE(UMFPACK_SEPARATE_SPLIT, 1,
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3640 [Define to 1 if the UMFPACK Complex solver allows matrix and RHS to be split independently.])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3641 fi
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3642 ])