jack1 codebase
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

204 lines
6.3KB

  1. dnl Process this file with autoconf to produce a configure script.
  2. AC_INIT(jackd/jackd.c)
  3. AC_CONFIG_AUX_DIR(.)
  4. JACK_MAJOR_VERSION=0
  5. JACK_MINOR_VERSION=37
  6. JACK_MICRO_VERSION=2
  7. BETA=
  8. AC_SUBST(JACK_MAJOR_VERSION)
  9. AC_SUBST(JACK_MINOR_VERSION)
  10. AC_SUBST(JACK_MICRO_VERSION)
  11. JACK_SO_VERSION=${JACK_MAJOR_VERSION}:${JACK_MINOR_VERSION}:${JACK_MICRO_VERSION}${BETA}
  12. JACK_VERSION=$JACK_MAJOR_VERSION.$JACK_MINOR_VERSION.${JACK_MICRO_VERSION}${BETA}
  13. JACK_RELEASE=$JACK_MAJOR_VERSION-$JACK_MINOR_VERSION-${JACK_MICRO_VERSION}${BETA}
  14. AC_SUBST(JACK_SO_VERSION)
  15. AC_SUBST(JACK_VERSION)
  16. AC_SUBST(JACK_RELEASE)
  17. AM_INIT_AUTOMAKE(jack-audio-connection-kit,${JACK_VERSION})
  18. AM_MAINTAINER_MODE
  19. AM_CONFIG_HEADER(config.h)
  20. AC_PROG_CC
  21. AC_PROG_CXX
  22. AC_PROG_LD
  23. AM_PROG_LIBTOOL
  24. AC_C_BIGENDIAN
  25. AC_CHECK_HEADERS(string.h strings.h)
  26. AC_CHECK_FUNC(getopt_long, , AC_MSG_ERROR([GNU getopt is required to build jack]))
  27. AC_CHECK_FUNC(gethostent, , AC_CHECK_LIB(nsl, gethostent))
  28. AC_CHECK_FUNC(setsockopt, , AC_CHECK_LIB(socket, setsockopt))
  29. AC_CHECK_FUNC(connect, , AC_CHECK_LIB(inet, connect))
  30. AC_CHECK_FUNCS(on_exit atexit)
  31. JACK_CORE_CFLAGS='-I$(top_srcdir) -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -Wall'
  32. JACK_CFLAGS="$JACK_CORE_CFLAGS -g"
  33. JACK_OPT_CFLAGS="$JACK_CORE_CFLAGS -O6 -fomit-frame-pointer -ffast-math -fstrength-reduce -funroll-loops -fmove-all-movables"
  34. AC_ARG_ENABLE(optimize,
  35. [ --enable-optimize ask the compiler for its best optimizations],
  36. [ if test "x$enable_optimize" != "xno" ; then JACK_CFLAGS="$JACK_OPT_CFLAGS" ; fi ])
  37. AC_SUBST(JACK_CFLAGS)
  38. AC_ARG_ENABLE(debug,
  39. [ --enable-debug enable debugging messages in jackd and libjack],
  40. [ if test "x$enable_debug" != "xno" ; then
  41. AC_DEFINE(DEBUG_ENABLED,,[Enable debugging messages])
  42. fi
  43. ]
  44. )
  45. USE_CAPABILITIES=false
  46. AC_ARG_ENABLE(capabilities,
  47. [ --enable-capabilities use libcap to gain realtime scheduling priviledges],
  48. [ if test "x$enable_capabilities" != "xno" ; then
  49. AC_CHECK_LIB(cap, capgetp,
  50. [AC_CHECK_HEADER(sys/capability.h,
  51. [HAVE_CAPABILITIES=true],
  52. [AC_MSG_WARN([*** no kernel support for capabilities])
  53. HAVE_CAPABILITIES=false]
  54. )],
  55. [AC_MSG_WARN([*** no libcap present])
  56. HAVE_CAPABILITIES=false]
  57. )
  58. if test "x$HAVE_CAPABILITIES" = "xtrue"; then
  59. AC_CHECK_PROG(HAVE_CAPABILITIES, md5sum, true, false)
  60. fi
  61. if test "x$HAVE_CAPABILITIES" = "xfalse"; then
  62. AC_MSG_WARN([*** required program md5sum not found])
  63. fi
  64. if test "x$HAVE_CAPABILITIES" = "xfalse"; then
  65. AC_MSG_ERROR([*** Capabilities support not present. Run configure again without --enable-capabilities.])
  66. fi
  67. USE_CAPABILITIES=true
  68. AC_DEFINE(USE_CAPABILITIES,,[Enable POSIX 1.e capabilities support])
  69. fi
  70. ]
  71. )
  72. STRIPPED_JACKD=false
  73. AC_ARG_ENABLE(stripped-jackd,
  74. [ --enable-stripped-jackd strip jack before computing its md5 sum ],
  75. [ if test "x$USE_CAPABILITIES" != "xtrue" ; then
  76. AC_MSG_WARN([*** capabilities not enabled, stripped jackd has no effect])
  77. elif test "x$enable_stripped_jackd" != "xno"; then
  78. STRIPPED_JACKD=true
  79. fi
  80. ]
  81. )
  82. # plugins go in the addon dir.
  83. AS_AC_EXPAND(ADDON_DIR,${libdir}/jack)
  84. AC_SUBST(ADDON_DIR)
  85. AC_DEFINE_UNQUOTED(ADDON_DIR,"$ADDON_DIR",[Directory for plugins])
  86. AC_ARG_WITH(html-dir,
  87. [ --with-html-dir=PATH where to install the html documentation])
  88. if test "x$with_html_dir" = "x" ; then
  89. HTML_DIR='${pkgdatadir}'
  90. else
  91. HTML_DIR=$with_html_dir
  92. fi
  93. AC_SUBST(HTML_DIR)
  94. # jack depends on alsa 0.9 and glib. some example apps depend on libsndfile and fltk.
  95. AM_PATH_GLIB(1.0.0,
  96. [:],
  97. [AC_MSG_ERROR([*** JACK requires GLib, but it does not appear to be installed])]
  98. )
  99. AC_CHECK_LIB(asound,snd_pcm_drop,
  100. [
  101. HAVE_ALSA="true"
  102. ALSA_LIBS=-lasound
  103. ],
  104. [
  105. HAVE_ALSA="false"
  106. AC_MSG_WARN([ALSA 0.9 support not found])
  107. ],
  108. [-lm]
  109. )
  110. AC_SUBST(ALSA_LIBS)
  111. dnl replace me with a proper test
  112. HAVE_SOLARIS="false"
  113. if test "x$HAVE_ALSA" != "xtrue"; then
  114. if test "x$HAVE_SOLARIS" != "xtrue"; then
  115. AC_MSG_ERROR([*** Neither Solaris nor ALSA audio support was found, aborting...])
  116. fi
  117. fi
  118. AC_LANG_SAVE
  119. AC_LANG_CPLUSPLUS
  120. AC_CHECK_LIB(fltk,main,
  121. [AC_CHECK_HEADER(FL/Fl.H,
  122. [HAVE_FLTK=true],
  123. [HAVE_FLTK=false]
  124. )],
  125. [HAVE_FLTK=false],
  126. [-L/usr/X11R6/lib -lX11 -lXext]
  127. )
  128. AC_LANG_RESTORE
  129. if test $HAVE_FLTK = "false"; then
  130. AC_MSG_WARN([*** no fltk found, the fltk example client will not be built])
  131. fi
  132. AC_CHECK_LIB(sndfile,main,
  133. [AC_CHECK_HEADER(sndfile.h,
  134. [HAVE_SNDFILE=true],
  135. [HAVE_SNDFILE=false]
  136. )],
  137. [HAVE_SNDFILE=false]
  138. )
  139. if test $HAVE_SNDFILE = "false"; then
  140. AC_MSG_WARN([*** no libsndfile found, the jackrec example client will not be built])
  141. fi
  142. # you need doxygen to make dist.
  143. AC_CHECK_PROG(HAVE_DOXYGEN, doxygen, true, false)
  144. if test $HAVE_DOXYGEN = "false"; then
  145. AC_MSG_WARN([*** doxygen not found, docs will not be built])
  146. fi
  147. AM_CONDITIONAL(HAVE_FLTK, $HAVE_FLTK)
  148. AM_CONDITIONAL(HAVE_SNDFILE, $HAVE_SNDFILE)
  149. AM_CONDITIONAL(HAVE_DOXYGEN, $HAVE_DOXYGEN)
  150. AM_CONDITIONAL(USE_CAPABILITIES, $USE_CAPABILITIES)
  151. AM_CONDITIONAL(STRIPPED_JACKD, $STRIPPED_JACKD)
  152. AM_CONDITIONAL(HAVE_ALSA, $HAVE_ALSA)
  153. AM_CONDITIONAL(HAVE_SOLARIS, $HAVE_SOLARIS)
  154. AC_OUTPUT(
  155. Makefile
  156. jack.pc
  157. jack.spec
  158. jack/Makefile
  159. jackd/Makefile
  160. libjack/Makefile
  161. drivers/Makefile
  162. drivers/alsa/Makefile
  163. drivers/solaris/Makefile
  164. example-clients/Makefile
  165. doc/Makefile
  166. doc/reference.doxygen
  167. )