]>
Commit | Line | Data |
---|---|---|
1 | ## | |
2 | ## This file is part of the sigrok-test project. | |
3 | ## | |
4 | ## Copyright (C) 2010 Bert Vermeulen <bert@biot.com> | |
5 | ## Copyright (C) 2014 Uwe Hermann <uwe@hermann-uwe.de> | |
6 | ## | |
7 | ## This program is free software: you can redistribute it and/or modify | |
8 | ## it under the terms of the GNU General Public License as published by | |
9 | ## the Free Software Foundation, either version 3 of the License, or | |
10 | ## (at your option) any later version. | |
11 | ## | |
12 | ## This program is distributed in the hope that it will be useful, | |
13 | ## but WITHOUT ANY WARRANTY; without even the implied warranty of | |
14 | ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
15 | ## GNU General Public License for more details. | |
16 | ## | |
17 | ## You should have received a copy of the GNU General Public License | |
18 | ## along with this program. If not, see <http://www.gnu.org/licenses/>. | |
19 | ## | |
20 | ||
21 | # We require at least autoconf 2.63 (AC_INIT format changed there). | |
22 | AC_PREREQ([2.63]) | |
23 | ||
24 | AC_INIT([sigrok-test], [0.1.0], [sigrok-devel@lists.sourceforge.net], | |
25 | [sigrok-test], [http://www.sigrok.org]) | |
26 | AC_CONFIG_MACRO_DIR([m4]) | |
27 | AC_CONFIG_AUX_DIR([autostuff]) | |
28 | ||
29 | # We require at least automake 1.11 (needed for 'silent rules'). | |
30 | AM_INIT_AUTOMAKE([1.11 -Wall -Werror no-define subdir-objects check-news]) | |
31 | AM_SILENT_RULES([yes]) | |
32 | ||
33 | AC_CANONICAL_HOST | |
34 | ||
35 | # Checks for programs. | |
36 | AC_PROG_CC | |
37 | ||
38 | # Required for per-target flags or subdir-objects with C sources. | |
39 | AM_PROG_CC_C_O | |
40 | ||
41 | # Get compiler versions. | |
42 | SR_PROG_VERSION([$CC], [st_cc_version]) | |
43 | ||
44 | ############################ | |
45 | ## Package dependencies ## | |
46 | ############################ | |
47 | ||
48 | # Initialize pkg-config. | |
49 | # We require at least 0.22, as "Requires.private" behaviour changed there. | |
50 | PKG_PROG_PKG_CONFIG([0.22]) | |
51 | ||
52 | # Keep track of all checked modules so we can list them at the end. | |
53 | ST_PKGLIBS= | |
54 | SR_PKG_CHECK_SUMMARY([st_pkglibs_summary]) | |
55 | ||
56 | # Python 3 is always needed. | |
57 | SR_PKG_CHECK([python3], [ST_PKGLIBS], | |
58 | [python3 >= 3.2], [python-3.5 >= 3.5], [python-3.4 >= 3.4], [python-3.3 >= 3.3], [python-3.2 >= 3.2]) | |
59 | AS_IF([test "x$sr_have_python3" = xno], | |
60 | [AC_MSG_ERROR([Cannot find Python 3 development headers.])]) | |
61 | ||
62 | ###################### | |
63 | ## Feature checks ## | |
64 | ###################### | |
65 | ||
66 | AC_LANG([C]) | |
67 | ||
68 | # Enable the C99 standard if possible. | |
69 | ST_EXTRA_CFLAGS= | |
70 | SR_CHECK_COMPILE_FLAGS([ST_EXTRA_CFLAGS], [C99], | |
71 | [-std=c99 -c99 -AC99 -qlanglvl=extc99]) | |
72 | ||
73 | SR_ARG_ENABLE_WARNINGS([ST_WFLAGS], | |
74 | [-Wall], [-Wall -Wextra -Wmissing-prototypes]) | |
75 | ||
76 | # Check host characteristics. | |
77 | AC_SYS_LARGEFILE | |
78 | ||
79 | # Checks for header files. | |
80 | AC_CHECK_HEADER([sys/resource.h],, | |
81 | [AC_MSG_ERROR([Missing required header sys/resource.h])]) | |
82 | ||
83 | ############################## | |
84 | ## Finalize configuration ## | |
85 | ############################## | |
86 | ||
87 | # Retrieve the compile and link flags for all modules combined. | |
88 | # Also, bail out at this point if any module dependency is not met. | |
89 | PKG_CHECK_MODULES([SIGROK_TEST], | |
90 | [glib-2.0 >= 2.24.0 libsigrok >= 0.3.0 libsigrokdecode >= 0.4.0 $ST_PKGLIBS]) | |
91 | ||
92 | # Allow the user to override the location of the protocol decoders. | |
93 | AC_ARG_WITH([decodersdir], | |
94 | [AS_HELP_STRING([--with-decodersdir=DIR], | |
95 | [specify location of protcol decoders [default=auto]])], | |
96 | [st_decodersdir=$withval], [st_decodersdir=auto]) | |
97 | ||
98 | AS_IF([test "x$st_decodersdir" = xauto], [ | |
99 | st_decodersdir=`$PKG_CONFIG --variable=decodersdir libsigrokdecode 2>&AS_MESSAGE_LOG_FD` | |
100 | AS_IF([test "[$]?" != 0 || test -z "$st_decodersdir"], | |
101 | [st_decodersdir='$(datadir)/libsigrokdecode/decoders']) | |
102 | ]) | |
103 | AC_SUBST([DECODERS_DIR], [$st_decodersdir]) | |
104 | ||
105 | st_glib_version=`$PKG_CONFIG --modversion glib-2.0 2>&AS_MESSAGE_LOG_FD` | |
106 | st_libsigrok_version=`$PKG_CONFIG --modversion libsigrok 2>&AS_MESSAGE_LOG_FD` | |
107 | st_libsigrokdecode_version=`$PKG_CONFIG --modversion libsigrokdecode 2>&AS_MESSAGE_LOG_FD` | |
108 | ||
109 | AC_CONFIG_FILES([Makefile]) | |
110 | AC_OUTPUT | |
111 | ||
112 | cat >&AS_MESSAGE_FD <<_EOF | |
113 | ||
114 | sigrok-test configuration summary: | |
115 | - Package version................. $PACKAGE_VERSION | |
116 | - Prefix.......................... $prefix | |
117 | - Decoders directory.............. $st_decodersdir | |
118 | - Building on..................... $build | |
119 | - Building for.................... $host | |
120 | ||
121 | Compile configuration: | |
122 | - C compiler...................... $CC | |
123 | - C compiler version.............. $st_cc_version | |
124 | - C compiler flags................ $CFLAGS | |
125 | - Additional C compiler flags..... $ST_EXTRA_CFLAGS | |
126 | - C compiler warnings............. $ST_WFLAGS | |
127 | ||
128 | Detected libraries (required): | |
129 | - glib-2.0 >= 2.24.0.............. $st_glib_version | |
130 | - libsigrok >= 0.3.0.............. $st_libsigrok_version | |
131 | - libsigrokdecode >= 0.4.0........ $st_libsigrokdecode_version | |
132 | $st_pkglibs_summary | |
133 | _EOF |