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.

156 lines
5.0KB

  1. dnl Process this file with autoconf to produce a configure script.
  2. AC_INIT(SpiralSynthModular.C)
  3. dnl Checks for programs.
  4. AC_PROG_CC
  5. AC_PROG_CPP
  6. AC_PROG_INSTALL
  7. dnl Checks for header files.
  8. AC_HEADER_STDC
  9. dnl Checks for typedefs, structures, and compiler characteristics.
  10. AC_C_CONST
  11. AC_C_INLINE
  12. dnl Check plugin directory
  13. AC_ARG_WITH(plugindir,
  14. [ --with-plugindir=dir give the plugin directory],
  15. plugindir="$withval",
  16. plugindir="/usr/lib/SpiralPlugins")
  17. AC_SUBST(PLUGINDIR, $plugindir)
  18. dnl Check whether to enable debugging
  19. AC_ARG_ENABLE(debug, [ --enable-debug enable debugging ],
  20. ac_arg_debug="Y", ac_arg_debug="N")
  21. if test $ac_arg_debug = "Y" ; then
  22. CFLAGS="-pipe -Wall -O0 -ggdb "
  23. CXXFLAGS="-pipe -Wall -O0 -ggdb "
  24. else
  25. CFLAGS="-pipe -Wall -O3 -ffast-math -DNO_DEBUG -Wno-unused "
  26. CXXFLAGS="-pipe -Wall -O3 -ffast-math -DNO_DEBUG -Wno-unused "
  27. fi
  28. echo "$PLUGINLIST" > SpiralSound/PluginList.txt
  29. AC_ARG_ENABLE(jack, [ --enable-jack build JackPlugin ],
  30. ac_arg_jack="Y", ac_arg_jack="N")
  31. if test $ac_arg_jack = "Y" ; then
  32. PLUGINLIST="AmpPlugin ControllerPlugin DelayPlugin EchoPlugin EnvFollowerPlugin \
  33. EnvelopePlugin FilterPlugin MatrixPlugin MidiPlugin MixerPlugin MoogFilterPlugin \
  34. NoteSnapPlugin OscillatorPlugin OutputPlugin RingModPlugin SVFilterPlugin \
  35. SampleHoldPlugin ScopePlugin SmoothPlugin SplitterPlugin StereoMixerPlugin StreamPlugin\
  36. WaveTablePlugin LADSPAPlugin XFadePlugin PoshSamplerPlugin SeqSelectorPlugin\
  37. DistributorPlugin LFOPlugin KeyboardPlugin DiskWriterPlugin JackPlugin"
  38. else
  39. PLUGINLIST="AmpPlugin ControllerPlugin DelayPlugin EchoPlugin EnvFollowerPlugin \
  40. EnvelopePlugin FilterPlugin MatrixPlugin MidiPlugin MixerPlugin MoogFilterPlugin \
  41. NoteSnapPlugin OscillatorPlugin OutputPlugin RingModPlugin SVFilterPlugin \
  42. SampleHoldPlugin ScopePlugin SmoothPlugin SplitterPlugin StereoMixerPlugin StreamPlugin\
  43. WaveTablePlugin LADSPAPlugin XFadePlugin PoshSamplerPlugin SeqSelectorPlugin\
  44. DistributorPlugin LFOPlugin KeyboardPlugin DiskWriterPlugin"
  45. fi
  46. echo "$PLUGINLIST" > SpiralSound/PluginList.txt
  47. dnl Checks for library functions.
  48. AC_CHECK_HEADERS(math.h)
  49. AC_CHECK_LIB(m, sin)
  50. dnl AC_CHECK_HEADERS(X11/Xlib.h)
  51. dnl AC_CHECK_LIB(X11, XDisplayName)
  52. dnl AC_CHECK_LIB(Xext, main)
  53. AC_PATH_PROG(FLTK_CONFIG, fltk-config, no)
  54. if test "$FLTK_CONFIG" = "no"; then
  55. AC_PATH_XTRA
  56. LIBGL=""
  57. CPPFLAGS="$CPPFLAGS $X_CFLAGS"
  58. AC_CHECK_HEADERS(GL/gl.h)
  59. if test $ac_cv_header_GL_gl_h = "yes" ; then
  60. AC_CHECK_LIB(GL, glBegin, LIBGL="-lGL")
  61. fi
  62. AC_CHECK_HEADERS(FL/Fl.h)
  63. if test $ac_cv_header_FL_Fl_h = "no" ; then
  64. echo "*** FLTK headers missing."
  65. exit 1
  66. fi
  67. AC_CHECK_LIB(fltk, main)
  68. FLTK_CXXFLAGS="$X_CFLAGS"
  69. FLTK_CFLAGS="$FLTK_CXXFLAGS"
  70. FLTK_LIBS="$X_LIBS -lfltk $LIBGL"
  71. else
  72. FLTK_CXXFLAGS=`$FLTK_CONFIG $fltk_config_args --cxxflags`
  73. FLTK_CFLAGS=`$FLTK_CONFIG $fltk_config_args --cxxflags`
  74. FLTK_LIBS=`$FLTK_CONFIG $fltk_config_args --ldflags`
  75. dnl This caused problems for debian users,
  76. dnl It would be nice to find a more robust way of doing it.
  77. dnl if test "${FLTK_LIBS/*-rpath*/yes}" != "yes"; then
  78. dnl echo "*** FLTK needs to be configured with --enable-shared"
  79. dnl exit 1
  80. dnl fi
  81. fi
  82. AC_SUBST(FLTK_CXXFLAGS)
  83. AC_SUBST(FLTK_CFLAGS)
  84. AC_SUBST(FLTK_LIBS)
  85. AC_CHECK_HEADERS(dlfcn.h)
  86. AC_CHECK_LIB(dl, dlopen)
  87. AC_CHECK_HEADERS(png.h)
  88. AC_CHECK_LIB(png, png_get_copyright)
  89. dnl This is normally done with libtool but since we aren't using libtool
  90. dnl yet to it here.
  91. dnl FIXME: forced to add -fPIC here..
  92. CFLAGS="$CFLAGS -fPIC"
  93. CXXFLAGS="$CFLAGS -fPIC"
  94. AC_SUBST(CFLAGS)
  95. AC_SUBST(CXXFLAGS)
  96. AC_SUBST(PLUGINLIST)
  97. dnl Modify the output files.
  98. AC_OUTPUT(
  99. SpiralSound/Plugins/AmpPlugin/Makefile
  100. SpiralSound/Plugins/ControllerPlugin/Makefile
  101. SpiralSound/Plugins/DelayPlugin/Makefile
  102. SpiralSound/Plugins/DiskWriterPlugin/Makefile
  103. SpiralSound/Plugins/DistributorPlugin/Makefile
  104. SpiralSound/Plugins/EchoPlugin/Makefile
  105. SpiralSound/Plugins/EnvFollowerPlugin/Makefile
  106. SpiralSound/Plugins/EnvelopePlugin/Makefile
  107. SpiralSound/Plugins/FilterPlugin/Makefile
  108. SpiralSound/Plugins/JackPlugin/Makefile
  109. SpiralSound/Plugins/KeyboardPlugin/Makefile
  110. SpiralSound/Plugins/LADSPAPlugin/Makefile
  111. SpiralSound/Plugins/LFOPlugin/Makefile
  112. SpiralSound/Plugins/MatrixPlugin/Makefile
  113. SpiralSound/Plugins/MidiPlugin/Makefile
  114. SpiralSound/Plugins/MixerPlugin/Makefile
  115. SpiralSound/Plugins/MoogFilterPlugin/Makefile
  116. SpiralSound/Plugins/NoteSnapPlugin/Makefile
  117. SpiralSound/Plugins/OscillatorPlugin/Makefile
  118. SpiralSound/Plugins/OutputPlugin/Makefile
  119. SpiralSound/Plugins/PoshSamplerPlugin/Makefile
  120. SpiralSound/Plugins/RingModPlugin/Makefile
  121. SpiralSound/Plugins/SVFilterPlugin/Makefile
  122. SpiralSound/Plugins/SampleHoldPlugin/Makefile
  123. SpiralSound/Plugins/SeqSelectorPlugin/Makefile
  124. SpiralSound/Plugins/SmoothPlugin/Makefile
  125. SpiralSound/Plugins/SplitterPlugin/Makefile
  126. SpiralSound/Plugins/StereoMixerPlugin/Makefile
  127. SpiralSound/Plugins/StreamPlugin/Makefile
  128. SpiralSound/Plugins/WaveShaperPlugin/Makefile
  129. SpiralSound/Plugins/WaveTablePlugin/Makefile
  130. SpiralSound/Plugins/XFadePlugin/Makefile
  131. SpiralSynthPluginLocation.h
  132. Makefile
  133. )