]> sigrok.org Git - libsigrok.git/blob - autogen.sh
Mention the Building#FAQ wiki page for common issues.
[libsigrok.git] / autogen.sh
1 #!/bin/sh
2 ##
3 ## This file is part of the libsigrok project.
4 ##
5 ## Copyright (C) 2010-2012 Bert Vermeulen <bert@biot.com>
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 OS=`uname`
22
23 LIBTOOLIZE=libtoolize
24 ACLOCAL_DIR=
25
26 if [ "x$OS" = "xDarwin" ]; then
27         LIBTOOLIZE=glibtoolize
28
29         if [ -d /sw/share/aclocal ]; then
30                 # fink installs aclocal macros here
31                 ACLOCAL_DIR="-I /sw/share/aclocal"
32         elif [ -d /opt/local/share/aclocal ]; then
33                 # Macports installs aclocal macros here
34                 ACLOCAL_DIR="-I /opt/local/share/aclocal"
35         elif [ -d /usr/local/share/aclocal ]; then
36                 # Homebrew installs aclocal macros here
37                 ACLOCAL_DIR="-I /usr/local/share/aclocal"
38         elif [ -d /usr/share/aclocal ]; then
39                 # Xcode installs aclocal macros here
40                 ACLOCAL_DIR="-I /usr/share/aclocal"
41         fi
42
43 elif [ "x$OS" = "xMINGW32_NT-5.1" ]; then
44         # Windows XP
45         ACLOCAL_DIR="-I /usr/local/share/aclocal"
46 elif [ "x$OS" = "xMINGW32_NT-6.0" ]; then
47         # Windows Vista
48         ACLOCAL_DIR="-I /usr/local/share/aclocal"
49 elif [ "x$OS" = "xMINGW32_NT-6.1" ]; then
50         # Windows 7
51         ACLOCAL_DIR="-I /usr/local/share/aclocal"
52 fi
53
54 echo "Generating build system..."
55 ${LIBTOOLIZE} --install --copy --quiet || exit 1
56 aclocal ${ACLOCAL_DIR} || exit 1
57
58 # Check the version of a specific autoconf macro that tends to cause problems.
59 CXXMACROVERSION=$(
60         grep -B 5 'm4_define(\[_AX_CXX_COMPILE_STDCXX_11_testbody\]' aclocal.m4 |
61         sed -nr 's/.*serial[[:space:]]+([[:digit:]]+).*/\1/p'
62 )
63 if [ "x$CXXMACROVERSION" = "x" ]; then
64         echo "--- Warning: AX_CXX_COMPILE_STDCXX_11 macro not found."
65         echo "--- You won't be able to build the language bindings!"
66         echo "--- More info: http://sigrok.org/wiki/Building#FAQ"
67 fi
68 if [ "x$CXXMACROVERSION" != "x" ] && [ "$CXXMACROVERSION" -lt 4 ]; then
69         echo "--- Warning: AX_CXX_COMPILE_STDCXX_11 macro is too old."
70         echo "--- (found version $CXXMACROVERSION, at least 4 is required)"
71         echo "--- You won't be able to build the language bindings!"
72         echo "--- More info: http://sigrok.org/wiki/Building#FAQ"
73 fi
74
75 autoheader || exit 1
76 automake --add-missing --copy || exit 1
77 autoconf || exit 1
78