Add build support for Windows/MinGW.
[libjaylink.git] / configure.ac
blob897a76090ea2bb5b05fb66b734adf57c06d7084d
1 ##
2 ## This file is part of the libjaylink project.
3 ##
4 ## Copyright (C) 2014-2015 Marc Schink <jaylink-dev@marcschink.de>
5 ##
6 ## This program is free software: you can redistribute it and/or modify
7 ## it under the terms of the GNU General Public License as published by
8 ## the Free Software Foundation, either version 3 of the License, or
9 ## (at your option) any later version.
11 ## This program is distributed in the hope that it will be useful,
12 ## but WITHOUT ANY WARRANTY; without even the implied warranty of
13 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14 ## GNU General Public License for more details.
16 ## You should have received a copy of the GNU General Public License
17 ## along with this program.  If not, see <http://www.gnu.org/licenses/>.
20 AC_PREREQ([2.69])
22 AC_INIT([libjaylink], [0.1.0], [BUG-REPORT-ADDRESS])
23 AC_CONFIG_HEADERS([config.h])
24 AC_CONFIG_MACRO_DIR([m4])
25 AC_CONFIG_AUX_DIR([build-aux])
27 AC_CANONICAL_HOST
29 AM_INIT_AUTOMAKE([foreign -Wall -Werror])
31 # Enable additional compiler warnings via -Wall and -Wextra. Use hidden
32 # visibility for all non-static symbols by default with -fvisibility=hidden.
33 CFLAGS="$CFLAGS -Wall -Wextra -Werror -fvisibility=hidden"
35 # Checks for programs.
36 AC_PROG_CC
38 # Automake >= 1.12 requires AM_PROG_AR when using options -Wall and -Werror.
39 # To be compatible with older versions of Automake use AM_PROG_AR if it's
40 # defined only. This line must occur before LT_INIT.
41 m4_ifdef([AM_PROG_AR], [AM_PROG_AR])
43 # Initialize libtool.
44 LT_INIT
46 # Initialize pkg-config.
47 PKG_PROG_PKG_CONFIG
49 # Checks for libraries.
51 # Check for libusb-1.0 which is always needed.
52 PKG_CHECK_MODULES([libusb], [libusb-1.0 >= 1.0.9],
53         [CFLAGS="$CFLAGS $libusb_CFLAGS"; LIBS="$LIBS $libusb_LIBS"])
55 # Checks for header files.
57 # Checks for typedefs, structures, and compiler characteristics.
58 AC_C_BIGENDIAN
60 # Checks for library functions.
62 # Disable progress and informational output of libtool.
63 AC_SUBST(AM_LIBTOOLFLAGS, '--silent')
65 JAYLINK_LIB_LDFLAGS=""
67 case $host_os in
68 mingw*)
69         JAYLINK_LIB_LDFLAGS+="-no-undefined"
70 esac
72 AC_SUBST([JAYLINK_LIB_LDFLAGS])
74 AC_CONFIG_FILES([Makefile])
75 AC_CONFIG_FILES([libjaylink/Makefile])
76 AC_CONFIG_FILES([libjaylink.pc])
78 AC_OUTPUT