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.

221 lines
7.6KB

  1. dnl Process this file with autoconf to produce a configure script.
  2. AC_INIT(SpiralSynthModular.C)
  3. dnl Automake (can't use AC_CONFIG_HEADER - get complaints!)
  4. AM_CONFIG_HEADER(config.h)
  5. dnl Checks for programs.
  6. AC_PROG_CC
  7. AC_PROG_CPP
  8. AC_PROG_INSTALL
  9. dnl Checks for header files.
  10. AC_HEADER_STDC
  11. dnl Checks for typedefs, structures, and compiler characteristics.
  12. AC_C_CONST
  13. AC_C_INLINE
  14. dnl Check plugin directory
  15. AC_ARG_WITH(plugindir,
  16. [ --with-plugindir=dir give the plugin directory],
  17. plugindir="$withval",
  18. plugindir="/usr/lib/SpiralPlugins")
  19. AC_SUBST(PLUGINDIR, $plugindir)
  20. dnl Check whether to enable debugging
  21. AC_ARG_ENABLE(debug, [ --enable-debug enable debugging ],
  22. ac_arg_debug="Y", ac_arg_debug="N")
  23. if test $ac_arg_debug = "Y" ; then
  24. CFLAGS="-pipe -Wall -O0 -ggdb "
  25. CXXFLAGS="-pipe -Wall -O0 -ggdb "
  26. else
  27. CFLAGS="-pipe -Wall -O3 -ffast-math -DNO_DEBUG -Wno-unused "
  28. CXXFLAGS="-pipe -Wall -O3 -ffast-math -DNO_DEBUG -Wno-unused "
  29. fi
  30. echo "$PLUGINLIST" > SpiralSound/PluginList.txt
  31. AC_ARG_ENABLE(jack, [ --enable-jack build JackPlugin ],
  32. ac_arg_jack="Y", ac_arg_jack="N")
  33. if test $ac_arg_jack = "Y" ; then
  34. PLUGINLIST="AmpPlugin ControllerPlugin DelayPlugin EchoPlugin EnvFollowerPlugin \
  35. EnvelopePlugin FilterPlugin MatrixPlugin MidiPlugin MixerPlugin MoogFilterPlugin \
  36. NoteSnapPlugin OscillatorPlugin OutputPlugin RingModPlugin SVFilterPlugin \
  37. SampleHoldPlugin ScopePlugin SmoothPlugin SplitterPlugin StereoMixerPlugin StreamPlugin\
  38. WaveTablePlugin LADSPAPlugin XFadePlugin PoshSamplerPlugin SeqSelectorPlugin\
  39. DistributorPlugin LFOPlugin KeyboardPlugin DiskWriterPlugin FormantFilterPlugin \
  40. AnotherFilterPlugin OperatorPlugin CounterPlugin FlipflopPlugin SwitchPlugin \
  41. BeatMatchPlugin NoisePlugin LogicPlugin SplitSwitchPlugin \
  42. MixSwitchPlugin MeterPlugin WaveShaperPlugin TrigPlugin SpiralLoopPlugin \
  43. MasherPlugin TransposePlugin JackPlugin"
  44. else
  45. PLUGINLIST="AmpPlugin ControllerPlugin DelayPlugin EchoPlugin EnvFollowerPlugin \
  46. EnvelopePlugin FilterPlugin MatrixPlugin MidiPlugin MixerPlugin MoogFilterPlugin \
  47. NoteSnapPlugin OscillatorPlugin OutputPlugin RingModPlugin SVFilterPlugin \
  48. SampleHoldPlugin ScopePlugin SmoothPlugin SplitterPlugin StereoMixerPlugin StreamPlugin\
  49. WaveTablePlugin LADSPAPlugin XFadePlugin PoshSamplerPlugin SeqSelectorPlugin\
  50. DistributorPlugin LFOPlugin KeyboardPlugin DiskWriterPlugin FormantFilterPlugin \
  51. AnotherFilterPlugin OperatorPlugin CounterPlugin FlipflopPlugin SwitchPlugin \
  52. BeatMatchPlugin NoisePlugin LogicPlugin SplitSwitchPlugin \
  53. MixSwitchPlugin MeterPlugin WaveShaperPlugin TrigPlugin SpiralLoopPlugin \
  54. MasherPlugin TransposePlugin"
  55. fi
  56. echo "$PLUGINLIST" > SpiralSound/PluginList.txt
  57. dnl Check whether liblrdf has been enabled
  58. AC_ARG_ENABLE(
  59. lrdf,
  60. [ --enable-lrdf Enable liblrdf for LADSPA Plugin [no]],
  61. [use_liblrdf="y"],
  62. [use_liblrdf="n"]
  63. )
  64. if test "$use_liblrdf" = "y"; then
  65. AC_CHECK_HEADER(lrdf.h, , AC_MSG_ERROR( ** No lrdf.h found for liblrdf))
  66. AC_CHECK_LIB(lrdf, lrdf_init, AC_DEFINE(HAVE_LIBLRDF, , [Enable liblrdf support for LADSPA Plugin]), AC_MSG_ERROR( ** No liblrdf found))
  67. LRDFLIBS="-llrdf"
  68. AC_SUBST(LRDFLIBS)
  69. fi
  70. dnl Check if POSIX SHM enabled (for sharing LADSPA Plugin database)
  71. dnl Nicked in part from JACK configure.in
  72. AC_ARG_ENABLE(
  73. posix-shm,
  74. [ --enable-posix-shm Enable POSIX SHM for LADSPA Plugin [no]
  75. This allows a single LADSPA plugin database
  76. to be shared between instances],
  77. [use_posix_shm="y"],
  78. [use_posix_shm="n"]
  79. )
  80. if test "$use_posix_shm" = "y"; then
  81. AC_MSG_CHECKING([POSIX SHM support ])
  82. ls /dev/shm >/dev/null 2>&1
  83. if test $? = 0; then
  84. AC_DEFINE(USE_POSIX_SHM, ,[Enable POSIX SHM support for LADSPA Plugin])
  85. AC_MSG_RESULT(found.)
  86. SHMLIBS="-lrt"
  87. AC_SUBST(SHMLIBS)
  88. else
  89. AC_MSG_RESULT(not found.)
  90. fi
  91. fi
  92. dnl Checks for library functions.
  93. AC_CHECK_HEADERS(math.h)
  94. AC_CHECK_LIB(m, sin)
  95. dnl AC_CHECK_HEADERS(X11/Xlib.h)
  96. dnl AC_CHECK_LIB(X11, XDisplayName)
  97. dnl AC_CHECK_LIB(Xext, main)
  98. AC_PATH_PROG(FLTK_CONFIG, fltk-config, no)
  99. if test "$FLTK_CONFIG" = "no"; then
  100. AC_PATH_XTRA
  101. LIBGL=""
  102. CPPFLAGS="$CPPFLAGS $X_CFLAGS"
  103. AC_CHECK_HEADERS(GL/gl.h)
  104. if test $ac_cv_header_GL_gl_h = "yes" ; then
  105. AC_CHECK_LIB(GL, glBegin, LIBGL="-lGL")
  106. fi
  107. AC_CHECK_HEADERS(FL/Fl.h)
  108. if test $ac_cv_header_FL_Fl_h = "no" ; then
  109. echo "*** FLTK headers missing."
  110. exit 1
  111. fi
  112. AC_CHECK_LIB(fltk, main)
  113. FLTK_CXXFLAGS="$X_CFLAGS"
  114. FLTK_CFLAGS="$FLTK_CXXFLAGS"
  115. FLTK_LIBS="$X_LIBS -lfltk $LIBGL"
  116. else
  117. FLTK_CXXFLAGS=`$FLTK_CONFIG $fltk_config_args --cxxflags`
  118. FLTK_CFLAGS=`$FLTK_CONFIG $fltk_config_args --cxxflags`
  119. FLTK_LIBS=`$FLTK_CONFIG $fltk_config_args --ldflags`
  120. dnl This caused problems for debian users,
  121. dnl It would be nice to find a more robust way of doing it.
  122. dnl if test "${FLTK_LIBS/*-rpath*/yes}" != "yes"; then
  123. dnl echo "*** FLTK needs to be configured with --enable-shared"
  124. dnl exit 1
  125. dnl fi
  126. fi
  127. AC_SUBST(FLTK_CXXFLAGS)
  128. AC_SUBST(FLTK_CFLAGS)
  129. AC_SUBST(FLTK_LIBS)
  130. AC_CHECK_HEADERS(dlfcn.h)
  131. AC_CHECK_LIB(dl, dlopen)
  132. AC_CHECK_HEADERS(png.h)
  133. AC_CHECK_LIB(png, png_get_copyright)
  134. dnl This is normally done with libtool but since we aren't using libtool
  135. dnl yet to it here.
  136. dnl FIXME: forced to add -fPIC here..
  137. CFLAGS="$CFLAGS -fPIC"
  138. CXXFLAGS="$CFLAGS -fPIC"
  139. AC_SUBST(CFLAGS)
  140. AC_SUBST(CXXFLAGS)
  141. AC_SUBST(PLUGINLIST)
  142. dnl Modify the output files.
  143. AC_OUTPUT(
  144. SpiralSound/Plugins/AmpPlugin/Makefile
  145. SpiralSound/Plugins/AnotherFilterPlugin/Makefile
  146. SpiralSound/Plugins/ControllerPlugin/Makefile
  147. SpiralSound/Plugins/DelayPlugin/Makefile
  148. SpiralSound/Plugins/DiskWriterPlugin/Makefile
  149. SpiralSound/Plugins/DistributorPlugin/Makefile
  150. SpiralSound/Plugins/EchoPlugin/Makefile
  151. SpiralSound/Plugins/EnvFollowerPlugin/Makefile
  152. SpiralSound/Plugins/EnvelopePlugin/Makefile
  153. SpiralSound/Plugins/FilterPlugin/Makefile
  154. SpiralSound/Plugins/FormantFilterPlugin/Makefile
  155. SpiralSound/Plugins/JackPlugin/Makefile
  156. SpiralSound/Plugins/KeyboardPlugin/Makefile
  157. SpiralSound/Plugins/LADSPAPlugin/Makefile
  158. SpiralSound/Plugins/LFOPlugin/Makefile
  159. SpiralSound/Plugins/MatrixPlugin/Makefile
  160. SpiralSound/Plugins/MeterPlugin/Makefile
  161. SpiralSound/Plugins/MidiPlugin/Makefile
  162. SpiralSound/Plugins/MixerPlugin/Makefile
  163. SpiralSound/Plugins/MoogFilterPlugin/Makefile
  164. SpiralSound/Plugins/NoteSnapPlugin/Makefile
  165. SpiralSound/Plugins/OscillatorPlugin/Makefile
  166. SpiralSound/Plugins/OutputPlugin/Makefile
  167. SpiralSound/Plugins/PoshSamplerPlugin/Makefile
  168. SpiralSound/Plugins/RingModPlugin/Makefile
  169. SpiralSound/Plugins/SVFilterPlugin/Makefile
  170. SpiralSound/Plugins/SampleHoldPlugin/Makefile
  171. SpiralSound/Plugins/SeqSelectorPlugin/Makefile
  172. SpiralSound/Plugins/ScopePlugin/Makefile
  173. SpiralSound/Plugins/SmoothPlugin/Makefile
  174. SpiralSound/Plugins/SplitterPlugin/Makefile
  175. SpiralSound/Plugins/StereoMixerPlugin/Makefile
  176. SpiralSound/Plugins/StreamPlugin/Makefile
  177. SpiralSound/Plugins/WaveShaperPlugin/Makefile
  178. SpiralSound/Plugins/WaveTablePlugin/Makefile
  179. SpiralSound/Plugins/XFadePlugin/Makefile
  180. SpiralSound/Plugins/OperatorPlugin/Makefile
  181. SpiralSound/Plugins/CounterPlugin/Makefile
  182. SpiralSound/Plugins/FlipflopPlugin/Makefile
  183. SpiralSound/Plugins/SwitchPlugin/Makefile
  184. SpiralSound/Plugins/BeatMatchPlugin/Makefile
  185. SpiralSound/Plugins/NoisePlugin/Makefile
  186. SpiralSound/Plugins/LogicPlugin/Makefile
  187. SpiralSound/Plugins/SplitSwitchPlugin/Makefile
  188. SpiralSound/Plugins/MixSwitchPlugin/Makefile
  189. SpiralSound/Plugins/TrigPlugin/Makefile
  190. SpiralSound/Plugins/SpiralLoopPlugin/Makefile
  191. SpiralSound/Plugins/MasherPlugin/Makefile
  192. SpiralSound/Plugins/TransposePlugin/Makefile
  193. SpiralSynthPluginLocation.h
  194. Makefile
  195. )