Mercurial > pytave
annotate configure.ac @ 166:f9a4cc5c64bd
configure: simplify handling of missing dependencies
* configure.ac: Error immediately when missing a required dependency.
Show $(PYTHON_LIBS) in configuration summary.
author | Mike Miller <mtmiller@octave.org> |
---|---|
date | Wed, 06 Apr 2016 14:42:18 -0700 |
parents | a323f9fae46b |
children | 43e92dd60dd0 |
rev | line source |
---|---|
149
6d9b4f69da66
Clean up build system functionality and style
Mike Miller <mtmiller@octave.org>
parents:
137
diff
changeset
|
1 dnl Process this file with autoconf to produce a configure script. |
6d9b4f69da66
Clean up build system functionality and style
Mike Miller <mtmiller@octave.org>
parents:
137
diff
changeset
|
2 dnl |
150
a3dc9d24ae38
maint: Add myself to copyright notices
Mike Miller <mtmiller@octave.org>
parents:
149
diff
changeset
|
3 dnl Copyright (C) 2015-2016 Mike Miller |
149
6d9b4f69da66
Clean up build system functionality and style
Mike Miller <mtmiller@octave.org>
parents:
137
diff
changeset
|
4 dnl Copyright (C) 2008 David Grundberg, HÃ¥kan Fors Nilsson |
6d9b4f69da66
Clean up build system functionality and style
Mike Miller <mtmiller@octave.org>
parents:
137
diff
changeset
|
5 dnl Copyright (C) 2009 Jaroslav Hajek, VZLU Prague |
6d9b4f69da66
Clean up build system functionality and style
Mike Miller <mtmiller@octave.org>
parents:
137
diff
changeset
|
6 ### |
6d9b4f69da66
Clean up build system functionality and style
Mike Miller <mtmiller@octave.org>
parents:
137
diff
changeset
|
7 ### This file is part of Pytave. |
6d9b4f69da66
Clean up build system functionality and style
Mike Miller <mtmiller@octave.org>
parents:
137
diff
changeset
|
8 ### |
6d9b4f69da66
Clean up build system functionality and style
Mike Miller <mtmiller@octave.org>
parents:
137
diff
changeset
|
9 ### Pytave is free software: you can redistribute it and/or modify it |
6d9b4f69da66
Clean up build system functionality and style
Mike Miller <mtmiller@octave.org>
parents:
137
diff
changeset
|
10 ### under the terms of the GNU General Public License as published by the |
6d9b4f69da66
Clean up build system functionality and style
Mike Miller <mtmiller@octave.org>
parents:
137
diff
changeset
|
11 ### Free Software Foundation, either version 3 of the License, or (at your |
6d9b4f69da66
Clean up build system functionality and style
Mike Miller <mtmiller@octave.org>
parents:
137
diff
changeset
|
12 ### option) any later version. |
6d9b4f69da66
Clean up build system functionality and style
Mike Miller <mtmiller@octave.org>
parents:
137
diff
changeset
|
13 ### |
6d9b4f69da66
Clean up build system functionality and style
Mike Miller <mtmiller@octave.org>
parents:
137
diff
changeset
|
14 ### Pytave is distributed in the hope that it will be useful, but WITHOUT |
6d9b4f69da66
Clean up build system functionality and style
Mike Miller <mtmiller@octave.org>
parents:
137
diff
changeset
|
15 ### ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
6d9b4f69da66
Clean up build system functionality and style
Mike Miller <mtmiller@octave.org>
parents:
137
diff
changeset
|
16 ### FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
6d9b4f69da66
Clean up build system functionality and style
Mike Miller <mtmiller@octave.org>
parents:
137
diff
changeset
|
17 ### for more details. |
6d9b4f69da66
Clean up build system functionality and style
Mike Miller <mtmiller@octave.org>
parents:
137
diff
changeset
|
18 ### |
6d9b4f69da66
Clean up build system functionality and style
Mike Miller <mtmiller@octave.org>
parents:
137
diff
changeset
|
19 ### You should have received a copy of the GNU General Public License |
6d9b4f69da66
Clean up build system functionality and style
Mike Miller <mtmiller@octave.org>
parents:
137
diff
changeset
|
20 ### along with Pytave; see the file COPYING. If not, see |
6d9b4f69da66
Clean up build system functionality and style
Mike Miller <mtmiller@octave.org>
parents:
137
diff
changeset
|
21 ### <http://www.gnu.org/licenses/>. |
0
4da14cce0890
First launchpad.net check in.
David Grundberg <c04dgg@cs.umu.se>
parents:
diff
changeset
|
22 |
4da14cce0890
First launchpad.net check in.
David Grundberg <c04dgg@cs.umu.se>
parents:
diff
changeset
|
23 AC_PREREQ(2.61) |
152
313932d566c9
doc: Update project URL and repository location
Mike Miller <mtmiller@octave.org>
parents:
150
diff
changeset
|
24 AC_INIT(pytave, dev, [[https://bitbucket.org/mtmiller/pytave/issues]]) |
0
4da14cce0890
First launchpad.net check in.
David Grundberg <c04dgg@cs.umu.se>
parents:
diff
changeset
|
25 |
4da14cce0890
First launchpad.net check in.
David Grundberg <c04dgg@cs.umu.se>
parents:
diff
changeset
|
26 # Some important programs. |
4da14cce0890
First launchpad.net check in.
David Grundberg <c04dgg@cs.umu.se>
parents:
diff
changeset
|
27 AC_LANG(C++) |
4da14cce0890
First launchpad.net check in.
David Grundberg <c04dgg@cs.umu.se>
parents:
diff
changeset
|
28 AC_PROG_CXX |
4da14cce0890
First launchpad.net check in.
David Grundberg <c04dgg@cs.umu.se>
parents:
diff
changeset
|
29 AC_PROG_CPP |
4da14cce0890
First launchpad.net check in.
David Grundberg <c04dgg@cs.umu.se>
parents:
diff
changeset
|
30 AC_PROG_CC |
4da14cce0890
First launchpad.net check in.
David Grundberg <c04dgg@cs.umu.se>
parents:
diff
changeset
|
31 |
4da14cce0890
First launchpad.net check in.
David Grundberg <c04dgg@cs.umu.se>
parents:
diff
changeset
|
32 # Load our custom m4 scripts (from the m4 directory) |
4da14cce0890
First launchpad.net check in.
David Grundberg <c04dgg@cs.umu.se>
parents:
diff
changeset
|
33 AC_CONFIG_MACRO_DIR(m4) |
4da14cce0890
First launchpad.net check in.
David Grundberg <c04dgg@cs.umu.se>
parents:
diff
changeset
|
34 AC_CONFIG_SRCDIR([pytave.cc]) |
4da14cce0890
First launchpad.net check in.
David Grundberg <c04dgg@cs.umu.se>
parents:
diff
changeset
|
35 AC_CONFIG_HEADER([config.h]) |
149
6d9b4f69da66
Clean up build system functionality and style
Mike Miller <mtmiller@octave.org>
parents:
137
diff
changeset
|
36 AC_CONFIG_FILES([Makefile]) |
0
4da14cce0890
First launchpad.net check in.
David Grundberg <c04dgg@cs.umu.se>
parents:
diff
changeset
|
37 |
85
891ec70aede9
Clearer description of what packages that are missing.
David <david@stacey>
parents:
83
diff
changeset
|
38 # Find Octave |
166
f9a4cc5c64bd
configure: simplify handling of missing dependencies
Mike Miller <mtmiller@octave.org>
parents:
159
diff
changeset
|
39 AX_OCTAVE([OCTAVE_CONFIG], [], |
f9a4cc5c64bd
configure: simplify handling of missing dependencies
Mike Miller <mtmiller@octave.org>
parents:
159
diff
changeset
|
40 [AC_MSG_FAILURE([unable to find Octave development files])]) |
37
798efee55cd0
Added --enable-float-matrices option. Some VPATH building issues fixed. Changelog now more standardized.
David Grundberg <individ@acc.umu.se>
parents:
30
diff
changeset
|
41 |
798efee55cd0
Added --enable-float-matrices option. Some VPATH building issues fixed. Changelog now more standardized.
David Grundberg <individ@acc.umu.se>
parents:
30
diff
changeset
|
42 # Pick a Python library to use |
155
5cfff4925d14
build: Import latest versions of m4 macros from autoconf-archive
Mike Miller <mtmiller@octave.org>
parents:
154
diff
changeset
|
43 AX_PYTHON_DEVEL |
0
4da14cce0890
First launchpad.net check in.
David Grundberg <c04dgg@cs.umu.se>
parents:
diff
changeset
|
44 |
101
0c19ed1ce349
Remove Numeric array support. Use numpy exclusively.
David Grundberg <individ@acc.umu.se>
parents:
98
diff
changeset
|
45 # Look for numpy headers |
166
f9a4cc5c64bd
configure: simplify handling of missing dependencies
Mike Miller <mtmiller@octave.org>
parents:
159
diff
changeset
|
46 AX_PYTHON_NUMPY([], [AC_MSG_FAILURE([unable to find NumPy development files])]) |
83
8145ecfecfb9
Configuration changes. Detect numpy in ./configure.
David Grundberg <c04dgg@cs.umu.se>
parents:
72
diff
changeset
|
47 |
0
4da14cce0890
First launchpad.net check in.
David Grundberg <c04dgg@cs.umu.se>
parents:
diff
changeset
|
48 # Look for boost::python |
155
5cfff4925d14
build: Import latest versions of m4 macros from autoconf-archive
Mike Miller <mtmiller@octave.org>
parents:
154
diff
changeset
|
49 AX_BOOST_PYTHON |
5cfff4925d14
build: Import latest versions of m4 macros from autoconf-archive
Mike Miller <mtmiller@octave.org>
parents:
154
diff
changeset
|
50 if test -z "$BOOST_PYTHON_LIB"; then |
166
f9a4cc5c64bd
configure: simplify handling of missing dependencies
Mike Miller <mtmiller@octave.org>
parents:
159
diff
changeset
|
51 AC_MSG_FAILURE([unable to find Boost::Python development files]) |
155
5cfff4925d14
build: Import latest versions of m4 macros from autoconf-archive
Mike Miller <mtmiller@octave.org>
parents:
154
diff
changeset
|
52 fi |
29
6d75691c5c07
Modified build configuration in the hope that it will be more stable.
David Grundberg <individ@acc.umu.se>
parents:
12
diff
changeset
|
53 |
159
a323f9fae46b
doc: Reformat INSTALL and README in Markdown
Mike Miller <mtmiller@octave.org>
parents:
157
diff
changeset
|
54 AM_INIT_AUTOMAKE([foreign -Wno-portability]) |
157
5cf3cd041b1c
build: Silence warnings from latest autotools
Mike Miller <mtmiller@octave.org>
parents:
155
diff
changeset
|
55 LT_INIT |
0
4da14cce0890
First launchpad.net check in.
David Grundberg <c04dgg@cs.umu.se>
parents:
diff
changeset
|
56 |
4da14cce0890
First launchpad.net check in.
David Grundberg <c04dgg@cs.umu.se>
parents:
diff
changeset
|
57 # Checks for header files. |
72 | 58 AC_CHECK_HEADERS([locale.h]) |
0
4da14cce0890
First launchpad.net check in.
David Grundberg <c04dgg@cs.umu.se>
parents:
diff
changeset
|
59 |
4da14cce0890
First launchpad.net check in.
David Grundberg <c04dgg@cs.umu.se>
parents:
diff
changeset
|
60 # Checks for typedefs, structures, and compiler characteristics. |
4da14cce0890
First launchpad.net check in.
David Grundberg <c04dgg@cs.umu.se>
parents:
diff
changeset
|
61 AC_HEADER_STDBOOL |
4da14cce0890
First launchpad.net check in.
David Grundberg <c04dgg@cs.umu.se>
parents:
diff
changeset
|
62 AC_C_CONST |
72 | 63 AC_C_INLINE |
149
6d9b4f69da66
Clean up build system functionality and style
Mike Miller <mtmiller@octave.org>
parents:
137
diff
changeset
|
64 AC_TYPE_INT8_T |
72 | 65 AC_TYPE_INT16_T |
66 AC_TYPE_INT32_T | |
67 AC_TYPE_INT64_T | |
68 AC_TYPE_SIZE_T | |
149
6d9b4f69da66
Clean up build system functionality and style
Mike Miller <mtmiller@octave.org>
parents:
137
diff
changeset
|
69 AC_TYPE_UINT8_T |
72 | 70 AC_TYPE_UINT16_T |
71 AC_TYPE_UINT32_T | |
149
6d9b4f69da66
Clean up build system functionality and style
Mike Miller <mtmiller@octave.org>
parents:
137
diff
changeset
|
72 AC_TYPE_UINT64_T |
0
4da14cce0890
First launchpad.net check in.
David Grundberg <c04dgg@cs.umu.se>
parents:
diff
changeset
|
73 |
4da14cce0890
First launchpad.net check in.
David Grundberg <c04dgg@cs.umu.se>
parents:
diff
changeset
|
74 # Checks for library functions. |
149
6d9b4f69da66
Clean up build system functionality and style
Mike Miller <mtmiller@octave.org>
parents:
137
diff
changeset
|
75 AC_CHECK_FUNCS([uselocale], [pytave_have_uselocale=yes], |
6d9b4f69da66
Clean up build system functionality and style
Mike Miller <mtmiller@octave.org>
parents:
137
diff
changeset
|
76 [pytave_have_uselocale=no]) |
0
4da14cce0890
First launchpad.net check in.
David Grundberg <c04dgg@cs.umu.se>
parents:
diff
changeset
|
77 |
4da14cce0890
First launchpad.net check in.
David Grundberg <c04dgg@cs.umu.se>
parents:
diff
changeset
|
78 # This needs a more usable, less unusual solution. |
149
6d9b4f69da66
Clean up build system functionality and style
Mike Miller <mtmiller@octave.org>
parents:
137
diff
changeset
|
79 AS_IF([test "x${prefix}" == "xNONE"], |
6d9b4f69da66
Clean up build system functionality and style
Mike Miller <mtmiller@octave.org>
parents:
137
diff
changeset
|
80 [PYTAVE_MODULE_INSTALL_PATH=/../invalidpath], |
6d9b4f69da66
Clean up build system functionality and style
Mike Miller <mtmiller@octave.org>
parents:
137
diff
changeset
|
81 [PYTAVE_MODULE_INSTALL_PATH=${prefix}]) |
0
4da14cce0890
First launchpad.net check in.
David Grundberg <c04dgg@cs.umu.se>
parents:
diff
changeset
|
82 AC_SUBST(PYTAVE_MODULE_INSTALL_PATH) |
4da14cce0890
First launchpad.net check in.
David Grundberg <c04dgg@cs.umu.se>
parents:
diff
changeset
|
83 |
149
6d9b4f69da66
Clean up build system functionality and style
Mike Miller <mtmiller@octave.org>
parents:
137
diff
changeset
|
84 AC_OUTPUT |
72 | 85 |
86 AC_MSG_NOTICE([ | |
87 ======================================================================== | |
149
6d9b4f69da66
Clean up build system functionality and style
Mike Miller <mtmiller@octave.org>
parents:
137
diff
changeset
|
88 Pytave is configured with the following setup |
72 | 89 |
90 Dependencies | |
91 Octave ............. $OCTAVE_INCLUDEDIR | |
92 Python ............. $PYTHON_CPPFLAGS | |
166
f9a4cc5c64bd
configure: simplify handling of missing dependencies
Mike Miller <mtmiller@octave.org>
parents:
159
diff
changeset
|
93 library .......... $PYTHON_LIBS |
72 | 94 executable ....... $PYTHON |
166
f9a4cc5c64bd
configure: simplify handling of missing dependencies
Mike Miller <mtmiller@octave.org>
parents:
159
diff
changeset
|
95 Boost::Python ...... $BOOST_PYTHON_LIB |
72 | 96 |
97 Features | |
98 uselocale .......... $pytave_have_uselocale | |
99 | |
100 ========================================================================]) | |
83
8145ecfecfb9
Configuration changes. Detect numpy in ./configure.
David Grundberg <c04dgg@cs.umu.se>
parents:
72
diff
changeset
|
101 |
149
6d9b4f69da66
Clean up build system functionality and style
Mike Miller <mtmiller@octave.org>
parents:
137
diff
changeset
|
102 AS_IF([test "x$pytave_have_uselocale" = "xno"], |
6d9b4f69da66
Clean up build system functionality and style
Mike Miller <mtmiller@octave.org>
parents:
137
diff
changeset
|
103 [AC_MSG_WARN([This system doesn't have uselocale support. |
96
66bd40c8d36e
Make Pytave compile against Octave 3.3+. Fix configuration bugs.
David Grundberg <individ@acc.umu.se>
parents:
92
diff
changeset
|
104 The Octave interpreter will NOT work correctly in any |
66bd40c8d36e
Make Pytave compile against Octave 3.3+. Fix configuration bugs.
David Grundberg <individ@acc.umu.se>
parents:
92
diff
changeset
|
105 locale but the C (POSIX) locale. Pytave would use the |
66bd40c8d36e
Make Pytave compile against Octave 3.3+. Fix configuration bugs.
David Grundberg <individ@acc.umu.se>
parents:
92
diff
changeset
|
106 uselocale function to work around this limitation. Pytave |
66bd40c8d36e
Make Pytave compile against Octave 3.3+. Fix configuration bugs.
David Grundberg <individ@acc.umu.se>
parents:
92
diff
changeset
|
107 can be compiled without it but will only work correcly in C |
149
6d9b4f69da66
Clean up build system functionality and style
Mike Miller <mtmiller@octave.org>
parents:
137
diff
changeset
|
108 (POSIX) locale.])]) |