annotate m4/acinclude.m4 @ 27215:274766cae722

allow building with Qt4 to work again * acinclude.m4 (OCTAVE_CHECK_FUNC_QWHEELEVENT_ANGLEDELTA): New macro. (OCTAVE_CHECK_QT_VERSION): Use it. * QtHandlesUtils.cc (makeScrollEventStruct): Work with both Qt4 and Qt5.
author John W. Eaton <jwe@octave.org>
date Wed, 26 Jun 2019 12:09:37 -0400
parents 8229d4e15a28
children 463fc0cfed90
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
26376
00f796120a6d maint: Update copyright dates in all source files.
John W. Eaton <jwe@octave.org>
parents: 26072
diff changeset
3 dnl Copyright (C) 1995-2019 John W. Eaton
17034
8d84dc5f5b5d acinclude.m4: Use m4 quote '[' rather than '"' in AC_MSG_ERROR.
Rik <rik@octave.org>
parents: 17031
diff changeset
4 dnl
1232
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
5 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
6 dnl
24534
194eb4bd202b maint: Update punctuation for GPL v3 license text.
Rik <rik@octave.org>
parents: 24446
diff changeset
7 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
8 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
9 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
10 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
11 dnl
22755
3a2b891d0b33 maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents: 22509
diff changeset
12 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
13 dnl WITHOUT ANY WARRANTY; without even the implied warranty of
3a2b891d0b33 maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents: 22509
diff changeset
14 dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3a2b891d0b33 maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents: 22509
diff changeset
15 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
16 dnl
1232
5f1bb459e99c [project @ 1995-04-10 05:20:52 by jwe]
jwe
parents:
diff changeset
17 dnl You should have received a copy of the GNU General Public License
7016
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 6955
diff changeset
18 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
19 dnl <https://www.gnu.org/licenses/>.
3130
02766207b74c [project @ 1998-01-25 08:27:23 by jwe]
jwe
parents: 3126
diff changeset
20
2813
d45d48b3dcde [project @ 1997-03-13 22:39:15 by jwe]
jwe
parents: 2641
diff changeset
21 dnl
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
22 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
23 dnl
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
24
4366
ad851d04b396 [project @ 2003-03-05 09:49:18 by jwe]
jwe
parents: 4360
diff changeset
25 dnl
23510
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
26 dnl Figure out the hardware-vendor-os info.
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
27 dnl
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
28 AC_DEFUN([OCTAVE_CANONICAL_HOST], [
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
29 AC_CANONICAL_HOST
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
30 if test -z "$host"; then
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
31 host=unknown-unknown-unknown
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
32 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
33 fi
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
34 canonical_host_type=$host
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
35 AC_SUBST(canonical_host_type)
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
36 if test -z "$host_cpu"; then
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
37 host_cpu=unknown
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
38 fi
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
39 if test -z "$host_vendor"; then
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
40 host_vendor=unknown
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
41 fi
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
42 if test -z "$host_os"; then
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
43 host_os=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 ])
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
46 dnl
15133
f91eac1bc66d m4/acinclude.m4: Correct typos, use consistent style for describing macros.
Rik <rik@octave.org>
parents: 15126
diff changeset
47 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
48 dnl
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
49 AC_DEFUN([OCTAVE_CARBON_CGDISPLAYBITSPERPIXEL], [
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
50 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
51 [octave_cv_func_carbon_cgdisplaybitsperpixel],
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
52 [AC_LANG_PUSH(C++)
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
53 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
54 #include <Carbon/Carbon.h>
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
55 ]], [[
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
56 CGDirectDisplayID display = CGMainDisplayID ();
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
57 size_t depth = CGDisplayBitsPerPixel (display);
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
58 ]])],
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
59 octave_cv_func_carbon_cgdisplaybitsperpixel=yes,
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
60 octave_cv_func_carbon_cgdisplaybitsperpixel=no)
3888
70ebd3d672a1 [project @ 2002-04-04 01:05:53 by jwe]
jwe
parents: 3887
diff changeset
61 AC_LANG_POP(C++)
3107
a8dcfbf87ea3 [project @ 1997-11-19 22:34:59 by jwe]
jwe
parents: 3089
diff changeset
62 ])
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
63 if test $octave_cv_func_carbon_cgdisplaybitsperpixel = yes; then
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
64 AC_DEFINE(HAVE_CARBON_CGDISPLAYBITSPERPIXEL, 1,
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
65 [Define to 1 if Carbon Framework has CGDisplayBitsPerPixel.])
3107
a8dcfbf87ea3 [project @ 1997-11-19 22:34:59 by jwe]
jwe
parents: 3089
diff changeset
66 fi
a8dcfbf87ea3 [project @ 1997-11-19 22:34:59 by jwe]
jwe
parents: 3089
diff changeset
67 ])
3126
0f6ec7b761a6 [project @ 1998-01-16 05:15:43 by jwe]
jwe
parents: 3107
diff changeset
68 dnl
15133
f91eac1bc66d m4/acinclude.m4: Correct typos, use consistent style for describing macros.
Rik <rik@octave.org>
parents: 15126
diff changeset
69 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
70 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
71 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
72 dnl
9654
a307a6f77fb3 aclocal.m4: consistently quote first arg to AC_DEFUN
John W. Eaton <jwe@octave.org>
parents: 9645
diff changeset
73 AC_DEFUN([OCTAVE_CC_FLAG], [
17661
1978a6c76aa9 Use user-specified SED during build process (bug #40273).
Rik <rik@octave.org>
parents: 17615
diff changeset
74 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
75 AC_MSG_CHECKING([whether ${CC-cc} accepts $1])
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
76 AC_CACHE_VAL([octave_cv_cc_flag_$ac_safe],
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
77 [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
78 ac_octave_save_CFLAGS="$CFLAGS"
3126
0f6ec7b761a6 [project @ 1998-01-16 05:15:43 by jwe]
jwe
parents: 3107
diff changeset
79 CFLAGS="$CFLAGS $1"
5177
86fa011d6404 [project @ 2005-03-03 00:32:34 by jwe]
jwe
parents: 5094
diff changeset
80 AC_LINK_IFELSE([AC_LANG_PROGRAM([], [])],
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
81 [eval "octave_cv_cc_flag_$ac_safe=yes"],
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
82 [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
83 CFLAGS="$ac_octave_save_CFLAGS"
3888
70ebd3d672a1 [project @ 2002-04-04 01:05:53 by jwe]
jwe
parents: 3887
diff changeset
84 AC_LANG_POP(C)
3126
0f6ec7b761a6 [project @ 1998-01-16 05:15:43 by jwe]
jwe
parents: 3107
diff changeset
85 ])
0f6ec7b761a6 [project @ 1998-01-16 05:15:43 by jwe]
jwe
parents: 3107
diff changeset
86 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
87 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
88 ifelse([$2], ,
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
89 [CFLAGS="$CFLAGS $1"
3131
9c5160c83bd2 [project @ 1998-01-29 04:46:33 by jwe]
jwe
parents: 3130
diff changeset
90 AC_MSG_RESULT([adding $1 to CFLAGS])], [$2])
3126
0f6ec7b761a6 [project @ 1998-01-16 05:15:43 by jwe]
jwe
parents: 3107
diff changeset
91 else
15319
daf74ce2afdc m4/acinclude.m4: Use more consistent m4 quoting of arguments to macros.
Rik <rik@octave.org>
parents: 15302
diff changeset
92 AC_MSG_RESULT([no])
3126
0f6ec7b761a6 [project @ 1998-01-16 05:15:43 by jwe]
jwe
parents: 3107
diff changeset
93 ifelse([$3], , , [$3])
0f6ec7b761a6 [project @ 1998-01-16 05:15:43 by jwe]
jwe
parents: 3107
diff changeset
94 fi
0f6ec7b761a6 [project @ 1998-01-16 05:15:43 by jwe]
jwe
parents: 3107
diff changeset
95 ])
0f6ec7b761a6 [project @ 1998-01-16 05:15:43 by jwe]
jwe
parents: 3107
diff changeset
96 dnl
17965
1d58abc740c0 acinclude.m4: Place new macro CHECK_BROKEN_STL_ALGO_H in alphabetical ordering.
Rik <rik@octave.org>
parents: 17888
diff changeset
97 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
98 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
99 dnl
1d58abc740c0 acinclude.m4: Place new macro CHECK_BROKEN_STL_ALGO_H in alphabetical ordering.
Rik <rik@octave.org>
parents: 17888
diff changeset
100 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
101 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
102 [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
103 [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
104 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
105 // 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
106
1d58abc740c0 acinclude.m4: Place new macro CHECK_BROKEN_STL_ALGO_H in alphabetical ordering.
Rik <rik@octave.org>
parents: 17888
diff changeset
107 // 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
108 //
1d58abc740c0 acinclude.m4: Place new macro CHECK_BROKEN_STL_ALGO_H in alphabetical ordering.
Rik <rik@octave.org>
parents: 17888
diff changeset
109 // 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
110 // 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
111 // 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
112 // 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
113 // 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
114
1d58abc740c0 acinclude.m4: Place new macro CHECK_BROKEN_STL_ALGO_H in alphabetical ordering.
Rik <rik@octave.org>
parents: 17888
diff changeset
115 // 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
116 // 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
117 // 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
118 // 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
119
1d58abc740c0 acinclude.m4: Place new macro CHECK_BROKEN_STL_ALGO_H in alphabetical ordering.
Rik <rik@octave.org>
parents: 17888
diff changeset
120 // 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
121 // 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
122 // <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
123
1d58abc740c0 acinclude.m4: Place new macro CHECK_BROKEN_STL_ALGO_H in alphabetical ordering.
Rik <rik@octave.org>
parents: 17888
diff changeset
124 // 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
125
1d58abc740c0 acinclude.m4: Place new macro CHECK_BROKEN_STL_ALGO_H in alphabetical ordering.
Rik <rik@octave.org>
parents: 17888
diff changeset
126 // { 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
127
1d58abc740c0 acinclude.m4: Place new macro CHECK_BROKEN_STL_ALGO_H in alphabetical ordering.
Rik <rik@octave.org>
parents: 17888
diff changeset
128 #include <algorithm>
1d58abc740c0 acinclude.m4: Place new macro CHECK_BROKEN_STL_ALGO_H in alphabetical ordering.
Rik <rik@octave.org>
parents: 17888
diff changeset
129 #include <vector>
1d58abc740c0 acinclude.m4: Place new macro CHECK_BROKEN_STL_ALGO_H in alphabetical ordering.
Rik <rik@octave.org>
parents: 17888
diff changeset
130 ]], [[
1d58abc740c0 acinclude.m4: Place new macro CHECK_BROKEN_STL_ALGO_H in alphabetical ordering.
Rik <rik@octave.org>
parents: 17888
diff changeset
131 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
132
1d58abc740c0 acinclude.m4: Place new macro CHECK_BROKEN_STL_ALGO_H in alphabetical ordering.
Rik <rik@octave.org>
parents: 17888
diff changeset
133 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
134 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
135 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
136 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
137 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
138 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
139 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
140
1d58abc740c0 acinclude.m4: Place new macro CHECK_BROKEN_STL_ALGO_H in alphabetical ordering.
Rik <rik@octave.org>
parents: 17888
diff changeset
141 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
142
1d58abc740c0 acinclude.m4: Place new macro CHECK_BROKEN_STL_ALGO_H in alphabetical ordering.
Rik <rik@octave.org>
parents: 17888
diff changeset
143 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
144 ]])],
1d58abc740c0 acinclude.m4: Place new macro CHECK_BROKEN_STL_ALGO_H in alphabetical ordering.
Rik <rik@octave.org>
parents: 17888
diff changeset
145 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
146 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
147 [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
148 *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
149 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
150 ;;
303157af491f acinclude.m4: Fix undefined value in macro CHECK_BROKEN_STL_ALGO_H when cross-compiling.
Rik <rik@octave.org>
parents: 17965
diff changeset
151 *)
303157af491f acinclude.m4: Fix undefined value in macro CHECK_BROKEN_STL_ALGO_H when cross-compiling.
Rik <rik@octave.org>
parents: 17965
diff changeset
152 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
153 ;;
1d58abc740c0 acinclude.m4: Place new macro CHECK_BROKEN_STL_ALGO_H in alphabetical ordering.
Rik <rik@octave.org>
parents: 17888
diff changeset
154 esac
1d58abc740c0 acinclude.m4: Place new macro CHECK_BROKEN_STL_ALGO_H in alphabetical ordering.
Rik <rik@octave.org>
parents: 17888
diff changeset
155 ])
1d58abc740c0 acinclude.m4: Place new macro CHECK_BROKEN_STL_ALGO_H in alphabetical ordering.
Rik <rik@octave.org>
parents: 17888
diff changeset
156 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
157 ])
1d58abc740c0 acinclude.m4: Place new macro CHECK_BROKEN_STL_ALGO_H in alphabetical ordering.
Rik <rik@octave.org>
parents: 17888
diff changeset
158 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
159 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
160 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
161 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
162 ;;
1d58abc740c0 acinclude.m4: Place new macro CHECK_BROKEN_STL_ALGO_H in alphabetical ordering.
Rik <rik@octave.org>
parents: 17888
diff changeset
163 *)
1d58abc740c0 acinclude.m4: Place new macro CHECK_BROKEN_STL_ALGO_H in alphabetical ordering.
Rik <rik@octave.org>
parents: 17888
diff changeset
164 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
165 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
166 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
167 ;;
1d58abc740c0 acinclude.m4: Place new macro CHECK_BROKEN_STL_ALGO_H in alphabetical ordering.
Rik <rik@octave.org>
parents: 17888
diff changeset
168 esac
1d58abc740c0 acinclude.m4: Place new macro CHECK_BROKEN_STL_ALGO_H in alphabetical ordering.
Rik <rik@octave.org>
parents: 17888
diff changeset
169 else
1d58abc740c0 acinclude.m4: Place new macro CHECK_BROKEN_STL_ALGO_H in alphabetical ordering.
Rik <rik@octave.org>
parents: 17888
diff changeset
170 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
171 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 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
173 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
174 ;;
1d58abc740c0 acinclude.m4: Place new macro CHECK_BROKEN_STL_ALGO_H in alphabetical ordering.
Rik <rik@octave.org>
parents: 17888
diff changeset
175 esac
1d58abc740c0 acinclude.m4: Place new macro CHECK_BROKEN_STL_ALGO_H in alphabetical ordering.
Rik <rik@octave.org>
parents: 17888
diff changeset
176 fi
1d58abc740c0 acinclude.m4: Place new macro CHECK_BROKEN_STL_ALGO_H in alphabetical ordering.
Rik <rik@octave.org>
parents: 17888
diff changeset
177 else
1d58abc740c0 acinclude.m4: Place new macro CHECK_BROKEN_STL_ALGO_H in alphabetical ordering.
Rik <rik@octave.org>
parents: 17888
diff changeset
178 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
179 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
180 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
181 fi
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 dnl
21160
b5b531ba93ce build: Use configure-time test to check CXSparse version.
Rik <rik@octave.org>
parents: 21150
diff changeset
184 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
185 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
186 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
187 dnl
b5b531ba93ce build: Use configure-time test to check CXSparse version.
Rik <rik@octave.org>
parents: 21150
diff changeset
188 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
189 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
190 [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
191 [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
192 CPPFLAGS="$CXSPARSE_CPPFLAGS $CPPFLAGS"
21160
b5b531ba93ce build: Use configure-time test to check CXSparse version.
Rik <rik@octave.org>
parents: 21150
diff changeset
193 AC_PREPROC_IFELSE([AC_LANG_PROGRAM([[
b5b531ba93ce build: Use configure-time test to check CXSparse version.
Rik <rik@octave.org>
parents: 21150
diff changeset
194 #if defined (HAVE_SUITESPARSE_CS_H)
b5b531ba93ce build: Use configure-time test to check CXSparse version.
Rik <rik@octave.org>
parents: 21150
diff changeset
195 #include <suitesparse/cs.h>
b5b531ba93ce build: Use configure-time test to check CXSparse version.
Rik <rik@octave.org>
parents: 21150
diff changeset
196 #elif defined (HAVE_UFSPARSE_CS_H)
b5b531ba93ce build: Use configure-time test to check CXSparse version.
Rik <rik@octave.org>
parents: 21150
diff changeset
197 #include <ufsparse/cs.h>
b5b531ba93ce build: Use configure-time test to check CXSparse version.
Rik <rik@octave.org>
parents: 21150
diff changeset
198 #elif defined (HAVE_CXSPARSE_CS_H)
b5b531ba93ce build: Use configure-time test to check CXSparse version.
Rik <rik@octave.org>
parents: 21150
diff changeset
199 #include <cxsparse/cs.h>
b5b531ba93ce build: Use configure-time test to check CXSparse version.
Rik <rik@octave.org>
parents: 21150
diff changeset
200 #elif defined (HAVE_CS_H)
b5b531ba93ce build: Use configure-time test to check CXSparse version.
Rik <rik@octave.org>
parents: 21150
diff changeset
201 #include <cs.h>
b5b531ba93ce build: Use configure-time test to check CXSparse version.
Rik <rik@octave.org>
parents: 21150
diff changeset
202 #endif
b5b531ba93ce build: Use configure-time test to check CXSparse version.
Rik <rik@octave.org>
parents: 21150
diff changeset
203 ]], [[
b5b531ba93ce build: Use configure-time test to check CXSparse version.
Rik <rik@octave.org>
parents: 21150
diff changeset
204 #if (defined (HAVE_CXSPARSE) \
b5b531ba93ce build: Use configure-time test to check CXSparse version.
Rik <rik@octave.org>
parents: 21150
diff changeset
205 && (! defined (CS_VER) \
b5b531ba93ce build: Use configure-time test to check CXSparse version.
Rik <rik@octave.org>
parents: 21150
diff changeset
206 || CS_VER < 2 \
b5b531ba93ce build: Use configure-time test to check CXSparse version.
Rik <rik@octave.org>
parents: 21150
diff changeset
207 || (CS_VER == 2 && CS_SUBVER < 2)))
b5b531ba93ce build: Use configure-time test to check CXSparse version.
Rik <rik@octave.org>
parents: 21150
diff changeset
208 #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
209 #endif
b5b531ba93ce build: Use configure-time test to check CXSparse version.
Rik <rik@octave.org>
parents: 21150
diff changeset
210 ]])],
b5b531ba93ce build: Use configure-time test to check CXSparse version.
Rik <rik@octave.org>
parents: 21150
diff changeset
211 octave_cv_cxsparse_version_ok=yes,
b5b531ba93ce build: Use configure-time test to check CXSparse version.
Rik <rik@octave.org>
parents: 21150
diff changeset
212 octave_cv_cxsparse_version_ok=no)
b5b531ba93ce build: Use configure-time test to check CXSparse version.
Rik <rik@octave.org>
parents: 21150
diff changeset
213 CPPFLAGS="$ac_octave_save_CPPFLAGS"
b5b531ba93ce build: Use configure-time test to check CXSparse version.
Rik <rik@octave.org>
parents: 21150
diff changeset
214 ])
b5b531ba93ce build: Use configure-time test to check CXSparse version.
Rik <rik@octave.org>
parents: 21150
diff changeset
215 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
216 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
217 [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
218 fi
b5b531ba93ce build: Use configure-time test to check CXSparse version.
Rik <rik@octave.org>
parents: 21150
diff changeset
219 ])
b5b531ba93ce build: Use configure-time test to check CXSparse version.
Rik <rik@octave.org>
parents: 21150
diff changeset
220 dnl
15969
139f4b19a3ac build: Improve detection of FFTW multi-threading
Mike Miller <mtmiller@ieee.org>
parents: 15863
diff changeset
221 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
222 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
223 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
224 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
225 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
226 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
227 dnl ahead of the main FFTW library.
139f4b19a3ac build: Improve detection of FFTW multi-threading
Mike Miller <mtmiller@ieee.org>
parents: 15863
diff changeset
228 dnl
139f4b19a3ac build: Improve detection of FFTW multi-threading
Mike Miller <mtmiller@ieee.org>
parents: 15863
diff changeset
229 AC_DEFUN([OCTAVE_CHECK_FFTW_THREADS], [
139f4b19a3ac build: Improve detection of FFTW multi-threading
Mike Miller <mtmiller@ieee.org>
parents: 15863
diff changeset
230 ac_octave_save_CPPFLAGS="$CPPFLAGS"
139f4b19a3ac build: Improve detection of FFTW multi-threading
Mike Miller <mtmiller@ieee.org>
parents: 15863
diff changeset
231 ac_octave_save_LDFLAGS="$LDFLAGS"
139f4b19a3ac build: Improve detection of FFTW multi-threading
Mike Miller <mtmiller@ieee.org>
parents: 15863
diff changeset
232 ac_octave_save_LIBS="$LIBS"
139f4b19a3ac build: Improve detection of FFTW multi-threading
Mike Miller <mtmiller@ieee.org>
parents: 15863
diff changeset
233 CPPFLAGS="$m4_toupper([$1])_CPPFLAGS $CPPFLAGS"
139f4b19a3ac build: Improve detection of FFTW multi-threading
Mike Miller <mtmiller@ieee.org>
parents: 15863
diff changeset
234 LDFLAGS="$m4_toupper([$1])_LDFLAGS $LDFLAGS"
139f4b19a3ac build: Improve detection of FFTW multi-threading
Mike Miller <mtmiller@ieee.org>
parents: 15863
diff changeset
235 LIBS="$m4_toupper([$1])_LIBS $LIBS"
139f4b19a3ac build: Improve detection of FFTW multi-threading
Mike Miller <mtmiller@ieee.org>
parents: 15863
diff changeset
236 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
237 [octave_cv_[$1]_threads_lib],
139f4b19a3ac build: Improve detection of FFTW multi-threading
Mike Miller <mtmiller@ieee.org>
parents: 15863
diff changeset
238 [AC_LINK_IFELSE([AC_LANG_PROGRAM([[
139f4b19a3ac build: Improve detection of FFTW multi-threading
Mike Miller <mtmiller@ieee.org>
parents: 15863
diff changeset
239 #include <fftw3.h>
139f4b19a3ac build: Improve detection of FFTW multi-threading
Mike Miller <mtmiller@ieee.org>
parents: 15863
diff changeset
240 ]], [[
139f4b19a3ac build: Improve detection of FFTW multi-threading
Mike Miller <mtmiller@ieee.org>
parents: 15863
diff changeset
241 $2 (2);
139f4b19a3ac build: Improve detection of FFTW multi-threading
Mike Miller <mtmiller@ieee.org>
parents: 15863
diff changeset
242 ]])],
139f4b19a3ac build: Improve detection of FFTW multi-threading
Mike Miller <mtmiller@ieee.org>
parents: 15863
diff changeset
243 [octave_cv_[$1]_threads_lib=yes],
139f4b19a3ac build: Improve detection of FFTW multi-threading
Mike Miller <mtmiller@ieee.org>
parents: 15863
diff changeset
244 [LIBS="-l[$1]_threads $LIBS"
139f4b19a3ac build: Improve detection of FFTW multi-threading
Mike Miller <mtmiller@ieee.org>
parents: 15863
diff changeset
245 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
139f4b19a3ac build: Improve detection of FFTW multi-threading
Mike Miller <mtmiller@ieee.org>
parents: 15863
diff changeset
246 #include <fftw3.h>
139f4b19a3ac build: Improve detection of FFTW multi-threading
Mike Miller <mtmiller@ieee.org>
parents: 15863
diff changeset
247 ]], [[
139f4b19a3ac build: Improve detection of FFTW multi-threading
Mike Miller <mtmiller@ieee.org>
parents: 15863
diff changeset
248 $2 (2);
139f4b19a3ac build: Improve detection of FFTW multi-threading
Mike Miller <mtmiller@ieee.org>
parents: 15863
diff changeset
249 ]])],
139f4b19a3ac build: Improve detection of FFTW multi-threading
Mike Miller <mtmiller@ieee.org>
parents: 15863
diff changeset
250 [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
251 [octave_cv_[$1]_threads_lib=no])
139f4b19a3ac build: Improve detection of FFTW multi-threading
Mike Miller <mtmiller@ieee.org>
parents: 15863
diff changeset
252 ])
139f4b19a3ac build: Improve detection of FFTW multi-threading
Mike Miller <mtmiller@ieee.org>
parents: 15863
diff changeset
253 ])
139f4b19a3ac build: Improve detection of FFTW multi-threading
Mike Miller <mtmiller@ieee.org>
parents: 15863
diff changeset
254 case $octave_cv_[$1]_threads_lib in
139f4b19a3ac build: Improve detection of FFTW multi-threading
Mike Miller <mtmiller@ieee.org>
parents: 15863
diff changeset
255 -l*)
139f4b19a3ac build: Improve detection of FFTW multi-threading
Mike Miller <mtmiller@ieee.org>
parents: 15863
diff changeset
256 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
257 ;;
139f4b19a3ac build: Improve detection of FFTW multi-threading
Mike Miller <mtmiller@ieee.org>
parents: 15863
diff changeset
258 no)
139f4b19a3ac build: Improve detection of FFTW multi-threading
Mike Miller <mtmiller@ieee.org>
parents: 15863
diff changeset
259 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
260 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
261 ;;
139f4b19a3ac build: Improve detection of FFTW multi-threading
Mike Miller <mtmiller@ieee.org>
parents: 15863
diff changeset
262 esac
139f4b19a3ac build: Improve detection of FFTW multi-threading
Mike Miller <mtmiller@ieee.org>
parents: 15863
diff changeset
263 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
264 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
265 [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
266 fi
139f4b19a3ac build: Improve detection of FFTW multi-threading
Mike Miller <mtmiller@ieee.org>
parents: 15863
diff changeset
267 CPPFLAGS="$ac_octave_save_CPPFLAGS"
139f4b19a3ac build: Improve detection of FFTW multi-threading
Mike Miller <mtmiller@ieee.org>
parents: 15863
diff changeset
268 LDFLAGS="$ac_octave_save_LDFLAGS"
139f4b19a3ac build: Improve detection of FFTW multi-threading
Mike Miller <mtmiller@ieee.org>
parents: 15863
diff changeset
269 LIBS="$ac_octave_save_LIBS"
139f4b19a3ac build: Improve detection of FFTW multi-threading
Mike Miller <mtmiller@ieee.org>
parents: 15863
diff changeset
270 ])
139f4b19a3ac build: Improve detection of FFTW multi-threading
Mike Miller <mtmiller@ieee.org>
parents: 15863
diff changeset
271 dnl
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
272 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
273 dnl
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
274 AC_DEFUN([OCTAVE_CHECK_FUNC_GLUTESSCALLBACK_THREEDOTS], [
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
275 AC_CACHE_CHECK([whether gluTessCallback is called with "(...)"],
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
276 [octave_cv_func_glutesscallback_threedots],
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
277 [AC_LANG_PUSH(C++)
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
278 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
279 #if defined (HAVE_GL_GLU_H)
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
280 # include <GL/glu.h>
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
281 #elif defined HAVE_OPENGL_GLU_H || defined HAVE_FRAMEWORK_OPENGL
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
282 # include <OpenGL/glu.h>
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
283 #endif
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
284 ]], [[
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
285 GLvoid (*func)(...);
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
286 gluTessCallback(0, 0, func);
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
287 ]])],
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
288 octave_cv_func_glutesscallback_threedots=yes,
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
289 octave_cv_func_glutesscallback_threedots=no)
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
290 AC_LANG_POP(C++)
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
291 ])
15336
5fff79162342 acinclude.m4: Put temporary shell variables in macros into ac_octave namespace.
Rik <rik@octave.org>
parents: 15330
diff changeset
292 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
293 AC_DEFINE(HAVE_GLUTESSCALLBACK_THREEDOTS, 1,
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
294 [Define to 1 if gluTessCallback is called with (...).])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
295 fi
9596
f26229391ea1 configure.in, aclocal.m4: check fortran integer size
John W. Eaton <jwe@octave.org>
parents: 9577
diff changeset
296 ])
f26229391ea1 configure.in, aclocal.m4: check fortran integer size
John W. Eaton <jwe@octave.org>
parents: 9577
diff changeset
297 dnl
24093
7d9ba57201b4 configure: improve Qt feature tests for functionality and consistency
Mike Miller <mtmiller@octave.org>
parents: 24077
diff changeset
298 dnl Check whether the Qt class QAbstractItemModel exists and has the
7d9ba57201b4 configure: improve Qt feature tests for functionality and consistency
Mike Miller <mtmiller@octave.org>
parents: 24077
diff changeset
299 dnl beginResetModel and endResetModel member functions. These member
7d9ba57201b4 configure: improve Qt feature tests for functionality and consistency
Mike Miller <mtmiller@octave.org>
parents: 24077
diff changeset
300 dnl functions were introduced in Qt 4.6.
18973
625e3bb65885 don't require Qt 4.7 (bug #42657)
John W. Eaton <jwe@octave.org>
parents: 18141
diff changeset
301 dnl
24093
7d9ba57201b4 configure: improve Qt feature tests for functionality and consistency
Mike Miller <mtmiller@octave.org>
parents: 24077
diff changeset
302 dnl FIXME: Delete this entirely when we can safely assume that Qt 4.6 or later
7d9ba57201b4 configure: improve Qt feature tests for functionality and consistency
Mike Miller <mtmiller@octave.org>
parents: 24077
diff changeset
303 dnl is in use everywhere, or when we drop support for Qt 4.
17111
bb713af2e1d9 build: detect Qt functions required for building the gui
Mike Miller <mtmiller@ieee.org>
parents: 17034
diff changeset
304 dnl
bb713af2e1d9 build: detect Qt functions required for building the gui
Mike Miller <mtmiller@ieee.org>
parents: 17034
diff changeset
305 AC_DEFUN([OCTAVE_CHECK_FUNC_QABSTRACTITEMMODEL_BEGINRESETMODEL], [
24093
7d9ba57201b4 configure: improve Qt feature tests for functionality and consistency
Mike Miller <mtmiller@octave.org>
parents: 24077
diff changeset
306 AC_CACHE_CHECK([for QAbstractItemModel::beginResetModel in <QAbstractItemModel>],
17111
bb713af2e1d9 build: detect Qt functions required for building the gui
Mike Miller <mtmiller@ieee.org>
parents: 17034
diff changeset
307 [octave_cv_func_qabstractitemmodel_beginresetmodel],
bb713af2e1d9 build: detect Qt functions required for building the gui
Mike Miller <mtmiller@ieee.org>
parents: 17034
diff changeset
308 [AC_LANG_PUSH(C++)
bb713af2e1d9 build: detect Qt functions required for building the gui
Mike Miller <mtmiller@ieee.org>
parents: 17034
diff changeset
309 ac_octave_save_CPPFLAGS="$CPPFLAGS"
22234
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
310 ac_octave_save_CXXFLAGS="$CXXFLAGS"
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
311 CPPFLAGS="$QT_CPPFLAGS $CXXPICFLAG $CPPFLAGS"
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
312 CXXFLAGS="$CXXPICFLAG $CXXFLAGS"
17111
bb713af2e1d9 build: detect Qt functions required for building the gui
Mike Miller <mtmiller@ieee.org>
parents: 17034
diff changeset
313 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
bb713af2e1d9 build: detect Qt functions required for building the gui
Mike Miller <mtmiller@ieee.org>
parents: 17034
diff changeset
314 #include <QAbstractItemModel>
bb713af2e1d9 build: detect Qt functions required for building the gui
Mike Miller <mtmiller@ieee.org>
parents: 17034
diff changeset
315 class item_model : public QAbstractItemModel
bb713af2e1d9 build: detect Qt functions required for building the gui
Mike Miller <mtmiller@ieee.org>
parents: 17034
diff changeset
316 {
bb713af2e1d9 build: detect Qt functions required for building the gui
Mike Miller <mtmiller@ieee.org>
parents: 17034
diff changeset
317 public:
bb713af2e1d9 build: detect Qt functions required for building the gui
Mike Miller <mtmiller@ieee.org>
parents: 17034
diff changeset
318 item_model (QObject *parent = 0) : QAbstractItemModel (parent) {}
bb713af2e1d9 build: detect Qt functions required for building the gui
Mike Miller <mtmiller@ieee.org>
parents: 17034
diff changeset
319 ~item_model () {}
bb713af2e1d9 build: detect Qt functions required for building the gui
Mike Miller <mtmiller@ieee.org>
parents: 17034
diff changeset
320 QModelIndex index (int, int, const QModelIndex& m) const { return m; }
bb713af2e1d9 build: detect Qt functions required for building the gui
Mike Miller <mtmiller@ieee.org>
parents: 17034
diff changeset
321 QModelIndex parent (const QModelIndex& m) const { return m; }
bb713af2e1d9 build: detect Qt functions required for building the gui
Mike Miller <mtmiller@ieee.org>
parents: 17034
diff changeset
322 int columnCount (const QModelIndex&) const { return 0; }
bb713af2e1d9 build: detect Qt functions required for building the gui
Mike Miller <mtmiller@ieee.org>
parents: 17034
diff changeset
323 int rowCount (const QModelIndex&) const { return 0; }
bb713af2e1d9 build: detect Qt functions required for building the gui
Mike Miller <mtmiller@ieee.org>
parents: 17034
diff changeset
324 QVariant data (const QModelIndex&, int) const { return QVariant(); }
bb713af2e1d9 build: detect Qt functions required for building the gui
Mike Miller <mtmiller@ieee.org>
parents: 17034
diff changeset
325 void update_model ()
bb713af2e1d9 build: detect Qt functions required for building the gui
Mike Miller <mtmiller@ieee.org>
parents: 17034
diff changeset
326 {
bb713af2e1d9 build: detect Qt functions required for building the gui
Mike Miller <mtmiller@ieee.org>
parents: 17034
diff changeset
327 this->beginResetModel ();
bb713af2e1d9 build: detect Qt functions required for building the gui
Mike Miller <mtmiller@ieee.org>
parents: 17034
diff changeset
328 this->endResetModel ();
bb713af2e1d9 build: detect Qt functions required for building the gui
Mike Miller <mtmiller@ieee.org>
parents: 17034
diff changeset
329 }
bb713af2e1d9 build: detect Qt functions required for building the gui
Mike Miller <mtmiller@ieee.org>
parents: 17034
diff changeset
330 };
bb713af2e1d9 build: detect Qt functions required for building the gui
Mike Miller <mtmiller@ieee.org>
parents: 17034
diff changeset
331 ]], [[
bb713af2e1d9 build: detect Qt functions required for building the gui
Mike Miller <mtmiller@ieee.org>
parents: 17034
diff changeset
332 item_model model;
bb713af2e1d9 build: detect Qt functions required for building the gui
Mike Miller <mtmiller@ieee.org>
parents: 17034
diff changeset
333 model.update_model ();
bb713af2e1d9 build: detect Qt functions required for building the gui
Mike Miller <mtmiller@ieee.org>
parents: 17034
diff changeset
334 ]])],
bb713af2e1d9 build: detect Qt functions required for building the gui
Mike Miller <mtmiller@ieee.org>
parents: 17034
diff changeset
335 octave_cv_func_qabstractitemmodel_beginresetmodel=yes,
bb713af2e1d9 build: detect Qt functions required for building the gui
Mike Miller <mtmiller@ieee.org>
parents: 17034
diff changeset
336 octave_cv_func_qabstractitemmodel_beginresetmodel=no)
bb713af2e1d9 build: detect Qt functions required for building the gui
Mike Miller <mtmiller@ieee.org>
parents: 17034
diff changeset
337 CPPFLAGS="$ac_octave_save_CPPFLAGS"
22234
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
338 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
339 AC_LANG_POP(C++)
bb713af2e1d9 build: detect Qt functions required for building the gui
Mike Miller <mtmiller@ieee.org>
parents: 17034
diff changeset
340 ])
bb713af2e1d9 build: detect Qt functions required for building the gui
Mike Miller <mtmiller@ieee.org>
parents: 17034
diff changeset
341 if test $octave_cv_func_qabstractitemmodel_beginresetmodel = yes; then
bb713af2e1d9 build: detect Qt functions required for building the gui
Mike Miller <mtmiller@ieee.org>
parents: 17034
diff changeset
342 AC_DEFINE(HAVE_QABSTRACTITEMMODEL_BEGINRESETMODEL, 1,
24093
7d9ba57201b4 configure: improve Qt feature tests for functionality and consistency
Mike Miller <mtmiller@octave.org>
parents: 24077
diff changeset
343 [Define to 1 if you have the `QAbstractItemModel::beginResetModel' member function.])
17111
bb713af2e1d9 build: detect Qt functions required for building the gui
Mike Miller <mtmiller@ieee.org>
parents: 17034
diff changeset
344 fi
bb713af2e1d9 build: detect Qt functions required for building the gui
Mike Miller <mtmiller@ieee.org>
parents: 17034
diff changeset
345 ])
bb713af2e1d9 build: detect Qt functions required for building the gui
Mike Miller <mtmiller@ieee.org>
parents: 17034
diff changeset
346 dnl
25046
a4c687fec320 gui: set Qt Application and Desktop metadata for desktop integration (bug #53102)
Mike Miller <mtmiller@octave.org>
parents: 25042
diff changeset
347 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
348 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
349 dnl
a4c687fec320 gui: set Qt Application and Desktop metadata for desktop integration (bug #53102)
Mike Miller <mtmiller@octave.org>
parents: 25042
diff changeset
350 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
351 dnl
a4c687fec320 gui: set Qt Application and Desktop metadata for desktop integration (bug #53102)
Mike Miller <mtmiller@octave.org>
parents: 25042
diff changeset
352 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
353 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
354 [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
355 [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
356 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
357 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
358 CPPFLAGS="$QT_CPPFLAGS $CXXPICFLAG $CPPFLAGS"
a4c687fec320 gui: set Qt Application and Desktop metadata for desktop integration (bug #53102)
Mike Miller <mtmiller@octave.org>
parents: 25042
diff changeset
359 CXXFLAGS="$CXXPICFLAG $CPPFLAGS"
a4c687fec320 gui: set Qt Application and Desktop metadata for desktop integration (bug #53102)
Mike Miller <mtmiller@octave.org>
parents: 25042
diff changeset
360 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
361 #include <QGuiApplication>
a4c687fec320 gui: set Qt Application and Desktop metadata for desktop integration (bug #53102)
Mike Miller <mtmiller@octave.org>
parents: 25042
diff changeset
362 ]], [[
a4c687fec320 gui: set Qt Application and Desktop metadata for desktop integration (bug #53102)
Mike Miller <mtmiller@octave.org>
parents: 25042
diff changeset
363 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
364 ]])],
a4c687fec320 gui: set Qt Application and Desktop metadata for desktop integration (bug #53102)
Mike Miller <mtmiller@octave.org>
parents: 25042
diff changeset
365 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
366 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
367 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
368 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
369 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
370 ])
a4c687fec320 gui: set Qt Application and Desktop metadata for desktop integration (bug #53102)
Mike Miller <mtmiller@octave.org>
parents: 25042
diff changeset
371 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
372 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
373 [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
374 fi
a4c687fec320 gui: set Qt Application and Desktop metadata for desktop integration (bug #53102)
Mike Miller <mtmiller@octave.org>
parents: 25042
diff changeset
375 ])
a4c687fec320 gui: set Qt Application and Desktop metadata for desktop integration (bug #53102)
Mike Miller <mtmiller@octave.org>
parents: 25042
diff changeset
376 dnl
24827
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
377 dnl Check whether the Qt QHeaderView class has the setSectionResizeMode
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
378 dnl function. This function was introduced in Qt 5.
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
379 dnl
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
380 dnl FIXME: Delete this entirely when we drop support for Qt 4.
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
381 dnl
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
382 AC_DEFUN([OCTAVE_CHECK_FUNC_QHEADERVIEW_SETSECTIONRESIZEMODE], [
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
383 AC_CACHE_CHECK([for QHeaderView::setSectionResizeMode],
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
384 [octave_cv_func_qheaderview_setsectionresizemode],
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
385 [AC_LANG_PUSH(C++)
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
386 ac_octave_save_CPPFLAGS="$CPPFLAGS"
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
387 ac_octave_save_CXXFLAGS="$CXXFLAGS"
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
388 CPPFLAGS="$QT_CPPFLAGS $CXXPICFLAG $CPPFLAGS"
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
389 CXXFLAGS="$CXXPICFLAG $CPPFLAGS"
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
390 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
391 #include <QHeaderView>
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
392 ]], [[
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
393 QHeaderView header_view (Qt::Horizontal);
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
394 header_view.setSectionResizeMode (QHeaderView::Interactive);
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
395 ]])],
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
396 octave_cv_func_qheaderview_setsectionresizemode=yes,
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
397 octave_cv_func_qheaderview_setsectionresizemode=no)
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
398 CPPFLAGS="$ac_octave_save_CPPFLAGS"
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
399 CXXFLAGS="$ac_octave_save_CXXFLAGS"
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
400 AC_LANG_POP(C++)
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
401 ])
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
402 if test $octave_cv_func_qheaderview_setsectionresizemode = yes; then
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
403 AC_DEFINE(HAVE_QHEADERVIEW_SETSECTIONRESIZEMODE, 1,
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
404 [Define to 1 if you have the `QHeaderView::setSectionResizeMode' member function.])
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
405 fi
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
406 ])
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
407 dnl
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
408 dnl Check whether the Qt QHeaderView class has the setSectionsClickable
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
409 dnl function. This function was introduced in Qt 5.
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
410 dnl
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
411 dnl FIXME: Delete this entirely when we drop support for Qt 4.
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
412 dnl
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
413 AC_DEFUN([OCTAVE_CHECK_FUNC_QHEADERVIEW_SETSECTIONSCLICKABLE], [
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
414 AC_CACHE_CHECK([for QHeaderView::setSectionsClickable],
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
415 [octave_cv_func_qheaderview_setsectionsclickable],
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
416 [AC_LANG_PUSH(C++)
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
417 ac_octave_save_CPPFLAGS="$CPPFLAGS"
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
418 ac_octave_save_CXXFLAGS="$CXXFLAGS"
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
419 CPPFLAGS="$QT_CPPFLAGS $CXXPICFLAG $CPPFLAGS"
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
420 CXXFLAGS="$CXXPICFLAG $CPPFLAGS"
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
421 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
422 #include <QHeaderView>
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
423 ]], [[
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
424 QHeaderView header_view (Qt::Horizontal);
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
425 header_view.setSectionsClickable (true);
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
426 ]])],
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
427 octave_cv_func_qheaderview_setsectionsclickable=yes,
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
428 octave_cv_func_qheaderview_setsectionsclickable=no)
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
429 CPPFLAGS="$ac_octave_save_CPPFLAGS"
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
430 CXXFLAGS="$ac_octave_save_CXXFLAGS"
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
431 AC_LANG_POP(C++)
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
432 ])
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
433 if test $octave_cv_func_qheaderview_setsectionsclickable = yes; then
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
434 AC_DEFINE(HAVE_QHEADERVIEW_SETSECTIONSCLICKABLE, 1,
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
435 [Define to 1 if you have the `QHeaderView::setSectionsClickable' member function.])
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
436 fi
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
437 ])
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
438 dnl
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
439 dnl Check whether the Qt QHeaderView class has the setSectionsMovable
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
440 dnl function. This function was introduced in Qt 5.
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
441 dnl
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
442 dnl FIXME: Delete this entirely when we drop support for Qt 4.
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
443 dnl
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
444 AC_DEFUN([OCTAVE_CHECK_FUNC_QHEADERVIEW_SETSECTIONSMOVABLE], [
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
445 AC_CACHE_CHECK([for QHeaderView::setSectionsMovable],
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
446 [octave_cv_func_qheaderview_setsectionsmovable],
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
447 [AC_LANG_PUSH(C++)
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
448 ac_octave_save_CPPFLAGS="$CPPFLAGS"
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
449 ac_octave_save_CXXFLAGS="$CXXFLAGS"
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
450 CPPFLAGS="$QT_CPPFLAGS $CXXPICFLAG $CPPFLAGS"
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
451 CXXFLAGS="$CXXPICFLAG $CPPFLAGS"
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
452 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
453 #include <QHeaderView>
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
454 ]], [[
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
455 QHeaderView header_view (Qt::Horizontal);
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
456 header_view.setSectionsMovable (true);
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
457 ]])],
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
458 octave_cv_func_qheaderview_setsectionsmovable=yes,
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
459 octave_cv_func_qheaderview_setsectionsmovable=no)
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
460 CPPFLAGS="$ac_octave_save_CPPFLAGS"
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
461 CXXFLAGS="$ac_octave_save_CXXFLAGS"
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
462 AC_LANG_POP(C++)
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
463 ])
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
464 if test $octave_cv_func_qheaderview_setsectionsmovable = yes; then
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
465 AC_DEFINE(HAVE_QHEADERVIEW_SETSECTIONSMOVABLE, 1,
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
466 [Define to 1 if you have the `QHeaderView::setSectionsMovable' member function.])
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
467 fi
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
468 ])
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
469 dnl
25061
5fef743c34d7 build: Check for new help query member in qt 5.9 (bug #53006).
Torsten <mttl@mailbox.org>
parents: 25054
diff changeset
470 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
471 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
472 dnl
5fef743c34d7 build: Check for new help query member in qt 5.9 (bug #53006).
Torsten <mttl@mailbox.org>
parents: 25054
diff changeset
473 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
474 dnl
5fef743c34d7 build: Check for new help query member in qt 5.9 (bug #53006).
Torsten <mttl@mailbox.org>
parents: 25054
diff changeset
475 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
476 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
477 [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
478 [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
479 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
480 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
481 CPPFLAGS="$QT_CPPFLAGS $CXXPICFLAG $CPPFLAGS"
5fef743c34d7 build: Check for new help query member in qt 5.9 (bug #53006).
Torsten <mttl@mailbox.org>
parents: 25054
diff changeset
482 CXXFLAGS="$CXXPICFLAG $CPPFLAGS"
5fef743c34d7 build: Check for new help query member in qt 5.9 (bug #53006).
Torsten <mttl@mailbox.org>
parents: 25054
diff changeset
483 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
484 #include <QHelpSearchQueryWidget>
5fef743c34d7 build: Check for new help query member in qt 5.9 (bug #53006).
Torsten <mttl@mailbox.org>
parents: 25054
diff changeset
485 #include <QString>
5fef743c34d7 build: Check for new help query member in qt 5.9 (bug #53006).
Torsten <mttl@mailbox.org>
parents: 25054
diff changeset
486 ]], [[
5fef743c34d7 build: Check for new help query member in qt 5.9 (bug #53006).
Torsten <mttl@mailbox.org>
parents: 25054
diff changeset
487 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
488 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
489 ]])],
5fef743c34d7 build: Check for new help query member in qt 5.9 (bug #53006).
Torsten <mttl@mailbox.org>
parents: 25054
diff changeset
490 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
491 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
492 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
493 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
494 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
495 ])
5fef743c34d7 build: Check for new help query member in qt 5.9 (bug #53006).
Torsten <mttl@mailbox.org>
parents: 25054
diff changeset
496 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
497 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
498 [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
499 fi
5fef743c34d7 build: Check for new help query member in qt 5.9 (bug #53006).
Torsten <mttl@mailbox.org>
parents: 25054
diff changeset
500 ])
5fef743c34d7 build: Check for new help query member in qt 5.9 (bug #53006).
Torsten <mttl@mailbox.org>
parents: 25054
diff changeset
501 dnl
24827
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
502 dnl Check whether the Qt function qInstallMessageHandler is available.
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
503 dnl This function was introduced in Qt 5.
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
504 dnl
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
505 dnl FIXME: Delete this entirely when we drop support for Qt 4.
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
506 dnl
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
507 AC_DEFUN([OCTAVE_CHECK_FUNC_QINSTALLMESSAGEHANDLER], [
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
508 AC_CACHE_CHECK([for qInstallMessageHandler],
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
509 [octave_cv_func_qinstallmessagehandler],
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
510 [AC_LANG_PUSH(C++)
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
511 ac_octave_save_CPPFLAGS="$CPPFLAGS"
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
512 ac_octave_save_CXXFLAGS="$CXXFLAGS"
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
513 CPPFLAGS="$QT_CPPFLAGS $CXXPICFLAG $CPPFLAGS"
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
514 CXXFLAGS="$CXXPICFLAG $CPPFLAGS"
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
515 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
516 #include <QtGlobal>
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
517 ]], [[
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
518 qInstallMessageHandler (nullptr);
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
519 ]])],
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
520 octave_cv_func_qinstallmessagehandler=yes,
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
521 octave_cv_func_qinstallmessagehandler=no)
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
522 CPPFLAGS="$ac_octave_save_CPPFLAGS"
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
523 CXXFLAGS="$ac_octave_save_CXXFLAGS"
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
524 AC_LANG_POP(C++)
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
525 ])
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
526 if test $octave_cv_func_qinstallmessagehandler = yes; then
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
527 AC_DEFINE(HAVE_QINSTALLMESSAGEHANDLER, 1,
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
528 [Define to 1 if you have the `qInstallMessageHandler' function.])
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
529 fi
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
530 ])
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
531 dnl
24093
7d9ba57201b4 configure: improve Qt feature tests for functionality and consistency
Mike Miller <mtmiller@octave.org>
parents: 24077
diff changeset
532 dnl Check whether the Qt class QLineEdit has the setPlaceholderText member
7d9ba57201b4 configure: improve Qt feature tests for functionality and consistency
Mike Miller <mtmiller@octave.org>
parents: 24077
diff changeset
533 dnl function. This member function was introduced in Qt 4.7.
18216
e54cfaae830b Make editor tabs draggable if feature is available
Richard Crozier richard dot crozier(at)yahoo.co.uk
parents: 18141
diff changeset
534 dnl
24093
7d9ba57201b4 configure: improve Qt feature tests for functionality and consistency
Mike Miller <mtmiller@octave.org>
parents: 24077
diff changeset
535 dnl FIXME: Delete this entirely when we can safely assume that Qt 4.7 or later
7d9ba57201b4 configure: improve Qt feature tests for functionality and consistency
Mike Miller <mtmiller@octave.org>
parents: 24077
diff changeset
536 dnl is in use everywhere, or when we drop support for Qt 4.
7d9ba57201b4 configure: improve Qt feature tests for functionality and consistency
Mike Miller <mtmiller@octave.org>
parents: 24077
diff changeset
537 dnl
7d9ba57201b4 configure: improve Qt feature tests for functionality and consistency
Mike Miller <mtmiller@octave.org>
parents: 24077
diff changeset
538 AC_DEFUN([OCTAVE_CHECK_FUNC_QLINEEDIT_SETPLACEHOLDERTEXT], [
7d9ba57201b4 configure: improve Qt feature tests for functionality and consistency
Mike Miller <mtmiller@octave.org>
parents: 24077
diff changeset
539 AC_CACHE_CHECK([for QLineEdit::setPlaceholderText in <QLinedEdit>],
7d9ba57201b4 configure: improve Qt feature tests for functionality and consistency
Mike Miller <mtmiller@octave.org>
parents: 24077
diff changeset
540 [octave_cv_func_qlineedit_setplaceholdertext],
18216
e54cfaae830b Make editor tabs draggable if feature is available
Richard Crozier richard dot crozier(at)yahoo.co.uk
parents: 18141
diff changeset
541 [AC_LANG_PUSH(C++)
e54cfaae830b Make editor tabs draggable if feature is available
Richard Crozier richard dot crozier(at)yahoo.co.uk
parents: 18141
diff changeset
542 ac_octave_save_CPPFLAGS="$CPPFLAGS"
22234
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
543 ac_octave_save_CXXFLAGS="$CXXFLAGS"
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
544 CPPFLAGS="$QT_CPPFLAGS $CXXPICFLAG $CPPFLAGS"
24093
7d9ba57201b4 configure: improve Qt feature tests for functionality and consistency
Mike Miller <mtmiller@octave.org>
parents: 24077
diff changeset
545 CXXFLAGS="$CXXPICFLAG $CPPFLAGS"
18216
e54cfaae830b Make editor tabs draggable if feature is available
Richard Crozier richard dot crozier(at)yahoo.co.uk
parents: 18141
diff changeset
546 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
24093
7d9ba57201b4 configure: improve Qt feature tests for functionality and consistency
Mike Miller <mtmiller@octave.org>
parents: 24077
diff changeset
547 #include <QLineEdit>
18216
e54cfaae830b Make editor tabs draggable if feature is available
Richard Crozier richard dot crozier(at)yahoo.co.uk
parents: 18141
diff changeset
548 ]], [[
24093
7d9ba57201b4 configure: improve Qt feature tests for functionality and consistency
Mike Miller <mtmiller@octave.org>
parents: 24077
diff changeset
549 QLineEdit line_edit;
7d9ba57201b4 configure: improve Qt feature tests for functionality and consistency
Mike Miller <mtmiller@octave.org>
parents: 24077
diff changeset
550 line_edit.setPlaceholderText ("placeholder text");
18216
e54cfaae830b Make editor tabs draggable if feature is available
Richard Crozier richard dot crozier(at)yahoo.co.uk
parents: 18141
diff changeset
551 ]])],
24093
7d9ba57201b4 configure: improve Qt feature tests for functionality and consistency
Mike Miller <mtmiller@octave.org>
parents: 24077
diff changeset
552 octave_cv_func_qlineedit_setplaceholdertext=yes,
7d9ba57201b4 configure: improve Qt feature tests for functionality and consistency
Mike Miller <mtmiller@octave.org>
parents: 24077
diff changeset
553 octave_cv_func_qlineedit_setplaceholdertext=no)
18216
e54cfaae830b Make editor tabs draggable if feature is available
Richard Crozier richard dot crozier(at)yahoo.co.uk
parents: 18141
diff changeset
554 CPPFLAGS="$ac_octave_save_CPPFLAGS"
22234
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
555 CXXFLAGS="$ac_octave_save_CXXFLAGS"
18216
e54cfaae830b Make editor tabs draggable if feature is available
Richard Crozier richard dot crozier(at)yahoo.co.uk
parents: 18141
diff changeset
556 AC_LANG_POP(C++)
e54cfaae830b Make editor tabs draggable if feature is available
Richard Crozier richard dot crozier(at)yahoo.co.uk
parents: 18141
diff changeset
557 ])
24093
7d9ba57201b4 configure: improve Qt feature tests for functionality and consistency
Mike Miller <mtmiller@octave.org>
parents: 24077
diff changeset
558 if test $octave_cv_func_qlineedit_setplaceholdertext = yes; then
7d9ba57201b4 configure: improve Qt feature tests for functionality and consistency
Mike Miller <mtmiller@octave.org>
parents: 24077
diff changeset
559 AC_DEFINE(HAVE_QLINEEDIT_SETPLACEHOLDERTEXT, 1,
7d9ba57201b4 configure: improve Qt feature tests for functionality and consistency
Mike Miller <mtmiller@octave.org>
parents: 24077
diff changeset
560 [Define to 1 if you have the `QLineEdit::setPlaceholderText' member function.])
18216
e54cfaae830b Make editor tabs draggable if feature is available
Richard Crozier richard dot crozier(at)yahoo.co.uk
parents: 18141
diff changeset
561 fi
e54cfaae830b Make editor tabs draggable if feature is available
Richard Crozier richard dot crozier(at)yahoo.co.uk
parents: 18141
diff changeset
562 ])
e54cfaae830b Make editor tabs draggable if feature is available
Richard Crozier richard dot crozier(at)yahoo.co.uk
parents: 18141
diff changeset
563 dnl
24827
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
564 dnl Check whether the Qt QMouseEvent class has the localPos function.
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
565 dnl This function was introduced in Qt 5.
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
566 dnl
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
567 dnl FIXME: Delete this entirely when we drop support for Qt 4.
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
568 dnl
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
569 AC_DEFUN([OCTAVE_CHECK_FUNC_QMOUSEEVENT_LOCALPOS], [
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
570 AC_CACHE_CHECK([for QMouseEvent::localPos],
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
571 [octave_cv_func_qmouseevent_localpos],
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
572 [AC_LANG_PUSH(C++)
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
573 ac_octave_save_CPPFLAGS="$CPPFLAGS"
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
574 ac_octave_save_CXXFLAGS="$CXXFLAGS"
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
575 CPPFLAGS="$QT_CPPFLAGS $CXXPICFLAG $CPPFLAGS"
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
576 CXXFLAGS="$CXXPICFLAG $CPPFLAGS"
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
577 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
578 #include <QMouseEvent>
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
579 ]], [[
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
580 QMouseEvent *event;
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
581 event->localPos ();
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
582 ]])],
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
583 octave_cv_func_qmouseevent_localpos=yes,
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
584 octave_cv_func_qmouseevent_localpos=no)
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
585 CPPFLAGS="$ac_octave_save_CPPFLAGS"
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
586 CXXFLAGS="$ac_octave_save_CXXFLAGS"
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
587 AC_LANG_POP(C++)
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
588 ])
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
589 if test $octave_cv_func_qmouseevent_localpos = yes; then
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
590 AC_DEFINE(HAVE_QMOUSEEVENT_LOCALPOS, 1,
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
591 [Define to 1 if you have the `QMouseEvent::localPos' member function.])
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
592 fi
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
593 ])
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
594 dnl
24823
53f68d0fb122 acinclude.m4: Keep macros in alphabetical order.
Rik <rik@octave.org>
parents: 24821
diff changeset
595 dnl Check whether QObject::findChildren accepts Qt::FindChildOptions
53f68d0fb122 acinclude.m4: Keep macros in alphabetical order.
Rik <rik@octave.org>
parents: 24821
diff changeset
596 dnl argument.
53f68d0fb122 acinclude.m4: Keep macros in alphabetical order.
Rik <rik@octave.org>
parents: 24821
diff changeset
597 dnl
53f68d0fb122 acinclude.m4: Keep macros in alphabetical order.
Rik <rik@octave.org>
parents: 24821
diff changeset
598 dnl FIXME: Delete this entirely when we drop support for Qt 4.
53f68d0fb122 acinclude.m4: Keep macros in alphabetical order.
Rik <rik@octave.org>
parents: 24821
diff changeset
599 dnl
53f68d0fb122 acinclude.m4: Keep macros in alphabetical order.
Rik <rik@octave.org>
parents: 24821
diff changeset
600 AC_DEFUN([OCTAVE_CHECK_FUNC_QOBJECT_FINDCHILDREN_ACCEPTS_FINDCHILDOPTIONS], [
53f68d0fb122 acinclude.m4: Keep macros in alphabetical order.
Rik <rik@octave.org>
parents: 24821
diff changeset
601 AC_CACHE_CHECK([whether QObject::findChildren accepts Qt::FindChildOptions],
53f68d0fb122 acinclude.m4: Keep macros in alphabetical order.
Rik <rik@octave.org>
parents: 24821
diff changeset
602 [octave_cv_func_qobject_findchildren_accepts_findchildoptions],
53f68d0fb122 acinclude.m4: Keep macros in alphabetical order.
Rik <rik@octave.org>
parents: 24821
diff changeset
603 [AC_LANG_PUSH(C++)
53f68d0fb122 acinclude.m4: Keep macros in alphabetical order.
Rik <rik@octave.org>
parents: 24821
diff changeset
604 ac_octave_save_CPPFLAGS="$CPPFLAGS"
53f68d0fb122 acinclude.m4: Keep macros in alphabetical order.
Rik <rik@octave.org>
parents: 24821
diff changeset
605 ac_octave_save_CXXFLAGS="$CXXFLAGS"
53f68d0fb122 acinclude.m4: Keep macros in alphabetical order.
Rik <rik@octave.org>
parents: 24821
diff changeset
606 CPPFLAGS="$QT_CPPFLAGS $CXXPICFLAG $CPPFLAGS"
53f68d0fb122 acinclude.m4: Keep macros in alphabetical order.
Rik <rik@octave.org>
parents: 24821
diff changeset
607 CXXFLAGS="$CXXPICFLAG $CXXFLAGS"
53f68d0fb122 acinclude.m4: Keep macros in alphabetical order.
Rik <rik@octave.org>
parents: 24821
diff changeset
608 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
53f68d0fb122 acinclude.m4: Keep macros in alphabetical order.
Rik <rik@octave.org>
parents: 24821
diff changeset
609 #include <QList>
53f68d0fb122 acinclude.m4: Keep macros in alphabetical order.
Rik <rik@octave.org>
parents: 24821
diff changeset
610 #include <QObject>
53f68d0fb122 acinclude.m4: Keep macros in alphabetical order.
Rik <rik@octave.org>
parents: 24821
diff changeset
611 #include <QWidget>
53f68d0fb122 acinclude.m4: Keep macros in alphabetical order.
Rik <rik@octave.org>
parents: 24821
diff changeset
612 ]], [[
53f68d0fb122 acinclude.m4: Keep macros in alphabetical order.
Rik <rik@octave.org>
parents: 24821
diff changeset
613 QObject obj;
53f68d0fb122 acinclude.m4: Keep macros in alphabetical order.
Rik <rik@octave.org>
parents: 24821
diff changeset
614 QList<QWidget *> widgets
53f68d0fb122 acinclude.m4: Keep macros in alphabetical order.
Rik <rik@octave.org>
parents: 24821
diff changeset
615 = obj.findChildren<QWidget *> ("name", Qt::FindDirectChildrenOnly);
53f68d0fb122 acinclude.m4: Keep macros in alphabetical order.
Rik <rik@octave.org>
parents: 24821
diff changeset
616 ]])],
53f68d0fb122 acinclude.m4: Keep macros in alphabetical order.
Rik <rik@octave.org>
parents: 24821
diff changeset
617 octave_cv_func_qobject_findchildren_accepts_findchildoptions=yes,
53f68d0fb122 acinclude.m4: Keep macros in alphabetical order.
Rik <rik@octave.org>
parents: 24821
diff changeset
618 octave_cv_func_qobject_findchildren_accepts_findchildoptions=no)
53f68d0fb122 acinclude.m4: Keep macros in alphabetical order.
Rik <rik@octave.org>
parents: 24821
diff changeset
619 CPPFLAGS="$ac_octave_save_CPPFLAGS"
53f68d0fb122 acinclude.m4: Keep macros in alphabetical order.
Rik <rik@octave.org>
parents: 24821
diff changeset
620 CXXFLAGS="$ac_octave_save_CXXFLAGS"
53f68d0fb122 acinclude.m4: Keep macros in alphabetical order.
Rik <rik@octave.org>
parents: 24821
diff changeset
621 AC_LANG_POP(C++)
53f68d0fb122 acinclude.m4: Keep macros in alphabetical order.
Rik <rik@octave.org>
parents: 24821
diff changeset
622 ])
24825
e08c1fea96c5 acinclude.m4: Fix another typo in cset 53f68d0fb122.
Rik <rik@octave.org>
parents: 24824
diff changeset
623 if test $octave_cv_func_qobject_findchildren_accepts_findchildoptions = yes; then
24824
cce5d2ea39ff acinclude.m4: Fix typo in previous cset (53f68d0fb122).
Rik <rik@octave.org>
parents: 24823
diff changeset
624 AC_DEFINE(QOBJECT_FINDCHILDREN_ACCEPTS_FINDCHILDOPTIONS, 1,
24823
53f68d0fb122 acinclude.m4: Keep macros in alphabetical order.
Rik <rik@octave.org>
parents: 24821
diff changeset
625 [Define to 1 if 'QObject::findChildren' accepts 'Qt::FindChildOptions' argument.])
53f68d0fb122 acinclude.m4: Keep macros in alphabetical order.
Rik <rik@octave.org>
parents: 24821
diff changeset
626 fi
53f68d0fb122 acinclude.m4: Keep macros in alphabetical order.
Rik <rik@octave.org>
parents: 24821
diff changeset
627 ])
53f68d0fb122 acinclude.m4: Keep macros in alphabetical order.
Rik <rik@octave.org>
parents: 24821
diff changeset
628 dnl
25884
4e108574385c Improve OpenGL rendering on high resolution screens with Qt 5 (bug #49053)
John Swensen <jpswensen@gmail.com>
parents: 25862
diff changeset
629 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
630 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
631 dnl
4e108574385c Improve OpenGL rendering on high resolution screens with Qt 5 (bug #49053)
John Swensen <jpswensen@gmail.com>
parents: 25862
diff changeset
632 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
633 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
634 [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
635 [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
636 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
637 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
638 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
639 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
640 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
641 #include <QApplication>
4e108574385c Improve OpenGL rendering on high resolution screens with Qt 5 (bug #49053)
John Swensen <jpswensen@gmail.com>
parents: 25862
diff changeset
642 #include <QScreen>
4e108574385c Improve OpenGL rendering on high resolution screens with Qt 5 (bug #49053)
John Swensen <jpswensen@gmail.com>
parents: 25862
diff changeset
643 ]], [[
4e108574385c Improve OpenGL rendering on high resolution screens with Qt 5 (bug #49053)
John Swensen <jpswensen@gmail.com>
parents: 25862
diff changeset
644 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
645 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
646 ]])],
4e108574385c Improve OpenGL rendering on high resolution screens with Qt 5 (bug #49053)
John Swensen <jpswensen@gmail.com>
parents: 25862
diff changeset
647 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
648 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
649 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
650 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
651 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
652 ])
4e108574385c Improve OpenGL rendering on high resolution screens with Qt 5 (bug #49053)
John Swensen <jpswensen@gmail.com>
parents: 25862
diff changeset
653 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
654 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
655 [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
656 fi
4e108574385c Improve OpenGL rendering on high resolution screens with Qt 5 (bug #49053)
John Swensen <jpswensen@gmail.com>
parents: 25862
diff changeset
657 ])
4e108574385c Improve OpenGL rendering on high resolution screens with Qt 5 (bug #49053)
John Swensen <jpswensen@gmail.com>
parents: 25862
diff changeset
658 dnl
24093
7d9ba57201b4 configure: improve Qt feature tests for functionality and consistency
Mike Miller <mtmiller@octave.org>
parents: 24077
diff changeset
659 dnl Check whether the Qt class QTabWidget has the setMovable member function.
7d9ba57201b4 configure: improve Qt feature tests for functionality and consistency
Mike Miller <mtmiller@octave.org>
parents: 24077
diff changeset
660 dnl This member function was introduced in Qt 4.5.
7d9ba57201b4 configure: improve Qt feature tests for functionality and consistency
Mike Miller <mtmiller@octave.org>
parents: 24077
diff changeset
661 dnl
7d9ba57201b4 configure: improve Qt feature tests for functionality and consistency
Mike Miller <mtmiller@octave.org>
parents: 24077
diff changeset
662 dnl FIXME: Delete this entirely when we can safely assume that Qt 4.5 or later
7d9ba57201b4 configure: improve Qt feature tests for functionality and consistency
Mike Miller <mtmiller@octave.org>
parents: 24077
diff changeset
663 dnl is in use everywhere, or when we drop support for Qt 4.
18216
e54cfaae830b Make editor tabs draggable if feature is available
Richard Crozier richard dot crozier(at)yahoo.co.uk
parents: 18141
diff changeset
664 dnl
e54cfaae830b Make editor tabs draggable if feature is available
Richard Crozier richard dot crozier(at)yahoo.co.uk
parents: 18141
diff changeset
665 AC_DEFUN([OCTAVE_CHECK_FUNC_QTABWIDGET_SETMOVABLE], [
24093
7d9ba57201b4 configure: improve Qt feature tests for functionality and consistency
Mike Miller <mtmiller@octave.org>
parents: 24077
diff changeset
666 AC_CACHE_CHECK([for QTabWidget::setMovable in <QTabWidget>],
18216
e54cfaae830b Make editor tabs draggable if feature is available
Richard Crozier richard dot crozier(at)yahoo.co.uk
parents: 18141
diff changeset
667 [octave_cv_func_qtabwidget_setmovable],
e54cfaae830b Make editor tabs draggable if feature is available
Richard Crozier richard dot crozier(at)yahoo.co.uk
parents: 18141
diff changeset
668 [AC_LANG_PUSH(C++)
e54cfaae830b Make editor tabs draggable if feature is available
Richard Crozier richard dot crozier(at)yahoo.co.uk
parents: 18141
diff changeset
669 ac_octave_save_CPPFLAGS="$CPPFLAGS"
22234
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
670 ac_octave_save_CXXFLAGS="$CXXFLAGS"
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
671 CPPFLAGS="$QT_CPPFLAGS $CXXPICFLAG $CPPFLAGS"
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
672 CXXFLAGS="$CXXPICFLAG $CXXFLAGS"
18216
e54cfaae830b Make editor tabs draggable if feature is available
Richard Crozier richard dot crozier(at)yahoo.co.uk
parents: 18141
diff changeset
673 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
e54cfaae830b Make editor tabs draggable if feature is available
Richard Crozier richard dot crozier(at)yahoo.co.uk
parents: 18141
diff changeset
674 #include <QTabWidget>
e54cfaae830b Make editor tabs draggable if feature is available
Richard Crozier richard dot crozier(at)yahoo.co.uk
parents: 18141
diff changeset
675 class tab_widget : public QTabWidget
e54cfaae830b Make editor tabs draggable if feature is available
Richard Crozier richard dot crozier(at)yahoo.co.uk
parents: 18141
diff changeset
676 {
e54cfaae830b Make editor tabs draggable if feature is available
Richard Crozier richard dot crozier(at)yahoo.co.uk
parents: 18141
diff changeset
677 public:
e54cfaae830b Make editor tabs draggable if feature is available
Richard Crozier richard dot crozier(at)yahoo.co.uk
parents: 18141
diff changeset
678 tab_widget (QWidget *parent = 0) : QTabWidget (parent) { this->setMovable (true); }
e54cfaae830b Make editor tabs draggable if feature is available
Richard Crozier richard dot crozier(at)yahoo.co.uk
parents: 18141
diff changeset
679 ~tab_widget () {}
e54cfaae830b Make editor tabs draggable if feature is available
Richard Crozier richard dot crozier(at)yahoo.co.uk
parents: 18141
diff changeset
680 };
e54cfaae830b Make editor tabs draggable if feature is available
Richard Crozier richard dot crozier(at)yahoo.co.uk
parents: 18141
diff changeset
681 ]], [[
e54cfaae830b Make editor tabs draggable if feature is available
Richard Crozier richard dot crozier(at)yahoo.co.uk
parents: 18141
diff changeset
682 tab_widget tw;
e54cfaae830b Make editor tabs draggable if feature is available
Richard Crozier richard dot crozier(at)yahoo.co.uk
parents: 18141
diff changeset
683 ]])],
e54cfaae830b Make editor tabs draggable if feature is available
Richard Crozier richard dot crozier(at)yahoo.co.uk
parents: 18141
diff changeset
684 octave_cv_func_qtabwidget_setmovable=yes,
e54cfaae830b Make editor tabs draggable if feature is available
Richard Crozier richard dot crozier(at)yahoo.co.uk
parents: 18141
diff changeset
685 octave_cv_func_qtabwidget_setmovable=no)
e54cfaae830b Make editor tabs draggable if feature is available
Richard Crozier richard dot crozier(at)yahoo.co.uk
parents: 18141
diff changeset
686 CPPFLAGS="$ac_octave_save_CPPFLAGS"
22234
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
687 CXXFLAGS="$ac_octave_save_CXXFLAGS"
18216
e54cfaae830b Make editor tabs draggable if feature is available
Richard Crozier richard dot crozier(at)yahoo.co.uk
parents: 18141
diff changeset
688 AC_LANG_POP(C++)
e54cfaae830b Make editor tabs draggable if feature is available
Richard Crozier richard dot crozier(at)yahoo.co.uk
parents: 18141
diff changeset
689 ])
e54cfaae830b Make editor tabs draggable if feature is available
Richard Crozier richard dot crozier(at)yahoo.co.uk
parents: 18141
diff changeset
690 if test $octave_cv_func_qtabwidget_setmovable = yes; then
e54cfaae830b Make editor tabs draggable if feature is available
Richard Crozier richard dot crozier(at)yahoo.co.uk
parents: 18141
diff changeset
691 AC_DEFINE(HAVE_QTABWIDGET_SETMOVABLE, 1,
24093
7d9ba57201b4 configure: improve Qt feature tests for functionality and consistency
Mike Miller <mtmiller@octave.org>
parents: 24077
diff changeset
692 [Define to 1 if you have the `QTabWidget::setMovable' member function.])
18854
0a66861d8069 implementation of search in selection in gui editor (bbug #41196)
Torsten <ttl@justmail.de>
parents: 18216
diff changeset
693 fi
0a66861d8069 implementation of search in selection in gui editor (bbug #41196)
Torsten <ttl@justmail.de>
parents: 18216
diff changeset
694 ])
0a66861d8069 implementation of search in selection in gui editor (bbug #41196)
Torsten <ttl@justmail.de>
parents: 18216
diff changeset
695 dnl
27215
274766cae722 allow building with Qt4 to work again
John W. Eaton <jwe@octave.org>
parents: 27134
diff changeset
696 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
697 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
698 dnl
274766cae722 allow building with Qt4 to work again
John W. Eaton <jwe@octave.org>
parents: 27134
diff changeset
699 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
700 dnl
274766cae722 allow building with Qt4 to work again
John W. Eaton <jwe@octave.org>
parents: 27134
diff changeset
701 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
702 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
703 [octave_cv_func_qwheelevent_angledelta],
274766cae722 allow building with Qt4 to work again
John W. Eaton <jwe@octave.org>
parents: 27134
diff changeset
704 [AC_LANG_PUSH(C++)
274766cae722 allow building with Qt4 to work again
John W. Eaton <jwe@octave.org>
parents: 27134
diff changeset
705 ac_octave_save_CPPFLAGS="$CPPFLAGS"
274766cae722 allow building with Qt4 to work again
John W. Eaton <jwe@octave.org>
parents: 27134
diff changeset
706 ac_octave_save_CXXFLAGS="$CXXFLAGS"
274766cae722 allow building with Qt4 to work again
John W. Eaton <jwe@octave.org>
parents: 27134
diff changeset
707 CPPFLAGS="$QT_CPPFLAGS $CXXPICFLAG $CPPFLAGS"
274766cae722 allow building with Qt4 to work again
John W. Eaton <jwe@octave.org>
parents: 27134
diff changeset
708 CXXFLAGS="$CXXPICFLAG $CXXFLAGS"
274766cae722 allow building with Qt4 to work again
John W. Eaton <jwe@octave.org>
parents: 27134
diff changeset
709 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
274766cae722 allow building with Qt4 to work again
John W. Eaton <jwe@octave.org>
parents: 27134
diff changeset
710 #include <QWheelEvent>
274766cae722 allow building with Qt4 to work again
John W. Eaton <jwe@octave.org>
parents: 27134
diff changeset
711 class wheel_event : public QWheelEvent
274766cae722 allow building with Qt4 to work again
John W. Eaton <jwe@octave.org>
parents: 27134
diff changeset
712 {
274766cae722 allow building with Qt4 to work again
John W. Eaton <jwe@octave.org>
parents: 27134
diff changeset
713 public:
274766cae722 allow building with Qt4 to work again
John W. Eaton <jwe@octave.org>
parents: 27134
diff changeset
714 wheel_event (QWidget *parent = 0) : QWheelEvent (parent) { this->angleDelta (); }
274766cae722 allow building with Qt4 to work again
John W. Eaton <jwe@octave.org>
parents: 27134
diff changeset
715 ~wheel_event () {}
274766cae722 allow building with Qt4 to work again
John W. Eaton <jwe@octave.org>
parents: 27134
diff changeset
716 };
274766cae722 allow building with Qt4 to work again
John W. Eaton <jwe@octave.org>
parents: 27134
diff changeset
717 ]], [[
274766cae722 allow building with Qt4 to work again
John W. Eaton <jwe@octave.org>
parents: 27134
diff changeset
718 wheel_event tw;
274766cae722 allow building with Qt4 to work again
John W. Eaton <jwe@octave.org>
parents: 27134
diff changeset
719 ]])],
274766cae722 allow building with Qt4 to work again
John W. Eaton <jwe@octave.org>
parents: 27134
diff changeset
720 octave_cv_func_qwheelevent_angledelta=yes,
274766cae722 allow building with Qt4 to work again
John W. Eaton <jwe@octave.org>
parents: 27134
diff changeset
721 octave_cv_func_qwheelevent_angledelta=no)
274766cae722 allow building with Qt4 to work again
John W. Eaton <jwe@octave.org>
parents: 27134
diff changeset
722 CPPFLAGS="$ac_octave_save_CPPFLAGS"
274766cae722 allow building with Qt4 to work again
John W. Eaton <jwe@octave.org>
parents: 27134
diff changeset
723 CXXFLAGS="$ac_octave_save_CXXFLAGS"
274766cae722 allow building with Qt4 to work again
John W. Eaton <jwe@octave.org>
parents: 27134
diff changeset
724 AC_LANG_POP(C++)
274766cae722 allow building with Qt4 to work again
John W. Eaton <jwe@octave.org>
parents: 27134
diff changeset
725 ])
274766cae722 allow building with Qt4 to work again
John W. Eaton <jwe@octave.org>
parents: 27134
diff changeset
726 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
727 AC_DEFINE(HAVE_QWHEELEVENT_ANGLEDELTA, 1,
274766cae722 allow building with Qt4 to work again
John W. Eaton <jwe@octave.org>
parents: 27134
diff changeset
728 [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
729 fi
274766cae722 allow building with Qt4 to work again
John W. Eaton <jwe@octave.org>
parents: 27134
diff changeset
730 ])
274766cae722 allow building with Qt4 to work again
John W. Eaton <jwe@octave.org>
parents: 27134
diff changeset
731 dnl
24827
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
732 dnl Check whether Qt message handler function accepts QMessageLogContext
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
733 dnl argument. This change was introduced in Qt 5.
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
734 dnl
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
735 dnl FIXME: Delete this entirely when we drop support for Qt 4.
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
736 dnl
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
737 AC_DEFUN([OCTAVE_CHECK_FUNC_QTMESSAGEHANDLER_ACCEPTS_QMESSAGELOGCONTEXT], [
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
738 AC_CACHE_CHECK([whether Qt message handler accepts QMessageLogContext],
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
739 [octave_cv_func_qtmessagehandler_accepts_qmessagelogcontext],
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
740 [AC_LANG_PUSH(C++)
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
741 ac_octave_save_CPPFLAGS="$CPPFLAGS"
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
742 ac_octave_save_CXXFLAGS="$CXXFLAGS"
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
743 CPPFLAGS="$QT_CPPFLAGS $CXXPICFLAG $CPPFLAGS"
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
744 CXXFLAGS="$CXXPICFLAG $CXXFLAGS"
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
745 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
746 #include <QtGlobal>
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
747 static void
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
748 msg_handler (QtMsgType, const QMessageLogContext &, const QString &)
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
749 { }
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
750 ]], [[
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
751 QtMessageHandler fptr = msg_handler;
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
752 ]])],
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
753 octave_cv_func_qtmessagehandler_accepts_qmessagelogcontext=yes,
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
754 octave_cv_func_qtmessagehandler_accepts_qmessagelogcontext=no)
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
755 CPPFLAGS="$ac_octave_save_CPPFLAGS"
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
756 CXXFLAGS="$ac_octave_save_CXXFLAGS"
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
757 AC_LANG_POP(C++)
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
758 ])
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
759 if test $octave_cv_func_qtmessagehandler_accepts_qmessagelogcontext = yes; then
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
760 AC_DEFINE(QTMESSAGEHANDLER_ACCEPTS_QMESSAGELOGCONTEXT, 1,
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
761 [Define to 1 if Qt message handler accepts 'QMessageLogContext' argument.])
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
762 fi
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
763 ])
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
764 dnl
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
765 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
766 dnl
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
767 AC_DEFUN([OCTAVE_CHECK_HDF5_HAS_VER_16_API], [
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
768 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
769 [octave_cv_hdf5_has_ver_16_api],
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
770 [AC_LINK_IFELSE([AC_LANG_PROGRAM([[
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
771 #include <hdf5.h>
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
772 ]], [[
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
773 H5Eset_auto (0, 0);
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
774 ]])],
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
775 octave_cv_hdf5_has_ver_16_api=yes,
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
776 octave_cv_hdf5_has_ver_16_api=no)
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
777 ])
15336
5fff79162342 acinclude.m4: Put temporary shell variables in macros into ac_octave namespace.
Rik <rik@octave.org>
parents: 15330
diff changeset
778 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
779 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
780 fi
14605
28e53daab1f8 Cleanup on autoconf warnings
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 14550
diff changeset
781 ])
28e53daab1f8 Cleanup on autoconf warnings
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 14550
diff changeset
782 dnl
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
783 dnl Usage:
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
784 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
785 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
786 dnl REQUIRED)
14605
28e53daab1f8 Cleanup on autoconf warnings
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 14550
diff changeset
787 dnl
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
788 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
789 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
790 [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
791 [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
792 [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
793 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
794
23017
0f22914be30e * acinclude.m4 (OCTAVE_CHECK_LIB): Downcase --with-XYZ options.
John W. Eaton <jwe@octave.org>
parents: 23008
diff changeset
795 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
796 [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
797 [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
798 [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
799 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
800
23017
0f22914be30e * acinclude.m4 (OCTAVE_CHECK_LIB): Downcase --with-XYZ options.
John W. Eaton <jwe@octave.org>
parents: 23008
diff changeset
801 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
802 [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
803 [m4_ifblank([$7],
23017
0f22914be30e * acinclude.m4 (OCTAVE_CHECK_LIB): Downcase --with-XYZ options.
John W. Eaton <jwe@octave.org>
parents: 23008
diff changeset
804 [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
805 [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
806 [m4_ifblank([$7],
23017
0f22914be30e * acinclude.m4 (OCTAVE_CHECK_LIB): Downcase --with-XYZ options.
John W. Eaton <jwe@octave.org>
parents: 23008
diff changeset
807 [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
808 [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
809 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
810
22039
0a528a6dac95 build: use pkg-config in OCTAVE_CHECK_LIB without overriding user options
Mike Miller <mtmiller@octave.org>
parents: 22036
diff changeset
811 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
812 m4_toupper([$1])_LIBS=
21381
e5d96f39a37d configure script fixes
John W. Eaton <jwe@octave.org>
parents: 21374
diff changeset
813 warn_$1="$3"
9519
ee99f9f37505 improve configure checks for qhull and curl libs
John W. Eaton <jwe@octave.org>
parents: 9515
diff changeset
814 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
815 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
816 ifelse([$#], 10,
23017
0f22914be30e * acinclude.m4 (OCTAVE_CHECK_LIB): Downcase --with-XYZ options.
John W. Eaton <jwe@octave.org>
parents: 23008
diff changeset
817 [AC_MSG_ERROR([--without-m4_tolower($1) specified but $2 is required.])],
0f22914be30e * acinclude.m4 (OCTAVE_CHECK_LIB): Downcase --with-XYZ options.
John W. Eaton <jwe@octave.org>
parents: 23008
diff changeset
818 [warn_$1="--without-m4_tolower($1) specified. Functions or features that depend on $2 will be disabled."
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
819 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
820 ;;
9519
ee99f9f37505 improve configure checks for qhull and curl libs
John W. Eaton <jwe@octave.org>
parents: 9515
diff changeset
821 yes | "")
22039
0a528a6dac95 build: use pkg-config in OCTAVE_CHECK_LIB without overriding user options
Mike Miller <mtmiller@octave.org>
parents: 22036
diff changeset
822 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
823 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
824 ;;
ee99f9f37505 improve configure checks for qhull and curl libs
John W. Eaton <jwe@octave.org>
parents: 9515
diff changeset
825 -* | */* | *.a | *.so | *.so.* | *.o)
ee99f9f37505 improve configure checks for qhull and curl libs
John W. Eaton <jwe@octave.org>
parents: 9515
diff changeset
826 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
827 ;;
ee99f9f37505 improve configure checks for qhull and curl libs
John W. Eaton <jwe@octave.org>
parents: 9515
diff changeset
828 *)
ee99f9f37505 improve configure checks for qhull and curl libs
John W. Eaton <jwe@octave.org>
parents: 9515
diff changeset
829 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
830 ;;
ee99f9f37505 improve configure checks for qhull and curl libs
John W. Eaton <jwe@octave.org>
parents: 9515
diff changeset
831 esac
ee99f9f37505 improve configure checks for qhull and curl libs
John W. Eaton <jwe@octave.org>
parents: 9515
diff changeset
832
22039
0a528a6dac95 build: use pkg-config in OCTAVE_CHECK_LIB without overriding user options
Mike Miller <mtmiller@octave.org>
parents: 22036
diff changeset
833 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
834 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
835 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
836 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
837 fi
0a528a6dac95 build: use pkg-config in OCTAVE_CHECK_LIB without overriding user options
Mike Miller <mtmiller@octave.org>
parents: 22036
diff changeset
838 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
839 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
840 fi
23835
6ae0292aaa5c configure: ensure empty pkg-config results are actually empty (bug #51680)
Mike Miller <mtmiller@octave.org>
parents: 23414
diff changeset
841 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
842 ])
0a528a6dac95 build: use pkg-config in OCTAVE_CHECK_LIB without overriding user options
Mike Miller <mtmiller@octave.org>
parents: 22036
diff changeset
843 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
844
9519
ee99f9f37505 improve configure checks for qhull and curl libs
John W. Eaton <jwe@octave.org>
parents: 9515
diff changeset
845 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
846 ac_octave_save_CPPFLAGS="$CPPFLAGS"
15350
6a0c0d3d60b6 build: Implement some caching for OCTAVE_CHECK_LIB macro.
Rik <rik@octave.org>
parents: 15338
diff changeset
847 ac_octave_save_LDFLAGS="$LDFLAGS"
6a0c0d3d60b6 build: Implement some caching for OCTAVE_CHECK_LIB macro.
Rik <rik@octave.org>
parents: 15338
diff changeset
848 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
849 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
850 LDFLAGS="$m4_toupper([$1])_LDFLAGS $LDFLAGS"
6a0c0d3d60b6 build: Implement some caching for OCTAVE_CHECK_LIB macro.
Rik <rik@octave.org>
parents: 15338
diff changeset
851 LIBS="$m4_toupper([$1])_LIBS $LIBS"
9523
0ce82753dd72 more configure changes for libraries
John W. Eaton <jwe@octave.org>
parents: 9520
diff changeset
852 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
853 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
854 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
855 [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
856 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
857 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
858 [octave_cv_lib_$1],
6a0c0d3d60b6 build: Implement some caching for OCTAVE_CHECK_LIB macro.
Rik <rik@octave.org>
parents: 15338
diff changeset
859 [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
860 [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
861 ])
6a0c0d3d60b6 build: Implement some caching for OCTAVE_CHECK_LIB macro.
Rik <rik@octave.org>
parents: 15338
diff changeset
862 if test "$octave_cv_lib_$1" = yes; then
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
863 m4_ifblank([$8], [
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
864 warn_$1=
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
865 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
866 [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
867 else
537b732926fb fix logic error in OCTAVE_CONFIG_LIB (bug #53736)
John W. Eaton <jwe@octave.org>
parents: 25135
diff changeset
868 m4_toupper([$1])_LIBS=
9519
ee99f9f37505 improve configure checks for qhull and curl libs
John W. Eaton <jwe@octave.org>
parents: 9515
diff changeset
869 fi
25299
537b732926fb fix logic error in OCTAVE_CONFIG_LIB (bug #53736)
John W. Eaton <jwe@octave.org>
parents: 25135
diff changeset
870 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
871 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
872 m4_toupper([$1])_LIBS=
9568
d3fccc4c4b9e use OCTAVE_CHECK_LIBRARY to check for ARPACK
John W. Eaton <jwe@octave.org>
parents: 9543
diff changeset
873 fi
9523
0ce82753dd72 more configure changes for libraries
John W. Eaton <jwe@octave.org>
parents: 9520
diff changeset
874 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
875 CPPFLAGS="$ac_octave_save_CPPFLAGS"
15350
6a0c0d3d60b6 build: Implement some caching for OCTAVE_CHECK_LIB macro.
Rik <rik@octave.org>
parents: 15338
diff changeset
876 LDFLAGS="$ac_octave_save_LDFLAGS"
6a0c0d3d60b6 build: Implement some caching for OCTAVE_CHECK_LIB macro.
Rik <rik@octave.org>
parents: 15338
diff changeset
877 LIBS="$ac_octave_save_LIBS"
21381
e5d96f39a37d configure script fixes
John W. Eaton <jwe@octave.org>
parents: 21374
diff changeset
878 else
e5d96f39a37d configure script fixes
John W. Eaton <jwe@octave.org>
parents: 21374
diff changeset
879 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
880 fi
15350
6a0c0d3d60b6 build: Implement some caching for OCTAVE_CHECK_LIB macro.
Rik <rik@octave.org>
parents: 15338
diff changeset
881
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
882 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
883 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
884 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
885 fi])
9519
ee99f9f37505 improve configure checks for qhull and curl libs
John W. Eaton <jwe@octave.org>
parents: 9515
diff changeset
886 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
887 if test -n "$warn_$1"; then
21381
e5d96f39a37d configure script fixes
John W. Eaton <jwe@octave.org>
parents: 21374
diff changeset
888 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
889 fi
ee99f9f37505 improve configure checks for qhull and curl libs
John W. Eaton <jwe@octave.org>
parents: 9515
diff changeset
890 ])
ee99f9f37505 improve configure checks for qhull and curl libs
John W. Eaton <jwe@octave.org>
parents: 9515
diff changeset
891 dnl
15133
f91eac1bc66d m4/acinclude.m4: Correct typos, use consistent style for describing macros.
Rik <rik@octave.org>
parents: 15126
diff changeset
892 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
893 dnl
14147
71e28fda7be9 use C++ program to test ARPACK
John W. Eaton <jwe@octave.org>
parents: 14144
diff changeset
894 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
895 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
896 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
897 dnl allocated arrays in Fortran does not?
71e28fda7be9 use C++ program to test ARPACK
John W. Eaton <jwe@octave.org>
parents: 14144
diff changeset
898 dnl
18058
46ca76f194cb make arpack check work with --enable-64
John W. Eaton <jwe@octave.org>
parents: 18036
diff changeset
899 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
900 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
901 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
902 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
903 dnl
24289
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
904 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
905 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
906 [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
907 [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
908 AC_RUN_IFELSE([AC_LANG_PROGRAM([[
14147
71e28fda7be9 use C++ program to test ARPACK
John W. Eaton <jwe@octave.org>
parents: 14144
diff changeset
909
71e28fda7be9 use C++ program to test ARPACK
John W. Eaton <jwe@octave.org>
parents: 14144
diff changeset
910 #include <cfloat>
71e28fda7be9 use C++ program to test ARPACK
John W. Eaton <jwe@octave.org>
parents: 14144
diff changeset
911
18058
46ca76f194cb make arpack check work with --enable-64
John W. Eaton <jwe@octave.org>
parents: 18036
diff changeset
912 #include <stdint.h>
46ca76f194cb make arpack check work with --enable-64
John W. Eaton <jwe@octave.org>
parents: 18036
diff changeset
913
46ca76f194cb make arpack check work with --enable-64
John W. Eaton <jwe@octave.org>
parents: 18036
diff changeset
914 typedef int F77_RET_T;
46ca76f194cb make arpack check work with --enable-64
John W. Eaton <jwe@octave.org>
parents: 18036
diff changeset
915
46ca76f194cb make arpack check work with --enable-64
John W. Eaton <jwe@octave.org>
parents: 18036
diff changeset
916 #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
917 #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
918
46ca76f194cb make arpack check work with --enable-64
John W. Eaton <jwe@octave.org>
parents: 18036
diff changeset
919 #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
920
46ca76f194cb make arpack check work with --enable-64
John W. Eaton <jwe@octave.org>
parents: 18036
diff changeset
921 #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
922 #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
923
25047
1fe6002f68a7 update arpack checks for F77_INT vs octave_idx_type changes
John W. Eaton <jwe@octave.org>
parents: 25046
diff changeset
924 #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
925 #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
926
18058
46ca76f194cb make arpack check work with --enable-64
John W. Eaton <jwe@octave.org>
parents: 18036
diff changeset
927 extern "C"
46ca76f194cb make arpack check work with --enable-64
John W. Eaton <jwe@octave.org>
parents: 18036
diff changeset
928 {
46ca76f194cb make arpack check work with --enable-64
John W. Eaton <jwe@octave.org>
parents: 18036
diff changeset
929 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
930 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
931 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
932 const F77_INT&,
18058
46ca76f194cb make arpack check work with --enable-64
John W. Eaton <jwe@octave.org>
parents: 18036
diff changeset
933 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
934 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
935 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
936 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
937 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
938 const F77_INT&, F77_INT&
18058
46ca76f194cb make arpack check work with --enable-64
John W. Eaton <jwe@octave.org>
parents: 18036
diff changeset
939 F77_CHAR_ARG_LEN_DECL
46ca76f194cb make arpack check work with --enable-64
John W. Eaton <jwe@octave.org>
parents: 18036
diff changeset
940 F77_CHAR_ARG_LEN_DECL);
46ca76f194cb make arpack check work with --enable-64
John W. Eaton <jwe@octave.org>
parents: 18036
diff changeset
941
46ca76f194cb make arpack check work with --enable-64
John W. Eaton <jwe@octave.org>
parents: 18036
diff changeset
942 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
943 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
944 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
945 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
946 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
947 const F77_DBLE&, F77_DBLE*,
18058
46ca76f194cb make arpack check work with --enable-64
John W. Eaton <jwe@octave.org>
parents: 18036
diff changeset
948 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
949 const F77_INT&,
18058
46ca76f194cb make arpack check work with --enable-64
John W. Eaton <jwe@octave.org>
parents: 18036
diff changeset
950 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
951 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
952 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
953 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
954 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
955 const F77_INT&, F77_INT&
18058
46ca76f194cb make arpack check work with --enable-64
John W. Eaton <jwe@octave.org>
parents: 18036
diff changeset
956 F77_CHAR_ARG_LEN_DECL
46ca76f194cb make arpack check work with --enable-64
John W. Eaton <jwe@octave.org>
parents: 18036
diff changeset
957 F77_CHAR_ARG_LEN_DECL
46ca76f194cb make arpack check work with --enable-64
John W. Eaton <jwe@octave.org>
parents: 18036
diff changeset
958 F77_CHAR_ARG_LEN_DECL);
46ca76f194cb make arpack check work with --enable-64
John W. Eaton <jwe@octave.org>
parents: 18036
diff changeset
959
46ca76f194cb make arpack check work with --enable-64
John W. Eaton <jwe@octave.org>
parents: 18036
diff changeset
960 F77_RET_T
46ca76f194cb make arpack check work with --enable-64
John W. Eaton <jwe@octave.org>
parents: 18036
diff changeset
961 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
962 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
963 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
964 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
965 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
966 F77_DBLE*, const F77_INT&
18058
46ca76f194cb make arpack check work with --enable-64
John W. Eaton <jwe@octave.org>
parents: 18036
diff changeset
967 F77_CHAR_ARG_LEN_DECL);
46ca76f194cb make arpack check work with --enable-64
John W. Eaton <jwe@octave.org>
parents: 18036
diff changeset
968 }
46ca76f194cb make arpack check work with --enable-64
John W. Eaton <jwe@octave.org>
parents: 18036
diff changeset
969
14147
71e28fda7be9 use C++ program to test ARPACK
John W. Eaton <jwe@octave.org>
parents: 14144
diff changeset
970 void
71e28fda7be9 use C++ program to test ARPACK
John W. Eaton <jwe@octave.org>
parents: 14144
diff changeset
971 doit (void)
71e28fda7be9 use C++ program to test ARPACK
John W. Eaton <jwe@octave.org>
parents: 14144
diff changeset
972 {
71e28fda7be9 use C++ program to test ARPACK
John W. Eaton <jwe@octave.org>
parents: 14144
diff changeset
973 // 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
974
24289
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
975 // 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
976 F77_INT n = 4;
14147
71e28fda7be9 use C++ program to test ARPACK
John W. Eaton <jwe@octave.org>
parents: 14144
diff changeset
977 double *m = new double [n * n];
71e28fda7be9 use C++ program to test ARPACK
John W. Eaton <jwe@octave.org>
parents: 14144
diff changeset
978 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
979 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
980 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
981 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
982
14147
71e28fda7be9 use C++ program to test ARPACK
John W. Eaton <jwe@octave.org>
parents: 14144
diff changeset
983 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
984
14147
71e28fda7be9 use C++ program to test ARPACK
John W. Eaton <jwe@octave.org>
parents: 14144
diff changeset
985 resid[0] = 0.960966;
71e28fda7be9 use C++ program to test ARPACK
John W. Eaton <jwe@octave.org>
parents: 14144
diff changeset
986 resid[1] = 0.741195;
71e28fda7be9 use C++ program to test ARPACK
John W. Eaton <jwe@octave.org>
parents: 14144
diff changeset
987 resid[2] = 0.150143;
71e28fda7be9 use C++ program to test ARPACK
John W. Eaton <jwe@octave.org>
parents: 14144
diff changeset
988 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
989
25047
1fe6002f68a7 update arpack checks for F77_INT vs octave_idx_type changes
John W. Eaton <jwe@octave.org>
parents: 25046
diff changeset
990 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
991
14147
71e28fda7be9 use C++ program to test ARPACK
John W. Eaton <jwe@octave.org>
parents: 14144
diff changeset
992 ip[0] = 1; // ishift
71e28fda7be9 use C++ program to test ARPACK
John W. Eaton <jwe@octave.org>
parents: 14144
diff changeset
993 ip[1] = 0; // ip[1] not referenced
71e28fda7be9 use C++ program to test ARPACK
John W. Eaton <jwe@octave.org>
parents: 14144
diff changeset
994 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
995 ip[3] = 1; // NB blocksize in recurrence
71e28fda7be9 use C++ program to test ARPACK
John W. Eaton <jwe@octave.org>
parents: 14144
diff changeset
996 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
997 ip[5] = 0; // ip[5] not referenced
71e28fda7be9 use C++ program to test ARPACK
John W. Eaton <jwe@octave.org>
parents: 14144
diff changeset
998 ip[6] = 1; // mode
71e28fda7be9 use C++ program to test ARPACK
John W. Eaton <jwe@octave.org>
parents: 14144
diff changeset
999 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
1000 ip[8] = 0;
71e28fda7be9 use C++ program to test ARPACK
John W. Eaton <jwe@octave.org>
parents: 14144
diff changeset
1001 ip[9] = 0;
71e28fda7be9 use C++ program to test ARPACK
John W. Eaton <jwe@octave.org>
parents: 14144
diff changeset
1002 ip[10] = 0;
17034
8d84dc5f5b5d acinclude.m4: Use m4 quote '[' rather than '"' in AC_MSG_ERROR.
Rik <rik@octave.org>
parents: 17031
diff changeset
1003
25047
1fe6002f68a7 update arpack checks for F77_INT vs octave_idx_type changes
John W. Eaton <jwe@octave.org>
parents: 25046
diff changeset
1004 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
1005
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 k = 1;
1fe6002f68a7 update arpack checks for F77_INT vs octave_idx_type changes
John W. Eaton <jwe@octave.org>
parents: 25046
diff changeset
1007 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
1008 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
1009
71e28fda7be9 use C++ program to test ARPACK
John W. Eaton <jwe@octave.org>
parents: 14144
diff changeset
1010 double *v = new double [n * (p + 1)];
71e28fda7be9 use C++ program to test ARPACK
John W. Eaton <jwe@octave.org>
parents: 14144
diff changeset
1011 double *workl = new double [lwork + 1];
71e28fda7be9 use C++ program to test ARPACK
John W. Eaton <jwe@octave.org>
parents: 14144
diff changeset
1012 double *workd = new double [3 * n + 1];
71e28fda7be9 use C++ program to test ARPACK
John W. Eaton <jwe@octave.org>
parents: 14144
diff changeset
1013
25047
1fe6002f68a7 update arpack checks for F77_INT vs octave_idx_type changes
John W. Eaton <jwe@octave.org>
parents: 25046
diff changeset
1014 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
1015 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
1016
14147
71e28fda7be9 use C++ program to test ARPACK
John W. Eaton <jwe@octave.org>
parents: 14144
diff changeset
1017 double tol = DBL_EPSILON;
71e28fda7be9 use C++ program to test ARPACK
John W. Eaton <jwe@octave.org>
parents: 14144
diff changeset
1018
17034
8d84dc5f5b5d acinclude.m4: Use m4 quote '[' rather than '"' in AC_MSG_ERROR.
Rik <rik@octave.org>
parents: 17031
diff changeset
1019 do
14147
71e28fda7be9 use C++ program to test ARPACK
John W. Eaton <jwe@octave.org>
parents: 14144
diff changeset
1020 {
18058
46ca76f194cb make arpack check work with --enable-64
John W. Eaton <jwe@octave.org>
parents: 18036
diff changeset
1021 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
1022 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
1023 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
1024 workd, workl, lwork, info
46ca76f194cb make arpack check work with --enable-64
John W. Eaton <jwe@octave.org>
parents: 18036
diff changeset
1025 F77_CHAR_ARG_LEN (1)
46ca76f194cb make arpack check work with --enable-64
John W. Eaton <jwe@octave.org>
parents: 18036
diff changeset
1026 F77_CHAR_ARG_LEN (2));
14147
71e28fda7be9 use C++ program to test ARPACK
John W. Eaton <jwe@octave.org>
parents: 14144
diff changeset
1027
71e28fda7be9 use C++ program to test ARPACK
John W. Eaton <jwe@octave.org>
parents: 14144
diff changeset
1028 if (ido == -1 || ido == 1 || ido == 2)
71e28fda7be9 use C++ program to test ARPACK
John W. Eaton <jwe@octave.org>
parents: 14144
diff changeset
1029 {
71e28fda7be9 use C++ program to test ARPACK
John W. Eaton <jwe@octave.org>
parents: 14144
diff changeset
1030 double *x = workd + ipntr[0] - 1;
71e28fda7be9 use C++ program to test ARPACK
John W. Eaton <jwe@octave.org>
parents: 14144
diff changeset
1031 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
1032
18058
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_ARG2 ("N", 1),
46ca76f194cb make arpack check work with --enable-64
John W. Eaton <jwe@octave.org>
parents: 18036
diff changeset
1034 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
1035 F77_CHAR_ARG_LEN (1));
14147
71e28fda7be9 use C++ program to test ARPACK
John W. Eaton <jwe@octave.org>
parents: 14144
diff changeset
1036 }
71e28fda7be9 use C++ program to test ARPACK
John W. Eaton <jwe@octave.org>
parents: 14144
diff changeset
1037 else
71e28fda7be9 use C++ program to test ARPACK
John W. Eaton <jwe@octave.org>
parents: 14144
diff changeset
1038 {
71e28fda7be9 use C++ program to test ARPACK
John W. Eaton <jwe@octave.org>
parents: 14144
diff changeset
1039 if (info < 0)
24289
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1040 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
1041
14147
71e28fda7be9 use C++ program to test ARPACK
John W. Eaton <jwe@octave.org>
parents: 14144
diff changeset
1042 break;
71e28fda7be9 use C++ program to test ARPACK
John W. Eaton <jwe@octave.org>
parents: 14144
diff changeset
1043 }
17034
8d84dc5f5b5d acinclude.m4: Use m4 quote '[' rather than '"' in AC_MSG_ERROR.
Rik <rik@octave.org>
parents: 17031
diff changeset
1044 }
14147
71e28fda7be9 use C++ program to test ARPACK
John W. Eaton <jwe@octave.org>
parents: 14144
diff changeset
1045 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
1046
25047
1fe6002f68a7 update arpack checks for F77_INT vs octave_idx_type changes
John W. Eaton <jwe@octave.org>
parents: 25046
diff changeset
1047 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
1048
14147
71e28fda7be9 use C++ program to test ARPACK
John W. Eaton <jwe@octave.org>
parents: 14144
diff changeset
1049 // 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
1050 double *dr = new double [k + 1];
71e28fda7be9 use C++ program to test ARPACK
John W. Eaton <jwe@octave.org>
parents: 14144
diff changeset
1051 double *di = new double [k + 1];
71e28fda7be9 use C++ program to test ARPACK
John W. Eaton <jwe@octave.org>
parents: 14144
diff changeset
1052 double *workev = new double [3 * p];
71e28fda7be9 use C++ program to test ARPACK
John W. Eaton <jwe@octave.org>
parents: 14144
diff changeset
1053
25047
1fe6002f68a7 update arpack checks for F77_INT vs octave_idx_type changes
John W. Eaton <jwe@octave.org>
parents: 25046
diff changeset
1054 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
1055 dr[i] = di[i] = 0.0;
14147
71e28fda7be9 use C++ program to test ARPACK
John W. Eaton <jwe@octave.org>
parents: 14144
diff changeset
1056
25047
1fe6002f68a7 update arpack checks for F77_INT vs octave_idx_type changes
John W. Eaton <jwe@octave.org>
parents: 25046
diff changeset
1057 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
1058
14147
71e28fda7be9 use C++ program to test ARPACK
John W. Eaton <jwe@octave.org>
parents: 14144
diff changeset
1059 double sigmar = 0.0;
71e28fda7be9 use C++ program to test ARPACK
John W. Eaton <jwe@octave.org>
parents: 14144
diff changeset
1060 double sigmai = 0.0;
71e28fda7be9 use C++ program to test ARPACK
John W. Eaton <jwe@octave.org>
parents: 14144
diff changeset
1061
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1062 // 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
1063 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
1064
18058
46ca76f194cb make arpack check work with --enable-64
John W. Eaton <jwe@octave.org>
parents: 18036
diff changeset
1065 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
1066 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
1067 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
1068 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
1069 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
1070 workl, lwork, info
46ca76f194cb make arpack check work with --enable-64
John W. Eaton <jwe@octave.org>
parents: 18036
diff changeset
1071 F77_CHAR_ARG_LEN (1)
46ca76f194cb make arpack check work with --enable-64
John W. Eaton <jwe@octave.org>
parents: 18036
diff changeset
1072 F77_CHAR_ARG_LEN (1)
46ca76f194cb make arpack check work with --enable-64
John W. Eaton <jwe@octave.org>
parents: 18036
diff changeset
1073 F77_CHAR_ARG_LEN (2));
14147
71e28fda7be9 use C++ program to test ARPACK
John W. Eaton <jwe@octave.org>
parents: 14144
diff changeset
1074 }
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1075
14147
71e28fda7be9 use C++ program to test ARPACK
John W. Eaton <jwe@octave.org>
parents: 14144
diff changeset
1076 ]], [[
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1077
14147
71e28fda7be9 use C++ program to test ARPACK
John W. Eaton <jwe@octave.org>
parents: 14144
diff changeset
1078 for (int i = 0; i < 10; i++)
71e28fda7be9 use C++ program to test ARPACK
John W. Eaton <jwe@octave.org>
parents: 14144
diff changeset
1079 doit ();
24289
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1080
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1081 ]])],
24289
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1082 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
1083 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
1084 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
1085 AC_LANG_POP(C++)
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1086 ])
24289
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1087 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
1088 $1
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1089 :
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1090 else
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1091 $2
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1092 :
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1093 fi
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1094 ])
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1095 dnl
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1096 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
1097 dnl
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1098 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
1099 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
1100 dnl See bug #52425.
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1101 dnl
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1102 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
1103 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
1104 [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
1105 [save_FFLAGS="$FFLAGS"
0771ce2d30ef build: Fix compiling OCTAVE_ARPACK_OK_2 Fortran code (bug #52425).
Rik <rik@octave.org>
parents: 24289
diff changeset
1106 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
1107 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
1108 AC_RUN_IFELSE([[
24446
4ca5c9f899d3 maint: Strip trailing whitespace from source files.
John W. Eaton <jwe@octave.org>
parents: 24337
diff changeset
1109 program bug_52425
24289
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1110 c
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1111 integer maxn, maxnev, maxncv, ldv
24446
4ca5c9f899d3 maint: Strip trailing whitespace from source files.
John W. Eaton <jwe@octave.org>
parents: 24337
diff changeset
1112 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
1113 $ ldv=maxn )
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1114 c
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1115 Double precision
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1116 & 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
1117 & 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
1118 & ax(maxn)
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1119 logical select(maxncv)
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1120 integer iparam(11), ipntr(11)
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1121 c
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1122 character bmat*1, which*2
24446
4ca5c9f899d3 maint: Strip trailing whitespace from source files.
John W. Eaton <jwe@octave.org>
parents: 24337
diff changeset
1123 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
1124 & nx, nconv, maxitr, mode, ishfts
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1125 logical rvec
24446
4ca5c9f899d3 maint: Strip trailing whitespace from source files.
John W. Eaton <jwe@octave.org>
parents: 24337
diff changeset
1126 Double precision
24289
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1127 & tol, sigma
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1128 c
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1129 Double precision
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1130 & zero
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1131 parameter (zero = 0.0D+0)
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1132 c
24446
4ca5c9f899d3 maint: Strip trailing whitespace from source files.
John W. Eaton <jwe@octave.org>
parents: 24337
diff changeset
1133 Double precision
24289
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1134 & dnrm2
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1135 external dnrm2, daxpy
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1136 c
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1137 intrinsic abs
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1138 c
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1139 n = 20
24446
4ca5c9f899d3 maint: Strip trailing whitespace from source files.
John W. Eaton <jwe@octave.org>
parents: 24337
diff changeset
1140 nev = 4
4ca5c9f899d3 maint: Strip trailing whitespace from source files.
John W. Eaton <jwe@octave.org>
parents: 24337
diff changeset
1141 ncv = 20
24289
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1142 bmat = 'I'
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1143 which = 'BE'
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1144 c
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1145 lworkl = ncv*(ncv+8)
24446
4ca5c9f899d3 maint: Strip trailing whitespace from source files.
John W. Eaton <jwe@octave.org>
parents: 24337
diff changeset
1146 tol = zero
24289
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1147 info = 1
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1148 do j = 1,n
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1149 resid (j) = 1.0d0
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1150 end do
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1151 ido = 0
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1152 c
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1153 ishfts = 1
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1154 maxitr = 300
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1155 mode = 1
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1156 c
24446
4ca5c9f899d3 maint: Strip trailing whitespace from source files.
John W. Eaton <jwe@octave.org>
parents: 24337
diff changeset
1157 iparam(1) = ishfts
4ca5c9f899d3 maint: Strip trailing whitespace from source files.
John W. Eaton <jwe@octave.org>
parents: 24337
diff changeset
1158 iparam(3) = maxitr
4ca5c9f899d3 maint: Strip trailing whitespace from source files.
John W. Eaton <jwe@octave.org>
parents: 24337
diff changeset
1159 iparam(7) = mode
24289
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1160 c
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1161 10 continue
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1162 c
24446
4ca5c9f899d3 maint: Strip trailing whitespace from source files.
John W. Eaton <jwe@octave.org>
parents: 24337
diff changeset
1163 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
1164 & 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
1165 & lworkl, info )
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1166 c
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1167 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
1168 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
1169 go to 10
24446
4ca5c9f899d3 maint: Strip trailing whitespace from source files.
John W. Eaton <jwe@octave.org>
parents: 24337
diff changeset
1170 end if
24289
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1171 c
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1172 if ( info .lt. 0 ) then
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1173 stop 1
24446
4ca5c9f899d3 maint: Strip trailing whitespace from source files.
John W. Eaton <jwe@octave.org>
parents: 24337
diff changeset
1174 else
24289
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1175 rvec = .false.
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1176 c
24446
4ca5c9f899d3 maint: Strip trailing whitespace from source files.
John W. Eaton <jwe@octave.org>
parents: 24337
diff changeset
1177 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
1178 & 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
1179 & 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
1180 c
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1181 if ( ierr .ne. 0) then
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1182 stop 1
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1183 else
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1184 nconv = iparam(5)
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1185 do 20 j=1, nconv
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1186 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
1187 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
1188 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
1189 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
1190 c
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1191 20 continue
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1192 c
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1193 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
1194 c
24289
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1195 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
1196 stop 1
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1197 else
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1198 stop 0
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1199 end if
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1200 end if
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1201 end if
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1202 c
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1203 end
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1204 c
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1205 subroutine av (n, v, w)
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1206 integer n, j
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1207 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
1208 c
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1209 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
1210 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
1211 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
1212 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
1213 10 continue
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1214 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
1215 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
1216 return
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1217 end
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1218 ]],
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1219 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
1220 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
1221 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
1222 ## Restore FFLAGS.
0771ce2d30ef build: Fix compiling OCTAVE_ARPACK_OK_2 Fortran code (bug #52425).
Rik <rik@octave.org>
parents: 24289
diff changeset
1223 FFLAGS="$save_FFLAGS"
24289
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1224 AC_LANG_POP(Fortran 77)
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1225 ])
f52d91f6ef80 Check ARPACK library for buggy behavior in configure (bug #52425)
Rik <rik@octave.org>
parents: 23835
diff changeset
1226 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
1227 $1
15336
5fff79162342 acinclude.m4: Put temporary shell variables in macros into ac_octave namespace.
Rik <rik@octave.org>
parents: 15330
diff changeset
1228 :
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
1229 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
1230 $2
15336
5fff79162342 acinclude.m4: Put temporary shell variables in macros into ac_octave namespace.
Rik <rik@octave.org>
parents: 15330
diff changeset
1231 :
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
1232 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
1233 ])
834df9f10963 remove ARPACK files from sources and restore configure checks for external ARPACK library
John W. Eaton <jwe@octave.org>
parents: 14138
diff changeset
1234 dnl
17241
03a666018e0f build: Detect new GLPK API features required since changeset 54e251e699bb
Mike Miller <mtmiller@ieee.org>
parents: 17197
diff changeset
1235 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
1236 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
1237 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
1238 dnl
03a666018e0f build: Detect new GLPK API features required since changeset 54e251e699bb
Mike Miller <mtmiller@ieee.org>
parents: 17197
diff changeset
1239 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
1240 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
1241 [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
1242 [AC_LANG_PUSH(C++)
03a666018e0f build: Detect new GLPK API features required since changeset 54e251e699bb
Mike Miller <mtmiller@ieee.org>
parents: 17197
diff changeset
1243 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
1244 extern "C"
03a666018e0f build: Detect new GLPK API features required since changeset 54e251e699bb
Mike Miller <mtmiller@ieee.org>
parents: 17197
diff changeset
1245 {
03a666018e0f build: Detect new GLPK API features required since changeset 54e251e699bb
Mike Miller <mtmiller@ieee.org>
parents: 17197
diff changeset
1246 #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
1247 #include <glpk/glpk.h>
03a666018e0f build: Detect new GLPK API features required since changeset 54e251e699bb
Mike Miller <mtmiller@ieee.org>
parents: 17197
diff changeset
1248 #else
03a666018e0f build: Detect new GLPK API features required since changeset 54e251e699bb
Mike Miller <mtmiller@ieee.org>
parents: 17197
diff changeset
1249 #include <glpk.h>
03a666018e0f build: Detect new GLPK API features required since changeset 54e251e699bb
Mike Miller <mtmiller@ieee.org>
parents: 17197
diff changeset
1250 #endif
03a666018e0f build: Detect new GLPK API features required since changeset 54e251e699bb
Mike Miller <mtmiller@ieee.org>
parents: 17197
diff changeset
1251 }
03a666018e0f build: Detect new GLPK API features required since changeset 54e251e699bb
Mike Miller <mtmiller@ieee.org>
parents: 17197
diff changeset
1252 ]], [[
03a666018e0f build: Detect new GLPK API features required since changeset 54e251e699bb
Mike Miller <mtmiller@ieee.org>
parents: 17197
diff changeset
1253 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
1254 glp_iptcp iptcp;
03a666018e0f build: Detect new GLPK API features required since changeset 54e251e699bb
Mike Miller <mtmiller@ieee.org>
parents: 17197
diff changeset
1255 glp_init_iptcp (&iptcp);
03a666018e0f build: Detect new GLPK API features required since changeset 54e251e699bb
Mike Miller <mtmiller@ieee.org>
parents: 17197
diff changeset
1256 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
1257 ]])],
03a666018e0f build: Detect new GLPK API features required since changeset 54e251e699bb
Mike Miller <mtmiller@ieee.org>
parents: 17197
diff changeset
1258 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
1259 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
1260 AC_LANG_POP(C++)
03a666018e0f build: Detect new GLPK API features required since changeset 54e251e699bb
Mike Miller <mtmiller@ieee.org>
parents: 17197
diff changeset
1261 ])
03a666018e0f build: Detect new GLPK API features required since changeset 54e251e699bb
Mike Miller <mtmiller@ieee.org>
parents: 17197
diff changeset
1262 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
1263 $1
03a666018e0f build: Detect new GLPK API features required since changeset 54e251e699bb
Mike Miller <mtmiller@ieee.org>
parents: 17197
diff changeset
1264 :
03a666018e0f build: Detect new GLPK API features required since changeset 54e251e699bb
Mike Miller <mtmiller@ieee.org>
parents: 17197
diff changeset
1265 else
03a666018e0f build: Detect new GLPK API features required since changeset 54e251e699bb
Mike Miller <mtmiller@ieee.org>
parents: 17197
diff changeset
1266 $2
03a666018e0f build: Detect new GLPK API features required since changeset 54e251e699bb
Mike Miller <mtmiller@ieee.org>
parents: 17197
diff changeset
1267 :
03a666018e0f build: Detect new GLPK API features required since changeset 54e251e699bb
Mike Miller <mtmiller@ieee.org>
parents: 17197
diff changeset
1268 fi
03a666018e0f build: Detect new GLPK API features required since changeset 54e251e699bb
Mike Miller <mtmiller@ieee.org>
parents: 17197
diff changeset
1269 ])
03a666018e0f build: Detect new GLPK API features required since changeset 54e251e699bb
Mike Miller <mtmiller@ieee.org>
parents: 17197
diff changeset
1270 dnl
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1271 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
1272 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
1273 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
1274 dnl
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1275 AC_DEFUN([OCTAVE_CHECK_LIB_HDF5_DLL], [
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1276 AC_CACHE_CHECK([if _HDF5USEDLL_ needs to be defined],
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1277 [octave_cv_lib_hdf5_dll],
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1278 [AC_LINK_IFELSE([AC_LANG_PROGRAM([[
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1279 #include <hdf5.h>
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1280 ]], [[
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1281 hid_t x = H5T_NATIVE_DOUBLE;
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1282 return x
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1283 ]])],
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1284 [octave_cv_lib_hdf5_dll=no],
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1285 [save_CFLAGS="$CFLAGS"
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1286 CFLAGS="$CFLAGS -DWIN32 -D_HDF5USEDLL_"
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1287 save_LIBS="$LIBS"
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1288 LIBS="$HDF5_LIBS $LIBS"
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1289 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1290 #include <hdf5.h>
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1291 ]], [[
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1292 hid_t x = H5T_NATIVE_DOUBLE;
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1293 return x
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1294 ]])],
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1295 octave_cv_lib_hdf5_dll=yes,
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1296 octave_cv_lib_hdf5_dll=no)
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1297 CFLAGS="$save_CFLAGS"
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1298 LIBS="$save_LIBS"
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1299 ])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1300 ])
15336
5fff79162342 acinclude.m4: Put temporary shell variables in macros into ac_octave namespace.
Rik <rik@octave.org>
parents: 15330
diff changeset
1301 if test $octave_cv_lib_hdf5_dll = yes; then
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1302 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
1303 fi
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1304 ])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1305 dnl
15133
f91eac1bc66d m4/acinclude.m4: Correct typos, use consistent style for describing macros.
Rik <rik@octave.org>
parents: 15126
diff changeset
1306 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
1307 dnl
15063
36cbcc37fdb8 Refactor configure.ac to make it more understandable.
Rik <rik@octave.org>
parents: 15013
diff changeset
1308 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
1309 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
1310 dnl
15063
36cbcc37fdb8 Refactor configure.ac to make it more understandable.
Rik <rik@octave.org>
parents: 15013
diff changeset
1311 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
1312 dnl libraries and header files?
7825
13871b7de124 Import sources for OpenGL-based renderer.
Michael Goffioul <michael.goffioul@gmail.com>
parents: 7361
diff changeset
1313 dnl
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1314 AC_DEFUN([OCTAVE_CHECK_LIB_OPENGL], [
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1315 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
1316
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1317 ## On MacOSX systems the OpenGL framework can be used
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1318 OCTAVE_HAVE_FRAMEWORK(OpenGL, [[
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1319 #include <OpenGL/gl.h>
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1320 #include <OpenGL/glu.h>
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1321 ]], [[
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1322 GLint par; glGetIntegerv (GL_VIEWPORT, &par);
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1323 ]],
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1324 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
1325
15336
5fff79162342 acinclude.m4: Put temporary shell variables in macros into ac_octave namespace.
Rik <rik@octave.org>
parents: 15330
diff changeset
1326 if test $have_framework_opengl = yes; then
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1327 AC_DEFINE(HAVE_FRAMEWORK_OPENGL, 1,
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1328 [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
1329 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
1330 AC_MSG_NOTICE([adding -framework OpenGL to OPENGL_LIBS])
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1331 OCTAVE_CHECK_FUNC_GLUTESSCALLBACK_THREEDOTS
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1332 else
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1333 case $canonical_host_type in
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1334 *-*-mingw32* | *-*-msdosmsvc)
15319
daf74ce2afdc m4/acinclude.m4: Use more consistent m4 quoting of arguments to macros.
Rik <rik@octave.org>
parents: 15302
diff changeset
1335 AC_CHECK_HEADERS([windows.h])
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1336 ;;
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1337 esac
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1338 have_opengl_incs=no
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1339 AC_CHECK_HEADERS([GL/gl.h OpenGL/gl.h],
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1340 [AC_CHECK_HEADERS([GL/glu.h OpenGL/glu.h],
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1341 [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
1342 #if defined (HAVE_WINDOWS_H)
7954
3ffc34caec65 configure fixes
John W. Eaton <jwe@octave.org>
parents: 7945
diff changeset
1343 #include <windows.h>
3ffc34caec65 configure fixes
John W. Eaton <jwe@octave.org>
parents: 7945
diff changeset
1344 #endif
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1345 ])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1346 break
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1347 ], [], [
21724
aba2e6293dd8 use "#if ..." consistently instead of "#ifdef" and "#ifndef"
John W. Eaton <jwe@octave.org>
parents: 21604
diff changeset
1348 #if defined (HAVE_WINDOWS_H)
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1349 # include <windows.h>
7954
3ffc34caec65 configure fixes
John W. Eaton <jwe@octave.org>
parents: 7945
diff changeset
1350 #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
1351 ])
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
1352
17197
fbee0d312af5 acinclude.m4: Remove some unnecessary double quotes around variables.
Rik <rik@octave.org>
parents: 17196
diff changeset
1353 if test $have_opengl_incs = yes; then
18866
95b69b880b19 Allow conpile of gl-render.cc under mingw.
John Donoghue
parents: 18854
diff changeset
1354 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
1355 #if defined (HAVE_WINDOWS_H)
18866
95b69b880b19 Allow conpile of gl-render.cc under mingw.
John Donoghue
parents: 18854
diff changeset
1356 # include <windows.h>
95b69b880b19 Allow conpile of gl-render.cc under mingw.
John Donoghue
parents: 18854
diff changeset
1357 #endif
95b69b880b19 Allow conpile of gl-render.cc under mingw.
John Donoghue
parents: 18854
diff changeset
1358 #if defined (HAVE_GL_GL_H)
95b69b880b19 Allow conpile of gl-render.cc under mingw.
John Donoghue
parents: 18854
diff changeset
1359 # include <GL/gl.h>
95b69b880b19 Allow conpile of gl-render.cc under mingw.
John Donoghue
parents: 18854
diff changeset
1360 #elif defined (HAVE_OPENGL_GL_H)
95b69b880b19 Allow conpile of gl-render.cc under mingw.
John Donoghue
parents: 18854
diff changeset
1361 # include <OpenGL/gl.h>
95b69b880b19 Allow conpile of gl-render.cc under mingw.
John Donoghue
parents: 18854
diff changeset
1362 #endif
95b69b880b19 Allow conpile of gl-render.cc under mingw.
John Donoghue
parents: 18854
diff changeset
1363 ])
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1364 case $canonical_host_type in
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1365 *-*-mingw32* | *-*-msdosmsvc)
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1366 save_LIBS="$LIBS"
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1367 LIBS="$LIBS -lopengl32"
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1368 AC_MSG_CHECKING([for glEnable in -lopengl32])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1369 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1370 #if HAVE_WINDOWS_H
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1371 # include <windows.h>
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1372 #endif
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1373 #if defined (HAVE_GL_GL_H)
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1374 # include <GL/gl.h>
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1375 #elif defined (HAVE_OPENGL_GL_H)
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1376 # include <OpenGL/gl.h>
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1377 #endif
17034
8d84dc5f5b5d acinclude.m4: Use m4 quote '[' rather than '"' in AC_MSG_ERROR.
Rik <rik@octave.org>
parents: 17031
diff changeset
1378 ]], [[
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1379 glEnable(GL_SMOOTH);
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1380 ]])], [OPENGL_LIBS="-lopengl32 -lglu32"])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1381
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1382 LIBS="$save_LIBS"
21374
1487a68a496a untangle configuration of OpenGL, FLTK, and Qt (bug #47263)
John W. Eaton <jwe@octave.org>
parents: 21354
diff changeset
1383 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
1384 AC_MSG_RESULT([yes])
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1385 else
15319
daf74ce2afdc m4/acinclude.m4: Use more consistent m4 quoting of arguments to macros.
Rik <rik@octave.org>
parents: 15302
diff changeset
1386 AC_MSG_RESULT([no])
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1387 fi
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1388 ;;
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1389 *)
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1390 ## 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
1391 AC_CHECK_LIB([GL], [glEnable], [OPENGL_LIBS="-lGL -lGLU"])
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1392 ;;
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1393 esac
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1394 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
1395 fi
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1396 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
1397 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
1398 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
1399 fi
7825
13871b7de124 Import sources for OpenGL-based renderer.
Michael Goffioul <michael.goffioul@gmail.com>
parents: 7361
diff changeset
1400 ])
7834
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1401 dnl
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1402 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
1403 dnl
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1404 AC_DEFUN([OCTAVE_CHECK_LIB_QHULL_OK], [
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1405 AC_CACHE_CHECK([whether the qhull library works],
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1406 [octave_cv_lib_qhull_ok],
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1407 [AC_RUN_IFELSE([AC_LANG_PROGRAM([[
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1408 #include <stdio.h>
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1409 #if defined (HAVE_LIBQHULL_LIBQHULL_H)
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1410 # include <libqhull/libqhull.h>
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1411 # include <libqhull/qset.h>
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1412 # include <libqhull/geom.h>
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1413 # include <libqhull/poly.h>
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1414 # include <libqhull/io.h>
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1415 #elif defined (HAVE_QHULL_LIBQHULL_H) || defined (HAVE_QHULL_QHULL_H)
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1416 # if defined (HAVE_QHULL_LIBQHULL_H)
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1417 # include <qhull/libqhull.h>
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1418 # else
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1419 # include <qhull/qhull.h>
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1420 # endif
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1421 # include <qhull/qset.h>
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1422 # include <qhull/geom.h>
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1423 # include <qhull/poly.h>
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1424 # include <qhull/io.h>
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1425 #elif defined (HAVE_LIBQHULL_H) || defined (HAVE_QHULL_H)
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1426 # if defined (HAVE_LIBQHULL_H)
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1427 # include <libqhull.h>
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1428 # else
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1429 # include <qhull.h>
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1430 # endif
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1431 # include <qset.h>
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1432 # include <geom.h>
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1433 # include <poly.h>
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1434 # include <io.h>
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1435 #endif
21724
aba2e6293dd8 use "#if ..." consistently instead of "#ifdef" and "#ifndef"
John W. Eaton <jwe@octave.org>
parents: 21604
diff changeset
1436 #if defined (NEED_QHULL_VERSION)
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1437 char *qh_version = "version";
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1438 #endif
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1439 ]], [[
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1440 int dim = 2;
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1441 int n = 4;
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1442 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
1443 boolT ismalloc = 0;
17034
8d84dc5f5b5d acinclude.m4: Use m4 quote '[' rather than '"' in AC_MSG_ERROR.
Rik <rik@octave.org>
parents: 17031
diff changeset
1444 return qh_new_qhull (dim, n, points, ismalloc, "qhull ", 0, stderr);
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1445 ]])],
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1446 octave_cv_lib_qhull_ok=yes,
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1447 octave_cv_lib_qhull_ok=no,
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1448 octave_cv_lib_qhull_ok=yes)
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1449 ])
15336
5fff79162342 acinclude.m4: Put temporary shell variables in macros into ac_octave namespace.
Rik <rik@octave.org>
parents: 15330
diff changeset
1450 if test $octave_cv_lib_qhull_ok = yes; then
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1451 $1
15336
5fff79162342 acinclude.m4: Put temporary shell variables in macros into ac_octave namespace.
Rik <rik@octave.org>
parents: 15330
diff changeset
1452 :
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1453 else
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1454 $2
15336
5fff79162342 acinclude.m4: Put temporary shell variables in macros into ac_octave namespace.
Rik <rik@octave.org>
parents: 15330
diff changeset
1455 :
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1456 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
1457 ])
20715
5b7643257978 Remove trailing whitespace at end of lines.
Rik <rik@octave.org>
parents: 20420
diff changeset
1458 dnl
20153
3b3579ad7e46 Check for a modern version of sndfile in configure scripts (bug #44976).
Rik <rik@octave.org>
parents: 19816
diff changeset
1459 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
1460 dnl
3b3579ad7e46 Check for a modern version of sndfile in configure scripts (bug #44976).
Rik <rik@octave.org>
parents: 19816
diff changeset
1461 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
1462 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
1463 [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
1464 [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
1465 #include <sndfile.h>
3b3579ad7e46 Check for a modern version of sndfile in configure scripts (bug #44976).
Rik <rik@octave.org>
parents: 19816
diff changeset
1466 ]], [[
3b3579ad7e46 Check for a modern version of sndfile in configure scripts (bug #44976).
Rik <rik@octave.org>
parents: 19816
diff changeset
1467 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
1468 ]])],
3b3579ad7e46 Check for a modern version of sndfile in configure scripts (bug #44976).
Rik <rik@octave.org>
parents: 19816
diff changeset
1469 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
1470 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
1471 ])
3b3579ad7e46 Check for a modern version of sndfile in configure scripts (bug #44976).
Rik <rik@octave.org>
parents: 19816
diff changeset
1472 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
1473 $1
3b3579ad7e46 Check for a modern version of sndfile in configure scripts (bug #44976).
Rik <rik@octave.org>
parents: 19816
diff changeset
1474 :
3b3579ad7e46 Check for a modern version of sndfile in configure scripts (bug #44976).
Rik <rik@octave.org>
parents: 19816
diff changeset
1475 else
3b3579ad7e46 Check for a modern version of sndfile in configure scripts (bug #44976).
Rik <rik@octave.org>
parents: 19816
diff changeset
1476 $2
3b3579ad7e46 Check for a modern version of sndfile in configure scripts (bug #44976).
Rik <rik@octave.org>
parents: 19816
diff changeset
1477 :
3b3579ad7e46 Check for a modern version of sndfile in configure scripts (bug #44976).
Rik <rik@octave.org>
parents: 19816
diff changeset
1478 fi
3b3579ad7e46 Check for a modern version of sndfile in configure scripts (bug #44976).
Rik <rik@octave.org>
parents: 19816
diff changeset
1479 ])
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
1480 dnl
15302
a8cfbc1911e4 build: Set TERM_LIBS before checking for READLINE.
Rik <rik@octave.org>
parents: 15295
diff changeset
1481 dnl Find a suitable termlib to use.
a8cfbc1911e4 build: Set TERM_LIBS before checking for READLINE.
Rik <rik@octave.org>
parents: 15295
diff changeset
1482 dnl
a8cfbc1911e4 build: Set TERM_LIBS before checking for READLINE.
Rik <rik@octave.org>
parents: 15295
diff changeset
1483 AC_DEFUN([OCTAVE_CHECK_LIB_TERMLIB], [
a8cfbc1911e4 build: Set TERM_LIBS before checking for READLINE.
Rik <rik@octave.org>
parents: 15295
diff changeset
1484 TERM_LIBS=
15338
dc39c1d84c5b build: Use caching on more intermediate results to speed up configure.
Rik <rik@octave.org>
parents: 15336
diff changeset
1485 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
1486 AC_SEARCH_LIBS([tputs],
dc39c1d84c5b build: Use caching on more intermediate results to speed up configure.
Rik <rik@octave.org>
parents: 15336
diff changeset
1487 [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
1488 [], [])
dc39c1d84c5b build: Use caching on more intermediate results to speed up configure.
Rik <rik@octave.org>
parents: 15336
diff changeset
1489 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
1490 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
1491 -l*)
15338
dc39c1d84c5b build: Use caching on more intermediate results to speed up configure.
Rik <rik@octave.org>
parents: 15336
diff changeset
1492 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
1493 ;;
dc39c1d84c5b build: Use caching on more intermediate results to speed up configure.
Rik <rik@octave.org>
parents: 15336
diff changeset
1494 no)
dc39c1d84c5b build: Use caching on more intermediate results to speed up configure.
Rik <rik@octave.org>
parents: 15336
diff changeset
1495 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
1496 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
1497 ;;
dc39c1d84c5b build: Use caching on more intermediate results to speed up configure.
Rik <rik@octave.org>
parents: 15336
diff changeset
1498 esac
15302
a8cfbc1911e4 build: Set TERM_LIBS before checking for READLINE.
Rik <rik@octave.org>
parents: 15295
diff changeset
1499
15338
dc39c1d84c5b build: Use caching on more intermediate results to speed up configure.
Rik <rik@octave.org>
parents: 15336
diff changeset
1500 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
1501 dnl
dc39c1d84c5b build: Use caching on more intermediate results to speed up configure.
Rik <rik@octave.org>
parents: 15336
diff changeset
1502 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
1503 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
1504 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
1505 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
1506 dnl break])
dc39c1d84c5b build: Use caching on more intermediate results to speed up configure.
Rik <rik@octave.org>
parents: 15336
diff changeset
1507 dnl done
dc39c1d84c5b build: Use caching on more intermediate results to speed up configure.
Rik <rik@octave.org>
parents: 15336
diff changeset
1508
15302
a8cfbc1911e4 build: Set TERM_LIBS before checking for READLINE.
Rik <rik@octave.org>
parents: 15295
diff changeset
1509 AC_SUBST(TERM_LIBS)
7825
13871b7de124 Import sources for OpenGL-based renderer.
Michael Goffioul <michael.goffioul@gmail.com>
parents: 7361
diff changeset
1510 ])
7834
caab78e7e377 added checks for fltk & freetype in configure script
Shai Ayal <shaiay@sourceforge.net>
parents: 7825
diff changeset
1511 dnl
24093
7d9ba57201b4 configure: improve Qt feature tests for functionality and consistency
Mike Miller <mtmiller@octave.org>
parents: 24077
diff changeset
1512 dnl Check whether the Qt class QFont has the ForceIntegerMetrics enumerated
7d9ba57201b4 configure: improve Qt feature tests for functionality and consistency
Mike Miller <mtmiller@octave.org>
parents: 24077
diff changeset
1513 dnl type member. This property was introduced in Qt 4.7.
23510
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1514 dnl
24093
7d9ba57201b4 configure: improve Qt feature tests for functionality and consistency
Mike Miller <mtmiller@octave.org>
parents: 24077
diff changeset
1515 dnl FIXME: Delete this entirely when we can safely assume that Qt 4.7 or later
7d9ba57201b4 configure: improve Qt feature tests for functionality and consistency
Mike Miller <mtmiller@octave.org>
parents: 24077
diff changeset
1516 dnl is in use everywhere, or when we drop support for Qt 4.
7d9ba57201b4 configure: improve Qt feature tests for functionality and consistency
Mike Miller <mtmiller@octave.org>
parents: 24077
diff changeset
1517 dnl
7d9ba57201b4 configure: improve Qt feature tests for functionality and consistency
Mike Miller <mtmiller@octave.org>
parents: 24077
diff changeset
1518 AC_DEFUN([OCTAVE_CHECK_MEMBER_QFONT_FORCE_INTEGER_METRICS], [
7d9ba57201b4 configure: improve Qt feature tests for functionality and consistency
Mike Miller <mtmiller@octave.org>
parents: 24077
diff changeset
1519 AC_CACHE_CHECK([for QFont::ForceIntegerMetrics in <QFont>],
23510
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1520 [octave_cv_decl_qfont_force_integer_metrics],
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1521 [AC_LANG_PUSH(C++)
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1522 ac_octave_save_CPPFLAGS="$CPPFLAGS"
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1523 ac_octave_save_CXXFLAGS="$CXXFLAGS"
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1524 CPPFLAGS="$QT_CPPFLAGS $CXXPICFLAG $CPPFLAGS"
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1525 CXXFLAGS="$CXXPICFLAG $CXXFLAGS"
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1526 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1527 #include <QFont>
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1528 ]], [[
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1529 QFont::StyleStrategy strategy = QFont::ForceIntegerMetrics;
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1530 ]])],
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1531 octave_cv_decl_qfont_force_integer_metrics=yes,
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1532 octave_cv_decl_qfont_force_integer_metrics=no)
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1533 CPPFLAGS="$ac_octave_save_CPPFLAGS"
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1534 CXXFLAGS="$ac_octave_save_CXXFLAGS"
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1535 AC_LANG_POP(C++)
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1536 ])
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1537 if test $octave_cv_decl_qfont_force_integer_metrics = yes; then
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1538 AC_DEFINE(HAVE_QFONT_FORCE_INTEGER_METRICS, 1,
24093
7d9ba57201b4 configure: improve Qt feature tests for functionality and consistency
Mike Miller <mtmiller@octave.org>
parents: 24077
diff changeset
1539 [Define to 1 if `ForceIntegerMetrics' is a member of `QFont'.])
23510
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1540 fi
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1541 ])
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1542 dnl
24093
7d9ba57201b4 configure: improve Qt feature tests for functionality and consistency
Mike Miller <mtmiller@octave.org>
parents: 24077
diff changeset
1543 dnl Check whether the Qt class QFont has the Monospace enumerated type member.
7d9ba57201b4 configure: improve Qt feature tests for functionality and consistency
Mike Miller <mtmiller@octave.org>
parents: 24077
diff changeset
1544 dnl This property was introduced in Qt 4.7.
23510
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1545 dnl
24093
7d9ba57201b4 configure: improve Qt feature tests for functionality and consistency
Mike Miller <mtmiller@octave.org>
parents: 24077
diff changeset
1546 dnl FIXME: Delete this entirely when we can safely assume that Qt 4.7 or later
7d9ba57201b4 configure: improve Qt feature tests for functionality and consistency
Mike Miller <mtmiller@octave.org>
parents: 24077
diff changeset
1547 dnl is in use everywhere, or when we drop support for Qt 4.
7d9ba57201b4 configure: improve Qt feature tests for functionality and consistency
Mike Miller <mtmiller@octave.org>
parents: 24077
diff changeset
1548 dnl
7d9ba57201b4 configure: improve Qt feature tests for functionality and consistency
Mike Miller <mtmiller@octave.org>
parents: 24077
diff changeset
1549 AC_DEFUN([OCTAVE_CHECK_MEMBER_QFONT_MONOSPACE], [
7d9ba57201b4 configure: improve Qt feature tests for functionality and consistency
Mike Miller <mtmiller@octave.org>
parents: 24077
diff changeset
1550 AC_CACHE_CHECK([for QFont::Monospace in <QFont>],
23510
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1551 [octave_cv_decl_qfont_monospace],
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1552 [AC_LANG_PUSH(C++)
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1553 ac_octave_save_CPPFLAGS="$CPPFLAGS"
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1554 ac_octave_save_CXXFLAGS="$CXXFLAGS"
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1555 CPPFLAGS="$QT_CPPFLAGS $CXXPICFLAG $CPPFLAGS"
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1556 CXXFLAGS="$CXXPICFLAG $CXXFLAGS"
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1557 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1558 #include <QFont>
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1559 ]], [[
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1560 QFont::StyleHint hint = QFont::Monospace;
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1561 ]])],
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1562 octave_cv_decl_qfont_monospace=yes,
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1563 octave_cv_decl_qfont_monospace=no)
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1564 CPPFLAGS="$ac_octave_save_CPPFLAGS"
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1565 CXXFLAGS="$ac_octave_save_CXXFLAGS"
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1566 AC_LANG_POP(C++)
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1567 ])
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1568 if test $octave_cv_decl_qfont_monospace = yes; then
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1569 AC_DEFINE(HAVE_QFONT_MONOSPACE, 1,
24093
7d9ba57201b4 configure: improve Qt feature tests for functionality and consistency
Mike Miller <mtmiller@octave.org>
parents: 24077
diff changeset
1570 [Define to 1 if `Monospace' is a member of `QFont'.])
23510
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1571 fi
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1572 ])
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1573 dnl
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1574 dnl Check for the Qhull version.
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
1575 dnl
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1576 AC_DEFUN([OCTAVE_CHECK_QHULL_VERSION], [
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1577 AC_CACHE_CHECK([for qh_version in $QHULL_LIBS],
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1578 [octave_cv_lib_qhull_version],
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1579 [AC_LINK_IFELSE([AC_LANG_PROGRAM([[
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1580 #include <stdio.h>
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1581 #if defined (HAVE_LIBQHULL_LIBQHULL_H)
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1582 # include <libqhull/libqhull.h>
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1583 # include <libqhull/qset.h>
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1584 # include <libqhull/geom.h>
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1585 # include <libqhull/poly.h>
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1586 # include <libqhull/io.h>
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1587 #elif defined (HAVE_QHULL_LIBQHULL_H) || defined (HAVE_QHULL_QHULL_H)
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1588 # if defined (HAVE_QHULL_LIBQHULL_H)
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1589 # include <qhull/libqhull.h>
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1590 # else
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1591 # include <qhull/qhull.h>
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1592 # endif
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1593 # include <qhull/qset.h>
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1594 # include <qhull/geom.h>
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1595 # include <qhull/poly.h>
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1596 # include <qhull/io.h>
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1597 #elif defined (HAVE_LIBQHULL_H) || defined (HAVE_QHULL_H)
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1598 # if defined (HAVE_LIBQHULL_H)
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1599 # include <libqhull.h>
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1600 # else
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1601 # include <qhull.h>
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1602 # endif
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1603 # include <qset.h>
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1604 # include <geom.h>
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1605 # include <poly.h>
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1606 # include <io.h>
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1607 #endif
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1608 ]], [[
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1609 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
1610 ]])],
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1611 octave_cv_lib_qhull_version=yes, octave_cv_lib_qhull_version=no)
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1612 ])
15336
5fff79162342 acinclude.m4: Put temporary shell variables in macros into ac_octave namespace.
Rik <rik@octave.org>
parents: 15330
diff changeset
1613 if test $octave_cv_lib_qhull_version = no; then
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1614 AC_DEFINE(NEED_QHULL_VERSION, 1,
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1615 [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
1616 fi
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1617 ])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
1618 dnl
22823
e2afee0041bf new configure option, --without-qscintilla
John W. Eaton <jwe@octave.org>
parents: 22755
diff changeset
1619 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
1620 dnl
22823
e2afee0041bf new configure option, --without-qscintilla
John W. Eaton <jwe@octave.org>
parents: 22755
diff changeset
1621 AC_DEFUN([OCTAVE_CHECK_QSCINTILLA], [
22234
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1622 qt_version="$1";
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1623 use_qscintilla=no
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1624 warn_qscintilla=""
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1625
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1626 ## Check for Qt libraries
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1627 case "$qt_version" in
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1628 4)
24125
ed746cbfce24 * acinclude.m4: Search for version-specific qscintilla libs first.
John W. Eaton <jwe@octave.org>
parents: 24124
diff changeset
1629 octave_qscintilla_libnames="qscintilla2-qt4 qscintilla2_qt4 qt4scintilla2 qscintilla2"
22234
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1630 ;;
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1631 5)
23414
a759896c2b53 acinclude.m4: Look for "qscintilla_qt5" as another name for Qt5 scintilla library.
Rik <rik@octave.org>
parents: 23219
diff changeset
1632 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
1633 ;;
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1634 *)
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1635 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
1636 ;;
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1637 esac
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1638
22823
e2afee0041bf new configure option, --without-qscintilla
John W. Eaton <jwe@octave.org>
parents: 22755
diff changeset
1639 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
1640
22286
f394436a4025 build: improve QScintilla detection to work with distro naming schemes (bug #48773)
Mike Miller <mtmiller@octave.org>
parents: 22257
diff changeset
1641 ## 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
1642 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
1643 [octave_cv_lib_qscintilla],
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1644 [save_CPPFLAGS="$CPPFLAGS"
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1645 save_CXXFLAGS="$CXXFLAGS"
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1646 save_LDFLAGS="$LDFLAGS"
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1647 save_LIBS="$LIBS"
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1648 CPPFLAGS="$QT_CPPFLAGS $CXXPICFLAG $CPPFLAGS"
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1649 CXXFLAGS="$CXXPICFLAG $CXXFLAGS"
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1650 LDFLAGS="$QT_LDFLAGS $LDFLAGS"
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1651 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
1652 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
1653 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
1654 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
22456
8924139b4f21 fix test for qscintilla (bug #49018)
John W. Eaton <jwe@octave.org>
parents: 22323
diff changeset
1655 #include <Qsci/qsciapis.h>
8924139b4f21 fix test for qscintilla (bug #49018)
John W. Eaton <jwe@octave.org>
parents: 22323
diff changeset
1656 #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
1657 ]], [[
22456
8924139b4f21 fix test for qscintilla (bug #49018)
John W. Eaton <jwe@octave.org>
parents: 22323
diff changeset
1658 QsciLexer *lexer = new QsciLexerCPP ();
8924139b4f21 fix test for qscintilla (bug #49018)
John W. Eaton <jwe@octave.org>
parents: 22323
diff changeset
1659 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
1660 ]])],
f394436a4025 build: improve QScintilla detection to work with distro naming schemes (bug #48773)
Mike Miller <mtmiller@octave.org>
parents: 22257
diff changeset
1661 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
1662 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
1663 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
1664 break
f394436a4025 build: improve QScintilla detection to work with distro naming schemes (bug #48773)
Mike Miller <mtmiller@octave.org>
parents: 22257
diff changeset
1665 fi
f394436a4025 build: improve QScintilla detection to work with distro naming schemes (bug #48773)
Mike Miller <mtmiller@octave.org>
parents: 22257
diff changeset
1666 done
22234
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1667 CPPFLAGS="$save_CPPFLAGS"
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1668 CXXFLAGS="$save_CXXFLAGS"
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1669 LDFLAGS="$save_LDFLAGS"
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1670 LIBS="$save_LIBS"
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1671 AC_LANG_POP([C++])
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1672 ])
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1673
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1674 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
1675 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
1676 else
22286
f394436a4025 build: improve QScintilla detection to work with distro naming schemes (bug #48773)
Mike Miller <mtmiller@octave.org>
parents: 22257
diff changeset
1677 ## 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
1678 ## 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
1679 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
1680 OCTAVE_CHECK_QSCINTILLA_VERSION
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1681 AC_DEFINE(HAVE_QSCINTILLA, 1,
22250
2fd4f1a3f4a8 allow building with Qt5 (bug #40252)
John W. Eaton <jwe@octave.org>
parents: 22234
diff changeset
1682 [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
1683
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1684 save_CPPFLAGS="$CPPFLAGS"
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1685 save_CXXFLAGS="$CXXFLAGS"
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1686 CPPFLAGS="$QT_CPPFLAGS $CXXPICFLAG $CPPFLAGS"
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1687 CXXFLAGS="$CXXPICFLAG $CXXFLAGS"
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1688 AC_LANG_PUSH(C++)
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1689 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
1690 AC_LANG_POP(C++)
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1691 CPPFLAGS="$save_CPPFLAGS"
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1692 CXXFLAGS="$save_CXXFLAGS"
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1693
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1694 OCTAVE_CHECK_FUNC_QSCI_FINDSELECTION
22823
e2afee0041bf new configure option, --without-qscintilla
John W. Eaton <jwe@octave.org>
parents: 22755
diff changeset
1695
22234
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1696 use_qscintilla=yes
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1697 fi
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1698 fi
22823
e2afee0041bf new configure option, --without-qscintilla
John W. Eaton <jwe@octave.org>
parents: 22755
diff changeset
1699 ])
e2afee0041bf new configure option, --without-qscintilla
John W. Eaton <jwe@octave.org>
parents: 22755
diff changeset
1700 dnl
23510
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1701 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
1702 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
1703 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
1704 dnl
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1705 AC_DEFUN([OCTAVE_CHECK_QSCINTILLA_VERSION], [
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1706 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
1707 [octave_cv_version_2_6_0],
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1708 [AC_LANG_PUSH(C++)
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1709 ac_octave_save_CPPFLAGS="$CPPFLAGS"
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1710 CPPFLAGS="$QT_CPPFLAGS $CXXPICFLAG $CPPFLAGS"
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1711 AC_PREPROC_IFELSE([AC_LANG_PROGRAM([[
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1712 #include <Qsci/qsciglobal.h>
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1713 ]], [[
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1714 #if QSCINTILLA_VERSION < 0x020600
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1715 #error Old FindFirst function found.
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1716 #endif
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1717 ]])],
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1718 octave_cv_version_2_6_0=yes,
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1719 octave_cv_version_2_6_0=no)
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1720 CPPFLAGS="$ac_octave_save_CPPFLAGS"
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1721 AC_LANG_POP(C++)
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1722 ])
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
1723 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
1724 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
1725 [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
1726 fi
22234
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1727 ])
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1728 dnl
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1729 dnl OCTAVE_CHECK_QT
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1730 dnl
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1731 AC_DEFUN([OCTAVE_CHECK_QT], [
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1732 octave_qt_versions="$1"
22257
945e7f9c11ff build: fix configure --without-qt or --with-qt
Mike Miller <mtmiller@octave.org>
parents: 22255
diff changeset
1733
945e7f9c11ff build: fix configure --without-qt or --with-qt
Mike Miller <mtmiller@octave.org>
parents: 22255
diff changeset
1734 build_qt_gui=no
945e7f9c11ff build: fix configure --without-qt or --with-qt
Mike Miller <mtmiller@octave.org>
parents: 22255
diff changeset
1735 build_qt_graphics=no
945e7f9c11ff build: fix configure --without-qt or --with-qt
Mike Miller <mtmiller@octave.org>
parents: 22255
diff changeset
1736 use_qscintilla=no
945e7f9c11ff build: fix configure --without-qt or --with-qt
Mike Miller <mtmiller@octave.org>
parents: 22255
diff changeset
1737 win32_terminal=no
945e7f9c11ff build: fix configure --without-qt or --with-qt
Mike Miller <mtmiller@octave.org>
parents: 22255
diff changeset
1738
22255
8e18e364a686 improve checks for Qt when Qt 5 is not installed
John W. Eaton <jwe@octave.org>
parents: 22250
diff changeset
1739 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
1740 OCTAVE_CHECK_QT_VERSION([$ver])
22250
2fd4f1a3f4a8 allow building with Qt5 (bug #40252)
John W. Eaton <jwe@octave.org>
parents: 22234
diff changeset
1741 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
1742 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
1743 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
1744 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
1745 ## 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
1746 ## 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
1747 ## next version in the list. Don't attempt a similar check for
5fccb7373bc4 allow configure to continue if some Qt tools are found (bug #53571)
John W. Eaton <jwe@octave.org>
parents: 25119
diff changeset
1748 ## tools here becuase Qt4 and Qt5 tools may be installed with
5fccb7373bc4 allow configure to continue if some Qt tools are found (bug #53571)
John W. Eaton <jwe@octave.org>
parents: 25119
diff changeset
1749 ## 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
1750 ## 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
1751 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
1752 break
22255
8e18e364a686 improve checks for Qt when Qt 5 is not installed
John W. Eaton <jwe@octave.org>
parents: 22250
diff changeset
1753 fi
8e18e364a686 improve checks for Qt when Qt 5 is not installed
John W. Eaton <jwe@octave.org>
parents: 22250
diff changeset
1754 done
8e18e364a686 improve checks for Qt when Qt 5 is not installed
John W. Eaton <jwe@octave.org>
parents: 22250
diff changeset
1755
8e18e364a686 improve checks for Qt when Qt 5 is not installed
John W. Eaton <jwe@octave.org>
parents: 22250
diff changeset
1756 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
1757 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
1758 if test x"$have_qt_version" = x4; then
24810
8a92f442c4a2 configure.ac: Overhaul file (bug #53186).
Rik <rik@octave.org>
parents: 24798
diff changeset
1759 AC_DEFINE(HAVE_QT4, 1, [Define to 1 if using Qt version 4.])
22255
8e18e364a686 improve checks for Qt when Qt 5 is not installed
John W. Eaton <jwe@octave.org>
parents: 22250
diff changeset
1760 fi
8e18e364a686 improve checks for Qt when Qt 5 is not installed
John W. Eaton <jwe@octave.org>
parents: 22250
diff changeset
1761 if test x"$have_qt_version" = x5; then
24810
8a92f442c4a2 configure.ac: Overhaul file (bug #53186).
Rik <rik@octave.org>
parents: 24798
diff changeset
1762 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
1763 fi
8e18e364a686 improve checks for Qt when Qt 5 is not installed
John W. Eaton <jwe@octave.org>
parents: 22250
diff changeset
1764 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
1765 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
1766 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
1767 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
1768 else
cc21f66ecb1c display more info in configure summary about Qt version and missing features
John W. Eaton <jwe@octave.org>
parents: 25061
diff changeset
1769 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
1770 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
1771 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
1772 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
1773 fi
22255
8e18e364a686 improve checks for Qt when Qt 5 is not installed
John W. Eaton <jwe@octave.org>
parents: 22250
diff changeset
1774 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
1775 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
1776 fi
8e18e364a686 improve checks for Qt when Qt 5 is not installed
John W. Eaton <jwe@octave.org>
parents: 22250
diff changeset
1777 if test -n "$warn_qt_version"; then
8e18e364a686 improve checks for Qt when Qt 5 is not installed
John W. Eaton <jwe@octave.org>
parents: 22250
diff changeset
1778 OCTAVE_CONFIGURE_WARNING([warn_qt_version])
8e18e364a686 improve checks for Qt when Qt 5 is not installed
John W. Eaton <jwe@octave.org>
parents: 22250
diff changeset
1779 fi
8e18e364a686 improve checks for Qt when Qt 5 is not installed
John W. Eaton <jwe@octave.org>
parents: 22250
diff changeset
1780 if test -n "$warn_qt_tools"; then
8e18e364a686 improve checks for Qt when Qt 5 is not installed
John W. Eaton <jwe@octave.org>
parents: 22250
diff changeset
1781 OCTAVE_CONFIGURE_WARNING([warn_qt_tools])
8e18e364a686 improve checks for Qt when Qt 5 is not installed
John W. Eaton <jwe@octave.org>
parents: 22250
diff changeset
1782 fi
8e18e364a686 improve checks for Qt when Qt 5 is not installed
John W. Eaton <jwe@octave.org>
parents: 22250
diff changeset
1783 if test -n "$warn_qt_setlocale"; then
8e18e364a686 improve checks for Qt when Qt 5 is not installed
John W. Eaton <jwe@octave.org>
parents: 22250
diff changeset
1784 OCTAVE_CONFIGURE_WARNING([warn_qt_setlocale])
8e18e364a686 improve checks for Qt when Qt 5 is not installed
John W. Eaton <jwe@octave.org>
parents: 22250
diff changeset
1785 fi
8e18e364a686 improve checks for Qt when Qt 5 is not installed
John W. Eaton <jwe@octave.org>
parents: 22250
diff changeset
1786 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
1787 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
1788 fi
8e18e364a686 improve checks for Qt when Qt 5 is not installed
John W. Eaton <jwe@octave.org>
parents: 22250
diff changeset
1789 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
1790 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
1791 fi
8e18e364a686 improve checks for Qt when Qt 5 is not installed
John W. Eaton <jwe@octave.org>
parents: 22250
diff changeset
1792 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
1793 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
1794 fi
8e18e364a686 improve checks for Qt when Qt 5 is not installed
John W. Eaton <jwe@octave.org>
parents: 22250
diff changeset
1795 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
1796 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
1797 fi
8e18e364a686 improve checks for Qt when Qt 5 is not installed
John W. Eaton <jwe@octave.org>
parents: 22250
diff changeset
1798 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
1799 OCTAVE_CONFIGURE_WARNING([warn_qscintilla])
22234
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1800 fi
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1801 fi
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1802
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1803 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
1804 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
1805 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
1806 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
1807 ])
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1808 dnl
24798
45470049a43f Allow getframe and print to work without osmesa (bug #53186).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 24623
diff changeset
1809 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
1810 dnl
45470049a43f Allow getframe and print to work without osmesa (bug #53186).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 24623
diff changeset
1811 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
1812 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
1813 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
1814 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
1815 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
1816 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
1817 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
1818 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
1819 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
1820 CXXFLAGS="$CXXPICFLAG $CXXFLAGS"
45470049a43f Allow getframe and print to work without osmesa (bug #53186).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 24623
diff changeset
1821 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
1822 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
1823 [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
1824 [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
1825 #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
1826 # include <windows.h>
45470049a43f Allow getframe and print to work without osmesa (bug #53186).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 24623
diff changeset
1827 #endif
45470049a43f Allow getframe and print to work without osmesa (bug #53186).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 24623
diff changeset
1828 #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
1829 # 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
1830 #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
1831 # 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
1832 #endif
45470049a43f Allow getframe and print to work without osmesa (bug #53186).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 24623
diff changeset
1833 #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
1834 # 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
1835 #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
1836 # 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
1837 #endif
45470049a43f Allow getframe and print to work without osmesa (bug #53186).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 24623
diff changeset
1838 #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
1839 # include <QOpenGLWidget>
45470049a43f Allow getframe and print to work without osmesa (bug #53186).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 24623
diff changeset
1840 # include <QOpenGLContext>
45470049a43f Allow getframe and print to work without osmesa (bug #53186).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 24623
diff changeset
1841 #endif
45470049a43f Allow getframe and print to work without osmesa (bug #53186).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 24623
diff changeset
1842 #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
1843 # include <QOffscreenSurface>
45470049a43f Allow getframe and print to work without osmesa (bug #53186).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 24623
diff changeset
1844 #endif
25061
5fef743c34d7 build: Check for new help query member in qt 5.9 (bug #53006).
Torsten <mttl@mailbox.org>
parents: 25054
diff changeset
1845 QOpenGLContext ctx;
24798
45470049a43f Allow getframe and print to work without osmesa (bug #53186).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 24623
diff changeset
1846 QOffscreenSurface surf;
45470049a43f Allow getframe and print to work without osmesa (bug #53186).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 24623
diff changeset
1847 ]])],
45470049a43f Allow getframe and print to work without osmesa (bug #53186).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 24623
diff changeset
1848 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
1849 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
1850 ])
45470049a43f Allow getframe and print to work without osmesa (bug #53186).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 24623
diff changeset
1851 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
1852 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
1853 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
1854 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
1855 $1
45470049a43f Allow getframe and print to work without osmesa (bug #53186).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 24623
diff changeset
1856 :
45470049a43f Allow getframe and print to work without osmesa (bug #53186).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 24623
diff changeset
1857 else
45470049a43f Allow getframe and print to work without osmesa (bug #53186).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 24623
diff changeset
1858 $2
45470049a43f Allow getframe and print to work without osmesa (bug #53186).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 24623
diff changeset
1859 :
45470049a43f Allow getframe and print to work without osmesa (bug #53186).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 24623
diff changeset
1860 fi
45470049a43f Allow getframe and print to work without osmesa (bug #53186).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 24623
diff changeset
1861 ])
45470049a43f Allow getframe and print to work without osmesa (bug #53186).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 24623
diff changeset
1862 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
1863 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
1864 dnl
6cfbf412a2c3 configure.ac: Test that Qt and OpenGL can be used together (bug #45672)
Mike Miller <mtmiller@octave.org>
parents: 20416
diff changeset
1865 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
1866 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
1867 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
1868 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
1869 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
1870 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
1871 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
1872 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
1873 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
1874 CXXFLAGS="$CXXPICFLAG $CXXFLAGS"
25862
e5a73a8c116c use wrapper class to call OpenGL functions
John W. Eaton <jwe@octave.org>
parents: 25844
diff changeset
1875 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
1876 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
1877 [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
1878 [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
1879 #if HAVE_WINDOWS_H
24142
59cdf06c940e use QOpenGLWidget if it is available
John W. Eaton <jwe@octave.org>
parents: 24125
diff changeset
1880 # 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
1881 #endif
6cfbf412a2c3 configure.ac: Test that Qt and OpenGL can be used together (bug #45672)
Mike Miller <mtmiller@octave.org>
parents: 20416
diff changeset
1882 #if defined (HAVE_GL_GL_H)
24142
59cdf06c940e use QOpenGLWidget if it is available
John W. Eaton <jwe@octave.org>
parents: 24125
diff changeset
1883 # 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
1884 #elif defined (HAVE_OPENGL_GL_H)
24142
59cdf06c940e use QOpenGLWidget if it is available
John W. Eaton <jwe@octave.org>
parents: 24125
diff changeset
1885 # 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
1886 #endif
21724
aba2e6293dd8 use "#if ..." consistently instead of "#ifdef" and "#ifndef"
John W. Eaton <jwe@octave.org>
parents: 21604
diff changeset
1887 #if defined (HAVE_GL_GLU_H)
24142
59cdf06c940e use QOpenGLWidget if it is available
John W. Eaton <jwe@octave.org>
parents: 24125
diff changeset
1888 # 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
1889 #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
1890 # 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
1891 #endif
24142
59cdf06c940e use QOpenGLWidget if it is available
John W. Eaton <jwe@octave.org>
parents: 24125
diff changeset
1892 #if defined (HAVE_QOPENGLWIDGET)
59cdf06c940e use QOpenGLWidget if it is available
John W. Eaton <jwe@octave.org>
parents: 24125
diff changeset
1893 # include <QOpenGLWidget>
59cdf06c940e use QOpenGLWidget if it is available
John W. Eaton <jwe@octave.org>
parents: 24125
diff changeset
1894 # define OCTAVE_QT_OPENGL_WIDGET QOpenGLWidget
59cdf06c940e use QOpenGLWidget if it is available
John W. Eaton <jwe@octave.org>
parents: 24125
diff changeset
1895 #elif defined (HAVE_QGLWIDGET)
59cdf06c940e use QOpenGLWidget if it is available
John W. Eaton <jwe@octave.org>
parents: 24125
diff changeset
1896 # include <QGLWidget>
59cdf06c940e use QOpenGLWidget if it is available
John W. Eaton <jwe@octave.org>
parents: 24125
diff changeset
1897 # define OCTAVE_QT_OPENGL_WIDGET QGLWidget
59cdf06c940e use QOpenGLWidget if it is available
John W. Eaton <jwe@octave.org>
parents: 24125
diff changeset
1898 #endif
59cdf06c940e use QOpenGLWidget if it is available
John W. Eaton <jwe@octave.org>
parents: 24125
diff changeset
1899 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
1900 {
6cfbf412a2c3 configure.ac: Test that Qt and OpenGL can be used together (bug #45672)
Mike Miller <mtmiller@octave.org>
parents: 20416
diff changeset
1901 public:
24142
59cdf06c940e use QOpenGLWidget if it is available
John W. Eaton <jwe@octave.org>
parents: 24125
diff changeset
1902 gl_widget (QWidget *parent = 0)
59cdf06c940e use QOpenGLWidget if it is available
John W. Eaton <jwe@octave.org>
parents: 24125
diff changeset
1903 : 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
1904 ~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
1905 };
6cfbf412a2c3 configure.ac: Test that Qt and OpenGL can be used together (bug #45672)
Mike Miller <mtmiller@octave.org>
parents: 20416
diff changeset
1906 ]], [[
6cfbf412a2c3 configure.ac: Test that Qt and OpenGL can be used together (bug #45672)
Mike Miller <mtmiller@octave.org>
parents: 20416
diff changeset
1907 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
1908 ]])],
6cfbf412a2c3 configure.ac: Test that Qt and OpenGL can be used together (bug #45672)
Mike Miller <mtmiller@octave.org>
parents: 20416
diff changeset
1909 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
1910 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
1911 ])
24144
8e034cb195f1 configure: set and restore compiler flags when testing for Qt header files
Mike Miller <mtmiller@octave.org>
parents: 24143
diff changeset
1912 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
1913 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
1914 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
1915 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
1916 $1
6cfbf412a2c3 configure.ac: Test that Qt and OpenGL can be used together (bug #45672)
Mike Miller <mtmiller@octave.org>
parents: 20416
diff changeset
1917 :
6cfbf412a2c3 configure.ac: Test that Qt and OpenGL can be used together (bug #45672)
Mike Miller <mtmiller@octave.org>
parents: 20416
diff changeset
1918 else
6cfbf412a2c3 configure.ac: Test that Qt and OpenGL can be used together (bug #45672)
Mike Miller <mtmiller@octave.org>
parents: 20416
diff changeset
1919 $2
6cfbf412a2c3 configure.ac: Test that Qt and OpenGL can be used together (bug #45672)
Mike Miller <mtmiller@octave.org>
parents: 20416
diff changeset
1920 :
6cfbf412a2c3 configure.ac: Test that Qt and OpenGL can be used together (bug #45672)
Mike Miller <mtmiller@octave.org>
parents: 20416
diff changeset
1921 fi
6cfbf412a2c3 configure.ac: Test that Qt and OpenGL can be used together (bug #45672)
Mike Miller <mtmiller@octave.org>
parents: 20416
diff changeset
1922 ])
6cfbf412a2c3 configure.ac: Test that Qt and OpenGL can be used together (bug #45672)
Mike Miller <mtmiller@octave.org>
parents: 20416
diff changeset
1923 dnl
25135
ab3904f253c5 correctly track available/missing Qt tools when qtchooser is not found
John W. Eaton <jwe@octave.org>
parents: 25134
diff changeset
1924 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
1925 dnl
ab3904f253c5 correctly track available/missing Qt tools when qtchooser is not found
John W. Eaton <jwe@octave.org>
parents: 25134
diff changeset
1926 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
1927 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
1928 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
1929 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
1930 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
1931 if test -n "$QTCHOOSER"; then
ab3904f253c5 correctly track available/missing Qt tools when qtchooser is not found
John W. Eaton <jwe@octave.org>
parents: 25134
diff changeset
1932 m4_toupper([$1])FLAGS="-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
1933 fi
ab3904f253c5 correctly track available/missing Qt tools when qtchooser is not found
John W. Eaton <jwe@octave.org>
parents: 25134
diff changeset
1934 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
1935 else
ab3904f253c5 correctly track available/missing Qt tools when qtchooser is not found
John W. Eaton <jwe@octave.org>
parents: 25134
diff changeset
1936 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
1937 fi
ab3904f253c5 correctly track available/missing Qt tools when qtchooser is not found
John W. Eaton <jwe@octave.org>
parents: 25134
diff changeset
1938 else
ab3904f253c5 correctly track available/missing Qt tools when qtchooser is not found
John W. Eaton <jwe@octave.org>
parents: 25134
diff changeset
1939 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
1940 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
1941 fi
ab3904f253c5 correctly track available/missing Qt tools when qtchooser is not found
John W. Eaton <jwe@octave.org>
parents: 25134
diff changeset
1942 ])
ab3904f253c5 correctly track available/missing Qt tools when qtchooser is not found
John W. Eaton <jwe@octave.org>
parents: 25134
diff changeset
1943 dnl
22234
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1944 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
1945 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
1946 dnl
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1947 dnl OCTAVE_CHECK_QT_VERSION(VERSION)
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1948 dnl
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1949 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
1950 QT_CPPFLAGS=
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1951 QT_LDFLAGS=
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1952 QT_LIBS=
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1953
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1954 qt_version="$1";
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1955
22255
8e18e364a686 improve checks for Qt when Qt 5 is not installed
John W. Eaton <jwe@octave.org>
parents: 22250
diff changeset
1956 build_qt_gui=yes
22234
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1957 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
1958 have_qt_opengl_offscreen=no
22234
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1959 win32_terminal=no
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1960
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1961 warn_qt_libraries=""
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1962 warn_qt_version=""
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1963 warn_qt_tools=""
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1964 warn_qt_setlocale=""
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1965 warn_qt_setvbuf=""
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1966 warn_qt_lib_fcns=""
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1967 warn_qt_abstract_item_model=""
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1968 warn_qt_opengl=""
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1969
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1970 ## Check for Qt libraries
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1971 case "$qt_version" in
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1972 4)
26889
8295dfd22a02 Backed out changeset 4b256f00650c
John W. Eaton <jwe@octave.org>
parents: 26887
diff changeset
1973 QT_OPENGL_MODULE="QtOpenGL"
26027
98d7a111786a Add SVG convertion option for printing to PDF and raster outputs (bug #52193)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25931
diff changeset
1974 QT_MODULES="QtCore QtGui QtNetwork QtHelp QtXml"
22234
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1975 ;;
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1976 5)
26889
8295dfd22a02 Backed out changeset 4b256f00650c
John W. Eaton <jwe@octave.org>
parents: 26887
diff changeset
1977 QT_OPENGL_MODULE="Qt5OpenGL"
26027
98d7a111786a Add SVG convertion option for printing to PDF and raster outputs (bug #52193)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25931
diff changeset
1978 QT_MODULES="Qt5Core Qt5Gui Qt5Network Qt5PrintSupport Qt5Help Qt5Xml"
22234
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1979 ;;
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1980 *)
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1981 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
1982 ;;
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1983 esac
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1984
25114
f191e1a26095 if a Qt version appears partially installed, don't check another version
John W. Eaton <jwe@octave.org>
parents: 25098
diff changeset
1985 ## 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
1986 PKG_CHECK_MODULES(QT, [$QT_MODULES],
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1987 [],
22255
8e18e364a686 improve checks for Qt when Qt 5 is not installed
John W. Eaton <jwe@octave.org>
parents: 22250
diff changeset
1988 [build_qt_gui=no
22234
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
1989 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
1990
25114
f191e1a26095 if a Qt version appears partially installed, don't check another version
John W. Eaton <jwe@octave.org>
parents: 25098
diff changeset
1991 ## 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
1992 ## 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
1993 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
1994 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
1995 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
1996 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
1997 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
1998 else
f191e1a26095 if a Qt version appears partially installed, don't check another version
John W. Eaton <jwe@octave.org>
parents: 25098
diff changeset
1999 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
2000 fi
f191e1a26095 if a Qt version appears partially installed, don't check another version
John W. Eaton <jwe@octave.org>
parents: 25098
diff changeset
2001 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
2002
22255
8e18e364a686 improve checks for Qt when Qt 5 is not installed
John W. Eaton <jwe@octave.org>
parents: 22250
diff changeset
2003 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
2004 ## 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
2005 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
2006 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
2007 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
2008 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
2009 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
2010 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
2011
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2012 case $host_os in
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2013 *darwin*)
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2014 ## Qt might be installed in framework
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2015 if test -z "$QT_LIBS"; then
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2016 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
2017 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
2018 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
2019 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
2020 ## 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
2021 ## of the -F flag
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2022 AM_CONDITIONAL([AMCOND_LINK_ALL_DEPS],
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2023 [test $link_all_deps = yes || test -n "$QT_LDFLAGS"])
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2024 fi
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2025 ;;
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2026 esac
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2027
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2028 if test $qt_version = 4; then
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2029 ## Check for Qt4
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2030 if ! `$PKG_CONFIG --atleast-version=4.0.0 QtCore`; then
22255
8e18e364a686 improve checks for Qt when Qt 5 is not installed
John W. Eaton <jwe@octave.org>
parents: 22250
diff changeset
2031 build_qt_gui=no
22234
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2032 warn_qt_version="Qt >= 4.0.0 not found; disabling Qt GUI"
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2033 fi
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2034 fi
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2035 fi
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2036
25119
14b9e2a1f3e1 if some Qt tools are instaslled, don't check for another version
John W. Eaton <jwe@octave.org>
parents: 25114
diff changeset
2037 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
2038 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
2039
22255
8e18e364a686 improve checks for Qt when Qt 5 is not installed
John W. Eaton <jwe@octave.org>
parents: 22250
diff changeset
2040 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
2041 AC_CHECK_TOOLS(QTCHOOSER, [qtchooser])
22234
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2042
25135
ab3904f253c5 correctly track available/missing Qt tools when qtchooser is not found
John W. Eaton <jwe@octave.org>
parents: 25134
diff changeset
2043 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
2044 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
2045 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
2046 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
2047 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
2048 OCTAVE_CHECK_QT_TOOL([qhelpgenerator])
24873
486bc22482ca Improve Doxygen generation.
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 24837
diff changeset
2049
25119
14b9e2a1f3e1 if some Qt tools are instaslled, don't check for another version
John W. Eaton <jwe@octave.org>
parents: 25114
diff changeset
2050 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
2051 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
2052 build_qt_gui=no
23154
80a2434ba83c refactor checks for Qt tools (bug #50214)
John W. Eaton <jwe@octave.org>
parents: 23088
diff changeset
2053 MOC_QTVER=
80a2434ba83c refactor checks for Qt tools (bug #50214)
John W. Eaton <jwe@octave.org>
parents: 23088
diff changeset
2054 UIC_QTVER=
80a2434ba83c refactor checks for Qt tools (bug #50214)
John W. Eaton <jwe@octave.org>
parents: 23088
diff changeset
2055 RCC_QTVER=
80a2434ba83c refactor checks for Qt tools (bug #50214)
John W. Eaton <jwe@octave.org>
parents: 23088
diff changeset
2056 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
2057 QCOLLECTIONGENERATOR_QTVER=
24873
486bc22482ca Improve Doxygen generation.
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 24837
diff changeset
2058 QHELPGENERATOR_QTVER=
486bc22482ca Improve Doxygen generation.
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 24837
diff changeset
2059 MOCFLAGS=
486bc22482ca Improve Doxygen generation.
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 24837
diff changeset
2060 UICFLAGS=
486bc22482ca Improve Doxygen generation.
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 24837
diff changeset
2061 RCCFLAGS=
486bc22482ca Improve Doxygen generation.
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 24837
diff changeset
2062 LRELEASEFLAGS=
24938
4f1da669b610 build: export and use qcollectiongenerator command line options correctly
Mike Miller <mtmiller@octave.org>
parents: 24890
diff changeset
2063 QCOLLECTIONGENERATORFLAGS=
24873
486bc22482ca Improve Doxygen generation.
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 24837
diff changeset
2064 QHELPGENERATORFLAGS=
23154
80a2434ba83c refactor checks for Qt tools (bug #50214)
John W. Eaton <jwe@octave.org>
parents: 23088
diff changeset
2065 $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
2066 $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
2067 $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
2068 $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
2069 $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
2070 $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
2071 $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
2072 $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
2073 $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
2074 $as_unset ac_cv_prog_ac_ct_QCOLLECTIONGENERATOR_QTVER
24873
486bc22482ca Improve Doxygen generation.
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 24837
diff changeset
2075 $as_unset ac_cv_prog_QHELPGENERATOR_QTVER
486bc22482ca Improve Doxygen generation.
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 24837
diff changeset
2076 $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
2077 fi
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2078 fi
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2079
22255
8e18e364a686 improve checks for Qt when Qt 5 is not installed
John W. Eaton <jwe@octave.org>
parents: 22250
diff changeset
2080 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
2081 AC_CHECK_FUNCS([setlocale], [],
22255
8e18e364a686 improve checks for Qt when Qt 5 is not installed
John W. Eaton <jwe@octave.org>
parents: 22250
diff changeset
2082 [build_qt_gui=no
22234
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2083 warn_qt_setlocale="setlocale not found; disabling Qt GUI"])
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2084 fi
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2085
22255
8e18e364a686 improve checks for Qt when Qt 5 is not installed
John W. Eaton <jwe@octave.org>
parents: 22250
diff changeset
2086 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
2087 case $host_os in
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2088 mingw* | msdosmsvc*)
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2089 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
2090 [build_qt_gui=no
22234
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2091 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
2092 ;;
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2093 *)
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2094 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
2095 AC_SEARCH_LIBS([openpty], [util],
24810
8a92f442c4a2 configure.ac: Overhaul file (bug #53186).
Rik <rik@octave.org>
parents: 24798
diff changeset
2096 [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
2097 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
2098 [build_qt_gui=no
22234
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2099 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
2100 ;;
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2101 esac
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2102 fi
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2103
22255
8e18e364a686 improve checks for Qt when Qt 5 is not installed
John W. Eaton <jwe@octave.org>
parents: 22250
diff changeset
2104 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
2105 OCTAVE_CHECK_FUNC_QABSTRACTITEMMODEL_BEGINRESETMODEL
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2106
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2107 if test $octave_cv_func_qabstractitemmodel_beginresetmodel = no; then
22255
8e18e364a686 improve checks for Qt when Qt 5 is not installed
John W. Eaton <jwe@octave.org>
parents: 22250
diff changeset
2108 build_qt_gui=no
22234
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2109 warn_qt_abstract_item_model="QAbstractItemModel::beginResetModel 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
2110 ## Invalidate cache so that this test will be done again if we
8e18e364a686 improve checks for Qt when Qt 5 is not installed
John W. Eaton <jwe@octave.org>
parents: 22250
diff changeset
2111 ## perform the test with a different Qt version.
8e18e364a686 improve checks for Qt when Qt 5 is not installed
John W. Eaton <jwe@octave.org>
parents: 22250
diff changeset
2112 $as_unset octave_cv_func_qabstractitemmodel_beginresetmodel
22234
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2113 fi
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2114 fi
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2115
22255
8e18e364a686 improve checks for Qt when Qt 5 is not installed
John W. Eaton <jwe@octave.org>
parents: 22250
diff changeset
2116 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
2117 ## 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
2118 ## 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
2119
8e18e364a686 improve checks for Qt when Qt 5 is not installed
John W. Eaton <jwe@octave.org>
parents: 22250
diff changeset
2120 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
2121 [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
2122
24827
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
2123 AC_LANG_PUSH(C++)
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
2124 ac_octave_save_CPPFLAGS="$CPPFLAGS"
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
2125 CPPFLAGS="$QT_CPPFLAGS $CXXPICFLAG $CPPFLAGS"
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
2126 AC_CHECK_HEADERS([QStandardPaths])
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
2127 CPPFLAGS="$ac_octave_save_CPPFLAGS"
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
2128 AC_LANG_POP(C++)
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
2129
22255
8e18e364a686 improve checks for Qt when Qt 5 is not installed
John W. Eaton <jwe@octave.org>
parents: 22250
diff changeset
2130 ## 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
2131 ## 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
2132 ## 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
2133
25046
a4c687fec320 gui: set Qt Application and Desktop metadata for desktop integration (bug #53102)
Mike Miller <mtmiller@octave.org>
parents: 25042
diff changeset
2134 OCTAVE_CHECK_FUNC_QGUIAPPLICATION_SETDESKTOPFILENAME
24827
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
2135 OCTAVE_CHECK_FUNC_QHEADERVIEW_SETSECTIONRESIZEMODE
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
2136 OCTAVE_CHECK_FUNC_QHEADERVIEW_SETSECTIONSCLICKABLE
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
2137 OCTAVE_CHECK_FUNC_QHEADERVIEW_SETSECTIONSMOVABLE
25061
5fef743c34d7 build: Check for new help query member in qt 5.9 (bug #53006).
Torsten <mttl@mailbox.org>
parents: 25054
diff changeset
2138 OCTAVE_CHECK_FUNC_QHELPSEARCHQUERYWIDGET_SEARCHINPUT
24827
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
2139 OCTAVE_CHECK_FUNC_QINSTALLMESSAGEHANDLER
24093
7d9ba57201b4 configure: improve Qt feature tests for functionality and consistency
Mike Miller <mtmiller@octave.org>
parents: 24077
diff changeset
2140 OCTAVE_CHECK_FUNC_QLINEEDIT_SETPLACEHOLDERTEXT
24827
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
2141 OCTAVE_CHECK_FUNC_QMOUSEEVENT_LOCALPOS
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
2142 OCTAVE_CHECK_FUNC_QOBJECT_FINDCHILDREN_ACCEPTS_FINDCHILDOPTIONS
25884
4e108574385c Improve OpenGL rendering on high resolution screens with Qt 5 (bug #49053)
John Swensen <jpswensen@gmail.com>
parents: 25862
diff changeset
2143 OCTAVE_CHECK_FUNC_QSCREEN_DEVICEPIXELRATIO
22234
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2144 OCTAVE_CHECK_FUNC_QTABWIDGET_SETMOVABLE
24827
1e0718c1867c eliminate most Qt version checks
John W. Eaton <jwe@octave.org>
parents: 24825
diff changeset
2145 OCTAVE_CHECK_FUNC_QTMESSAGEHANDLER_ACCEPTS_QMESSAGELOGCONTEXT
27215
274766cae722 allow building with Qt4 to work again
John W. Eaton <jwe@octave.org>
parents: 27134
diff changeset
2146 OCTAVE_CHECK_FUNC_QWHEELEVENT_ANGLEDELTA
24093
7d9ba57201b4 configure: improve Qt feature tests for functionality and consistency
Mike Miller <mtmiller@octave.org>
parents: 24077
diff changeset
2147 OCTAVE_CHECK_MEMBER_QFONT_FORCE_INTEGER_METRICS
7d9ba57201b4 configure: improve Qt feature tests for functionality and consistency
Mike Miller <mtmiller@octave.org>
parents: 24077
diff changeset
2148 OCTAVE_CHECK_MEMBER_QFONT_MONOSPACE
24821
88665923596c Make variable editor code compile under Qt4 (bug #53259)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 24810
diff changeset
2149 OCTAVE_HAVE_QGUIAPPLICATION
22234
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2150
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2151 if test -n "$OPENGL_LIBS"; then
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2152 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
2153 [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
2154
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2155 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
2156 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
2157 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
2158 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
2159 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
2160 fi
22234
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2161 fi
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2162 fi
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2163
22823
e2afee0041bf new configure option, --without-qscintilla
John W. Eaton <jwe@octave.org>
parents: 22755
diff changeset
2164 OCTAVE_CHECK_QSCINTILLA([$qt_version])
22234
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2165
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2166 fi
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2167 AC_SUBST(MOCFLAGS)
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2168 AC_SUBST(UICFLAGS)
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2169 AC_SUBST(RCCFLAGS)
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2170 AC_SUBST(LRELEASEFLAGS)
24938
4f1da669b610 build: export and use qcollectiongenerator command line options correctly
Mike Miller <mtmiller@octave.org>
parents: 24890
diff changeset
2171 AC_SUBST(QCOLLECTIONGENERATORFLAGS)
4f1da669b610 build: export and use qcollectiongenerator command line options correctly
Mike Miller <mtmiller@octave.org>
parents: 24890
diff changeset
2172 AC_SUBST(QHELPGENERATORFLAGS)
22234
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2173 AC_SUBST(QT_CPPFLAGS)
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2174 AC_SUBST(QT_LDFLAGS)
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2175 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
2176 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
2177 AC_SUBST(QT_OPENGL_LDFLAGS)
25931
332be8be16eb dynamically load qt graphics
John W. Eaton <jwe@octave.org>
parents: 25884
diff changeset
2178 AC_SUBST(QT_OPENGL_LIBS)
22234
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2179 ])
66dd260512a4 allow configure to select Qt version
John W. Eaton <jwe@octave.org>
parents: 22208
diff changeset
2180 dnl
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2181 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
2182 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
2183 dnl is already set.
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2184 dnl
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2185 AC_DEFUN([OCTAVE_CHECK_SIZEOF_FORTRAN_INTEGER], [
22986
21707d6a02c7 make --enable-64 the default
John W. Eaton <jwe@octave.org>
parents: 22899
diff changeset
2186 AC_CACHE_CHECK([default size of Fortran INTEGER],
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2187 [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
2188 [ac_octave_save_FFLAGS="$FFLAGS"
22986
21707d6a02c7 make --enable-64 the default
John W. Eaton <jwe@octave.org>
parents: 22899
diff changeset
2189 FFLAGS="$FFLAGS $F77_INTEGER_8_FLAG"
21707d6a02c7 make --enable-64 the default
John W. Eaton <jwe@octave.org>
parents: 22899
diff changeset
2190 AC_LANG_PUSH(Fortran 77)
21707d6a02c7 make --enable-64 the default
John W. Eaton <jwe@octave.org>
parents: 22899
diff changeset
2191 AC_RUN_IFELSE([AC_LANG_PROGRAM(,[[
21707d6a02c7 make --enable-64 the default
John W. Eaton <jwe@octave.org>
parents: 22899
diff changeset
2192 integer*8 n8
21707d6a02c7 make --enable-64 the default
John W. Eaton <jwe@octave.org>
parents: 22899
diff changeset
2193 integer n
21707d6a02c7 make --enable-64 the default
John W. Eaton <jwe@octave.org>
parents: 22899
diff changeset
2194 c Generate -2**33 + 1.
21707d6a02c7 make --enable-64 the default
John W. Eaton <jwe@octave.org>
parents: 22899
diff changeset
2195 n8 = 2
21707d6a02c7 make --enable-64 the default
John W. Eaton <jwe@octave.org>
parents: 22899
diff changeset
2196 n8 = -4 * (n8 ** 30)
21707d6a02c7 make --enable-64 the default
John W. Eaton <jwe@octave.org>
parents: 22899
diff changeset
2197 n8 = n8 + 1
21707d6a02c7 make --enable-64 the default
John W. Eaton <jwe@octave.org>
parents: 22899
diff changeset
2198 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
2199 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
2200 n = n8
21707d6a02c7 make --enable-64 the default
John W. Eaton <jwe@octave.org>
parents: 22899
diff changeset
2201 if (n .ne. n8) stop 1
21707d6a02c7 make --enable-64 the default
John W. Eaton <jwe@octave.org>
parents: 22899
diff changeset
2202 ]])],
21707d6a02c7 make --enable-64 the default
John W. Eaton <jwe@octave.org>
parents: 22899
diff changeset
2203 octave_cv_sizeof_fortran_integer=8,
21707d6a02c7 make --enable-64 the default
John W. Eaton <jwe@octave.org>
parents: 22899
diff changeset
2204 octave_cv_sizeof_fortran_integer=4,
21707d6a02c7 make --enable-64 the default
John W. Eaton <jwe@octave.org>
parents: 22899
diff changeset
2205 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
2206 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
2207 FFLAGS="$ac_octave_save_FFLAGS"
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2208 ])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2209 ])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2210 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
2211 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
2212 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
2213 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
2214 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
2215 dnl
c188513f5496 configure: disable building with SUNDIALS when the API is too old (bug #55937)
Mike Miller <mtmiller@octave.org>
parents: 26938
diff changeset
2216 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
2217 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
2218 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
2219 dnl Current API functions present in SUNDIALS version 4
27013
b37c1656aa42 configure: test all SUNKLU functions after core SUNDIALS features (bug #55937)
Mike Miller <mtmiller@octave.org>
parents: 26992
diff changeset
2220 AC_CHECK_FUNCS([IDASetJacFn IDASetLinearSolver SUNLinSol_Dense])
26991
c188513f5496 configure: disable building with SUNDIALS when the API is too old (bug #55937)
Mike Miller <mtmiller@octave.org>
parents: 26938
diff changeset
2221 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
2222 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
2223 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
2224 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
2225 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
2226 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
2227 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
2228 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
2229 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
2230 && 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
2231 && 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
2232 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
2233 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
2234 && 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
2235 && 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
2236 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
2237 else
c188513f5496 configure: disable building with SUNDIALS when the API is too old (bug #55937)
Mike Miller <mtmiller@octave.org>
parents: 26938
diff changeset
2238 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
2239 fi
c188513f5496 configure: disable building with SUNDIALS when the API is too old (bug #55937)
Mike Miller <mtmiller@octave.org>
parents: 26938
diff changeset
2240 AC_MSG_RESULT([$octave_have_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
2241 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
2242 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
2243 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
2244 fi
c188513f5496 configure: disable building with SUNDIALS when the API is too old (bug #55937)
Mike Miller <mtmiller@octave.org>
parents: 26938
diff changeset
2245 ])
c188513f5496 configure: disable building with SUNDIALS when the API is too old (bug #55937)
Mike Miller <mtmiller@octave.org>
parents: 26938
diff changeset
2246 dnl
23981
6420142ff32c configure: fix capitalization of SUNDIALS, reword related terms
Mike Miller <mtmiller@octave.org>
parents: 23980
diff changeset
2247 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
2248 dnl precision realtype.
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2249 dnl
23980
eb6602171d59 configure: make SUNDIALS double precision test cross-compile-safe (bug #51904)
Mike Miller <mtmiller@octave.org>
parents: 23836
diff changeset
2250 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
2251 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
2252 [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
2253 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
22899
31bd8a50d44c Add Sundials library support
Francesco Faccio <francesco.faccio@mail.polimi.it>
parents: 22890
diff changeset
2254 #if defined (HAVE_IDA_IDA_H)
26900
ebe7e12765ba fix sundials configure warnings (bug #55911)
John W. Eaton <jwe@octave.org>
parents: 26898
diff changeset
2255 # include <ida/ida.h>
22899
31bd8a50d44c Add Sundials library support
Francesco Faccio <francesco.faccio@mail.polimi.it>
parents: 22890
diff changeset
2256 #endif
31bd8a50d44c Add Sundials library support
Francesco Faccio <francesco.faccio@mail.polimi.it>
parents: 22890
diff changeset
2257 #include <assert.h>
31bd8a50d44c Add Sundials library support
Francesco Faccio <francesco.faccio@mail.polimi.it>
parents: 22890
diff changeset
2258 ]], [[
23980
eb6602171d59 configure: make SUNDIALS double precision test cross-compile-safe (bug #51904)
Mike Miller <mtmiller@octave.org>
parents: 23836
diff changeset
2259 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
2260 "SUNDIALS is not configured for double precision");
22899
31bd8a50d44c Add Sundials library support
Francesco Faccio <francesco.faccio@mail.polimi.it>
parents: 22890
diff changeset
2261 ]])],
23980
eb6602171d59 configure: make SUNDIALS double precision test cross-compile-safe (bug #51904)
Mike Miller <mtmiller@octave.org>
parents: 23836
diff changeset
2262 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
2263 octave_cv_sundials_realtype_is_double=no)
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2264 ])
23980
eb6602171d59 configure: make SUNDIALS double precision test cross-compile-safe (bug #51904)
Mike Miller <mtmiller@octave.org>
parents: 23836
diff changeset
2265 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
2266 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
2267 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
2268 fi
6094018f5e72 refactor configure checks for Sundials (bug #50003)
John W. Eaton <jwe@octave.org>
parents: 23017
diff changeset
2269 ])
6094018f5e72 refactor configure checks for Sundials (bug #50003)
John W. Eaton <jwe@octave.org>
parents: 23017
diff changeset
2270 dnl
26894
ee6300e77c92 Update detection of sundials in the build system (bug #52475).
Carlo de Falco <carlo.defalco@polimi.it>
parents: 26889
diff changeset
2271 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
2272 dnl enabled.
6094018f5e72 refactor configure checks for Sundials (bug #50003)
John W. Eaton <jwe@octave.org>
parents: 23017
diff changeset
2273 dnl
26894
ee6300e77c92 Update detection of sundials in the build system (bug #52475).
Carlo de Falco <carlo.defalco@polimi.it>
parents: 26889
diff changeset
2274 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
2275 ## 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
2276 ## 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
2277 ## 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
2278 ## 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
2279 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
2280 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
2281 [#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
2282 # include <klu.h>
58e300954518 search for klu.h in more places (bug #55950)
John W. Eaton <jwe@octave.org>
parents: 26937
diff changeset
2283 #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
2284 # include <klu/klu.h>
58e300954518 search for klu.h in more places (bug #55950)
John W. Eaton <jwe@octave.org>
parents: 26937
diff changeset
2285 #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
2286 # include <suitesparse/klu.h>
58e300954518 search for klu.h in more places (bug #55950)
John W. Eaton <jwe@octave.org>
parents: 26937
diff changeset
2287 #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
2288 # 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
2289 #endif
cfa2a65c9fdc fix sunlinsol_klu.h detection with sundials 4.x (bug #55950)
John W. Eaton <jwe@octave.org>
parents: 26923
diff changeset
2290 ])
26910
075c4d3bf1de use OCTAVE_CHECK_LIB to check for sundials_sunlinsolklu library
John W. Eaton <jwe@octave.org>
parents: 26909
diff changeset
2291 OCTAVE_CHECK_LIB(sundials_sunlinsolklu, SUNLINSOL_KLU, [],
26937
cfa2a65c9fdc fix sunlinsol_klu.h detection with sundials 4.x (bug #55950)
John W. Eaton <jwe@octave.org>
parents: 26923
diff changeset
2292 [], [SUNKLU], [],
26992
05f389459461 configure: avoid excessive SUNDIALS warning messages when already disabled
Mike Miller <mtmiller@octave.org>
parents: 26991
diff changeset
2293 [don't use SUNDIALS SUNLINSOL_KLU library, disable ode15i and ode15s sparse Jacobian],
27013
b37c1656aa42 configure: test all SUNKLU functions after core SUNDIALS features (bug #55937)
Mike Miller <mtmiller@octave.org>
parents: 26992
diff changeset
2294 [AC_CHECK_FUNCS([SUNLinSol_KLU SUNKLU])
b37c1656aa42 configure: test all SUNKLU functions after core SUNDIALS features (bug #55937)
Mike Miller <mtmiller@octave.org>
parents: 26992
diff changeset
2295 AC_CACHE_CHECK([whether compiling a program that calls SUNKLU works],
26910
075c4d3bf1de use OCTAVE_CHECK_LIB to check for sundials_sunlinsolklu library
John W. Eaton <jwe@octave.org>
parents: 26909
diff changeset
2296 [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
2297 [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
2298 #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
2299 #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
2300 #endif
26895
a1acd11bad19 Directly include klu.h in __ode15__.cc (bug #52475).
Carlo de Falco <carlo.defalco@polimi.it>
parents: 26894
diff changeset
2301 #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
2302 #include <klu.h>
a1acd11bad19 Directly include klu.h in __ode15__.cc (bug #52475).
Carlo de Falco <carlo.defalco@polimi.it>
parents: 26894
diff changeset
2303 #endif
a1acd11bad19 Directly include klu.h in __ode15__.cc (bug #52475).
Carlo de Falco <carlo.defalco@polimi.it>
parents: 26894
diff changeset
2304 #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
2305 #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
2306 #endif
a1acd11bad19 Directly include klu.h in __ode15__.cc (bug #52475).
Carlo de Falco <carlo.defalco@polimi.it>
parents: 26894
diff changeset
2307 #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
2308 #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
2309 #endif
a1acd11bad19 Directly include klu.h in __ode15__.cc (bug #52475).
Carlo de Falco <carlo.defalco@polimi.it>
parents: 26894
diff changeset
2310 #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
2311 #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
2312 #endif
26894
ee6300e77c92 Update detection of sundials in the build system (bug #52475).
Carlo de Falco <carlo.defalco@polimi.it>
parents: 26889
diff changeset
2313 #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
2314 #include <sunlinsol/sunlinsol_klu.h>
23021
6094018f5e72 refactor configure checks for Sundials (bug #50003)
John W. Eaton <jwe@octave.org>
parents: 23017
diff changeset
2315 #endif
6094018f5e72 refactor configure checks for Sundials (bug #50003)
John W. Eaton <jwe@octave.org>
parents: 23017
diff changeset
2316 ]], [[
26894
ee6300e77c92 Update detection of sundials in the build system (bug #52475).
Carlo de Falco <carlo.defalco@polimi.it>
parents: 26889
diff changeset
2317 SUNKLU (0, 0);
23021
6094018f5e72 refactor configure checks for Sundials (bug #50003)
John W. Eaton <jwe@octave.org>
parents: 23017
diff changeset
2318 ]])],
26894
ee6300e77c92 Update detection of sundials in the build system (bug #52475).
Carlo de Falco <carlo.defalco@polimi.it>
parents: 26889
diff changeset
2319 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
2320 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
2321 ])])
26923
c81b471cdb28 build: avoid test syntax error in sundials configuration (bug #55926)
Mike Miller <mtmiller@octave.org>
parents: 26910
diff changeset
2322 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
2323 && 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
2324 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
2325 [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
2326 else
26992
05f389459461 configure: avoid excessive SUNDIALS warning messages when already disabled
Mike Miller <mtmiller@octave.org>
parents: 26991
diff changeset
2327 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
2328 OCTAVE_CONFIGURE_WARNING([warn_sundials_sunlinsol_klu])
22899
31bd8a50d44c Add Sundials library support
Francesco Faccio <francesco.faccio@mail.polimi.it>
parents: 22890
diff changeset
2329 fi
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2330 ])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2331 dnl
26894
ee6300e77c92 Update detection of sundials in the build system (bug #52475).
Carlo de Falco <carlo.defalco@polimi.it>
parents: 26889
diff changeset
2332 dnl Check whether SUNDIALS IDA library has the SUNLINSOL_DENSE linear solver.
25098
5dce8aa80652 configure: disable SUNDIALS if the IDADENSE API is not found (bug #52475)
Mike Miller <mtmiller@octave.org>
parents: 25097
diff changeset
2333 dnl The IDADENSE API was removed in SUNDIALS version 3.0.0.
5dce8aa80652 configure: disable SUNDIALS if the IDADENSE API is not found (bug #52475)
Mike Miller <mtmiller@octave.org>
parents: 25097
diff changeset
2334 dnl
26894
ee6300e77c92 Update detection of sundials in the build system (bug #52475).
Carlo de Falco <carlo.defalco@polimi.it>
parents: 26889
diff changeset
2335 AC_DEFUN([OCTAVE_CHECK_SUNDIALS_SUNLINSOL_DENSE], [
26898
d94876e7a0aa Remove calls to deprecated sundials functions.
Carlo de Falco <carlo.defalco@polimi.it>
parents: 26895
diff changeset
2336 AC_CHECK_HEADERS([sunlinsol/sunlinsol_dense.h])
26894
ee6300e77c92 Update detection of sundials in the build system (bug #52475).
Carlo de Falco <carlo.defalco@polimi.it>
parents: 26889
diff changeset
2337 AC_CACHE_CHECK([whether SUNDIALS IDA includes the SUNLINSOL_DENSE linear solver],
ee6300e77c92 Update detection of sundials in the build system (bug #52475).
Carlo de Falco <carlo.defalco@polimi.it>
parents: 26889
diff changeset
2338 [octave_cv_sundials_sunlinsol_dense],
25098
5dce8aa80652 configure: disable SUNDIALS if the IDADENSE API is not found (bug #52475)
Mike Miller <mtmiller@octave.org>
parents: 25097
diff changeset
2339 [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
2340 #if defined (HAVE_IDA_IDA_H)
26900
ebe7e12765ba fix sundials configure warnings (bug #55911)
John W. Eaton <jwe@octave.org>
parents: 26898
diff changeset
2341 # include <ida/ida.h>
26894
ee6300e77c92 Update detection of sundials in the build system (bug #52475).
Carlo de Falco <carlo.defalco@polimi.it>
parents: 26889
diff changeset
2342 #endif
26898
d94876e7a0aa Remove calls to deprecated sundials functions.
Carlo de Falco <carlo.defalco@polimi.it>
parents: 26895
diff changeset
2343 #if defined (HAVE_SUNLINSOL_SUNLINSOL_DENSE_H)
26900
ebe7e12765ba fix sundials configure warnings (bug #55911)
John W. Eaton <jwe@octave.org>
parents: 26898
diff changeset
2344 # include <sunlinsol/sunlinsol_dense.h>
25098
5dce8aa80652 configure: disable SUNDIALS if the IDADENSE API is not found (bug #52475)
Mike Miller <mtmiller@octave.org>
parents: 25097
diff changeset
2345 #endif
5dce8aa80652 configure: disable SUNDIALS if the IDADENSE API is not found (bug #52475)
Mike Miller <mtmiller@octave.org>
parents: 25097
diff changeset
2346 ]], [[
5dce8aa80652 configure: disable SUNDIALS if the IDADENSE API is not found (bug #52475)
Mike Miller <mtmiller@octave.org>
parents: 25097
diff changeset
2347 void *mem = 0;
5dce8aa80652 configure: disable SUNDIALS if the IDADENSE API is not found (bug #52475)
Mike Miller <mtmiller@octave.org>
parents: 25097
diff changeset
2348 long int num = 0;
5dce8aa80652 configure: disable SUNDIALS if the IDADENSE API is not found (bug #52475)
Mike Miller <mtmiller@octave.org>
parents: 25097
diff changeset
2349 IDADense (mem, num);
5dce8aa80652 configure: disable SUNDIALS if the IDADENSE API is not found (bug #52475)
Mike Miller <mtmiller@octave.org>
parents: 25097
diff changeset
2350 ]])],
26894
ee6300e77c92 Update detection of sundials in the build system (bug #52475).
Carlo de Falco <carlo.defalco@polimi.it>
parents: 26889
diff changeset
2351 octave_cv_sundials_sunlinsol_dense=yes,
ee6300e77c92 Update detection of sundials in the build system (bug #52475).
Carlo de Falco <carlo.defalco@polimi.it>
parents: 26889
diff changeset
2352 octave_cv_sundials_sunlinsol_dense=no)
25098
5dce8aa80652 configure: disable SUNDIALS if the IDADENSE API is not found (bug #52475)
Mike Miller <mtmiller@octave.org>
parents: 25097
diff changeset
2353 ])
26894
ee6300e77c92 Update detection of sundials in the build system (bug #52475).
Carlo de Falco <carlo.defalco@polimi.it>
parents: 26889
diff changeset
2354 if test $octave_cv_sundials_sunlinsol_dense = yes; then
ee6300e77c92 Update detection of sundials in the build system (bug #52475).
Carlo de Falco <carlo.defalco@polimi.it>
parents: 26889
diff changeset
2355 AC_DEFINE(HAVE_SUNDIALS_SUNLINSOL_DENSE, 1,
ee6300e77c92 Update detection of sundials in the build system (bug #52475).
Carlo de Falco <carlo.defalco@polimi.it>
parents: 26889
diff changeset
2356 [Define to 1 if SUNDIALS IDA includes the SUNLINSOL_DENSE linear solver.])
25098
5dce8aa80652 configure: disable SUNDIALS if the IDADENSE API is not found (bug #52475)
Mike Miller <mtmiller@octave.org>
parents: 25097
diff changeset
2357 else
26992
05f389459461 configure: avoid excessive SUNDIALS warning messages when already disabled
Mike Miller <mtmiller@octave.org>
parents: 26991
diff changeset
2358 warn_sundials_disabled="SUNDIALS IDA library does not include the SUNLINSOL_DENSE linear solver. 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
2359 OCTAVE_CONFIGURE_WARNING([warn_sundials_disabled])
25098
5dce8aa80652 configure: disable SUNDIALS if the IDADENSE API is not found (bug #52475)
Mike Miller <mtmiller@octave.org>
parents: 25097
diff changeset
2360 fi
5dce8aa80652 configure: disable SUNDIALS if the IDADENSE API is not found (bug #52475)
Mike Miller <mtmiller@octave.org>
parents: 25097
diff changeset
2361 ])
5dce8aa80652 configure: disable SUNDIALS if the IDADENSE API is not found (bug #52475)
Mike Miller <mtmiller@octave.org>
parents: 25097
diff changeset
2362 dnl
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2363 dnl Add warning to final summary.
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2364 dnl
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2365 AC_DEFUN([OCTAVE_CONFIGURE_WARNING], [
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2366 AC_MSG_WARN([$][$1])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2367 m4_set_add([summary_warning_list], [$1])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2368 ])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2369 dnl
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2370 dnl Print final summary.
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2371 dnl
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2372 AC_DEFUN([OCTAVE_CONFIGURE_WARNING_SUMMARY], [
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2373 m4_set_foreach([summary_warning_list], [elt], [
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2374 if test -n "[$]elt"; then
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2375 AC_MSG_WARN([$]elt)
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2376 warn_msg_printed=true
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2377 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
2378 ])
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
2379 dnl
21397
df859661e31e generate default-qt-settings at configure time
John W. Eaton <jwe@octave.org>
parents: 21381
diff changeset
2380 dnl Like AC_CONFIG_FILES, but don't touch the output file if it already
df859661e31e generate default-qt-settings at configure time
John W. Eaton <jwe@octave.org>
parents: 21381
diff changeset
2381 dnl exists and hasn't changed.
df859661e31e generate default-qt-settings at configure time
John W. Eaton <jwe@octave.org>
parents: 21381
diff changeset
2382 dnl
df859661e31e generate default-qt-settings at configure time
John W. Eaton <jwe@octave.org>
parents: 21381
diff changeset
2383 AC_DEFUN([OCTAVE_CONFIG_MOVE_IF_CHANGE_FILES], [
df859661e31e generate default-qt-settings at configure time
John W. Eaton <jwe@octave.org>
parents: 21381
diff changeset
2384 m4_foreach_w([elt], [$1], [
21398
7e8a410e6124 break generated file dependence on Makefile (bug #46063)
John W. Eaton <jwe@octave.org>
parents: 21397
diff changeset
2385 AC_CONFIG_FILES(elt[-tmp:]patsubst(elt, [.sh$], [.in.sh]))
21397
df859661e31e generate default-qt-settings at configure time
John W. Eaton <jwe@octave.org>
parents: 21381
diff changeset
2386 AC_CONFIG_COMMANDS(elt,
df859661e31e generate default-qt-settings at configure time
John W. Eaton <jwe@octave.org>
parents: 21381
diff changeset
2387 [$SHELL $srcdir/build-aux/move-if-change ]elt[-tmp ]elt)])])
df859661e31e generate default-qt-settings at configure time
John W. Eaton <jwe@octave.org>
parents: 21381
diff changeset
2388 dnl
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2389 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
2390 dnl templates defined.
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2391 dnl
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2392 AC_DEFUN([OCTAVE_CXX_BITWISE_OP_TEMPLATES], [
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2393 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
2394 [octave_cv_cxx_bitwise_op_templates],
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2395 [AC_LANG_PUSH(C++)
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2396 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2397 #include <functional>
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2398 ]], [[
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2399 int x = 0;
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2400 int y = 1;
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2401 int z1 = std::bit_and<int>() (x, y);
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2402 int z2 = std::bit_or<int>() (x, y);
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2403 int z3 = std::bit_xor<int>() (x, y);
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2404 ]])],
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2405 octave_cv_cxx_bitwise_op_templates=yes,
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2406 octave_cv_cxx_bitwise_op_templates=no)
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2407 AC_LANG_POP(C++)
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2408 ])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2409 if test $octave_cv_cxx_bitwise_op_templates = yes; then
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2410 AC_DEFINE(HAVE_CXX_BITWISE_OP_TEMPLATES, 1,
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2411 [Define to 1 if C++ library has templated bitwise operators.])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2412 fi
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2413 ])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2414 dnl
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2415 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
2416 dnl parts of complex numbers independently via references.
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2417 dnl
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2418 AC_DEFUN([OCTAVE_CXX_COMPLEX_REFERENCE_ACCESSORS], [
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2419 AC_CACHE_CHECK([whether complex class can reference components independently],
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2420 [octave_cv_cxx_complex_reference_accessors],
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2421 [AC_LANG_PUSH(C++)
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2422 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2423 #include <complex>
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2424 ]], [[
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2425 std::complex<double> x;
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2426 x.real () = 1.0;
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2427 x.imag () = 1.0;
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2428 ]])],
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2429 octave_cv_cxx_complex_reference_accessors=yes,
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2430 octave_cv_cxx_complex_reference_accessors=no)
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2431 AC_LANG_POP(C++)
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2432 ])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2433 if test $octave_cv_cxx_complex_reference_accessors = yes; then
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2434 AC_DEFINE(HAVE_CXX_COMPLEX_REFERENCE_ACCESSORS, 1,
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2435 [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
2436 fi
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2437 ])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2438 dnl
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2439 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
2440 dnl parts of complex numbers independently.
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2441 dnl
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2442 AC_DEFUN([OCTAVE_CXX_COMPLEX_SETTERS], [
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2443 AC_CACHE_CHECK([whether complex class can set components independently],
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2444 [octave_cv_cxx_complex_setters],
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2445 [AC_LANG_PUSH(C++)
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2446 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2447 #include <complex>
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2448 ]], [[
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2449 std::complex<double> x;
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2450 x.real (1.0);
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2451 x.imag (2.0);
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2452 ]])],
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2453 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
2454 AC_LANG_POP(C++)
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2455 ])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2456 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
2457 AC_DEFINE(HAVE_CXX_COMPLEX_SETTERS, 1,
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2458 [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
2459 fi
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2460 ])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2461 dnl
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2462 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
2463 dnl
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2464 AC_DEFUN([OCTAVE_CXX_DYNAMIC_AUTO_ARRAYS], [
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2465 AC_CACHE_CHECK([whether C++ supports dynamic auto arrays],
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2466 [octave_cv_cxx_dynamic_auto_arrays],
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2467 [AC_LANG_PUSH(C++)
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2468 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [[
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2469 void test(char *);
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2470 int length();
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2471 char x[length()];
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2472 test(x);
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2473 ]])],
17034
8d84dc5f5b5d acinclude.m4: Use m4 quote '[' rather than '"' in AC_MSG_ERROR.
Rik <rik@octave.org>
parents: 17031
diff changeset
2474 octave_cv_cxx_dynamic_auto_arrays=yes,
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2475 octave_cv_cxx_dynamic_auto_arrays=no)
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2476 AC_LANG_POP(C++)
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2477 ])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2478 if test $octave_cv_cxx_dynamic_auto_arrays = yes; then
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2479 AC_DEFINE(HAVE_DYNAMIC_AUTO_ARRAYS, 1,
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2480 [Define to 1 if C++ supports dynamic auto arrays.])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2481 fi
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2482 ])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2483 dnl
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2484 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
2485 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
2486 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
2487 dnl
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2488 AC_DEFUN([OCTAVE_CXX_FLAG], [
17661
1978a6c76aa9 Use user-specified SED during build process (bug #40273).
Rik <rik@octave.org>
parents: 17615
diff changeset
2489 ac_safe=`echo "$1" | $SED 'y%./+-:=%__p___%'`
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2490 AC_MSG_CHECKING([whether ${CXX-g++} accepts $1])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2491 AC_CACHE_VAL([octave_cv_cxx_flag_$ac_safe],
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2492 [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
2493 ac_octave_save_CXXFLAGS="$CXXFLAGS"
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2494 CXXFLAGS="$CXXFLAGS $1"
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2495 AC_LINK_IFELSE([AC_LANG_PROGRAM([], [])],
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2496 eval "octave_cv_cxx_flag_$ac_safe=yes",
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2497 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
2498 CXXFLAGS="$ac_octave_save_CXXFLAGS"
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2499 AC_LANG_POP(C++)
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2500 ])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2501 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
2502 AC_MSG_RESULT([yes])
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2503 ifelse([$2], ,
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2504 [CXXFLAGS="$CXXFLAGS $1"
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2505 AC_MSG_RESULT([adding $1 to CXXFLAGS])], [$2])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2506 else
15319
daf74ce2afdc m4/acinclude.m4: Use more consistent m4 quoting of arguments to macros.
Rik <rik@octave.org>
parents: 15302
diff changeset
2507 AC_MSG_RESULT([no])
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2508 ifelse([$3], , , [$3])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2509 fi
10471
bcabc1c4f20c Add detection of OpenMP support to configure. Disabled by default
David Bateman <dbateman@free.fr>
parents: 10380
diff changeset
2510 ])
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2511 dnl
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2512 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
2513 dnl readline.
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2514 dnl
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2515 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
2516 USE_READLINE=yes
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2517 READLINE_LIBS=
15319
daf74ce2afdc m4/acinclude.m4: Use more consistent m4 quoting of arguments to macros.
Rik <rik@octave.org>
parents: 15302
diff changeset
2518 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
2519 [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
2520 [do not use readline library])],
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2521 [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
2522 USE_READLINE=no
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2523 warn_readline="command editing and history features require GNU Readline"
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2524 fi])
16068
b309a5da17f5 use yes/no instead of true/false in confgure scripts
John W. Eaton <jwe@octave.org>
parents: 16012
diff changeset
2525 if test $USE_READLINE = yes; then
15302
a8cfbc1911e4 build: Set TERM_LIBS before checking for READLINE.
Rik <rik@octave.org>
parents: 15295
diff changeset
2526 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
2527 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
2528 ac_octave_save_LIBS="$LIBS"
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2529 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
2530 AC_CHECK_LIB([readline], [rl_set_keyboard_input_timeout],
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2531 [READLINE_LIBS="-lreadline"
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2532 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
2533 ],
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2534 [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
2535 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
2536 ])
15336
5fff79162342 acinclude.m4: Put temporary shell variables in macros into ac_octave namespace.
Rik <rik@octave.org>
parents: 15330
diff changeset
2537 LIBS="$ac_octave_save_LIBS"
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2538 fi
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2539 AC_SUBST(READLINE_LIBS)
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2540 ])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2541 dnl
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2542 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
2543 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
2544 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
2545 dnl the flag.
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2546 dnl
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2547 AC_DEFUN([OCTAVE_F77_FLAG], [
17661
1978a6c76aa9 Use user-specified SED during build process (bug #40273).
Rik <rik@octave.org>
parents: 17615
diff changeset
2548 ac_safe=`echo "$1" | $SED 'y%./+-:=%__p___%'`
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2549 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
2550 AC_CACHE_VAL([octave_cv_f77_flag_$ac_safe], [
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2551 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
2552 ac_octave_save_FFLAGS="$FFLAGS"
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2553 FFLAGS="$FFLAGS $1"
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2554 AC_LINK_IFELSE([AC_LANG_PROGRAM([], [])],
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2555 eval "octave_cv_f77_flag_$ac_safe=yes",
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2556 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
2557 FFLAGS="$ac_octave_save_FFLAGS"
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2558 AC_LANG_POP(Fortran 77)
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2559 ])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2560 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
2561 AC_MSG_RESULT([yes])
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2562 ifelse([$2], ,
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2563 [FFLAGS="$FFLAGS $1"
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2564 AC_MSG_RESULT([adding $1 to FFLAGS])], [$2])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2565 else
15319
daf74ce2afdc m4/acinclude.m4: Use more consistent m4 quoting of arguments to macros.
Rik <rik@octave.org>
parents: 15302
diff changeset
2566 AC_MSG_RESULT([no])
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2567 ifelse([$3], , , [$3])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2568 fi
10471
bcabc1c4f20c Add detection of OpenMP support to configure. Disabled by default
David Bateman <dbateman@free.fr>
parents: 10380
diff changeset
2569 ])
bcabc1c4f20c Add detection of OpenMP support to configure. Disabled by default
David Bateman <dbateman@free.fr>
parents: 10380
diff changeset
2570 dnl
8595
dee5d60257e4 Use Carbon framework to determine ScreenSize on Mac.
Thomas Treichl <Thomas.Treichl@gmx.net>
parents: 8169
diff changeset
2571 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
2572 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
2573 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
2574 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
2575 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
2576 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
2577 dnl
9654
a307a6f77fb3 aclocal.m4: consistently quote first arg to AC_DEFUN
John W. Eaton <jwe@octave.org>
parents: 9645
diff changeset
2578 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
2579 AC_MSG_CHECKING([whether ${LD-ld} accepts -framework $1])
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2580 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
2581 [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
2582 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
2583 AC_LANG_PUSH(C++)
8595
dee5d60257e4 Use Carbon framework to determine ScreenSize on Mac.
Thomas Treichl <Thomas.Treichl@gmx.net>
parents: 8169
diff changeset
2584 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
2585 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
2586 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
2587 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
2588 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
2589 ])
15336
5fff79162342 acinclude.m4: Put temporary shell variables in macros into ac_octave namespace.
Rik <rik@octave.org>
parents: 15330
diff changeset
2590 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
2591 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
2592 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
2593 [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
2594 [don't use framework $1])],
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2595 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
2596 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
2597 [$4]
15336
5fff79162342 acinclude.m4: Put temporary shell variables in macros into ac_octave namespace.
Rik <rik@octave.org>
parents: 15330
diff changeset
2598 :
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
2599 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
2600 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
2601 [$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
2602 fi
8595
dee5d60257e4 Use Carbon framework to determine ScreenSize on Mac.
Thomas Treichl <Thomas.Treichl@gmx.net>
parents: 8169
diff changeset
2603 else
15319
daf74ce2afdc m4/acinclude.m4: Use more consistent m4 quoting of arguments to macros.
Rik <rik@octave.org>
parents: 15302
diff changeset
2604 AC_MSG_RESULT([no])
8595
dee5d60257e4 Use Carbon framework to determine ScreenSize on Mac.
Thomas Treichl <Thomas.Treichl@gmx.net>
parents: 8169
diff changeset
2605 [$5]
dee5d60257e4 Use Carbon framework to determine ScreenSize on Mac.
Thomas Treichl <Thomas.Treichl@gmx.net>
parents: 8169
diff changeset
2606 fi
dee5d60257e4 Use Carbon framework to determine ScreenSize on Mac.
Thomas Treichl <Thomas.Treichl@gmx.net>
parents: 8169
diff changeset
2607 ])
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2608 dnl
24823
53f68d0fb122 acinclude.m4: Keep macros in alphabetical order.
Rik <rik@octave.org>
parents: 24821
diff changeset
2609 dnl Check whether the Qt class QGuiApplication exists.
53f68d0fb122 acinclude.m4: Keep macros in alphabetical order.
Rik <rik@octave.org>
parents: 24821
diff changeset
2610 dnl This class was introduced in Qt 5.0.
53f68d0fb122 acinclude.m4: Keep macros in alphabetical order.
Rik <rik@octave.org>
parents: 24821
diff changeset
2611 dnl
53f68d0fb122 acinclude.m4: Keep macros in alphabetical order.
Rik <rik@octave.org>
parents: 24821
diff changeset
2612 dnl FIXME: Delete this entirely when we drop support for Qt 4.
53f68d0fb122 acinclude.m4: Keep macros in alphabetical order.
Rik <rik@octave.org>
parents: 24821
diff changeset
2613 dnl
53f68d0fb122 acinclude.m4: Keep macros in alphabetical order.
Rik <rik@octave.org>
parents: 24821
diff changeset
2614 AC_DEFUN([OCTAVE_HAVE_QGUIAPPLICATION], [
53f68d0fb122 acinclude.m4: Keep macros in alphabetical order.
Rik <rik@octave.org>
parents: 24821
diff changeset
2615 AC_CACHE_CHECK([for QGuiApplication],
53f68d0fb122 acinclude.m4: Keep macros in alphabetical order.
Rik <rik@octave.org>
parents: 24821
diff changeset
2616 [octave_cv_decl_qguiapplication],
53f68d0fb122 acinclude.m4: Keep macros in alphabetical order.
Rik <rik@octave.org>
parents: 24821
diff changeset
2617 [AC_LANG_PUSH(C++)
53f68d0fb122 acinclude.m4: Keep macros in alphabetical order.
Rik <rik@octave.org>
parents: 24821
diff changeset
2618 ac_octave_save_CPPFLAGS="$CPPFLAGS"
53f68d0fb122 acinclude.m4: Keep macros in alphabetical order.
Rik <rik@octave.org>
parents: 24821
diff changeset
2619 ac_octave_save_CXXFLAGS="$CXXFLAGS"
53f68d0fb122 acinclude.m4: Keep macros in alphabetical order.
Rik <rik@octave.org>
parents: 24821
diff changeset
2620 CPPFLAGS="$QT_CPPFLAGS $CXXPICFLAG $CPPFLAGS"
53f68d0fb122 acinclude.m4: Keep macros in alphabetical order.
Rik <rik@octave.org>
parents: 24821
diff changeset
2621 CXXFLAGS="$CXXPICFLAG $CXXFLAGS"
53f68d0fb122 acinclude.m4: Keep macros in alphabetical order.
Rik <rik@octave.org>
parents: 24821
diff changeset
2622 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
53f68d0fb122 acinclude.m4: Keep macros in alphabetical order.
Rik <rik@octave.org>
parents: 24821
diff changeset
2623 #include <QGuiApplication>
53f68d0fb122 acinclude.m4: Keep macros in alphabetical order.
Rik <rik@octave.org>
parents: 24821
diff changeset
2624 ]], [[
53f68d0fb122 acinclude.m4: Keep macros in alphabetical order.
Rik <rik@octave.org>
parents: 24821
diff changeset
2625 QScreen *pscreen = QGuiApplication::primaryScreen ();
53f68d0fb122 acinclude.m4: Keep macros in alphabetical order.
Rik <rik@octave.org>
parents: 24821
diff changeset
2626 ]])],
53f68d0fb122 acinclude.m4: Keep macros in alphabetical order.
Rik <rik@octave.org>
parents: 24821
diff changeset
2627 octave_cv_decl_qguiapplication=yes,
53f68d0fb122 acinclude.m4: Keep macros in alphabetical order.
Rik <rik@octave.org>
parents: 24821
diff changeset
2628 octave_cv_decl_qguiapplication=no)
53f68d0fb122 acinclude.m4: Keep macros in alphabetical order.
Rik <rik@octave.org>
parents: 24821
diff changeset
2629 CPPFLAGS="$ac_octave_save_CPPFLAGS"
53f68d0fb122 acinclude.m4: Keep macros in alphabetical order.
Rik <rik@octave.org>
parents: 24821
diff changeset
2630 CXXFLAGS="$ac_octave_save_CXXFLAGS"
53f68d0fb122 acinclude.m4: Keep macros in alphabetical order.
Rik <rik@octave.org>
parents: 24821
diff changeset
2631 AC_LANG_POP(C++)
53f68d0fb122 acinclude.m4: Keep macros in alphabetical order.
Rik <rik@octave.org>
parents: 24821
diff changeset
2632 ])
53f68d0fb122 acinclude.m4: Keep macros in alphabetical order.
Rik <rik@octave.org>
parents: 24821
diff changeset
2633 if test $octave_cv_decl_qguiapplication = yes; then
53f68d0fb122 acinclude.m4: Keep macros in alphabetical order.
Rik <rik@octave.org>
parents: 24821
diff changeset
2634 AC_DEFINE(HAVE_QGUIAPPLICATION, 1,
53f68d0fb122 acinclude.m4: Keep macros in alphabetical order.
Rik <rik@octave.org>
parents: 24821
diff changeset
2635 [Define to 1 if `QGuiApplication' class is available.])
53f68d0fb122 acinclude.m4: Keep macros in alphabetical order.
Rik <rik@octave.org>
parents: 24821
diff changeset
2636 fi
53f68d0fb122 acinclude.m4: Keep macros in alphabetical order.
Rik <rik@octave.org>
parents: 24821
diff changeset
2637 ])
53f68d0fb122 acinclude.m4: Keep macros in alphabetical order.
Rik <rik@octave.org>
parents: 24821
diff changeset
2638 dnl
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2639 dnl Check for IEEE 754 data format.
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2640 dnl
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2641 AC_DEFUN([OCTAVE_IEEE754_DATA_FORMAT], [
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2642 AC_MSG_CHECKING([for IEEE 754 data format])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2643 AC_CACHE_VAL([octave_cv_ieee754_data_format],
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2644 [AC_RUN_IFELSE([AC_LANG_SOURCE([[
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2645 int
17034
8d84dc5f5b5d acinclude.m4: Use m4 quote '[' rather than '"' in AC_MSG_ERROR.
Rik <rik@octave.org>
parents: 17031
diff changeset
2646 main (void)
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2647 {
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2648 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
2649
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2650 ieeebytes l = {0x1c, 0xbc, 0x6e, 0xf2, 0x54, 0x8b, 0x11, 0x43};
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2651 ieeebytes b = {0x43, 0x11, 0x8b, 0x54, 0xf2, 0x6e, 0xbc, 0x1c};
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2652
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2653 return l.d != 1234567891234567.0 && b.d != 1234567891234567.0;
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 ]])],
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2656 octave_cv_ieee754_data_format=yes,
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2657 octave_cv_ieee754_data_format=no,
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2658 octave_cv_ieee754_data_format=yes)
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2659 ])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2660 if test "$cross_compiling" = yes; then
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2661 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
2662 else
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2663 AC_MSG_RESULT([$octave_cv_ieee754_data_format])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2664 fi
15336
5fff79162342 acinclude.m4: Put temporary shell variables in macros into ac_octave namespace.
Rik <rik@octave.org>
parents: 15330
diff changeset
2665 if test $octave_cv_ieee754_data_format = yes; then
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2666 AC_DEFINE(HAVE_IEEE754_DATA_FORMAT, 1,
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2667 [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
2668 else
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2669 ## 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
2670 ## useful system, so we will abort here. Anyone wishing to
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2671 ## experiment with building Octave on a system without IEEE
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2672 ## floating point should be capable of removing this check and
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2673 ## 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
2674 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
2675 fi
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2676 ])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
2677 dnl
17034
8d84dc5f5b5d acinclude.m4: Use m4 quote '[' rather than '"' in AC_MSG_ERROR.
Rik <rik@octave.org>
parents: 17031
diff changeset
2678 dnl Check for CallInst::addAttribute API
8d84dc5f5b5d acinclude.m4: Use m4 quote '[' rather than '"' in AC_MSG_ERROR.
Rik <rik@octave.org>
parents: 17031
diff changeset
2679 dnl
8d84dc5f5b5d acinclude.m4: Use m4 quote '[' rather than '"' in AC_MSG_ERROR.
Rik <rik@octave.org>
parents: 17031
diff changeset
2680 AC_DEFUN([OCTAVE_LLVM_CALLINST_ADDATTRIBUTE_API], [
26541
3e6d559c8756 jit: configure: Improve configure AC_CACHE_CHECK messages
Julien Bect <jbect@users.sourceforge.net>
parents: 26540
diff changeset
2681 AC_CACHE_CHECK([if llvm::CallInst::addAttribute's arg type is llvm::Attributes],
17034
8d84dc5f5b5d acinclude.m4: Use m4 quote '[' rather than '"' in AC_MSG_ERROR.
Rik <rik@octave.org>
parents: 17031
diff changeset
2682 [octave_cv_callinst_addattribute_arg_is_attributes],
8d84dc5f5b5d acinclude.m4: Use m4 quote '[' rather than '"' in AC_MSG_ERROR.
Rik <rik@octave.org>
parents: 17031
diff changeset
2683 [AC_LANG_PUSH(C++)
8d84dc5f5b5d acinclude.m4: Use m4 quote '[' rather than '"' in AC_MSG_ERROR.
Rik <rik@octave.org>
parents: 17031
diff changeset
2684 AC_COMPILE_IFELSE(
17615
3a7d5d655749 Fix typos in configure tests for LLVM methods (bug #39973)
Mike Miller <mtmiller@ieee.org>
parents: 17241
diff changeset
2685 [AC_LANG_PROGRAM([[
21724
aba2e6293dd8 use "#if ..." consistently instead of "#ifdef" and "#ifndef"
John W. Eaton <jwe@octave.org>
parents: 21604
diff changeset
2686 #if defined (HAVE_LLVM_IR_FUNCTION_H)
17164
36fd98b9ce48 Add support for llvm 3.3
Max Brister <max@2bass.com>
parents: 17111
diff changeset
2687 #include <llvm/IR/Instructions.h>
36fd98b9ce48 Add support for llvm 3.3
Max Brister <max@2bass.com>
parents: 17111
diff changeset
2688 #include <llvm/IR/Attributes.h>
36fd98b9ce48 Add support for llvm 3.3
Max Brister <max@2bass.com>
parents: 17111
diff changeset
2689 #else
17034
8d84dc5f5b5d acinclude.m4: Use m4 quote '[' rather than '"' in AC_MSG_ERROR.
Rik <rik@octave.org>
parents: 17031
diff changeset
2690 #include <llvm/Instructions.h>
8d84dc5f5b5d acinclude.m4: Use m4 quote '[' rather than '"' in AC_MSG_ERROR.
Rik <rik@octave.org>
parents: 17031
diff changeset
2691 #include <llvm/Attributes.h>
17164
36fd98b9ce48 Add support for llvm 3.3
Max Brister <max@2bass.com>
parents: 17111
diff changeset
2692 #endif
17615
3a7d5d655749 Fix typos in configure tests for LLVM methods (bug #39973)
Mike Miller <mtmiller@ieee.org>
parents: 17241
diff changeset
2693 ]], [[
17034
8d84dc5f5b5d acinclude.m4: Use m4 quote '[' rather than '"' in AC_MSG_ERROR.
Rik <rik@octave.org>
parents: 17031
diff changeset
2694 llvm::CallInst *callinst;
8d84dc5f5b5d acinclude.m4: Use m4 quote '[' rather than '"' in AC_MSG_ERROR.
Rik <rik@octave.org>
parents: 17031
diff changeset
2695 llvm::AttrBuilder attr_builder;
8d84dc5f5b5d acinclude.m4: Use m4 quote '[' rather than '"' in AC_MSG_ERROR.
Rik <rik@octave.org>
parents: 17031
diff changeset
2696 attr_builder.addAttribute(llvm::Attributes::StructRet);
8d84dc5f5b5d acinclude.m4: Use m4 quote '[' rather than '"' in AC_MSG_ERROR.
Rik <rik@octave.org>
parents: 17031
diff changeset
2697 llvm::Attributes attrs = llvm::Attributes::get(llvm::getGlobalContext(), attr_builder);
8d84dc5f5b5d acinclude.m4: Use m4 quote '[' rather than '"' in AC_MSG_ERROR.
Rik <rik@octave.org>
parents: 17031
diff changeset
2698 callinst->addAttribute (1, attrs);
8d84dc5f5b5d acinclude.m4: Use m4 quote '[' rather than '"' in AC_MSG_ERROR.
Rik <rik@octave.org>
parents: 17031
diff changeset
2699 ]])],
8d84dc5f5b5d acinclude.m4: Use m4 quote '[' rather than '"' in AC_MSG_ERROR.
Rik <rik@octave.org>
parents: 17031
diff changeset
2700 octave_cv_callinst_addattribute_arg_is_attributes=yes,
8d84dc5f5b5d acinclude.m4: Use m4 quote '[' rather than '"' in AC_MSG_ERROR.
Rik <rik@octave.org>
parents: 17031
diff changeset
2701 octave_cv_callinst_addattribute_arg_is_attributes=no)
8d84dc5f5b5d acinclude.m4: Use m4 quote '[' rather than '"' in AC_MSG_ERROR.
Rik <rik@octave.org>
parents: 17031
diff changeset
2702 AC_LANG_POP(C++)
8d84dc5f5b5d acinclude.m4: Use m4 quote '[' rather than '"' in AC_MSG_ERROR.
Rik <rik@octave.org>
parents: 17031
diff changeset
2703 ])
8d84dc5f5b5d acinclude.m4: Use m4 quote '[' rather than '"' in AC_MSG_ERROR.
Rik <rik@octave.org>
parents: 17031
diff changeset
2704 if test $octave_cv_callinst_addattribute_arg_is_attributes = yes; then
8d84dc5f5b5d acinclude.m4: Use m4 quote '[' rather than '"' in AC_MSG_ERROR.
Rik <rik@octave.org>
parents: 17031
diff changeset
2705 AC_DEFINE(CALLINST_ADDATTRIBUTE_ARG_IS_ATTRIBUTES, 1,
8d84dc5f5b5d acinclude.m4: Use m4 quote '[' rather than '"' in AC_MSG_ERROR.
Rik <rik@octave.org>
parents: 17031
diff changeset
2706 [Define to 1 if llvm::CallInst:addAttribute arg type is llvm::Attributes.])
8d84dc5f5b5d acinclude.m4: Use m4 quote '[' rather than '"' in AC_MSG_ERROR.
Rik <rik@octave.org>
parents: 17031
diff changeset
2707 fi
8d84dc5f5b5d acinclude.m4: Use m4 quote '[' rather than '"' in AC_MSG_ERROR.
Rik <rik@octave.org>
parents: 17031
diff changeset
2708 ])
8d84dc5f5b5d acinclude.m4: Use m4 quote '[' rather than '"' in AC_MSG_ERROR.
Rik <rik@octave.org>
parents: 17031
diff changeset
2709 dnl
8d84dc5f5b5d acinclude.m4: Use m4 quote '[' rather than '"' in AC_MSG_ERROR.
Rik <rik@octave.org>
parents: 17031
diff changeset
2710 dnl Check for Function::addAttribute API
8d84dc5f5b5d acinclude.m4: Use m4 quote '[' rather than '"' in AC_MSG_ERROR.
Rik <rik@octave.org>
parents: 17031
diff changeset
2711 dnl
8d84dc5f5b5d acinclude.m4: Use m4 quote '[' rather than '"' in AC_MSG_ERROR.
Rik <rik@octave.org>
parents: 17031
diff changeset
2712 AC_DEFUN([OCTAVE_LLVM_FUNCTION_ADDATTRIBUTE_API], [
26541
3e6d559c8756 jit: configure: Improve configure AC_CACHE_CHECK messages
Julien Bect <jbect@users.sourceforge.net>
parents: 26540
diff changeset
2713 AC_CACHE_CHECK([if llvm::Function::addAttribute's arg type is llvm::Attributes],
17034
8d84dc5f5b5d acinclude.m4: Use m4 quote '[' rather than '"' in AC_MSG_ERROR.
Rik <rik@octave.org>
parents: 17031
diff changeset
2714 [octave_cv_function_addattribute_arg_is_attributes],
8d84dc5f5b5d acinclude.m4: Use m4 quote '[' rather than '"' in AC_MSG_ERROR.
Rik <rik@octave.org>
parents: 17031
diff changeset
2715 [AC_LANG_PUSH(C++)
8d84dc5f5b5d acinclude.m4: Use m4 quote '[' rather than '"' in AC_MSG_ERROR.
Rik <rik@octave.org>
parents: 17031
diff changeset
2716 AC_COMPILE_IFELSE(
8d84dc5f5b5d acinclude.m4: Use m4 quote '[' rather than '"' in AC_MSG_ERROR.
Rik <rik@octave.org>
parents: 17031
diff changeset
2717 [AC_LANG_PROGRAM([[
21724
aba2e6293dd8 use "#if ..." consistently instead of "#ifdef" and "#ifndef"
John W. Eaton <jwe@octave.org>
parents: 21604
diff changeset
2718 #if defined (HAVE_LLVM_IR_FUNCTION_H)
17164
36fd98b9ce48 Add support for llvm 3.3
Max Brister <max@2bass.com>
parents: 17111
diff changeset
2719 #include <llvm/IR/Function.h>
36fd98b9ce48 Add support for llvm 3.3
Max Brister <max@2bass.com>
parents: 17111
diff changeset
2720 #include <llvm/IR/Attributes.h>
36fd98b9ce48 Add support for llvm 3.3
Max Brister <max@2bass.com>
parents: 17111
diff changeset
2721 #include <llvm/IR/LLVMContext.h>
36fd98b9ce48 Add support for llvm 3.3
Max Brister <max@2bass.com>
parents: 17111
diff changeset
2722 #else
17034
8d84dc5f5b5d acinclude.m4: Use m4 quote '[' rather than '"' in AC_MSG_ERROR.
Rik <rik@octave.org>
parents: 17031
diff changeset
2723 #include <llvm/Function.h>
8d84dc5f5b5d acinclude.m4: Use m4 quote '[' rather than '"' in AC_MSG_ERROR.
Rik <rik@octave.org>
parents: 17031
diff changeset
2724 #include <llvm/Attributes.h>
8d84dc5f5b5d acinclude.m4: Use m4 quote '[' rather than '"' in AC_MSG_ERROR.
Rik <rik@octave.org>
parents: 17031
diff changeset
2725 #include <llvm/LLVMContext.h>
17164
36fd98b9ce48 Add support for llvm 3.3
Max Brister <max@2bass.com>
parents: 17111
diff changeset
2726 #endif
17034
8d84dc5f5b5d acinclude.m4: Use m4 quote '[' rather than '"' in AC_MSG_ERROR.
Rik <rik@octave.org>
parents: 17031
diff changeset
2727 ]], [[
8d84dc5f5b5d acinclude.m4: Use m4 quote '[' rather than '"' in AC_MSG_ERROR.
Rik <rik@octave.org>
parents: 17031
diff changeset
2728 llvm::Function *llvm_function;
8d84dc5f5b5d acinclude.m4: Use m4 quote '[' rather than '"' in AC_MSG_ERROR.
Rik <rik@octave.org>
parents: 17031
diff changeset
2729 llvm::AttrBuilder attr_builder;
8d84dc5f5b5d acinclude.m4: Use m4 quote '[' rather than '"' in AC_MSG_ERROR.
Rik <rik@octave.org>
parents: 17031
diff changeset
2730 attr_builder.addAttribute(llvm::Attributes::StructRet);
8d84dc5f5b5d acinclude.m4: Use m4 quote '[' rather than '"' in AC_MSG_ERROR.
Rik <rik@octave.org>
parents: 17031
diff changeset
2731 llvm::Attributes attrs = llvm::Attributes::get(llvm::getGlobalContext(), attr_builder);
8d84dc5f5b5d acinclude.m4: Use m4 quote '[' rather than '"' in AC_MSG_ERROR.
Rik <rik@octave.org>
parents: 17031
diff changeset
2732 llvm_function->addAttribute (1, attrs);
8d84dc5f5b5d acinclude.m4: Use m4 quote '[' rather than '"' in AC_MSG_ERROR.
Rik <rik@octave.org>
parents: 17031
diff changeset
2733 ]])],
8d84dc5f5b5d acinclude.m4: Use m4 quote '[' rather than '"' in AC_MSG_ERROR.
Rik <rik@octave.org>
parents: 17031
diff changeset
2734 octave_cv_function_addattribute_arg_is_attributes=yes,
8d84dc5f5b5d acinclude.m4: Use m4 quote '[' rather than '"' in AC_MSG_ERROR.
Rik <rik@octave.org>
parents: 17031
diff changeset
2735 octave_cv_function_addattribute_arg_is_attributes=no)
8d84dc5f5b5d acinclude.m4: Use m4 quote '[' rather than '"' in AC_MSG_ERROR.
Rik <rik@octave.org>
parents: 17031
diff changeset
2736 AC_LANG_POP(C++)
8d84dc5f5b5d acinclude.m4: Use m4 quote '[' rather than '"' in AC_MSG_ERROR.
Rik <rik@octave.org>
parents: 17031
diff changeset
2737 ])
8d84dc5f5b5d acinclude.m4: Use m4 quote '[' rather than '"' in AC_MSG_ERROR.
Rik <rik@octave.org>
parents: 17031
diff changeset
2738 if test $octave_cv_function_addattribute_arg_is_attributes = yes; then
8d84dc5f5b5d acinclude.m4: Use m4 quote '[' rather than '"' in AC_MSG_ERROR.
Rik <rik@octave.org>
parents: 17031
diff changeset
2739 AC_DEFINE(FUNCTION_ADDATTRIBUTE_ARG_IS_ATTRIBUTES, 1,
8d84dc5f5b5d acinclude.m4: Use m4 quote '[' rather than '"' in AC_MSG_ERROR.
Rik <rik@octave.org>
parents: 17031
diff changeset
2740 [Define to 1 if llvm::Function:addAttribute arg type is llvm::Attributes.])
8d84dc5f5b5d acinclude.m4: Use m4 quote '[' rather than '"' in AC_MSG_ERROR.
Rik <rik@octave.org>
parents: 17031
diff changeset
2741 fi
8d84dc5f5b5d acinclude.m4: Use m4 quote '[' rather than '"' in AC_MSG_ERROR.
Rik <rik@octave.org>
parents: 17031
diff changeset
2742 ])
8d84dc5f5b5d acinclude.m4: Use m4 quote '[' rather than '"' in AC_MSG_ERROR.
Rik <rik@octave.org>
parents: 17031
diff changeset
2743 dnl
8d84dc5f5b5d acinclude.m4: Use m4 quote '[' rather than '"' in AC_MSG_ERROR.
Rik <rik@octave.org>
parents: 17031
diff changeset
2744 dnl Check for Function::addFnAttr API
8d84dc5f5b5d acinclude.m4: Use m4 quote '[' rather than '"' in AC_MSG_ERROR.
Rik <rik@octave.org>
parents: 17031
diff changeset
2745 dnl
8d84dc5f5b5d acinclude.m4: Use m4 quote '[' rather than '"' in AC_MSG_ERROR.
Rik <rik@octave.org>
parents: 17031
diff changeset
2746 AC_DEFUN([OCTAVE_LLVM_FUNCTION_ADDFNATTR_API], [
26541
3e6d559c8756 jit: configure: Improve configure AC_CACHE_CHECK messages
Julien Bect <jbect@users.sourceforge.net>
parents: 26540
diff changeset
2747 AC_CACHE_CHECK([if llvm::Function::addFnAttr's arg type is llvm::Attributes],
17034
8d84dc5f5b5d acinclude.m4: Use m4 quote '[' rather than '"' in AC_MSG_ERROR.
Rik <rik@octave.org>
parents: 17031
diff changeset
2748 [octave_cv_function_addfnattr_arg_is_attributes],
8d84dc5f5b5d acinclude.m4: Use m4 quote '[' rather than '"' in AC_MSG_ERROR.
Rik <rik@octave.org>
parents: 17031
diff changeset
2749 [AC_LANG_PUSH(C++)
8d84dc5f5b5d acinclude.m4: Use m4 quote '[' rather than '"' in AC_MSG_ERROR.
Rik <rik@octave.org>
parents: 17031
diff changeset
2750 AC_COMPILE_IFELSE(
8d84dc5f5b5d acinclude.m4: Use m4 quote '[' rather than '"' in AC_MSG_ERROR.
Rik <rik@octave.org>
parents: 17031
diff changeset
2751 [AC_LANG_PROGRAM([[
21724
aba2e6293dd8 use "#if ..." consistently instead of "#ifdef" and "#ifndef"
John W. Eaton <jwe@octave.org>
parents: 21604
diff changeset
2752 #if defined (HAVE_LLVM_IR_FUNCTION_H)
17615
3a7d5d655749 Fix typos in configure tests for LLVM methods (bug #39973)
Mike Miller <mtmiller@ieee.org>
parents: 17241
diff changeset
2753 #include <llvm/IR/Function.h>
3a7d5d655749 Fix typos in configure tests for LLVM methods (bug #39973)
Mike Miller <mtmiller@ieee.org>
parents: 17241
diff changeset
2754 #include <llvm/IR/Attributes.h>
17164
36fd98b9ce48 Add support for llvm 3.3
Max Brister <max@2bass.com>
parents: 17111
diff changeset
2755 #else
36fd98b9ce48 Add support for llvm 3.3
Max Brister <max@2bass.com>
parents: 17111
diff changeset
2756 #include <llvm/Function.h>
36fd98b9ce48 Add support for llvm 3.3
Max Brister <max@2bass.com>
parents: 17111
diff changeset
2757 #include <llvm/Attributes.h>
36fd98b9ce48 Add support for llvm 3.3
Max Brister <max@2bass.com>
parents: 17111
diff changeset
2758 #endif
17034
8d84dc5f5b5d acinclude.m4: Use m4 quote '[' rather than '"' in AC_MSG_ERROR.
Rik <rik@octave.org>
parents: 17031
diff changeset
2759 ]], [[
8d84dc5f5b5d acinclude.m4: Use m4 quote '[' rather than '"' in AC_MSG_ERROR.
Rik <rik@octave.org>
parents: 17031
diff changeset
2760 llvm::Function *llvm_function;
8d84dc5f5b5d acinclude.m4: Use m4 quote '[' rather than '"' in AC_MSG_ERROR.
Rik <rik@octave.org>
parents: 17031
diff changeset
2761 llvm_function->addFnAttr (llvm::Attributes::AlwaysInline);
8d84dc5f5b5d acinclude.m4: Use m4 quote '[' rather than '"' in AC_MSG_ERROR.
Rik <rik@octave.org>
parents: 17031
diff changeset
2762 ]])],
8d84dc5f5b5d acinclude.m4: Use m4 quote '[' rather than '"' in AC_MSG_ERROR.
Rik <rik@octave.org>
parents: 17031
diff changeset
2763 octave_cv_function_addfnattr_arg_is_attributes=yes,
8d84dc5f5b5d acinclude.m4: Use m4 quote '[' rather than '"' in AC_MSG_ERROR.
Rik <rik@octave.org>
parents: 17031
diff changeset
2764 octave_cv_function_addfnattr_arg_is_attributes=no)
8d84dc5f5b5d acinclude.m4: Use m4 quote '[' rather than '"' in AC_MSG_ERROR.
Rik <rik@octave.org>
parents: 17031
diff changeset
2765 AC_LANG_POP(C++)
8d84dc5f5b5d acinclude.m4: Use m4 quote '[' rather than '"' in AC_MSG_ERROR.
Rik <rik@octave.org>
parents: 17031
diff changeset
2766 ])
8d84dc5f5b5d acinclude.m4: Use m4 quote '[' rather than '"' in AC_MSG_ERROR.
Rik <rik@octave.org>
parents: 17031
diff changeset
2767 if test $octave_cv_function_addfnattr_arg_is_attributes = yes; then
8d84dc5f5b5d acinclude.m4: Use m4 quote '[' rather than '"' in AC_MSG_ERROR.
Rik <rik@octave.org>
parents: 17031
diff changeset
2768 AC_DEFINE(FUNCTION_ADDFNATTR_ARG_IS_ATTRIBUTES, 1,
8d84dc5f5b5d acinclude.m4: Use m4 quote '[' rather than '"' in AC_MSG_ERROR.
Rik <rik@octave.org>
parents: 17031
diff changeset
2769 [Define to 1 if llvm::Function:addFnAttr arg type is llvm::Attributes.])
8d84dc5f5b5d acinclude.m4: Use m4 quote '[' rather than '"' in AC_MSG_ERROR.
Rik <rik@octave.org>
parents: 17031
diff changeset
2770 fi
8d84dc5f5b5d acinclude.m4: Use m4 quote '[' rather than '"' in AC_MSG_ERROR.
Rik <rik@octave.org>
parents: 17031
diff changeset
2771 ])
8d84dc5f5b5d acinclude.m4: Use m4 quote '[' rather than '"' in AC_MSG_ERROR.
Rik <rik@octave.org>
parents: 17031
diff changeset
2772 dnl
18831
4a4edf0f2077 fix LLVM 3.4 build (bug #41061)
Stefan Mahr <dac922@gmx.de>
parents: 18216
diff changeset
2773 dnl Check for legacy::PassManager API
4a4edf0f2077 fix LLVM 3.4 build (bug #41061)
Stefan Mahr <dac922@gmx.de>
parents: 18216
diff changeset
2774 dnl
4a4edf0f2077 fix LLVM 3.4 build (bug #41061)
Stefan Mahr <dac922@gmx.de>
parents: 18216
diff changeset
2775 AC_DEFUN([OCTAVE_LLVM_LEGACY_PASSMANAGER_API], [
26541
3e6d559c8756 jit: configure: Improve configure AC_CACHE_CHECK messages
Julien Bect <jbect@users.sourceforge.net>
parents: 26540
diff changeset
2776 AC_CACHE_CHECK([if llvm::legacy::PassManager exists],
18831
4a4edf0f2077 fix LLVM 3.4 build (bug #41061)
Stefan Mahr <dac922@gmx.de>
parents: 18216
diff changeset
2777 [octave_cv_legacy_passmanager],
4a4edf0f2077 fix LLVM 3.4 build (bug #41061)
Stefan Mahr <dac922@gmx.de>
parents: 18216
diff changeset
2778 [AC_LANG_PUSH(C++)
4a4edf0f2077 fix LLVM 3.4 build (bug #41061)
Stefan Mahr <dac922@gmx.de>
parents: 18216
diff changeset
2779 save_LIBS="$LIBS"
4a4edf0f2077 fix LLVM 3.4 build (bug #41061)
Stefan Mahr <dac922@gmx.de>
parents: 18216
diff changeset
2780 LIBS="$LLVM_LIBS $LIBS"
4a4edf0f2077 fix LLVM 3.4 build (bug #41061)
Stefan Mahr <dac922@gmx.de>
parents: 18216
diff changeset
2781 AC_LINK_IFELSE(
4a4edf0f2077 fix LLVM 3.4 build (bug #41061)
Stefan Mahr <dac922@gmx.de>
parents: 18216
diff changeset
2782 [AC_LANG_PROGRAM([[
4a4edf0f2077 fix LLVM 3.4 build (bug #41061)
Stefan Mahr <dac922@gmx.de>
parents: 18216
diff changeset
2783 #include <llvm/IR/LegacyPassManager.h>
4a4edf0f2077 fix LLVM 3.4 build (bug #41061)
Stefan Mahr <dac922@gmx.de>
parents: 18216
diff changeset
2784 ]], [[
4a4edf0f2077 fix LLVM 3.4 build (bug #41061)
Stefan Mahr <dac922@gmx.de>
parents: 18216
diff changeset
2785 llvm::Module *module;
4a4edf0f2077 fix LLVM 3.4 build (bug #41061)
Stefan Mahr <dac922@gmx.de>
parents: 18216
diff changeset
2786 llvm::legacy::PassManager *module_pass_manager;
19597
db92e7e28e1f strip trailing whitespace from most source files
John W. Eaton <jwe@octave.org>
parents: 19355
diff changeset
2787 llvm::legacy::FunctionPassManager *pass_manager;
18831
4a4edf0f2077 fix LLVM 3.4 build (bug #41061)
Stefan Mahr <dac922@gmx.de>
parents: 18216
diff changeset
2788 module_pass_manager = new llvm::legacy::PassManager ();
4a4edf0f2077 fix LLVM 3.4 build (bug #41061)
Stefan Mahr <dac922@gmx.de>
parents: 18216
diff changeset
2789 pass_manager = new llvm::legacy::FunctionPassManager (module);
4a4edf0f2077 fix LLVM 3.4 build (bug #41061)
Stefan Mahr <dac922@gmx.de>
parents: 18216
diff changeset
2790 ]])],
4a4edf0f2077 fix LLVM 3.4 build (bug #41061)
Stefan Mahr <dac922@gmx.de>
parents: 18216
diff changeset
2791 octave_cv_legacy_passmanager=yes,
4a4edf0f2077 fix LLVM 3.4 build (bug #41061)
Stefan Mahr <dac922@gmx.de>
parents: 18216
diff changeset
2792 octave_cv_legacy_passmanager=no)
4a4edf0f2077 fix LLVM 3.4 build (bug #41061)
Stefan Mahr <dac922@gmx.de>
parents: 18216
diff changeset
2793 LIBS="$save_LIBS"
4a4edf0f2077 fix LLVM 3.4 build (bug #41061)
Stefan Mahr <dac922@gmx.de>
parents: 18216
diff changeset
2794 AC_LANG_POP(C++)
4a4edf0f2077 fix LLVM 3.4 build (bug #41061)
Stefan Mahr <dac922@gmx.de>
parents: 18216
diff changeset
2795 ])
4a4edf0f2077 fix LLVM 3.4 build (bug #41061)
Stefan Mahr <dac922@gmx.de>
parents: 18216
diff changeset
2796 if test $octave_cv_legacy_passmanager = yes; then
4a4edf0f2077 fix LLVM 3.4 build (bug #41061)
Stefan Mahr <dac922@gmx.de>
parents: 18216
diff changeset
2797 AC_DEFINE(LEGACY_PASSMANAGER, 1,
4a4edf0f2077 fix LLVM 3.4 build (bug #41061)
Stefan Mahr <dac922@gmx.de>
parents: 18216
diff changeset
2798 [Define to 1 if LLVM::legacy::PassManager exists.])
4a4edf0f2077 fix LLVM 3.4 build (bug #41061)
Stefan Mahr <dac922@gmx.de>
parents: 18216
diff changeset
2799 fi
4a4edf0f2077 fix LLVM 3.4 build (bug #41061)
Stefan Mahr <dac922@gmx.de>
parents: 18216
diff changeset
2800 ])
4a4edf0f2077 fix LLVM 3.4 build (bug #41061)
Stefan Mahr <dac922@gmx.de>
parents: 18216
diff changeset
2801 dnl
23510
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
2802 dnl Check for raw_fd_ostream API
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
2803 dnl
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
2804 AC_DEFUN([OCTAVE_LLVM_RAW_FD_OSTREAM_API], [
26541
3e6d559c8756 jit: configure: Improve configure AC_CACHE_CHECK messages
Julien Bect <jbect@users.sourceforge.net>
parents: 26540
diff changeset
2805 AC_CACHE_CHECK([if llvm::raw_fd_ostream's arg type is llvm::sys:fs],
23510
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
2806 [octave_cv_raw_fd_ostream_arg_is_llvm_sys_fs],
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
2807 [AC_LANG_PUSH(C++)
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
2808 AC_COMPILE_IFELSE(
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
2809 [AC_LANG_PROGRAM([[
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
2810 #include <llvm/Support/raw_os_ostream.h>
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
2811 ]], [[
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
2812 std::string str;
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
2813 llvm::raw_fd_ostream fout ("", str, llvm::sys::fs::F_Binary);
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
2814 ]])],
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
2815 octave_cv_raw_fd_ostream_arg_is_llvm_sys_fs=yes,
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
2816 octave_cv_raw_fd_ostream_arg_is_llvm_sys_fs=no)
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
2817 AC_LANG_POP(C++)
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
2818 ])
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
2819 if test $octave_cv_raw_fd_ostream_arg_is_llvm_sys_fs = yes; then
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
2820 AC_DEFINE(RAW_FD_OSTREAM_ARG_IS_LLVM_SYS_FS, 1,
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
2821 [Define to 1 if LLVM::raw_fd_ostream arg type is llvm::sys:fs.])
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
2822 fi
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
2823 ])
b0e23bfa9966 maint: sort Octave m4 macro definitions
Mike Miller <mtmiller@octave.org>
parents: 23509
diff changeset
2824 dnl
26536
b3157525cebf jit: configure: Check llvm::IRBuilder API
Julien Bect <jbect@users.sourceforge.net>
parents: 26376
diff changeset
2825 dnl Check llvm::IRBuilder API
b3157525cebf jit: configure: Check llvm::IRBuilder API
Julien Bect <jbect@users.sourceforge.net>
parents: 26376
diff changeset
2826 dnl
b3157525cebf jit: configure: Check llvm::IRBuilder API
Julien Bect <jbect@users.sourceforge.net>
parents: 26376
diff changeset
2827 AC_DEFUN([OCTAVE_LLVM_IRBUILDER_API], [
26541
3e6d559c8756 jit: configure: Improve configure AC_CACHE_CHECK messages
Julien Bect <jbect@users.sourceforge.net>
parents: 26540
diff changeset
2828 AC_CACHE_CHECK([if llvm::IRBuilder has two template arguments],
26536
b3157525cebf jit: configure: Check llvm::IRBuilder API
Julien Bect <jbect@users.sourceforge.net>
parents: 26376
diff changeset
2829 [octave_cv_llvm_irbuilder_has_two_template_args],
b3157525cebf jit: configure: Check llvm::IRBuilder API
Julien Bect <jbect@users.sourceforge.net>
parents: 26376
diff changeset
2830 [AC_LANG_PUSH(C++)
b3157525cebf jit: configure: Check llvm::IRBuilder API
Julien Bect <jbect@users.sourceforge.net>
parents: 26376
diff changeset
2831 AC_COMPILE_IFELSE(
b3157525cebf jit: configure: Check llvm::IRBuilder API
Julien Bect <jbect@users.sourceforge.net>
parents: 26376
diff changeset
2832 [AC_LANG_PROGRAM([[
b3157525cebf jit: configure: Check llvm::IRBuilder API
Julien Bect <jbect@users.sourceforge.net>
parents: 26376
diff changeset
2833 #if defined (HAVE_LLVM_IR_FUNCTION_H)
b3157525cebf jit: configure: Check llvm::IRBuilder API
Julien Bect <jbect@users.sourceforge.net>
parents: 26376
diff changeset
2834 #include <llvm/IR/LLVMContext.h>
b3157525cebf jit: configure: Check llvm::IRBuilder API
Julien Bect <jbect@users.sourceforge.net>
parents: 26376
diff changeset
2835 #else
b3157525cebf jit: configure: Check llvm::IRBuilder API
Julien Bect <jbect@users.sourceforge.net>
parents: 26376
diff changeset
2836 #include <llvm/LLVMContext.h>
b3157525cebf jit: configure: Check llvm::IRBuilder API
Julien Bect <jbect@users.sourceforge.net>
parents: 26376
diff changeset
2837 #endif
b3157525cebf jit: configure: Check llvm::IRBuilder API
Julien Bect <jbect@users.sourceforge.net>
parents: 26376
diff changeset
2838 #if defined (HAVE_LLVM_IR_IRBUILDER_H)
b3157525cebf jit: configure: Check llvm::IRBuilder API
Julien Bect <jbect@users.sourceforge.net>
parents: 26376
diff changeset
2839 #include <llvm/IR/IRBuilder.h>
b3157525cebf jit: configure: Check llvm::IRBuilder API
Julien Bect <jbect@users.sourceforge.net>
parents: 26376
diff changeset
2840 #elif defined (HAVE_LLVM_SUPPORT_IRBUILDER_H)
b3157525cebf jit: configure: Check llvm::IRBuilder API
Julien Bect <jbect@users.sourceforge.net>
parents: 26376
diff changeset
2841 #include <llvm/Support/IRBuilder.h>
b3157525cebf jit: configure: Check llvm::IRBuilder API
Julien Bect <jbect@users.sourceforge.net>
parents: 26376
diff changeset
2842 #else
b3157525cebf jit: configure: Check llvm::IRBuilder API
Julien Bect <jbect@users.sourceforge.net>
parents: 26376
diff changeset
2843 #include <llvm/IRBuilder.h>
b3157525cebf jit: configure: Check llvm::IRBuilder API
Julien Bect <jbect@users.sourceforge.net>
parents: 26376
diff changeset
2844 #endif
b3157525cebf jit: configure: Check llvm::IRBuilder API
Julien Bect <jbect@users.sourceforge.net>
parents: 26376
diff changeset
2845 using namespace llvm;
b3157525cebf jit: configure: Check llvm::IRBuilder API
Julien Bect <jbect@users.sourceforge.net>
parents: 26376
diff changeset
2846 ]], [[
b3157525cebf jit: configure: Check llvm::IRBuilder API
Julien Bect <jbect@users.sourceforge.net>
parents: 26376
diff changeset
2847 LLVMContext c;
b3157525cebf jit: configure: Check llvm::IRBuilder API
Julien Bect <jbect@users.sourceforge.net>
parents: 26376
diff changeset
2848 IRBuilder<ConstantFolder,IRBuilderDefaultInserter> irb (c);
b3157525cebf jit: configure: Check llvm::IRBuilder API
Julien Bect <jbect@users.sourceforge.net>
parents: 26376
diff changeset
2849 ]])],
b3157525cebf jit: configure: Check llvm::IRBuilder API
Julien Bect <jbect@users.sourceforge.net>
parents: 26376
diff changeset
2850 octave_cv_llvm_irbuilder_has_two_template_args=yes,
b3157525cebf jit: configure: Check llvm::IRBuilder API
Julien Bect <jbect@users.sourceforge.net>
parents: 26376
diff changeset
2851 octave_cv_llvm_irbuilder_has_two_template_args=no)
b3157525cebf jit: configure: Check llvm::IRBuilder API
Julien Bect <jbect@users.sourceforge.net>
parents: 26376
diff changeset
2852 AC_LANG_POP(C++)
b3157525cebf jit: configure: Check llvm::IRBuilder API
Julien Bect <jbect@users.sourceforge.net>
parents: 26376
diff changeset
2853 ])
b3157525cebf jit: configure: Check llvm::IRBuilder API
Julien Bect <jbect@users.sourceforge.net>
parents: 26376
diff changeset
2854 if test $octave_cv_llvm_irbuilder_has_two_template_args = yes; then
b3157525cebf jit: configure: Check llvm::IRBuilder API
Julien Bect <jbect@users.sourceforge.net>
parents: 26376
diff changeset
2855 AC_DEFINE(LLVM_IRBUILDER_HAS_TWO_TEMPLATE_ARGS, 1,
b3157525cebf jit: configure: Check llvm::IRBuilder API
Julien Bect <jbect@users.sourceforge.net>
parents: 26376
diff changeset
2856 [Define to 1 if llvm::IRBuilder has two template arguments.])
b3157525cebf jit: configure: Check llvm::IRBuilder API
Julien Bect <jbect@users.sourceforge.net>
parents: 26376
diff changeset
2857 fi
b3157525cebf jit: configure: Check llvm::IRBuilder API
Julien Bect <jbect@users.sourceforge.net>
parents: 26376
diff changeset
2858 ])
b3157525cebf jit: configure: Check llvm::IRBuilder API
Julien Bect <jbect@users.sourceforge.net>
parents: 26376
diff changeset
2859 dnl
26538
ea25fc64c275 jit: configure: Check if llvm::createAlwaysInlinerPass exists
Julien Bect <jbect@users.sourceforge.net>
parents: 26536
diff changeset
2860 dnl Check for llvm::createAlwaysInlinerPass
ea25fc64c275 jit: configure: Check if llvm::createAlwaysInlinerPass exists
Julien Bect <jbect@users.sourceforge.net>
parents: 26536
diff changeset
2861 dnl
ea25fc64c275 jit: configure: Check if llvm::createAlwaysInlinerPass exists
Julien Bect <jbect@users.sourceforge.net>
parents: 26536
diff changeset
2862 AC_DEFUN([OCTAVE_LLVM_HAS_CREATEALWAYSINLINERPASS], [
26541
3e6d559c8756 jit: configure: Improve configure AC_CACHE_CHECK messages
Julien Bect <jbect@users.sourceforge.net>
parents: 26540
diff changeset
2863 AC_CACHE_CHECK([if llvm::createAlwaysInlinerPass exists],
26538
ea25fc64c275 jit: configure: Check if llvm::createAlwaysInlinerPass exists
Julien Bect <jbect@users.sourceforge.net>
parents: 26536
diff changeset
2864 [octave_cv_llvm_has_createalwaysinlinerpass],
ea25fc64c275 jit: configure: Check if llvm::createAlwaysInlinerPass exists
Julien Bect <jbect@users.sourceforge.net>
parents: 26536
diff changeset
2865 [AC_LANG_PUSH(C++)
ea25fc64c275 jit: configure: Check if llvm::createAlwaysInlinerPass exists
Julien Bect <jbect@users.sourceforge.net>
parents: 26536
diff changeset
2866 AC_COMPILE_IFELSE(
ea25fc64c275 jit: configure: Check if llvm::createAlwaysInlinerPass exists
Julien Bect <jbect@users.sourceforge.net>
parents: 26536
diff changeset
2867 [AC_LANG_PROGRAM([[
ea25fc64c275 jit: configure: Check if llvm::createAlwaysInlinerPass exists
Julien Bect <jbect@users.sourceforge.net>
parents: 26536
diff changeset
2868 #include <llvm/Transforms/IPO.h>
ea25fc64c275 jit: configure: Check if llvm::createAlwaysInlinerPass exists
Julien Bect <jbect@users.sourceforge.net>
parents: 26536
diff changeset
2869 ]], [[
ea25fc64c275 jit: configure: Check if llvm::createAlwaysInlinerPass exists
Julien Bect <jbect@users.sourceforge.net>
parents: 26536
diff changeset
2870 llvm::Pass *p;
ea25fc64c275 jit: configure: Check if llvm::createAlwaysInlinerPass exists
Julien Bect <jbect@users.sourceforge.net>
parents: 26536
diff changeset
2871 p = llvm::createAlwaysInlinerPass ();
ea25fc64c275 jit: configure: Check if llvm::createAlwaysInlinerPass exists
Julien Bect <jbect@users.sourceforge.net>
parents: 26536
diff changeset
2872 ]])],
ea25fc64c275 jit: configure: Check if llvm::createAlwaysInlinerPass exists
Julien Bect <jbect@users.sourceforge.net>
parents: 26536
diff changeset
2873 octave_cv_llvm_has_createalwaysinlinerpass=yes,
ea25fc64c275 jit: configure: Check if llvm::createAlwaysInlinerPass exists
Julien Bect <jbect@users.sourceforge.net>
parents: 26536
diff changeset
2874 octave_cv_llvm_has_createalwaysinlinerpass=no)
ea25fc64c275 jit: configure: Check if llvm::createAlwaysInlinerPass exists
Julien Bect <jbect@users.sourceforge.net>
parents: 26536
diff changeset
2875 AC_LANG_POP(C++)
ea25fc64c275 jit: configure: Check if llvm::createAlwaysInlinerPass exists
Julien Bect <jbect@users.sourceforge.net>
parents: 26536
diff changeset
2876 ])
ea25fc64c275 jit: configure: Check if llvm::createAlwaysInlinerPass exists
Julien Bect <jbect@users.sourceforge.net>
parents: 26536
diff changeset
2877 if test $octave_cv_llvm_has_createalwaysinlinerpass = yes; then
ea25fc64c275 jit: configure: Check if llvm::createAlwaysInlinerPass exists
Julien Bect <jbect@users.sourceforge.net>
parents: 26536
diff changeset
2878 AC_DEFINE(LLVM_HAS_CREATEALWAYSINLINERPASS, 1,
ea25fc64c275 jit: configure: Check if llvm::createAlwaysInlinerPass exists
Julien Bect <jbect@users.sourceforge.net>
parents: 26536
diff changeset
2879 [Define to 1 if llvm::createAlwaysInlinerPass exists.])
ea25fc64c275 jit: configure: Check if llvm::createAlwaysInlinerPass exists
Julien Bect <jbect@users.sourceforge.net>
parents: 26536
diff changeset
2880 fi
ea25fc64c275 jit: configure: Check if llvm::createAlwaysInlinerPass exists
Julien Bect <jbect@users.sourceforge.net>
parents: 26536
diff changeset
2881 ])
ea25fc64c275 jit: configure: Check if llvm::createAlwaysInlinerPass exists
Julien Bect <jbect@users.sourceforge.net>
parents: 26536
diff changeset
2882 dnl
26540
df230bb22ba6 jit: configure: Check if llvm::IRBuilder::CreateConstInBoundsGEP1_32 API
Julien Bect <jbect@users.sourceforge.net>
parents: 26538
diff changeset
2883 dnl Check llvm::IRBuilder::CreateConstInBoundsGEP1_32 API
df230bb22ba6 jit: configure: Check if llvm::IRBuilder::CreateConstInBoundsGEP1_32 API
Julien Bect <jbect@users.sourceforge.net>
parents: 26538
diff changeset
2884 dbl
df230bb22ba6 jit: configure: Check if llvm::IRBuilder::CreateConstInBoundsGEP1_32 API
Julien Bect <jbect@users.sourceforge.net>
parents: 26538
diff changeset
2885 AC_DEFUN([OCTAVE_LLVM_IRBUILDER_CREATECONSTINBOUNDSGEP1_32_API], [
26541
3e6d559c8756 jit: configure: Improve configure AC_CACHE_CHECK messages
Julien Bect <jbect@users.sourceforge.net>
parents: 26540
diff changeset
2886 AC_CACHE_CHECK([if llvm::IRBuilder::CreateConstInBoundsGEP1_32 requires a type argument],
26540
df230bb22ba6 jit: configure: Check if llvm::IRBuilder::CreateConstInBoundsGEP1_32 API
Julien Bect <jbect@users.sourceforge.net>
parents: 26538
diff changeset
2887 [octave_cv_llvm_irbuilder_createconstinboundsgep1_32_requires_type],
df230bb22ba6 jit: configure: Check if llvm::IRBuilder::CreateConstInBoundsGEP1_32 API
Julien Bect <jbect@users.sourceforge.net>
parents: 26538
diff changeset
2888 [AC_LANG_PUSH(C++)
df230bb22ba6 jit: configure: Check if llvm::IRBuilder::CreateConstInBoundsGEP1_32 API
Julien Bect <jbect@users.sourceforge.net>
parents: 26538
diff changeset
2889 AC_COMPILE_IFELSE(
df230bb22ba6 jit: configure: Check if llvm::IRBuilder::CreateConstInBoundsGEP1_32 API
Julien Bect <jbect@users.sourceforge.net>
parents: 26538
diff changeset
2890 [AC_LANG_PROGRAM([[
df230bb22ba6 jit: configure: Check if llvm::IRBuilder::CreateConstInBoundsGEP1_32 API
Julien Bect <jbect@users.sourceforge.net>
parents: 26538
diff changeset
2891 #if defined (HAVE_LLVM_IR_IRBUILDER_H)
df230bb22ba6 jit: configure: Check if llvm::IRBuilder::CreateConstInBoundsGEP1_32 API
Julien Bect <jbect@users.sourceforge.net>
parents: 26538
diff changeset
2892 #include <llvm/IR/IRBuilder.h>
df230bb22ba6 jit: configure: Check if llvm::IRBuilder::CreateConstInBoundsGEP1_32 API
Julien Bect <jbect@users.sourceforge.net>
parents: 26538
diff changeset
2893 #elif defined (HAVE_LLVM_SUPPORT_IRBUILDER_H)
df230bb22ba6 jit: configure: Check if llvm::IRBuilder::CreateConstInBoundsGEP1_32 API
Julien Bect <jbect@users.sourceforge.net>
parents: 26538
diff changeset
2894 #include <llvm/Support/IRBuilder.h>
df230bb22ba6 jit: configure: Check if llvm::IRBuilder::CreateConstInBoundsGEP1_32 API
Julien Bect <jbect@users.sourceforge.net>
parents: 26538
diff changeset
2895 #else
df230bb22ba6 jit: configure: Check if llvm::IRBuilder::CreateConstInBoundsGEP1_32 API
Julien Bect <jbect@users.sourceforge.net>
parents: 26538
diff changeset
2896 #include <llvm/IRBuilder.h>
df230bb22ba6 jit: configure: Check if llvm::IRBuilder::CreateConstInBoundsGEP1_32 API
Julien Bect <jbect@users.sourceforge.net>
parents: 26538
diff changeset
2897 #endif
df230bb22ba6 jit: configure: Check if llvm::IRBuilder::CreateConstInBoundsGEP1_32 API
Julien Bect <jbect@users.sourceforge.net>
parents: 26538
diff changeset
2898 ]], [[
df230bb22ba6 jit: configure: Check if llvm::IRBuilder::CreateConstInBoundsGEP1_32 API
Julien Bect <jbect@users.sourceforge.net>
parents: 26538
diff changeset
2899 llvm::LLVMContext c;
df230bb22ba6 jit: configure: Check if llvm::IRBuilder::CreateConstInBoundsGEP1_32 API
Julien Bect <jbect@users.sourceforge.net>
parents: 26538
diff changeset
2900 llvm::IRBuilder<> irb (c);
df230bb22ba6 jit: configure: Check if llvm::IRBuilder::CreateConstInBoundsGEP1_32 API
Julien Bect <jbect@users.sourceforge.net>
parents: 26538
diff changeset
2901 llvm::Value *v;
df230bb22ba6 jit: configure: Check if llvm::IRBuilder::CreateConstInBoundsGEP1_32 API
Julien Bect <jbect@users.sourceforge.net>
parents: 26538
diff changeset
2902 v = irb.CreateConstInBoundsGEP1_32 ((llvm::Value *) nullptr, 0);
df230bb22ba6 jit: configure: Check if llvm::IRBuilder::CreateConstInBoundsGEP1_32 API
Julien Bect <jbect@users.sourceforge.net>
parents: 26538
diff changeset
2903 ]])],
df230bb22ba6 jit: configure: Check if llvm::IRBuilder::CreateConstInBoundsGEP1_32 API
Julien Bect <jbect@users.sourceforge.net>
parents: 26538
diff changeset
2904 octave_cv_llvm_irbuilder_createconstinboundsgep1_32_requires_type=no,
df230bb22ba6 jit: configure: Check if llvm::IRBuilder::CreateConstInBoundsGEP1_32 API
Julien Bect <jbect@users.sourceforge.net>
parents: 26538
diff changeset
2905 octave_cv_llvm_irbuilder_createconstinboundsgep1_32_requires_type=yes)
df230bb22ba6 jit: configure: Check if llvm::IRBuilder::CreateConstInBoundsGEP1_32 API
Julien Bect <jbect@users.sourceforge.net>
parents: 26538
diff changeset
2906 AC_LANG_POP(C++)
df230bb22ba6 jit: configure: Check if llvm::IRBuilder::CreateConstInBoundsGEP1_32 API
Julien Bect <jbect@users.sourceforge.net>
parents: 26538
diff changeset
2907 ])
df230bb22ba6 jit: configure: Check if llvm::IRBuilder::CreateConstInBoundsGEP1_32 API
Julien Bect <jbect@users.sourceforge.net>
parents: 26538
diff changeset
2908 if test $octave_cv_llvm_irbuilder_createconstinboundsgep1_32_requires_type = yes; then
df230bb22ba6 jit: configure: Check if llvm::IRBuilder::CreateConstInBoundsGEP1_32 API
Julien Bect <jbect@users.sourceforge.net>
parents: 26538
diff changeset
2909 AC_DEFINE(LLVM_IRBUILDER_CREATECONSTINBOUNDSGEP1_32_REQUIRES_TYPE, 1,
df230bb22ba6 jit: configure: Check if llvm::IRBuilder::CreateConstInBoundsGEP1_32 API
Julien Bect <jbect@users.sourceforge.net>
parents: 26538
diff changeset
2910 [Define to 1 if llvm::IRBuilder::CreateConstInBoundsGEP1_32 requires a type argument.])
df230bb22ba6 jit: configure: Check if llvm::IRBuilder::CreateConstInBoundsGEP1_32 API
Julien Bect <jbect@users.sourceforge.net>
parents: 26538
diff changeset
2911 fi
df230bb22ba6 jit: configure: Check if llvm::IRBuilder::CreateConstInBoundsGEP1_32 API
Julien Bect <jbect@users.sourceforge.net>
parents: 26538
diff changeset
2912 ])
df230bb22ba6 jit: configure: Check if llvm::IRBuilder::CreateConstInBoundsGEP1_32 API
Julien Bect <jbect@users.sourceforge.net>
parents: 26538
diff changeset
2913 dnl
25559
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
2914 dnl OCTAVE_CHECK_FORTRAN_SYMBOL_AND_CALLING_CONVENTIONS
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
2915 dnl
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
2916 dnl Set variables related to Fortran symbol names (append underscore,
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
2917 dnl use uppercase names, etc.) and calling convention (mostly used for
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
2918 dnl determining how character strings are passed).
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
2919 dnl
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
2920 AC_DEFUN([OCTAVE_CHECK_FORTRAN_SYMBOL_AND_CALLING_CONVENTIONS], [
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
2921 F77_TOLOWER=yes
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
2922 F77_APPEND_UNDERSCORE=yes
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
2923 F77_APPEND_EXTRA_UNDERSCORE=yes
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
2924
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
2925 case $ac_cv_f77_mangling in
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
2926 "upper case") F77_TOLOWER=no ;;
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
2927 esac
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
2928 case $ac_cv_f77_mangling in
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
2929 "no underscore") F77_APPEND_UNDERSCORE=no ;;
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
2930 esac
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
2931 case $ac_cv_f77_mangling in
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
2932 "no extra underscore") F77_APPEND_EXTRA_UNDERSCORE=no ;;
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
2933 esac
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
2934
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
2935 case $canonical_host_type in
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
2936 i[[3456789]]86-*-*)
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
2937 if test $ac_cv_f77_compiler_gnu = yes; then
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
2938 OCTAVE_F77_FLAG([-mieee-fp])
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
2939 fi
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
2940 ;;
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
2941 alpha*-*-*)
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
2942 if test $ac_cv_f77_compiler_gnu = yes; then
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
2943 OCTAVE_F77_FLAG([-mieee])
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
2944 else
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
2945 OCTAVE_F77_FLAG([-ieee])
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
2946 OCTAVE_F77_FLAG([-fpe1])
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
2947 fi
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
2948 ;;
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
2949 powerpc-apple-machten*)
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
2950 FFLAGS=
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
2951 ;;
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
2952 esac
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
2953
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
2954 if test $ac_cv_f77_compiler_gnu = yes; then
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
2955 FORTRAN_CALLING_CONVENTION=gfortran
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
2956 else
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
2957 FORTRAN_CALLING_CONVENTION=unknown
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
2958 fi
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
2959 AC_ARG_ENABLE([fortran-calling-convention],
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
2960 [AS_HELP_STRING([--enable-fortran-calling-convention=OPTION],
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
2961 [Select C++ to Fortran calling convention. "gfortran" should be detected automatically. Other options are "cray", "visual-fortran", or "f2c".])],
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
2962 [FORTRAN_CALLING_CONVENTION="$enableval"], [])
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
2963
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
2964 case $FORTRAN_CALLING_CONVENTION in
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
2965 gfortran)
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
2966 AC_DEFINE(F77_USES_GFORTRAN_CALLING_CONVENTION, 1, [Define to 1 if calling Fortran from C++ should use the gfortran calling convention.])
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
2967 ;;
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
2968 cray)
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
2969 AC_DEFINE(F77_USES_CRAY_CALLING_CONVENTION, 1, [Define to 1 if calling Fortran from C++ should use the Cray Fortran calling convention.])
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
2970 ;;
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
2971 visual-fortran)
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
2972 AC_DEFINE(F77_USES_VISUAL_FORTRAN_CALLING_CONVENTION, 1, [Define to 1 if calling Fortran from C++ should use the Visual Fortran calling convention.])
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
2973 ;;
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
2974 f2c)
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
2975 AC_DEFINE(F77_USES_F2C_CALLING_CONVENTION, 1, [Define to 1 if calling Fortran from C++ should use the f2c calling convention.])
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
2976 ;;
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
2977 *)
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
2978 AC_MSG_ERROR([to build Octave, the C++ to Fortran calling convention must be known.])
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
2979 ;;
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
2980 esac
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
2981
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
2982 if test -n "$FFLAGS"; then
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
2983 AC_MSG_NOTICE([defining FFLAGS to be $FFLAGS])
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
2984 fi
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
2985
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
2986 AC_SUBST(F77_TOLOWER)
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
2987 AC_SUBST(F77_APPEND_UNDERSCORE)
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
2988 AC_SUBST(F77_APPEND_EXTRA_UNDERSCORE)
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
2989 ])
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
2990 dnl
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
2991 dnl OCTAVE_DEFINE_MKOCTFILE_DYNAMIC_LINK_OPTIONS
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
2992 dnl
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
2993 dnl Requires the following variables to already be set:
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
2994 dnl
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
2995 dnl AR
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
2996 dnl CFLAGS
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
2997 dnl CXX
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
2998 dnl CXXFLAGS
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
2999 dnl EXEEXT
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3000 dnl GCC
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3001 dnl GREP
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3002 dnl GXX
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3003 dnl LDFLAGS
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3004 dnl ac_cv_f77_compiler_gnu
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3005 dnl ac_top_build_prefix
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3006 dnl canonical_host_type
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3007 dnl have_msvc
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3008 dnl
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3009 AC_DEFUN_ONCE([OCTAVE_DEFINE_MKOCTFILE_DYNAMIC_LINK_OPTIONS], [
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3010 ### Set system-dependent options for building shared libraries.
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3011 ### These are used by mkoctfile to create dynamically loadable
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3012 ### .oct and .mex files. It would be great if we could somehow
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3013 ### use libtool to get this information.
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3014
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3015 CPICFLAG=-fPIC
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3016 CXXPICFLAG=-fPIC
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3017 FPICFLAG=-fPIC
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3018 SH_LD="${CXX}"
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3019 SH_LDFLAGS=-shared
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3020 DL_LD="${SH_LD}"
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3021 DL_LDFLAGS="${SH_LDFLAGS}"
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3022 MKOCTFILE_DL_LDFLAGS="${DL_LDFLAGS}"
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3023 NO_OCT_FILE_STRIP=false
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3024 TEMPLATE_AR="${AR}"
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3025 TEMPLATE_ARFLAGS="${ARFLAGS}"
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3026 EXTERNAL_DLL_DEFS=
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3027 OCTAVE_DLL_DEFS=
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3028 OCTINTERP_DLL_DEFS=
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3029 OCTGUI_DLL_DEFS=
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3030 OCTGRAPHICS_DLL_DEFS=
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3031 library_path_var=LD_LIBRARY_PATH
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3032 ldpreloadsep=" "
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3033 case $canonical_host_type in
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3034 *-*-386bsd* | *-*-netbsd*)
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3035 SH_LD=ld
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3036 SH_LDFLAGS=-Bshareable
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3037 ;;
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3038 *-*-openbsd*)
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3039 SH_LDFLAGS="-shared -fPIC"
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3040 ;;
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3041 *-*-freebsd*)
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3042 SH_LDFLAGS="-shared -Wl,-x"
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3043 ;;
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3044 alpha*-dec-osf*)
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3045 CPICFLAG=
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3046 CXXPICFLAG=
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3047 FPICFLAG=
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3048 SH_LDFLAGS="-shared -Wl,-expect_unresolved -Wl,'*'"
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3049 ;;
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3050 *-*-darwin*)
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3051 DL_LDFLAGS="-bundle -bundle_loader ${ac_top_build_prefix}libinterp/octave ${LDFLAGS}"
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3052 dnl Contains variables that are defined and undefined at this point, so use
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3053 dnl appropriate quoting to defer expansion of ${bindir} and ${version}.
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3054 MKOCTFILE_DL_LDFLAGS='-bundle -bundle_loader ${bindir}/octave-${version}'"${EXEEXT}"
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3055 SH_LDFLAGS="-dynamiclib -single_module ${LDFLAGS}"
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3056 case $canonical_host_type in
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3057 powerpc-*)
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3058 CXXPICFLAG=
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3059 CPICFLAG=
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3060 FPICFLAG=
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3061 ;;
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3062 esac
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3063 NO_OCT_FILE_STRIP=true
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3064 library_path_var=DYLD_LIBRARY_PATH
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3065 ;;
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3066 *-*-cygwin*)
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3067 CPICFLAG=
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3068 CXXPICFLAG=
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3069 FPICFLAG=
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3070 DL_LDFLAGS="-shared -Wl,--export-all-symbols -Wl,--enable-auto-import -Wl,--enable-runtime-pseudo-reloc"
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3071 SH_LDFLAGS="-shared -Wl,--export-all-symbols -Wl,--enable-auto-import -Wl,--enable-auto-image-base"
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3072 ldpreloadsep=":"
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3073 ;;
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3074 *-*-mingw*)
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3075 if test $have_msvc = yes; then
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3076 DL_LDFLAGS="-shared"
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3077 CPICFLAG=
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3078 CXXPICFLAG=
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3079 FPICFLAG=
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3080 SH_LDFLAGS="-shared"
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3081 if test -n "`echo $CFLAGS | $GREP -e '-g'`" || test -n "`echo $CXXFLAGS | $GREP -e '-g'`"; then
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3082 DL_LDFLAGS="$DL_LDFLAGS -g"
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3083 SH_LDFLAGS="$SH_LDFLAGS -g"
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3084 fi
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3085 NO_OCT_FILE_STRIP=true
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3086 library_path_var=PATH
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3087 ## Extra compilation flags.
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3088 EXTERNAL_DLL_DEFS="-DEXTERNAL_DLL"
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3089 OCTAVE_DLL_DEFS="-DOCTAVE_DLL"
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3090 OCTINTERP_DLL_DEFS="-DOCTINTERP_DLL"
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3091 OCTGUI_DLL_DEFS="-DOCTGUI_DLL"
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3092 OCTGRAPHICS_DLL_DEFS="-DOCTGRAPHICS_DLL"
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3093 else
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3094 CPICFLAG=
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3095 CXXPICFLAG=
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3096 FPICFLAG=
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3097 DL_LDFLAGS="-shared -Wl,--export-all-symbols -Wl,--enable-auto-import -Wl,--enable-runtime-pseudo-reloc"
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3098 SH_LDFLAGS="-shared -Wl,--export-all-symbols -Wl,--enable-auto-import -Wl,--enable-auto-image-base"
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3099 library_path_var=PATH
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3100 fi
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3101 ;;
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3102 *-*-msdosmsvc)
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3103 DL_LDFLAGS="-shared"
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3104 CPICFLAG=
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3105 CXXPICFLAG=
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3106 FPICFLAG=
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3107 SH_LDFLAGS="-shared"
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3108 if test -n "`echo $CFLAGS | $GREP -e '-g'`" || test -n "`echo $CXXFLAGS | $GREP -e '-g'`"; then
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3109 DL_LDFLAGS="$DL_LDFLAGS -g"
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3110 SH_LDFLAGS="$SH_LDFLAGS -g"
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3111 fi
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3112 NO_OCT_FILE_STRIP=true
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3113 library_path_var=PATH
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3114 ## Extra compilation flags.
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3115 EXTERNAL_DLL_DEFS="-DEXTERNAL_DLL"
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3116 OCTAVE_DLL_DEFS="-DOCTAVE_DLL"
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3117 OCTGUI_DLL_DEFS="-DOCTGUI_DLL"
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3118 OCTGRAPHICS_DLL_DEFS="-DOCTGRAPHICS_DLL"
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3119 ;;
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3120 *-*-linux* | *-*-gnu*)
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3121 MKOCTFILE_DL_LDFLAGS="-shared -Wl,-Bsymbolic"
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3122 ;;
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3123 i[[3456]]86-*-sco3.2v5*)
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3124 SH_LDFLAGS=-G
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3125 ;;
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3126 rs6000-ibm-aix* | powerpc-ibm-aix*)
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3127 CPICFLAG=
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3128 CXXPICFLAG=
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3129 FPICFLAG=
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3130 library_path_var=LIBPATH
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3131 ;;
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3132 hppa*-hp-hpux*)
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3133 if test $ac_cv_f77_compiler_gnu = yes; then
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3134 FPICFLAG=-fPIC
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3135 else
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3136 FPICFLAG=+Z
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3137 fi
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3138 SH_LDFLAGS="-shared -fPIC"
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3139 library_path_var=SHLIB_PATH
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3140 ;;
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3141 ia64*-hp-hpux*)
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3142 if test $ac_cv_f77_compiler_gnu = yes; then
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3143 FPICFLAG=-fPIC
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3144 else
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3145 FPICFLAG=+Z
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3146 fi
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3147 SH_LDFLAGS="-shared -fPIC"
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3148 ;;
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3149 *-sgi-*)
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3150 CPICFLAG=
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3151 CXXPICFLAG=
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3152 FPICFLAG=
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3153 ;;
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3154 sparc-sun-sunos4*)
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3155 if test $ac_cv_f77_compiler_gnu = yes; then
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3156 FPICFLAG=-fPIC
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3157 else
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3158 FPICFLAG=-PIC
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3159 fi
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3160 SH_LD=ld
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3161 SH_LDFLAGS="-assert nodefinitions"
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3162 ;;
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3163 sparc-sun-solaris2* | i386-pc-solaris2*)
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3164 if test $ac_cv_f77_compiler_gnu = yes; then
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3165 FPICFLAG=-fPIC
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3166 else
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3167 FPICFLAG=-KPIC
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3168 fi
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3169 if test "$GCC" = yes; then
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3170 CPICFLAG=-fPIC
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3171 else
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3172 CPICFLAG=-KPIC
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3173 fi
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3174 if test "$GXX" = yes; then
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3175 CXXPICFLAG=-fPIC
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3176 SH_LDFLAGS=-shared
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3177 else
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3178 CXXPICFLAG=-KPIC
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3179 SH_LDFLAGS=-G
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3180 fi
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3181 ## Template closures in archive libraries need a different mechanism.
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3182 if test "$GXX" != yes; then
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3183 TEMPLATE_AR="${CXX}"
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3184 TEMPLATE_ARFLAGS="-xar -o"
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3185 fi
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3186 ;;
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3187 esac
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3188
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3189 AC_MSG_NOTICE([defining FPICFLAG to be $FPICFLAG])
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3190 AC_MSG_NOTICE([defining CPICFLAG to be $CPICFLAG])
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3191 AC_MSG_NOTICE([defining CXXPICFLAG to be $CXXPICFLAG])
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3192 AC_MSG_NOTICE([defining SH_LD to be $SH_LD])
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3193 AC_MSG_NOTICE([defining SH_LDFLAGS to be $SH_LDFLAGS])
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3194 AC_MSG_NOTICE([defining DL_LD to be $DL_LD])
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3195 AC_MSG_NOTICE([defining DL_LDFLAGS to be $DL_LDFLAGS])
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3196 AC_MSG_NOTICE([defining MKOCTFILE_DL_LDFLAGS to be $MKOCTFILE_DL_LDFLAGS])
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3197 AC_MSG_NOTICE([defining NO_OCT_FILE_STRIP to be $NO_OCT_FILE_STRIP])
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3198 AC_MSG_NOTICE([defining TEMPLATE_AR to be $TEMPLATE_AR])
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3199 AC_MSG_NOTICE([defining TEMPLATE_ARFLAGS to be $TEMPLATE_ARFLAGS])
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3200 AC_MSG_NOTICE([defining EXTERNAL_DLL_DEFS to be $EXTERNAL_DLL_DEFS])
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3201 AC_MSG_NOTICE([defining OCTAVE_DLL_DEFS to be $OCTAVE_DLL_DEFS])
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3202 AC_MSG_NOTICE([defining OCTINTERP_DLL_DEFS to be $OCTINTERP_DLL_DEFS])
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3203 AC_MSG_NOTICE([defining OCTGUI_DLL_DEFS to be $OCTGUI_DLL_DEFS])
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3204 AC_MSG_NOTICE([defining OCTGRAPHICS_DLL_DEFS to be $OCTGRAPHICS_DLL_DEFS])
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3205 AC_MSG_NOTICE([defining library_path_var to be $library_path_var])
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3206 AC_SUBST(FPICFLAG)
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3207 AC_SUBST(CPICFLAG)
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3208 AC_SUBST(CXXPICFLAG)
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3209 AC_SUBST(SH_LD)
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3210 AC_SUBST(SH_LDFLAGS)
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3211 AC_SUBST(DL_LD)
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3212 AC_SUBST(DL_LDFLAGS)
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3213 AC_SUBST(MKOCTFILE_DL_LDFLAGS)
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3214 AC_SUBST(NO_OCT_FILE_STRIP)
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3215 AC_SUBST(TEMPLATE_AR)
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3216 AC_SUBST(TEMPLATE_ARFLAGS)
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3217 AC_SUBST(EXTERNAL_DLL_DEFS)
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3218 AC_SUBST(OCTAVE_DLL_DEFS)
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3219 AC_SUBST(OCTINTERP_DLL_DEFS)
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3220 AC_SUBST(OCTGUI_DLL_DEFS)
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3221 AC_SUBST(OCTGRAPHICS_DLL_DEFS)
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3222 AC_SUBST(library_path_var)
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3223 AC_SUBST(ldpreloadsep)
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3224 AM_SUBST_NOTMAKE(ldpreloadsep)
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3225 ])
4fe32753cb56 move some fortran and dynamic linking configure checks to separate macros
John W. Eaton <jwe@octave.org>
parents: 25310
diff changeset
3226 dnl
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3227 dnl Check for ar.
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3228 dnl
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3229 AC_DEFUN([OCTAVE_PROG_AR], [
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3230 if test -z "$AR"; then
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3231 AR=ar
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3232 fi
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3233 AC_SUBST(AR)
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3234
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3235 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
3236 ARFLAGS="cr"
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3237 fi
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3238 AC_SUBST(ARFLAGS)
23400
b5ee9b985a82 Silence compile warning about 'u' modifier to ar.
Rik <rik@octave.org>
parents: 23329
diff changeset
3239
23402
1fadf480a63b maint: tweak ARFLAGS and AR_FLAGS defaults and comments
Mike Miller <mtmiller@octave.org>
parents: 23400
diff changeset
3240 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
3241 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
3242 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
3243 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
3244 AR_FLAGS="$ARFLAGS"
23400
b5ee9b985a82 Silence compile warning about 'u' modifier to ar.
Rik <rik@octave.org>
parents: 23329
diff changeset
3245 fi
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 dnl
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3248 dnl Check for bison.
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3249 dnl
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3250 AC_DEFUN([OCTAVE_PROG_BISON], [
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3251 AC_PROG_YACC
26672
df42ea23502f build: support GNU bison 3.3, silence POSIX compatibility warning (bug #55613)
Mike Miller <mtmiller@octave.org>
parents: 26541
diff changeset
3252 WARN_YFLAGS=
16784
0fabe0f49f38 use better method to determine whether we are using flex and bison
John W. Eaton <jwe@octave.org>
parents: 16733
diff changeset
3253
0fabe0f49f38 use better method to determine whether we are using flex and bison
John W. Eaton <jwe@octave.org>
parents: 16733
diff changeset
3254 case "`$YACC --version`" in
17197
fbee0d312af5 acinclude.m4: Remove some unnecessary double quotes around variables.
Rik <rik@octave.org>
parents: 17196
diff changeset
3255 *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
3256 *) 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
3257 esac
0fabe0f49f38 use better method to determine whether we are using flex and bison
John W. Eaton <jwe@octave.org>
parents: 16733
diff changeset
3258
17197
fbee0d312af5 acinclude.m4: Remove some unnecessary double quotes around variables.
Rik <rik@octave.org>
parents: 17196
diff changeset
3259 if test $tmp_have_bison = yes; then
26672
df42ea23502f build: support GNU bison 3.3, silence POSIX compatibility warning (bug #55613)
Mike Miller <mtmiller@octave.org>
parents: 26541
diff changeset
3260 dnl FIXME: Call GNU bison with the `-Wno-yacc` option, which works with
df42ea23502f build: support GNU bison 3.3, silence POSIX compatibility warning (bug #55613)
Mike Miller <mtmiller@octave.org>
parents: 26541
diff changeset
3261 dnl bison 2.5 and all later versions, as recommended by the bison NEWS.
df42ea23502f build: support GNU bison 3.3, silence POSIX compatibility warning (bug #55613)
Mike Miller <mtmiller@octave.org>
parents: 26541
diff changeset
3262 dnl This is needed as long as Octave supports Autoconf version 2.69 or
df42ea23502f build: support GNU bison 3.3, silence POSIX compatibility warning (bug #55613)
Mike Miller <mtmiller@octave.org>
parents: 26541
diff changeset
3263 dnl older. In Autoconf 2.70, AC_PROG_YACC no longer adds the `-y`
df42ea23502f build: support GNU bison 3.3, silence POSIX compatibility warning (bug #55613)
Mike Miller <mtmiller@octave.org>
parents: 26541
diff changeset
3264 dnl option to emulate POSIX yacc.
df42ea23502f build: support GNU bison 3.3, silence POSIX compatibility warning (bug #55613)
Mike Miller <mtmiller@octave.org>
parents: 26541
diff changeset
3265 WARN_YFLAGS="-Wno-yacc"
df42ea23502f build: support GNU bison 3.3, silence POSIX compatibility warning (bug #55613)
Mike Miller <mtmiller@octave.org>
parents: 26541
diff changeset
3266
18974
d8abf813c69f handle changes in bison 3.x
John W. Eaton <jwe@octave.org>
parents: 18973
diff changeset
3267 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
3268 [octave_cv_bison_api_prefix_decl_style], [
d8abf813c69f handle changes in bison 3.x
John W. Eaton <jwe@octave.org>
parents: 18973
diff changeset
3269 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
3270 quote="quote brace"
18974
d8abf813c69f handle changes in bison 3.x
John W. Eaton <jwe@octave.org>
parents: 18973
diff changeset
3271 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
3272 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
3273 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
3274 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
3275 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
3276 else
6b4dfb1e5afb allow building with old versions of bison again (bug #43023)
John W. Eaton <jwe@octave.org>
parents: 18974
diff changeset
3277 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
3278 fi
6b4dfb1e5afb allow building with old versions of bison again (bug #43023)
John W. Eaton <jwe@octave.org>
parents: 18974
diff changeset
3279 else
6b4dfb1e5afb allow building with old versions of bison again (bug #43023)
John W. Eaton <jwe@octave.org>
parents: 18974
diff changeset
3280 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
3281 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
3282 else
6b4dfb1e5afb allow building with old versions of bison again (bug #43023)
John W. Eaton <jwe@octave.org>
parents: 18974
diff changeset
3283 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
3284 fi
6b4dfb1e5afb allow building with old versions of bison again (bug #43023)
John W. Eaton <jwe@octave.org>
parents: 18974
diff changeset
3285 fi
6b4dfb1e5afb allow building with old versions of bison again (bug #43023)
John W. Eaton <jwe@octave.org>
parents: 18974
diff changeset
3286 cat << EOF > conftest.yy
18974
d8abf813c69f handle changes in bison 3.x
John W. Eaton <jwe@octave.org>
parents: 18973
diff changeset
3287 $def
d8abf813c69f handle changes in bison 3.x
John W. Eaton <jwe@octave.org>
parents: 18973
diff changeset
3288 %start input
d8abf813c69f handle changes in bison 3.x
John W. Eaton <jwe@octave.org>
parents: 18973
diff changeset
3289 %%
d8abf813c69f handle changes in bison 3.x
John W. Eaton <jwe@octave.org>
parents: 18973
diff changeset
3290 input:;
d8abf813c69f handle changes in bison 3.x
John W. Eaton <jwe@octave.org>
parents: 18973
diff changeset
3291 %%
d8abf813c69f handle changes in bison 3.x
John W. Eaton <jwe@octave.org>
parents: 18973
diff changeset
3292 EOF
19105
6b4dfb1e5afb allow building with old versions of bison again (bug #43023)
John W. Eaton <jwe@octave.org>
parents: 18974
diff changeset
3293 ## Older versions of bison only warn and exit with success.
26672
df42ea23502f build: support GNU bison 3.3, silence POSIX compatibility warning (bug #55613)
Mike Miller <mtmiller@octave.org>
parents: 26541
diff changeset
3294 octave_bison_output=`$YACC $WARN_YFLAGS 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
3295 ac_status=$?
6b4dfb1e5afb allow building with old versions of bison again (bug #43023)
John W. Eaton <jwe@octave.org>
parents: 18974
diff changeset
3296 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
3297 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
3298 break
6b4dfb1e5afb allow building with old versions of bison again (bug #43023)
John W. Eaton <jwe@octave.org>
parents: 18974
diff changeset
3299 fi
6b4dfb1e5afb allow building with old versions of bison again (bug #43023)
John W. Eaton <jwe@octave.org>
parents: 18974
diff changeset
3300 done
6b4dfb1e5afb allow building with old versions of bison again (bug #43023)
John W. Eaton <jwe@octave.org>
parents: 18974
diff changeset
3301 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
3302 break
d8abf813c69f handle changes in bison 3.x
John W. Eaton <jwe@octave.org>
parents: 18973
diff changeset
3303 fi
d8abf813c69f handle changes in bison 3.x
John W. Eaton <jwe@octave.org>
parents: 18973
diff changeset
3304 done
d8abf813c69f handle changes in bison 3.x
John W. Eaton <jwe@octave.org>
parents: 18973
diff changeset
3305 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
3306 ])
d8abf813c69f handle changes in bison 3.x
John W. Eaton <jwe@octave.org>
parents: 18973
diff changeset
3307 fi
d8abf813c69f handle changes in bison 3.x
John W. Eaton <jwe@octave.org>
parents: 18973
diff changeset
3308
25637
e1c3d1c6e896 don't substitute api.prefix style in bison input files
John W. Eaton <jwe@octave.org>
parents: 25559
diff changeset
3309 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
3310 || 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
3311 tmp_have_bison=no
18974
d8abf813c69f handle changes in bison 3.x
John W. Eaton <jwe@octave.org>
parents: 18973
diff changeset
3312 warn_bison_api_prefix_decl_style="
d8abf813c69f handle changes in bison 3.x
John W. Eaton <jwe@octave.org>
parents: 18973
diff changeset
3313
d8abf813c69f handle changes in bison 3.x
John W. Eaton <jwe@octave.org>
parents: 18973
diff changeset
3314 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
3315 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
3316 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
3317 "
d8abf813c69f handle changes in bison 3.x
John W. Eaton <jwe@octave.org>
parents: 18973
diff changeset
3318 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
3319 fi
d8abf813c69f handle changes in bison 3.x
John W. Eaton <jwe@octave.org>
parents: 18973
diff changeset
3320
17197
fbee0d312af5 acinclude.m4: Remove some unnecessary double quotes around variables.
Rik <rik@octave.org>
parents: 17196
diff changeset
3321 if test $tmp_have_bison = no; then
25310
0b253ba6eb91 avoid syntax errors in build-aux/subst scripts
John W. Eaton <jwe@octave.org>
parents: 25299
diff changeset
3322 YACC='${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
3323 warn_bison="
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3324
19105
6b4dfb1e5afb allow building with old versions of bison again (bug #43023)
John W. Eaton <jwe@octave.org>
parents: 18974
diff changeset
3325 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
3326 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
3327 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
3328 building from VCS sources.
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3329 "
16784
0fabe0f49f38 use better method to determine whether we are using flex and bison
John W. Eaton <jwe@octave.org>
parents: 16733
diff changeset
3330 OCTAVE_CONFIGURE_WARNING([warn_bison])
0fabe0f49f38 use better method to determine whether we are using flex and bison
John W. Eaton <jwe@octave.org>
parents: 16733
diff changeset
3331 fi
26672
df42ea23502f build: support GNU bison 3.3, silence POSIX compatibility warning (bug #55613)
Mike Miller <mtmiller@octave.org>
parents: 26541
diff changeset
3332 AC_SUBST(WARN_YFLAGS)
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3333 ])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3334 dnl
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3335 dnl Find find program.
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3336 dnl
15336
5fff79162342 acinclude.m4: Put temporary shell variables in macros into ac_octave namespace.
Rik <rik@octave.org>
parents: 15330
diff changeset
3337 ## Prefer GNU find if found.
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3338 AN_MAKEVAR([FIND], [OCTAVE_PROG_FIND])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3339 AN_PROGRAM([gfind], [OCTAVE_PROG_FIND])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3340 AN_PROGRAM([find], [OCTAVE_PROG_FIND])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3341 AC_DEFUN([OCTAVE_PROG_FIND], [
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3342 AC_CHECK_PROGS(FIND, [gfind find])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3343 ])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3344 dnl
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3345 dnl Check for flex.
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3346 dnl
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3347 AC_DEFUN([OCTAVE_PROG_FLEX], [
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3348 ## 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
3349 ## it, and it might not be installed.
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3350 ##
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3351 ## 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
3352 ## using flex.
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3353 AC_PROG_LEX
16784
0fabe0f49f38 use better method to determine whether we are using flex and bison
John W. Eaton <jwe@octave.org>
parents: 16733
diff changeset
3354 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
3355 *flex*)
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3356 LFLAGS="-I"
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3357 AC_MSG_RESULT([defining LFLAGS to be $LFLAGS])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3358 LEXLIB=
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3359 ;;
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3360 *)
25310
0b253ba6eb91 avoid syntax errors in build-aux/subst scripts
John W. Eaton <jwe@octave.org>
parents: 25299
diff changeset
3361 LEX='${top_srcdir}/build-aux/missing flex'
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3362 warn_flex="
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3363
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3364 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
3365 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
3366 "
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3367 OCTAVE_CONFIGURE_WARNING([warn_flex])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3368 ;;
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3369 esac
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3370 AC_SUBST(LFLAGS)
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3371 ])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3372 dnl
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3373 dnl Check for ghostscript.
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3374 dnl
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3375 AC_DEFUN([OCTAVE_PROG_GHOSTSCRIPT], [
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3376 case "$canonical_host_type" in
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3377 *-*-mingw* | *-*-msdosmsvc)
15336
5fff79162342 acinclude.m4: Put temporary shell variables in macros into ac_octave namespace.
Rik <rik@octave.org>
parents: 15330
diff changeset
3378 ac_octave_gs_names="gswin32c gs mgs"
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 *)
15336
5fff79162342 acinclude.m4: Put temporary shell variables in macros into ac_octave namespace.
Rik <rik@octave.org>
parents: 15330
diff changeset
3381 ac_octave_gs_names="gs"
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3382 ;;
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3383 esac
15336
5fff79162342 acinclude.m4: Put temporary shell variables in macros into ac_octave namespace.
Rik <rik@octave.org>
parents: 15330
diff changeset
3384 AC_CHECK_PROGS(GHOSTSCRIPT, [$ac_octave_gs_names])
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3385 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
3386 GHOSTSCRIPT='${top_srcdir}/build-aux/missing gs'
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3387 warn_ghostscript="
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3388
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3389 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
3390 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
3391 using Octave
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3392 "
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3393 OCTAVE_CONFIGURE_WARNING([warn_ghostscript])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3394 fi
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3395 AC_SUBST(GHOSTSCRIPT)
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3396 ])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3397 dnl
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3398 dnl Check for gnuplot.
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3399 dnl
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3400 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
3401 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
3402 ac_octave_gp_default="gnuplot"
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3403 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
3404 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
3405 GNUPLOT_BINARY=$GNUPLOT
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3406 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
3407 else
15336
5fff79162342 acinclude.m4: Put temporary shell variables in macros into ac_octave namespace.
Rik <rik@octave.org>
parents: 15330
diff changeset
3408 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
3409 GNUPLOT_BINARY=$GNUPLOT
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3410 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
3411 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
3412 GNUPLOT_BINARY=""
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3413 warn_gnuplot="
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3414
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3415 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
3416 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
3417 Octave's plotting commands.
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3418 "
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3419 OCTAVE_CONFIGURE_WARNING([warn_gnuplot])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3420 fi
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3421 fi
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3422 AC_SUBST(GNUPLOT)
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3423 ])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3424 dnl
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3425 dnl Check for gperf.
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3426 dnl
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3427 AC_DEFUN([OCTAVE_PROG_GPERF], [
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3428 AC_CHECK_PROG(GPERF, gperf, gperf, [])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3429 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
3430 GPERF='${top_srcdir}/build-aux/missing gperf'
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3431 warn_gperf="
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3432
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3433 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
3434 reconstruct oct-gperf.h
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3435 "
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3436 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
3437 GPERF='${top_srcdir}/build-aux/missing gperf'
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3438 fi
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3439 AC_SUBST(GPERF)
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3440 ])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3441 dnl
19744
1687269e31e4 build: Generate Octave logo icons from SVG source (bug #37062)
Mike Miller <mtmiller@ieee.org>
parents: 19697
diff changeset
3442 dnl Find icotool program.
1687269e31e4 build: Generate Octave logo icons from SVG source (bug #37062)
Mike Miller <mtmiller@ieee.org>
parents: 19697
diff changeset
3443 dnl
1687269e31e4 build: Generate Octave logo icons from SVG source (bug #37062)
Mike Miller <mtmiller@ieee.org>
parents: 19697
diff changeset
3444 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
3445 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
3446 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
3447 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
3448 warn_icotool="
bc2a8db22831 build: Use the missing script for icotool and rsvg-convert
Mike Miller <mtmiller@ieee.org>
parents: 19744
diff changeset
3449
bc2a8db22831 build: Use the missing script for icotool and rsvg-convert
Mike Miller <mtmiller@ieee.org>
parents: 19744
diff changeset
3450 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
3451 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
3452 VCS sources.
bc2a8db22831 build: Use the missing script for icotool and rsvg-convert
Mike Miller <mtmiller@ieee.org>
parents: 19744
diff changeset
3453 "
bc2a8db22831 build: Use the missing script for icotool and rsvg-convert
Mike Miller <mtmiller@ieee.org>
parents: 19744
diff changeset
3454 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
3455 fi
19744
1687269e31e4 build: Generate Octave logo icons from SVG source (bug #37062)
Mike Miller <mtmiller@ieee.org>
parents: 19697
diff changeset
3456 AC_SUBST(ICOTOOL)
1687269e31e4 build: Generate Octave logo icons from SVG source (bug #37062)
Mike Miller <mtmiller@ieee.org>
parents: 19697
diff changeset
3457 ])
1687269e31e4 build: Generate Octave logo icons from SVG source (bug #37062)
Mike Miller <mtmiller@ieee.org>
parents: 19697
diff changeset
3458 dnl
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3459 dnl Check for makeinfo.
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3460 dnl
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3461 AC_DEFUN([OCTAVE_PROG_MAKEINFO], [
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3462 dnl use MKINFO, not MAKEINFO, for variable name because Automake
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3463 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
3464 dnl exist which will then fool the 'test -z' line.
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3465 AC_CHECK_PROG(MKINFO, makeinfo, makeinfo, [])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3466 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
3467 warn_makeinfo="
ca37c6023a79 don't abort configure if makeinfo is missing
John W. Eaton <jwe@octave.org>
parents: 15969
diff changeset
3468
ca37c6023a79 don't abort configure if makeinfo is missing
John W. Eaton <jwe@octave.org>
parents: 15969
diff changeset
3469 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
3470 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
3471 "
ca37c6023a79 don't abort configure if makeinfo is missing
John W. Eaton <jwe@octave.org>
parents: 15969
diff changeset
3472 OCTAVE_CONFIGURE_WARNING([warn_makeinfo])
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3473 fi
24623
f39ae754a7d8 configure: test that makeinfo supports the @sortas command
Mike Miller <mtmiller@octave.org>
parents: 24534
diff changeset
3474 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
3475 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
3476 if test -n "$MKINFO"; then
f39ae754a7d8 configure: test that makeinfo supports the @sortas command
Mike Miller <mtmiller@octave.org>
parents: 24534
diff changeset
3477 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
3478 [octave_cv_makeinfo_sortas_command],
f39ae754a7d8 configure: test that makeinfo supports the @sortas command
Mike Miller <mtmiller@octave.org>
parents: 24534
diff changeset
3479 [cat << EOF > conftest.texi
f39ae754a7d8 configure: test that makeinfo supports the @sortas command
Mike Miller <mtmiller@octave.org>
parents: 24534
diff changeset
3480 \input texinfo
f39ae754a7d8 configure: test that makeinfo supports the @sortas command
Mike Miller <mtmiller@octave.org>
parents: 24534
diff changeset
3481 @node Top
f39ae754a7d8 configure: test that makeinfo supports the @sortas command
Mike Miller <mtmiller@octave.org>
parents: 24534
diff changeset
3482 @top Document
f39ae754a7d8 configure: test that makeinfo supports the @sortas command
Mike Miller <mtmiller@octave.org>
parents: 24534
diff changeset
3483 @menu
f39ae754a7d8 configure: test that makeinfo supports the @sortas command
Mike Miller <mtmiller@octave.org>
parents: 24534
diff changeset
3484 * Chapter::
f39ae754a7d8 configure: test that makeinfo supports the @sortas command
Mike Miller <mtmiller@octave.org>
parents: 24534
diff changeset
3485 * Index::
f39ae754a7d8 configure: test that makeinfo supports the @sortas command
Mike Miller <mtmiller@octave.org>
parents: 24534
diff changeset
3486 @end menu
f39ae754a7d8 configure: test that makeinfo supports the @sortas command
Mike Miller <mtmiller@octave.org>
parents: 24534
diff changeset
3487 @node Chapter
f39ae754a7d8 configure: test that makeinfo supports the @sortas command
Mike Miller <mtmiller@octave.org>
parents: 24534
diff changeset
3488 @chapter Chapter
f39ae754a7d8 configure: test that makeinfo supports the @sortas command
Mike Miller <mtmiller@octave.org>
parents: 24534
diff changeset
3489 @cindex @sortas{a} foo
f39ae754a7d8 configure: test that makeinfo supports the @sortas command
Mike Miller <mtmiller@octave.org>
parents: 24534
diff changeset
3490 @node Index
f39ae754a7d8 configure: test that makeinfo supports the @sortas command
Mike Miller <mtmiller@octave.org>
parents: 24534
diff changeset
3491 @unnumbered Index
f39ae754a7d8 configure: test that makeinfo supports the @sortas command
Mike Miller <mtmiller@octave.org>
parents: 24534
diff changeset
3492 @printindex cp
f39ae754a7d8 configure: test that makeinfo supports the @sortas command
Mike Miller <mtmiller@octave.org>
parents: 24534
diff changeset
3493 @bye
f39ae754a7d8 configure: test that makeinfo supports the @sortas command
Mike Miller <mtmiller@octave.org>
parents: 24534
diff changeset
3494 EOF
f39ae754a7d8 configure: test that makeinfo supports the @sortas command
Mike Miller <mtmiller@octave.org>
parents: 24534
diff changeset
3495 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
3496 octave_cv_makeinfo_sortas_command=yes
f39ae754a7d8 configure: test that makeinfo supports the @sortas command
Mike Miller <mtmiller@octave.org>
parents: 24534
diff changeset
3497 else
f39ae754a7d8 configure: test that makeinfo supports the @sortas command
Mike Miller <mtmiller@octave.org>
parents: 24534
diff changeset
3498 octave_cv_makeinfo_sortas_command=no
f39ae754a7d8 configure: test that makeinfo supports the @sortas command
Mike Miller <mtmiller@octave.org>
parents: 24534
diff changeset
3499 fi
f39ae754a7d8 configure: test that makeinfo supports the @sortas command
Mike Miller <mtmiller@octave.org>
parents: 24534
diff changeset
3500 rm -f conftest.info conftest.texi
f39ae754a7d8 configure: test that makeinfo supports the @sortas command
Mike Miller <mtmiller@octave.org>
parents: 24534
diff changeset
3501 ])
f39ae754a7d8 configure: test that makeinfo supports the @sortas command
Mike Miller <mtmiller@octave.org>
parents: 24534
diff changeset
3502 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
3503 warn_makeinfo="
f39ae754a7d8 configure: test that makeinfo supports the @sortas command
Mike Miller <mtmiller@octave.org>
parents: 24534
diff changeset
3504
f39ae754a7d8 configure: test that makeinfo supports the @sortas command
Mike Miller <mtmiller@octave.org>
parents: 24534
diff changeset
3505 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
3506 @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
3507 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
3508 "
f39ae754a7d8 configure: test that makeinfo supports the @sortas command
Mike Miller <mtmiller@octave.org>
parents: 24534
diff changeset
3509 OCTAVE_CONFIGURE_WARNING([warn_makeinfo])
f39ae754a7d8 configure: test that makeinfo supports the @sortas command
Mike Miller <mtmiller@octave.org>
parents: 24534
diff changeset
3510 fi
f39ae754a7d8 configure: test that makeinfo supports the @sortas command
Mike Miller <mtmiller@octave.org>
parents: 24534
diff changeset
3511 fi
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3512 ])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3513 dnl
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3514 dnl What pager should we use?
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3515 dnl
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3516 AC_DEFUN([OCTAVE_PROG_PAGER], [
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3517 if test "$cross_compiling" = yes; then
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3518 DEFAULT_PAGER=less
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3519 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
3520 AC_SUBST(DEFAULT_PAGER)
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3521 else
15336
5fff79162342 acinclude.m4: Put temporary shell variables in macros into ac_octave namespace.
Rik <rik@octave.org>
parents: 15330
diff changeset
3522 ac_octave_possible_pagers="less more page pg"
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3523 case "$canonical_host_type" in
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3524 *-*-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
3525 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
3526 ;;
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3527 esac
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3528
15336
5fff79162342 acinclude.m4: Put temporary shell variables in macros into ac_octave namespace.
Rik <rik@octave.org>
parents: 15330
diff changeset
3529 AC_CHECK_PROGS(DEFAULT_PAGER, [$ac_octave_possible_pagers], [])
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3530 if test -z "$DEFAULT_PAGER"; then
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3531 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
3532 OCTAVE_CONFIGURE_WARNING([warn_less])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3533 fi
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3534 fi
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3535 ])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3536 dnl
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3537 dnl Find Perl program.
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3538 dnl
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3539 AC_DEFUN([OCTAVE_PROG_PERL], [
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3540 AC_CHECK_PROG(PERL, perl, perl, [])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3541 AC_SUBST(PERL)
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3542 ])
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 dnl Find Python program.
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3545 dnl
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3546 AC_DEFUN([OCTAVE_PROG_PYTHON], [
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3547 AC_CHECK_PROG(PYTHON, python, python, [])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3548 AC_SUBST(PYTHON)
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3549 ])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3550 dnl
19744
1687269e31e4 build: Generate Octave logo icons from SVG source (bug #37062)
Mike Miller <mtmiller@ieee.org>
parents: 19697
diff changeset
3551 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
3552 dnl
1687269e31e4 build: Generate Octave logo icons from SVG source (bug #37062)
Mike Miller <mtmiller@ieee.org>
parents: 19697
diff changeset
3553 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
3554 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
3555 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
3556 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
3557 warn_rsvg_convert="
bc2a8db22831 build: Use the missing script for icotool and rsvg-convert
Mike Miller <mtmiller@ieee.org>
parents: 19744
diff changeset
3558
bc2a8db22831 build: Use the missing script for icotool and rsvg-convert
Mike Miller <mtmiller@ieee.org>
parents: 19744
diff changeset
3559 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
3560 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
3561 from VCS sources.
bc2a8db22831 build: Use the missing script for icotool and rsvg-convert
Mike Miller <mtmiller@ieee.org>
parents: 19744
diff changeset
3562 "
bc2a8db22831 build: Use the missing script for icotool and rsvg-convert
Mike Miller <mtmiller@ieee.org>
parents: 19744
diff changeset
3563 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
3564 fi
19744
1687269e31e4 build: Generate Octave logo icons from SVG source (bug #37062)
Mike Miller <mtmiller@ieee.org>
parents: 19697
diff changeset
3565 AC_SUBST(RSVG_CONVERT)
1687269e31e4 build: Generate Octave logo icons from SVG source (bug #37062)
Mike Miller <mtmiller@ieee.org>
parents: 19697
diff changeset
3566 ])
1687269e31e4 build: Generate Octave logo icons from SVG source (bug #37062)
Mike Miller <mtmiller@ieee.org>
parents: 19697
diff changeset
3567 dnl
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3568 dnl Find sed program.
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 # Check for a fully-functional sed program, that truncates
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3571 # as few characters as possible and that supports "\(X\|Y\)"
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3572 # style regular expression alternation. Prefer GNU sed if found.
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3573 AC_DEFUN([OCTAVE_PROG_SED], [
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3574 AC_MSG_CHECKING([for a usable sed])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3575 if test -z "$SED"; then
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3576 AC_CACHE_VAL([octave_cv_prog_sed],
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3577 [# 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
3578 # Next, test potential sed programs in list for truncation.
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3579 _AS_PATH_WALK([$PATH],
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3580 [for ac_prog in sed gsed; do
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3581 for ac_exec_ext in '' $ac_executable_extensions; do
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3582 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
3583 _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
3584 fi
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3585 done
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3586 done
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3587 ])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3588 AS_TMPDIR(sed)
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3589 _max=0
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3590 _count=0
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3591 # 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
3592 # along with /bin/sed that truncates output.
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3593 for _sed in $_sed_list /usr/xpg4/bin/sed; do
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3594 test ! -f ${_sed} && break
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3595 cat /dev/null > "$tmp/sed.in"
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3596 _count=0
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3597 echo $ECHO_N "0123456789$ECHO_C" >"$tmp/sed.in"
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3598 # 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
3599 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
3600 octave_cv_prog_sed=${_sed}
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3601 break;
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3602 fi
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3603 # Reject if RE alternation is not handled.
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3604 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
3605 continue;
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3606 fi
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3607 while true; do
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3608 cat "$tmp/sed.in" "$tmp/sed.in" >"$tmp/sed.tmp"
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3609 mv "$tmp/sed.tmp" "$tmp/sed.in"
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3610 cp "$tmp/sed.in" "$tmp/sed.nl"
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3611 echo >>"$tmp/sed.nl"
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3612 ${_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
3613 cmp -s "$tmp/sed.out" "$tmp/sed.nl" || break
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3614 # 10000 chars as input seems more than enough
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3615 test $_count -gt 10 && break
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3616 _count=`expr $_count + 1`
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3617 if test $_count -gt $_max; then
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3618 _max=$_count
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3619 octave_cv_prog_sed=$_sed
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3620 fi
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3621 done
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3622 done
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3623 rm -rf "$tmp"
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3624 ])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3625 SED=$octave_cv_prog_sed
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3626 if test -z "$SED"; then
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3627 AC_MSG_ERROR([no usable version of sed found])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3628 fi
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3629 fi
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3630 AC_SUBST(SED)
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3631 AC_MSG_RESULT([$SED])
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 dnl
24077
e483dcb5777d build the source distribution archives reproducibly
Mike Miller <mtmiller@octave.org>
parents: 24022
diff changeset
3634 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
3635 dnl
e483dcb5777d build the source distribution archives reproducibly
Mike Miller <mtmiller@octave.org>
parents: 24022
diff changeset
3636 AC_DEFUN([OCTAVE_PROG_TAR_REPRODUCIBLE], [
e483dcb5777d build the source distribution archives reproducibly
Mike Miller <mtmiller@octave.org>
parents: 24022
diff changeset
3637 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
3638 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
3639 for octave_tar in tar gnutar gtar :; do
e483dcb5777d build the source distribution archives reproducibly
Mike Miller <mtmiller@octave.org>
parents: 24022
diff changeset
3640 $octave_tar --version >/dev/null 2>&1 && break
e483dcb5777d build the source distribution archives reproducibly
Mike Miller <mtmiller@octave.org>
parents: 24022
diff changeset
3641 done
e483dcb5777d build the source distribution archives reproducibly
Mike Miller <mtmiller@octave.org>
parents: 24022
diff changeset
3642 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
3643 if test x"$octave_tar" != x:; then
e483dcb5777d build the source distribution archives reproducibly
Mike Miller <mtmiller@octave.org>
parents: 24022
diff changeset
3644 octave_tar_flags=
e483dcb5777d build the source distribution archives reproducibly
Mike Miller <mtmiller@octave.org>
parents: 24022
diff changeset
3645 echo > conftest.txt
e483dcb5777d build the source distribution archives reproducibly
Mike Miller <mtmiller@octave.org>
parents: 24022
diff changeset
3646 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
3647 $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
3648 if test $? -eq 0; then
e483dcb5777d build the source distribution archives reproducibly
Mike Miller <mtmiller@octave.org>
parents: 24022
diff changeset
3649 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
3650 fi
e483dcb5777d build the source distribution archives reproducibly
Mike Miller <mtmiller@octave.org>
parents: 24022
diff changeset
3651 done
e483dcb5777d build the source distribution archives reproducibly
Mike Miller <mtmiller@octave.org>
parents: 24022
diff changeset
3652 rm -f conftest.tar conftest.txt
e483dcb5777d build the source distribution archives reproducibly
Mike Miller <mtmiller@octave.org>
parents: 24022
diff changeset
3653 REPRODUCIBLE_TAR_FLAGS="$octave_tar_flags"
e483dcb5777d build the source distribution archives reproducibly
Mike Miller <mtmiller@octave.org>
parents: 24022
diff changeset
3654 fi
e483dcb5777d build the source distribution archives reproducibly
Mike Miller <mtmiller@octave.org>
parents: 24022
diff changeset
3655 AC_SUBST(REPRODUCIBLE_TAR_FLAGS)
e483dcb5777d build the source distribution archives reproducibly
Mike Miller <mtmiller@octave.org>
parents: 24022
diff changeset
3656 AC_MSG_RESULT([$REPRODUCIBLE_TAR_FLAGS])
e483dcb5777d build the source distribution archives reproducibly
Mike Miller <mtmiller@octave.org>
parents: 24022
diff changeset
3657 ])
e483dcb5777d build the source distribution archives reproducibly
Mike Miller <mtmiller@octave.org>
parents: 24022
diff changeset
3658 dnl
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3659 dnl Check for texi2dvi.
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3660 dnl
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3661 AC_DEFUN([OCTAVE_PROG_TEXI2DVI], [
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3662 AC_CHECK_PROG(TEXI2DVI, texi2dvi, texi2dvi, [])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3663 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
3664 TEXI2DVI='${top_srcdir}/build-aux/missing texi2dvi'
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3665 warn_texi2dvi="
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3666
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3667 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
3668 reconstruct the DVI version of the manual
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3669 "
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3670 OCTAVE_CONFIGURE_WARNING([warn_texi2dvi])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3671 fi
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3672 AC_SUBST(TEXI2DVI)
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3673 ])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3674 dnl
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3675 dnl Check for texi2pdf.
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3676 dnl
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3677 AC_DEFUN([OCTAVE_PROG_TEXI2PDF], [
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3678 AC_REQUIRE([OCTAVE_PROG_TEXI2DVI])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3679 AC_CHECK_PROG(TEXI2PDF, texi2pdf, texi2pdf, [])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3680 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
3681 ac_octave_texi2pdf_missing=yes;
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3682 if test -n "$TEXI2DVI"; then
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3683 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
3684 ac_octave_texi2pdf_missing=no;
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3685 fi
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3686 else
16068
b309a5da17f5 use yes/no instead of true/false in confgure scripts
John W. Eaton <jwe@octave.org>
parents: 16012
diff changeset
3687 ac_octave_texi2pdf_missing=no;
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3688 fi
16068
b309a5da17f5 use yes/no instead of true/false in confgure scripts
John W. Eaton <jwe@octave.org>
parents: 16012
diff changeset
3689 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
3690 TEXI2PDF='${top_srcdir}/build-aux/missing texi2pdf'
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3691 warn_texi2pdf="
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3692
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3693 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
3694 reconstruct the PDF version of the manual
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3695 "
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3696 OCTAVE_CONFIGURE_WARNING([warn_texi2pdf])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3697 fi
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3698 AC_SUBST(TEXI2PDF)
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3699 ])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3700 dnl
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3701 dnl Set default value for a variable and substitute it.
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3702 dnl
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3703 AC_DEFUN([OCTAVE_SET_DEFAULT], [
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3704 ifelse($#, 2, [: ${$1=$2}
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3705 ])dnl
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3706 AC_MSG_RESULT([defining $1 to be $$1])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3707 AC_SUBST($1)
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3708 ])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3709 dnl
15144
9cc337ced51a build: Update OCTAVE_UMFPACK_SEPARATE_SPLIT macro to look for SuiteSparse header file.
Rik <rik@octave.org>
parents: 15141
diff changeset
3710 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
3711 dnl
15144
9cc337ced51a build: Update OCTAVE_UMFPACK_SEPARATE_SPLIT macro to look for SuiteSparse header file.
Rik <rik@octave.org>
parents: 15141
diff changeset
3712 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
3713 dnl
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3714 AC_DEFUN([OCTAVE_UMFPACK_SEPARATE_SPLIT], [
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3715 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
3716 AC_CACHE_VAL([octave_cv_umfpack_separate_split],
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3717 [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
3718 #include <stdint.h>
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3719 #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
3720 #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
3721 #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
3722 # 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
3723 #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
3724 # include <ufsparse/umfpack.h>
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3725 #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
3726 # include <umfpack/umfpack.h>
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3727 #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
3728 # include <umfpack.h>
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3729 #endif
21724
aba2e6293dd8 use "#if ..." consistently instead of "#ifdef" and "#ifndef"
John W. Eaton <jwe@octave.org>
parents: 21604
diff changeset
3730 #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
3731 typedef uint64_t idx_type;
eb572251b7c6 check for correct SuiteSparse functions if --enable-64
John W. Eaton <jwe@octave.org>
parents: 16313
diff changeset
3732 #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
3733 #else
eb572251b7c6 check for correct SuiteSparse functions if --enable-64
John W. Eaton <jwe@octave.org>
parents: 16313
diff changeset
3734 typedef int idx_type;
eb572251b7c6 check for correct SuiteSparse functions if --enable-64
John W. Eaton <jwe@octave.org>
parents: 16313
diff changeset
3735 #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
3736 #endif
eb572251b7c6 check for correct SuiteSparse functions if --enable-64
John W. Eaton <jwe@octave.org>
parents: 16313
diff changeset
3737 idx_type n = 5;
eb572251b7c6 check for correct SuiteSparse functions if --enable-64
John W. Eaton <jwe@octave.org>
parents: 16313
diff changeset
3738 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
3739 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
3740 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
3741 -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
3742 double br[] = {8., 45., -3., 3., 19.};
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3743 double bi[] = {0., 0., 0., 0., 0.};
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3744 int main (void)
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3745 {
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3746 double *null = (double *) NULL ;
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3747 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
3748 idx_type i ;
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3749 void *Symbolic, *Numeric ;
16318
eb572251b7c6 check for correct SuiteSparse functions if --enable-64
John W. Eaton <jwe@octave.org>
parents: 16313
diff changeset
3750 (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
3751 (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
3752 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
3753 (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
3754 Numeric, null, null) ;
16318
eb572251b7c6 check for correct SuiteSparse functions if --enable-64
John W. Eaton <jwe@octave.org>
parents: 16313
diff changeset
3755 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
3756 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
3757 if (fabs (*x - i - 1.) > 1.e-13)
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3758 return (1);
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3759 return (0) ;
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3760 }
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3761 ]])],
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3762 octave_cv_umfpack_separate_split=yes,
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3763 octave_cv_umfpack_separate_split=no,
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3764 octave_cv_umfpack_separate_split=yes)
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3765 ])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3766 if test "$cross_compiling" = yes; then
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3767 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
3768 else
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3769 AC_MSG_RESULT([$octave_cv_umfpack_separate_split])
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3770 fi
15336
5fff79162342 acinclude.m4: Put temporary shell variables in macros into ac_octave namespace.
Rik <rik@octave.org>
parents: 15330
diff changeset
3771 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
3772 AC_DEFINE(UMFPACK_SEPARATE_SPLIT, 1,
15141
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3773 [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
3774 fi
4388f6518440 build: Overhaul acinclude.m4 macros.
Rik <rik@octave.org>
parents: 15134
diff changeset
3775 ])