fix rpm packaging/make dist issue
[jack.git] / configure.ac
blob82306fb6880c3a2f14f13cec4546937462040ef9
1 dnl Process this file with autoconf to produce a configure script.
2 dnl $Id$
4 AC_INIT(jackd/jackd.c)
6 AC_CONFIG_AUX_DIR(config)
7 AC_CANONICAL_TARGET
9 dnl ---
10 dnl HOWTO: updating the JACK version number
11 dnl
12 dnl major version = ask on jackit-devel :)
13 dnl minor version = incremented when any of the public or internal
14 dnl                 interfaces are changed
15 dnl micro version = incremented when implementation-only
16 dnl                 changes are made
17 dnl ---
18 JACK_MAJOR_VERSION=0
19 JACK_MINOR_VERSION=107
20 JACK_MICRO_VERSION=5
22 dnl ---
23 dnl HOWTO: updating the jack protocol version
24 dnl
25 dnl increment the protocol version whenever a change is
26 dnl made to the way libjack communicates with jackd
27 dnl that would break applications linked with an older
28 dnl version of libjack.
29 dnl ---
30 JACK_PROTOCOL_VERSION=21
32 dnl ---
33 dnl HOWTO: updating the libjack interface version
34 dnl
35 dnl current = incremented whenever the public libjack API is changed 
36 dnl revision = incremented when the libjack implementation is changed
37 dnl age = current libjack is both source and binary compatible with
38 dnl       libjack interfaces current,current-1,...,current-age
39 dnl
40 dnl Note! see libtool documentation for detailed documentation
41 dnl
42 dnl Note Also! until we reach CURRENT>=1, the rules are somewhat
43 dnl slacker than this, and closer to those for the JACK version
44 dnl number.
45 dnl ---
46 JACK_API_CURRENT=0
47 JACK_API_REVISION=28
48 JACK_API_AGE=0
50 AC_SUBST(JACK_MAJOR_VERSION)
51 AC_SUBST(JACK_MINOR_VERSION)
52 AC_SUBST(JACK_MICRO_VERSION)
54 AC_SUBST(JACK_PROTOCOL_VERSION)
55 AC_DEFINE_UNQUOTED(PROTOCOL_VERSION, "$JACK_PROTOCOL_VERSION", [Protocol version])
57 AC_SUBST(JACK_API_MAJOR_VERSION)
58 AC_SUBST(JACK_API_MINOR_VERSION)
59 AC_SUBST(JACK_API_MICRO_VERSION)
61 JACK_SO_VERSION=${JACK_API_CURRENT}:${JACK_API_REVISION}:${JACK_API_AGE}
63 JACK_VERSION=$JACK_MAJOR_VERSION.$JACK_MINOR_VERSION.${JACK_MICRO_VERSION}${BETA}
64 JACK_RELEASE=$JACK_MAJOR_VERSION-$JACK_MINOR_VERSION-${JACK_MICRO_VERSION}${BETA}
66 AC_SUBST(JACK_SO_VERSION)
67 AC_SUBST(JACK_VERSION)
68 AC_SUBST(JACK_RELEASE)
70 AM_INIT_AUTOMAKE(jack-audio-connection-kit,${JACK_VERSION})
71 AM_MAINTAINER_MODE
73 AM_CONFIG_HEADER(config.h)
74 AC_ENABLE_STATIC(no)
75 AC_ENABLE_SHARED(yes)
76 AC_PROG_CC
77 AC_PROG_CXX
78 AC_PROG_LD
79 AM_PROG_LIBTOOL
80 AC_PROG_LN_S
81 AC_C_BIGENDIAN
83 AC_MSG_CHECKING([platform dependencies])
85 case "${host_os}" in
86   freebsd*)
87     # current FreeBSD header files conflict with the OSS driver's
88     # barrier code, this may be fixed in 5.3, stay tuned.
89     USE_BARRIER="no"
90     ;;
91   darwin*)
92     JACK_THREAD_STACK_TOUCH=10000       # need small realtime stack
93     JACK_CPP_VARARGS_BROKEN=1
94     JACK_DO_NOT_MLOCK=1
95     JACK_USE_MACH_THREADS=1
96     OS_LDFLAGS="-framework CoreAudio -framework CoreServices -framework AudioUnit"
97     TRY_POSIX_SHM=yes                   # POSIX shm works better
98     ;;
99 esac
101 AC_SUBST(OS_LDFLAGS)
104 # We need to establish suitable defaults for a 64-bit OS
105 libnn=lib
106 case "${host_os}" in
107     linux*)
108     case "${host_cpu}" in
109         x86_64|mips64|ppc64|sparc64|s390x)
110         libnn=lib64
111         ;;
112     esac
113     ;;
114     solaris*)
115     ## libnn=lib/sparcv9 ## on 64-bit only, but that's compiler-specific
116     ;;  
117 esac
119 ## take care not to  override the command-line setting
120 if test "${libdir}" = '${exec_prefix}/lib'; then
121   libdir='${exec_prefix}/'${libnn}
124 # system-dependent config.h values
125 test "x$JACK_THREAD_STACK_TOUCH" = "x" && JACK_THREAD_STACK_TOUCH=500000
126 AC_DEFINE_UNQUOTED(JACK_THREAD_STACK_TOUCH,
127         [$JACK_THREAD_STACK_TOUCH],
128         [Guaranteed size of realtime stack])
129 if test "x$JACK_CPP_VARARGS_BROKEN" != "x"; then
130     AC_DEFINE_UNQUOTED(JACK_CPP_VARARGS_BROKEN,
131         [$JACK_CPP_VARARGS_BROKEN],
132         [CPP has a broken varargs implementation])
134 if test "x$JACK_USE_MACH_THREADS" != "x"; then
135     AC_DEFINE_UNQUOTED(JACK_USE_MACH_THREADS,
136         [$JACK_USE_MACH_THREADS],
137         [Use MACH threads where possible])
140 # headers
141 AC_CHECK_HEADERS(string.h strings.h)
142 AC_CHECK_HEADERS(getopt.h, [], [
143     for d in /Developer/SDKs/MacOSX10.3.0.sdk/usr/include/ ; do
144         AC_CHECK_HEADERS($d/getopt.h, [], [CFLAGS="$CFLAGS -I$d"])
145     done])
146 AC_CHECK_HEADER(/usr/include/nptl/pthread.h,
147         [CFLAGS="$CFLAGS -I/usr/include/nptl"])
149 # functions and libraries
150 AC_CHECK_FUNC(getopt_long, [],
151     AC_MSG_ERROR([*** JACK requires GNU getopt_long]))
152 AC_CHECK_FUNC(gethostent, [], AC_CHECK_LIB(nsl, gethostent))
153 AC_CHECK_FUNC(setsockopt, [], AC_CHECK_LIB(socket, setsockopt))
154 AC_CHECK_FUNC(connect, [], AC_CHECK_LIB(inet, connect))
155 AC_CHECK_FUNC(dlopen, [], 
156     AC_CHECK_LIB(dl, dlopen, [],
157         AC_MSG_ERROR([*** JACK requires dynamic load support])))
158 AC_CHECK_FUNC(pthread_create, [],
159     AC_CHECK_LIB(pthread, pthread_create, [],
160         AC_MSG_ERROR([*** JACK requires POSIX threads support])))
161 AC_CHECK_FUNCS(on_exit atexit)
162 AC_CHECK_FUNCS(posix_memalign)
163 AC_CHECK_LIB(m, sin)
165 AC_CHECK_FUNC(clock_gettime, 
166        [
167            AC_DEFINE(HAVE_CLOCK_GETTIME,0,"Whether or not clock_gettime can be found in system libraries")
168        ], 
169        #
170        # if not found, check librt specifically
171        #
172        AC_CHECK_LIB(rt, clock_gettime, 
173            [
174               AC_DEFINE(HAVE_CLOCK_GETTIME,1,"Whether or not clock_gettime can be found in system libraries")
175               OS_LDFLAGS="$OS_LDFLAGS -lrt"
176            ])
177 )         
179 # should we use mlockall() on this platform?
180 if test "x$JACK_DO_NOT_MLOCK" = "x"; then
181     AC_CHECK_HEADER(sys/mman.h,
182         [AC_CHECK_FUNC(mlockall,
183             [AC_DEFINE(USE_MLOCK, 1, [Use POSIX memory locking])])])
186 # look for system support for POSIX shm API
187 AC_ARG_ENABLE(posix-shm,
188         AC_HELP_STRING([--enable-posix-shm], [use POSIX shm API]),
189         [TRY_POSIX_SHM=$enableval])
190 if test "x$TRY_POSIX_SHM" = "xyes"
191 then
192         AC_CHECK_FUNC(shm_open, [],
193                 AC_CHECK_LIB(rt, shm_open, [], [TRY_POSIX_SHM=no]))
195 AC_MSG_CHECKING([shared memory support])
196 if test "x$TRY_POSIX_SHM" = "xyes"
197 then
198         AC_MSG_RESULT([POSIX shm_open().])
199         AC_DEFINE(USE_POSIX_SHM,1,[Use POSIX shared memory interface])
200         JACK_SHM_TYPE='"POSIX"'
201         USE_POSIX_SHM="true"
202 else
203         AC_MSG_RESULT([System V shmget().])
204         JACK_SHM_TYPE='"System V"'
205         USE_POSIX_SHM="false"
207 AC_DEFINE_UNQUOTED(JACK_SHM_TYPE, [$JACK_SHM_TYPE],
208         [JACK shared memory type])
209 AM_CONDITIONAL(USE_POSIX_SHM, $USE_POSIX_SHM)
211 JACK_CORE_CFLAGS="-I\$(top_srcdir)/config -I\$(top_srcdir) \
212 -I\$(top_srcdir) -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -Wall -g"
213 JACK_OPT_CFLAGS="$JACK_CORE_CFLAGS -march=pentium2 -mcpu=pentium4 -O3 \
214 -ffast-math -funroll-loops -fprefetch-loop-arrays"
215 JACK_CFLAGS="$JACK_CORE_CFLAGS $CFLAGS"
218 dnl figure out how best to optimize
219 dnl JOQ: this should be done via config/configure.hosts
222 dnl ----------------------------------------------------------------------
224                                                                                 
225 if test "$target_cpu" = "powerpc"; then
227     AC_DEFINE(POWERPC, 1, "Are we running a ppc CPU?")
228     
229 ############################
230 # Check for Altivec assembly
231 ############################
233     AC_ARG_ENABLE(altivec,
234         [  --enable-altivec        enable Altivec support (default=auto)],,
235         [ enable_altivec=yes ])
236     
237     if test "x$enable_altivec" = xyes; then
238         
239         AC_MSG_CHECKING(whether we can compile Altivec code)
240         
241         AC_COMPILE_IFELSE([asm ("vand %v0, %v0, %v0");],
242             AC_DEFINE(USE_ALTIVEC, 1, [Define to 1 if Altivec assembly is available.])
243             AC_DEFINE(HAVE_ALTIVEC_LINUX, 1, "Is there Altivec Support ?")
244             ALTIVEC_OPT_FLAGS="-maltivec -mabi=altivec"
245             AC_MSG_RESULT(yes)
246             ,
247             enable_altivec=no
248             AC_MSG_RESULT(no)
249             AC_MSG_WARN([The assembler does not support the Altivec command set.])
250         )
251         
252     fi
254     dnl -mcpu=7450 does not reliably work with gcc 3.*
255     
256     JACK_OPT_CFLAGS="-D_REENTRANT -O2 -mcpu=7400 $ALTIVEC_OPT_FLAGS_FLAGS -mhard-float -mpowerpc-gfxopt"
258 elif echo $target_cpu | egrep '(i.86|x86_64)' >/dev/null; then
260     dnl Check for MMX/SSE assembly
261     
262     if test -r /proc/cpuinfo ; then
263         procflags=`grep '^flags' /proc/cpuinfo`
264         if echo $procflags | grep -s mmx ; then
265             cpu_supports_mmx=yes
266         fi
267         if echo $procflags | grep -s sse ; then
268             cpu_supports_sse=yes
269         fi
270     fi
271     
272     AC_ARG_ENABLE(optimization-by-compiler,
273         [  --enable-optimization-by-compiler  use compiler (NOT processor) capabilities to determine optimization flags],,
274         optimization_by_compiler=no
275     )
276     
277     AC_ARG_ENABLE(optimization-by-cpu,
278         [  --enable-optimization-by-cpu  use processor capabilities to determine optimization flags],,
279         optimization_by_cpu=yes
280     )
281     
282     AC_ARG_ENABLE(mmx,
283         [  --enable-mmx            enable MMX support (default=auto)],,
284         enable_mmx=yes)
285     
286     AC_ARG_ENABLE(sse,
287         [  --enable-sse            enable SSE support (default=auto)],,
288         enable_sse=$enable_mmx)
289     
290     if test "x$enable_mmx" = xyes; then
291         
292         AC_MSG_CHECKING(whether we can compile MMX code)
293         
294         AC_COMPILE_IFELSE([asm ("movq 0, %mm0");],
295             
296             AC_DEFINE(USE_MMX, 1, [Define to 1 if MMX assembly is available.])
297             AC_MSG_RESULT(yes)
298             
299             if test x$optimization_by_cpu = xyes ; then
300                 if test x$cpu_supports_mmx = xyes ; then
301                     MMX_FLAGS="-mmmx"
302                 fi
303             else 
304                 MMX_FLAGS="-mmmx"
305             fi
306             
307             AC_MSG_RESULT(yes)
308             ,
309             enable_mmx=no
310             AC_MSG_RESULT(no)
311             AC_MSG_WARN([The assembler does not support the MMX command set.])
312         )
313     fi
314         
315     if test "x$enable_sse" = xyes; then
316         
317         AC_MSG_CHECKING(whether we can compile SSE code)
318         
319         AC_COMPILE_IFELSE([asm ("movntps %xmm0, 0");],
320             AC_DEFINE(USE_SSE, 1,
321                 [Define to 1 if SSE assembly is available.])
322             
323             if test x$optimization_by_cpu = xyes ; then
324                 if test x$cpu_supports_sse = xyes ; then
325                     SSE_FLAGS="-msse -mfpmath=sse"
326                 fi
327             else 
328                 SSE_FLAGS="-msse -mfpmath=sse"
329             fi
330             
331             AC_MSG_RESULT(yes)
332             ,
333             enable_sse=no
334             AC_MSG_RESULT(no)
335             AC_MSG_WARN(
336                 [The assembler does not support the SSE command set.]
337             )
338         )
339     fi
341     AC_DEFINE(x86, 1, "Nope it's intel")
342     COMMON_X86_OPT_FLAGS="-DREENTRANT -O3 -fomit-frame-pointer -ffast-math -funroll-loops"
343     
344     if test "$target_cpu" = "i586"; then
345         JACK_OPT_CFLAGS="-march=i586 "
346     elif test "$target_cpu" = "i686"; then
347         JACK_OPT_CFLAGS="-march=i686"
348     elif test "$target_cpu" = "x86_64"; then
349         JACK_OPT_CFLAGS="-march=k8"
350     else
351         :
352     fi
353     
354     JACK_OPT_CFLAGS="$COMMON_X86_OPT_FLAGS $JACK_OPT_CFLAGS $MMX_FLAGS $SSE_FLAGS"
358 AC_ARG_ENABLE(dynsimd,
359     [  --enable-dynsimd        enable dynamic SIMD selection (default=no)],,
360     enable_dynsimd=no)
362 if test "x$enable_dynsimd" = xyes; then
363         AC_DEFINE(USE_DYNSIMD, 1, [Define to 1 to use dynamic SIMD selection.])
366 AC_ARG_ENABLE(optimize,
367     AC_HELP_STRING([--enable-optimize],
368         [ask the compiler for its best optimizations]),
369     [ if test x$enable_optimize != xno ; then
370         JACK_CFLAGS="$JACK_CORE_CFLAGS $JACK_OPT_CFLAGS"
371         AC_MSG_WARN([optimization in use.........................])
372       else
373         JACK_OPT_CFLAGS=""
374         AC_MSG_WARN([no optimization.........................])
375       fi 
376     ]
379 AC_SUBST(JACK_CFLAGS)
382 dnl use JACK_CFLAGS for jackd compilation
383 dnl 
385 CFLAGS=$JACK_CFLAGS
387 # allow buffer resizing unless --disable-resize specified
388 buffer_resizing=yes
389 AC_ARG_ENABLE(resize,
390         AC_HELP_STRING([--enable-resize], [enable buffer resizing feature]),
391         [ 
392           if test x$enable_resize = xno ; then
393                 buffer_resizing=no
394           fi
396           if test x$buffer_resizing != xno; then 
397                 AC_DEFINE(DO_BUFFER_RESIZE,,[Enable buffer resizing])
398           fi
399          ]
402 AC_ARG_ENABLE(ensure-mlock,
403         AC_HELP_STRING([--enable-ensure-mlock],
404                 [fail if unable to lock memory]),
405         [ 
406           if test x$enable_ensure_mlock != xno ; then
407                 AC_DEFINE(ENSURE_MLOCK,,[Ensure that memory locking succeeds])
408           fi
409         ]
412 AC_ARG_ENABLE(debug,
413         AC_HELP_STRING([--enable-debug],
414                 [enable debugging messages in jackd and libjack]),
415         [ 
416           if test x$enable_debug != xno ; then
417              AC_DEFINE(DEBUG_ENABLED,,[Enable debugging messages])
418           fi
419         ]
422 AC_ARG_ENABLE(timestamps,
423         AC_HELP_STRING([--enable-timestamps],
424                 [allow clients to use the JACK timestamp API]),
425         [ 
426           if test x$enable_timestamps != xno ; then
427                 AC_DEFINE(WITH_TIMESTAMPS,,[Enable JACK timestamp API])
428           fi
429         ]               
432 AC_ARG_ENABLE(preemption-check,
433         AC_HELP_STRING([--enable-preemption-check],
434                 [check for inappropriate realtime preemption]),
435                 [
436                   if test x$enable_preemption_check != xno ; then
437                         echo checking for realtime preemption bugs
438                         AC_DEFINE(DO_PREEMPTION_CHECKING,,
439                                 [check realtime preemption])
440                   fi
441                 ])
443 USE_CAPABILITIES=false
445 AC_ARG_ENABLE(capabilities,
446               [  --enable-capabilities   !!! LINUX 2.4 KERNELS ONLY !!! use libcap to gain realtime scheduling priviledges],
447               [ if test "x$enable_capabilities" != "xno" ; then
448                     AC_CHECK_LIB(cap, capgetp,
449                                  [AC_CHECK_HEADER(sys/capability.h,
450                                                   [HAVE_CAPABILITIES=true],
451                                                   [AC_MSG_WARN([*** no kernel support for capabilities])
452                                                    HAVE_CAPABILITIES=false]
453                                   )],
454                                  [AC_MSG_WARN([*** no libcap present])
455                                   HAVE_CAPABILITIES=false]
456                     )
457                     if test "x$HAVE_CAPABILITIES" = "xtrue"; then
458                         AC_CHECK_PROG(HAVE_CAPABILITIES, md5sum, true, false)
459                     fi
460                     if test "x$HAVE_CAPABILITIES" = "xfalse"; then
461                         AC_MSG_WARN([*** required program md5sum not found])
462                     fi
463                     if test "x$HAVE_CAPABILITIES" = "xfalse"; then
464                         AC_MSG_ERROR([*** Capabilities support not present. Run configure again without --enable-capabilities.])
465                     fi
466                     USE_CAPABILITIES=true
467                     AC_DEFINE(USE_CAPABILITIES,,[Enable POSIX 1.e capabilities support])
468                 fi
469               ]
472 with_oldtrans=yes
473 AC_ARG_ENABLE(oldtrans,
474               [  --disable-oldtrans      remove old transport interfaces],
475               [ if test "x$enable_oldtrans" = "xno" ; then
476                     with_oldtrans=no
477                 fi 
478               ]
480 if test "x$with_oldtrans" != "xno" ; then
481         AC_DEFINE(OLD_TRANSPORT,,[Include old transport interfaces])
484 STRIPPED_JACKD=false
485 AC_ARG_ENABLE(stripped-jackd,
486               [  --enable-stripped-jackd strip jack before computing its md5 sum ],
487               [ if test "x$USE_CAPABILITIES" != "xtrue" ; then
488                     AC_MSG_WARN([*** capabilities not enabled, stripped jackd has no effect])
489                 elif test "x$enable_stripped_jackd" != "xno"; then
490                     STRIPPED_JACKD=true
491                 fi
492               ]
495 # plugins go in the addon dir.
497 ADDON_DIR='${libdir}/jack'
498 AC_SUBST(ADDON_DIR)
499 AS_AC_EXPAND(ADDON_DIR_EXPANDED,${libdir}/jack)
500 AC_DEFINE_UNQUOTED(ADDON_DIR,"$ADDON_DIR_EXPANDED",[Directory for plugins])
502 AC_ARG_WITH(html-dir,
503             [  --with-html-dir=PATH    where to install the html documentation])
505 if test "x$with_html_dir" = "x" ; then
506     HTML_DIR='${pkgdatadir}'
507 else
508     HTML_DIR=$with_html_dir
511 AC_SUBST(HTML_DIR)
514 # allow specifying default tmpdir
515 AC_ARG_WITH(default-tmpdir,
516             [  --with-default-tmpdir=PATH    where jackd and clients will put tmp files (/dev/shm)])
518 if test "x$with_default_tmpdir" = "x" ; then
519         DEFAULT_TMP_DIR=/dev/shm
520 else
521         DEFAULT_TMP_DIR=$with_default_tmpdir
524 AC_SUBST(DEFAULT_TMP_DIR)
525 AC_DEFINE_UNQUOTED(DEFAULT_TMP_DIR,"$DEFAULT_TMP_DIR",[Default tmp directory])
527 # Check for barrier functions in the pthreads library.  The default
528 # option setting may be OS-dependent, otherwise it's "yes".
529 test "x$USE_BARRIER" = "x" && USE_BARRIER="yes"
530 AC_ARG_WITH(barrier,
531         AC_HELP_STRING([--without-barrier],
532                        [avoid using pthread barrier functions]),
533         [ USE_BARRIER=$withval ])
534 if test "x$USE_BARRIER" = "xyes"; then
535         AC_CHECK_LIB([pthread], [pthread_barrier_init],
536                 AC_DEFINE(USE_BARRIER, 1, [Use pthread barrier functions]))
539 # some example-clients need libsndfile
540 HAVE_SNDFILE=false
541 PKG_CHECK_MODULES(SNDFILE, sndfile >= 1.0,[HAVE_SNDFILE=true], [true])
542 if test x$HAVE_SNDFILE = xfalse; then
543              AC_MSG_WARN([*** the jackrec example client will not be built])
545 # Note: A bug in pkg-config causes problems if the first occurence of
546 # PKG_CHECK_MODULES can be disabled. So, if you're going to use
547 # PKG_CHECK_MODULES inside a --disable-whatever check, you need to
548 # do it somewhere *below* this comment.
550 # Check which backend drivers can be built.  The last one successfully
551 # configured becomes the default JACK driver; so the order of
552 # precedence is: alsa, oss, coreaudio, portaudio, dummy.
554 JACK_DEFAULT_DRIVER=\"dummy\"
556 AC_ARG_ENABLE(portaudio, [  --disable-portaudio     ignore PortAudio driver ],
557                         TRY_PORTAUDIO=$enableval , TRY_PORTAUDIO=no ) 
558 HAVE_PA="false"
559 if test "x$TRY_PORTAUDIO" = "xyes"
560 then
561         # check for portaudio V18
562         AC_CHECK_LIB(portaudio, Pa_Initialize,
563                 [ AC_CHECK_HEADERS(portaudio.h,
564                         [ HAVE_PA="true"
565                           PA_LIBS=-lportaudio
566                           JACK_DEFAULT_DRIVER=\"portaudio\"
567                         ])
568                 ])
569         AC_SUBST(PA_LIBS)
571 AM_CONDITIONAL(HAVE_PA, $HAVE_PA)
573 AC_ARG_ENABLE(coreaudio, [  --disable-coreaudio     ignore CoreAudio driver ],
574                         TRY_COREAUDIO=$enableval , TRY_COREAUDIO=yes ) 
575 HAVE_COREAUDIO="false"
576 if test "x$TRY_COREAUDIO" = "xyes"
577 then
578         # check for coreaudio
579         AC_CHECK_HEADERS(CoreAudio/CoreAudio.h,
580                 [ HAVE_COREAUDIO="true"
581                   JACK_DEFAULT_DRIVER=\"coreaudio\"
582                 ])
584 AM_CONDITIONAL(HAVE_COREAUDIO, $HAVE_COREAUDIO)
586 AC_ARG_ENABLE(oss, [  --disable-oss           ignore OSS driver ],
587                         TRY_OSS=$enableval , TRY_OSS=yes ) 
588 HAVE_OSS="false"
589 if test "x$TRY_OSS" = "xyes"
590 then
591         # check for Open Sound System
592         AC_CHECK_HEADER([sys/soundcard.h],
593              [HAVE_OSS="true"
594               JACK_DEFAULT_DRIVER=\"oss\"])
596 AM_CONDITIONAL(HAVE_OSS, $HAVE_OSS)
598 AC_ARG_ENABLE(freebob, [  --disable-freebob          ignore FreeBob driver ],
599                         TRY_FREEBOB=$enableval , TRY_FREEBOB=yes ) 
600 HAVE_FREEBOB="false"
601 if test "x$TRY_FREEBOB" = "xyes"
602 then
603         # check for FreeBob libraries
604         PKG_CHECK_MODULES(LIBFREEBOB, libfreebob >= 1.0.0,
605              [HAVE_FREEBOB="true"
606               JACK_DEFAULT_DRIVER=\"freebob\"
607              ], AC_MSG_RESULT([no]))
609         AC_SUBST([LIBFREEBOB_CFLAGS])
610         AC_SUBST([LIBFREEBOB_LIBS])
613 AM_CONDITIONAL(HAVE_FREEBOB,$HAVE_FREEBOB)
615 AC_ARG_ENABLE(firewire, [  --disable-firewire          ignore FireWire driver (FFADO) ],
616                         TRY_FIREWIRE=$enableval , TRY_FIREWIRE=yes ) 
617 HAVE_FIREWIRE="false"
618 if test "x$TRY_FIREWIRE" = "xyes"
619 then
620         # check for FFADO libraries
621         PKG_CHECK_MODULES(LIBFFADO, libffado >= 1.999.0,
622              [HAVE_FIREWIRE="true"
623               JACK_DEFAULT_DRIVER=\"firewire\"
624              ], AC_MSG_RESULT([no]))
626         AC_SUBST([LIBFFADO_CFLAGS])
627         AC_SUBST([LIBFFADO_LIBS])
630 AM_CONDITIONAL(HAVE_FIREWIRE,$HAVE_FIREWIRE)
632 AC_ARG_ENABLE(alsa, [  --disable-alsa          ignore ALSA driver ],
633                         TRY_ALSA=$enableval , TRY_ALSA=yes ) 
634 HAVE_ALSA="false"
635 if test "x$TRY_ALSA" = "xyes"
636 then
637         # check for ALSA >= 1.0.0
638         PKG_CHECK_MODULES(ALSA, alsa >= 1.0.0,
639              [HAVE_ALSA="true"
640               ALSA_LIBS=-lasound
641               JACK_DEFAULT_DRIVER=\"alsa\"
642              ], AC_MSG_RESULT([no]), [-lm]
643         )
644         AC_SUBST(ALSA_LIBS)
646 AM_CONDITIONAL(HAVE_ALSA, $HAVE_ALSA)
648 HAVE_ALSA_MIDI=$HAVE_ALSA
649 AM_CONDITIONAL(HAVE_ALSA_MIDI, $HAVE_ALSA_MIDI)
651 if test "$JACK_DEFAULT_DRIVER" = \"dummy\"; then
652   AC_MSG_WARN([Only the dummy driver can be built])
654 AC_DEFINE_UNQUOTED(JACK_DEFAULT_DRIVER,
655         [$JACK_DEFAULT_DRIVER],
656         [Default JACK driver])
658 # On some systems, readline depends on termcap or ncurses.  But, the
659 # MacOSX linker complains bitterly if these libraries are explicitly
660 # referenced.  
662 # AC_CHECK_LIB() foolishly assumes that checking a library for an entry
663 # point always returns the same result regardless of any dependent
664 # libraries specified.  The `unset ac_cv_lib_readline_readline' erases
665 # the cached result to work around this problem.
666 READLINE_DEPS=""
667 HAVE_READLINE=true
668 AC_CHECK_LIB(readline, readline, [:],
669     [unset ac_cv_lib_readline_readline
670      AC_CHECK_LIB(readline, readline, [READLINE_DEPS="-ltermcap"],
671         [unset ac_cv_lib_readline_readline
672          AC_CHECK_LIB(readline, readline,
673             [READLINE_DEPS="-lncurses"], [HAVE_READLINE=false], "-lncurses")],
674         "-ltermcap")])
675 AC_CHECK_HEADER(readline/chardefs.h, [], [HAVE_READLINE=false])
676 if test x$HAVE_READLINE = xfalse; then
677         AC_MSG_WARN([*** the jack_transport example client will not be built])
679 AC_SUBST(READLINE_DEPS)
681 # you need doxygen to make dist.
682 AC_CHECK_PROG(HAVE_DOXYGEN, doxygen, true, false)
683 if test $HAVE_DOXYGEN = "false"; then
684              AC_MSG_WARN([*** doxygen not found, docs will not be built])
687 AM_CONDITIONAL(HAVE_SNDFILE, $HAVE_SNDFILE)
688 AM_CONDITIONAL(HAVE_READLINE, $HAVE_READLINE)
689 AM_CONDITIONAL(HAVE_DOXYGEN, $HAVE_DOXYGEN)
690 AM_CONDITIONAL(USE_CAPABILITIES, $USE_CAPABILITIES)
691 AM_CONDITIONAL(STRIPPED_JACKD, $STRIPPED_JACKD)
693 AC_OUTPUT(
694 Makefile
695 config/Makefile
696 config/cpu/Makefile
697 config/cpu/alpha/Makefile
698 config/cpu/cris/Makefile
699 config/cpu/generic/Makefile
700 config/cpu/i386/Makefile
701 config/cpu/i486/Makefile
702 config/cpu/ia64/Makefile
703 config/cpu/m68k/Makefile
704 config/cpu/mips/Makefile
705 config/cpu/powerpc/Makefile
706 config/cpu/s390/Makefile
707 config/os/Makefile
708 config/os/generic/Makefile
709 config/os/gnu-linux/Makefile
710 config/os/macosx/Makefile
711 config/sysdeps/Makefile
712 doc/Makefile
713 doc/reference.doxygen
714 drivers/Makefile
715 drivers/alsa/Makefile
716 drivers/alsa-midi/Makefile
717 drivers/dummy/Makefile
718 drivers/oss/Makefile
719 drivers/portaudio/Makefile
720 drivers/coreaudio/Makefile
721 drivers/freebob/Makefile
722 drivers/firewire/Makefile
723 example-clients/Makefile
724 jack.pc
725 jack.spec
726 jack/Makefile
727 jack/version.h
728 jackd/Makefile
729 jackd/jackd.1
730 libjack/Makefile
734 dnl Output summary message
737 echo
738 echo $PACKAGE $VERSION :
739 echo
740 echo \| Build with ALSA support............................... : $HAVE_ALSA
741 echo \| Build with old FireWire \(FreeBob\) support............. : $HAVE_FREEBOB
742 echo \| Build with new FireWire \(FFADO\) support............... : $HAVE_FIREWIRE
743 echo \| Build with OSS support................................ : $HAVE_OSS
744 echo \| Build with CoreAudio support.......................... : $HAVE_COREAUDIO
745 echo \| Build with PortAudio support.......................... : $HAVE_PA
746 echo \| Compiler optimization flags........................... : $JACK_OPT_CFLAGS
747 echo \| Compiler full flags................................... : $CFLAGS
748 echo \| Install dir for libjack + backends.................... : $libdir/jack
749 echo \|
750 echo \| Default driver backend................................ : $JACK_DEFAULT_DRIVER
751 echo \| Shared memory interface............................... : $JACK_SHM_TYPE
752 echo \| Install prefix........................................ : $prefix
753 echo