-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathconfigure.ac
151 lines (125 loc) · 4.08 KB
/
configure.ac
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
AC_PREREQ(2.57)
m4_define([LOOPDUB_VER],[m4_esyscmd([util/version.sh | tr -d '\n'])])
AC_INIT([loopdub], [LOOPDUB_VER], [radarsat1@gmail.com])
AM_CONFIG_HEADER([config.h])
AM_INIT_AUTOMAKE
AM_MAINTAINER_MODE
# nicer build output
m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])])
AC_ENABLE_STATIC(yes)
AC_ENABLE_SHARED(no)
# libtool
AC_CONFIG_MACRO_DIR([m4])
# Check for programs
AC_PROG_CC
AC_PROG_CXX
AM_PROG_LIBTOOL
AM_PROG_CC_C_O
# Check C compiler properties
AC_C_CONST
AC_TYPE_SIZE_T
AC_CHECK_SIZEOF(char *)
AM_CONDITIONAL([X64], [test $ac_cv_sizeof_char_p = 8])
# Check for headers
AC_HEADER_STDC
AC_CHECK_HEADERS([stdlib.h string.h unistd.h])
# Check for libraries
PKG_CHECK_MODULES([SDL], [sdl >= 1.2],
[CFLAGS="$CFLAGS $SDL_CFLAGS"
CPPFLAGS="$CPPFLAGS $SDL_CFLAGS"
LDFLAGS="$LDFLAGS $SDL_LIBS"],
[AC_CHECK_LIB(SDL,SDL_Init, [], [AC_MSG_ERROR([SDL is required.])])
AC_CHECK_HEADER(SDL.h, [], [AC_MSG_ERROR([SDL is required.])])])
PKG_CHECK_MODULES([samplerate], [samplerate >= 0.1.7],
[CFLAGS="$CFLAGS $samplerate_CFLAGS"
CPPFLAGS="$CPPFLAGS $samplerate_CFLAGS"
LDFLAGS="$LDFLAGS $samplerate_LIBS"],
[AC_CHECK_LIB(samplerate,src_new, [],
[AC_MSG_ERROR([libsamplerate is required.])])
AC_CHECK_HEADER(samplerate.h, [],
[AC_MSG_ERROR([libsamplerate is required.])])])
PKG_CHECK_MODULES([sndfile], [sndfile >= 0.116.1],
[CFLAGS="$CFLAGS $sndfile_CFLAGS"
CPPFLAGS="$CPPFLAGS $sndfile_CFLAGS"
LDFLAGS="$LDFLAGS $sndfile_LIBS"],
[AC_CHECK_LIB(sndfile,sf_open, [],
[AC_MSG_ERROR([libsndfile is required.])])
AC_CHECK_HEADER(sndfile.h, [],
[AC_MSG_ERROR([libsndfile is required.])])])
# Optional libraries
HAVE_ALSA=true
AC_ARG_ENABLE(alsa,
[AC_HELP_STRING([--enable-alsa],[compile in ALSA support])],
[test x$enableval = xno && HAVE_ALSA=false])
AS_IF($HAVE_ALSA,
[PKG_CHECK_MODULES([alsa], [alsa >= 1.0.20],
[CFLAGS="$CFLAGS $alsa_CFLAGS"
CPPFLAGS="$CPPFLAGS $alsa_CFLAGS"
LDFLAGS="$LDFLAGS $alsa_LIBS"],
[AC_CHECK_LIB(asound,snd_config_load, [], [HAVE_ALSA=false])
AC_CHECK_HEADER(asoundlib.h, [], [HAVE_ALSA=false])])])
HAVE_JACK=true
AC_ARG_ENABLE(jack,
[AC_HELP_STRING([--enable-jack],[compile in Jack support])],
[test x$enableval = xno && HAVE_JACK=false])
AS_IF($HAVE_JACK,
[PKG_CHECK_MODULES([jack], [jack >= 0.116.1],
[CFLAGS="$CFLAGS $jack_CFLAGS"
CPPFLAGS="$CPPFLAGS $jack_CFLAGS"
LDFLAGS="$LDFLAGS $jack_LIBS"],
[AC_CHECK_LIB(jack,jack_connect, [], [HAVE_JACK=false])
AC_CHECK_HEADER(jack.h, [], [HAVE_JACK=false])])])
# RtAudio / RtMidi
AS_IF([$HAVE_ALSA],
[RTAUDIOFLAGS="-D__LINUX_ALSA__";
RTMIDIFLAGS="-D__LINUX_ALSASEQ__"])
AS_IF([$HAVE_JACK],
[RTAUDIOFLAGS="$RTAUDIOFLAGS -D__UNIX_JACK__"])
AC_SUBST(RTAUDIOFLAGS)
AC_SUBST(RTMIDIFLAGS)
# detect 64-bit system
AC_CHECK_SIZEOF(long)
if test $ac_cv_sizeof_long = 8; then
BITSIZE=64
fi
# debug mode
AC_ARG_ENABLE(debug,
[AC_HELP_STRING([--enable-debug],[compile in debug mode])],,
[debug=no])
if test x$debug = xyes; then
CPPFLAGS="-g -O0 -Wall -DDEBUG $CPPFLAGS"
fi
# generate manpage using pandoc
AC_ARG_ENABLE(docs,
[AC_HELP_STRING([--enable-docs],[generate documentation])],,
[enable_docs=yes])
if test x$enable_docs = xyes; then
AC_CHECK_PROG([PANDOC],[pandoc],[pandoc])
if test -z $PANDOC; then
enable_docs=no
fi
fi
AC_SUBST(PANDOC)
AM_CONDITIONAL([DOCS], [test x$enable_docs = xyes])
# Generate Makefiles
AC_CONFIG_FILES([
Makefile
gui/Makefile
rtmidi/Makefile
rtaudio/Makefile
])
# Add version string and other flags
CFLAGS="$CFLAGS -D_BUILDVER=\\\"LOOPDUB_VER\\\" -DFLAT_GUI"
CPPFLAGS="$CPPFLAGS -D_BUILDVER=\\\"LOOPDUB_VER\\\" -DFLAT_GUI"
AC_OUTPUT()
echo
echo ======================================
echo Done configuring loopdub.
AS_IF($HAVE_ALSA, [echo Compiling with ALSA support.])
AS_IF($HAVE_JACK, [echo Compiling with Jack support.])
AS_IF(test x$enable_docs = xyes, [echo Generating documentation.],
[echo Not generating documentation.])
AS_IF($HAVE_ALSA || $HAVE_JACK, [],
[echo Warning: No sound libraries are included, LoopDub will be silent!])
echo ======================================
echo