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.

162 lines
5.2KB

  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 FormantFilterPlugin \
  38. AnotherFilterPlugin JackPlugin"
  39. else
  40. PLUGINLIST="AmpPlugin ControllerPlugin DelayPlugin EchoPlugin EnvFollowerPlugin \
  41. EnvelopePlugin FilterPlugin MatrixPlugin MidiPlugin MixerPlugin MoogFilterPlugin \
  42. NoteSnapPlugin OscillatorPlugin OutputPlugin RingModPlugin SVFilterPlugin \
  43. SampleHoldPlugin ScopePlugin SmoothPlugin SplitterPlugin StereoMixerPlugin StreamPlugin\
  44. WaveTablePlugin LADSPAPlugin XFadePlugin PoshSamplerPlugin SeqSelectorPlugin\
  45. DistributorPlugin LFOPlugin KeyboardPlugin DiskWriterPlugin FormantFilterPlugin \
  46. AnotherFilterPlugin"
  47. fi
  48. echo "$PLUGINLIST" > SpiralSound/PluginList.txt
  49. dnl Checks for library functions.
  50. AC_CHECK_HEADERS(math.h)
  51. AC_CHECK_LIB(m, sin)
  52. dnl AC_CHECK_HEADERS(X11/Xlib.h)
  53. dnl AC_CHECK_LIB(X11, XDisplayName)
  54. dnl AC_CHECK_LIB(Xext, main)
  55. AC_PATH_PROG(FLTK_CONFIG, fltk-config, no)
  56. if test "$FLTK_CONFIG" = "no"; then
  57. AC_PATH_XTRA
  58. LIBGL=""
  59. CPPFLAGS="$CPPFLAGS $X_CFLAGS"
  60. AC_CHECK_HEADERS(GL/gl.h)
  61. if test $ac_cv_header_GL_gl_h = "yes" ; then
  62. AC_CHECK_LIB(GL, glBegin, LIBGL="-lGL")
  63. fi
  64. AC_CHECK_HEADERS(FL/Fl.h)
  65. if test $ac_cv_header_FL_Fl_h = "no" ; then
  66. echo "*** FLTK headers missing."
  67. exit 1
  68. fi
  69. AC_CHECK_LIB(fltk, main)
  70. FLTK_CXXFLAGS="$X_CFLAGS"
  71. FLTK_CFLAGS="$FLTK_CXXFLAGS"
  72. FLTK_LIBS="$X_LIBS -lfltk $LIBGL"
  73. else
  74. FLTK_CXXFLAGS=`$FLTK_CONFIG $fltk_config_args --cxxflags`
  75. FLTK_CFLAGS=`$FLTK_CONFIG $fltk_config_args --cxxflags`
  76. FLTK_LIBS=`$FLTK_CONFIG $fltk_config_args --ldflags`
  77. dnl This caused problems for debian users,
  78. dnl It would be nice to find a more robust way of doing it.
  79. dnl if test "${FLTK_LIBS/*-rpath*/yes}" != "yes"; then
  80. dnl echo "*** FLTK needs to be configured with --enable-shared"
  81. dnl exit 1
  82. dnl fi
  83. fi
  84. AC_SUBST(FLTK_CXXFLAGS)
  85. AC_SUBST(FLTK_CFLAGS)
  86. AC_SUBST(FLTK_LIBS)
  87. AC_CHECK_HEADERS(dlfcn.h)
  88. AC_CHECK_LIB(dl, dlopen)
  89. AC_CHECK_HEADERS(png.h)
  90. AC_CHECK_LIB(png, png_get_copyright)
  91. dnl This is normally done with libtool but since we aren't using libtool
  92. dnl yet to it here.
  93. dnl FIXME: forced to add -fPIC here..
  94. CFLAGS="$CFLAGS -fPIC"
  95. CXXFLAGS="$CFLAGS -fPIC"
  96. AC_SUBST(CFLAGS)
  97. AC_SUBST(CXXFLAGS)
  98. AC_SUBST(PLUGINLIST)
  99. dnl Modify the output files.
  100. AC_OUTPUT(
  101. SpiralSound/Plugins/AmpPlugin/Makefile
  102. SpiralSound/Plugins/AnotherFilterPlugin/Makefile
  103. SpiralSound/Plugins/ControllerPlugin/Makefile
  104. SpiralSound/Plugins/DelayPlugin/Makefile
  105. SpiralSound/Plugins/DiskWriterPlugin/Makefile
  106. SpiralSound/Plugins/DistributorPlugin/Makefile
  107. SpiralSound/Plugins/EchoPlugin/Makefile
  108. SpiralSound/Plugins/EnvFollowerPlugin/Makefile
  109. SpiralSound/Plugins/EnvelopePlugin/Makefile
  110. SpiralSound/Plugins/FilterPlugin/Makefile
  111. SpiralSound/Plugins/FormantFilterPlugin/Makefile
  112. SpiralSound/Plugins/JackPlugin/Makefile
  113. SpiralSound/Plugins/KeyboardPlugin/Makefile
  114. SpiralSound/Plugins/LADSPAPlugin/Makefile
  115. SpiralSound/Plugins/LFOPlugin/Makefile
  116. SpiralSound/Plugins/MatrixPlugin/Makefile
  117. SpiralSound/Plugins/MidiPlugin/Makefile
  118. SpiralSound/Plugins/MixerPlugin/Makefile
  119. SpiralSound/Plugins/MoogFilterPlugin/Makefile
  120. SpiralSound/Plugins/NoteSnapPlugin/Makefile
  121. SpiralSound/Plugins/OscillatorPlugin/Makefile
  122. SpiralSound/Plugins/OutputPlugin/Makefile
  123. SpiralSound/Plugins/PoshSamplerPlugin/Makefile
  124. SpiralSound/Plugins/RingModPlugin/Makefile
  125. SpiralSound/Plugins/SVFilterPlugin/Makefile
  126. SpiralSound/Plugins/SampleHoldPlugin/Makefile
  127. SpiralSound/Plugins/SeqSelectorPlugin/Makefile
  128. SpiralSound/Plugins/ScopePlugin/Makefile
  129. SpiralSound/Plugins/SmoothPlugin/Makefile
  130. SpiralSound/Plugins/SplitterPlugin/Makefile
  131. SpiralSound/Plugins/StereoMixerPlugin/Makefile
  132. SpiralSound/Plugins/StreamPlugin/Makefile
  133. SpiralSound/Plugins/WaveShaperPlugin/Makefile
  134. SpiralSound/Plugins/WaveTablePlugin/Makefile
  135. SpiralSound/Plugins/XFadePlugin/Makefile
  136. SpiralSynthPluginLocation.h
  137. Makefile
  138. )