]> git.tuebingen.mpg.de Git - paraslash.git/blobdiff - configure.ac
add new writer to para_play: file
[paraslash.git] / configure.ac
index 61b1808ae74a48d71584230f186227808c84d1ee..bfd659f18dbc8ae534b732269f3a3b982e350b42 100644 (file)
@@ -79,6 +79,8 @@ server_ldflags=""
 play_cmdline_objs="play.cmdline"
 play_errlist_objs="play time fd string"
 play_ldflags=""
+write_writers="file"
+
 
 ########################################################################### ssl
 dnl @synopsis CHECK_SSL
@@ -230,6 +232,7 @@ AC_CHECK_LIB([asound], [snd_pcm_open], [], [
 if test "$have_alsa" = "yes"; then
        extras="$extras para_play"
        play_ldflags="$play_ldflags -lasound"
+       write_writers="$write_writers alsa"
 fi
 ########################################################################### ortp
 have_ortp="yes"
@@ -320,6 +323,16 @@ AC_SUBST(play_ldflags, $play_ldflags)
 AC_DEFINE_UNQUOTED(INIT_PLAY_ERRLISTS,
        objlist_to_errlist($play_errlist_objs), errors used by para_play)
 
+enum="$(for i in $write_writers; do printf "${i}_WRITE, " | tr '[a-z]' '[A-Z]'; done)"
+AC_DEFINE_UNQUOTED(WRITER_ENUM, $enum NUM_SUPPORTED_WRITERS,
+       enum of supported writers)
+names="$(for i in $write_writers; do printf '\"'$i'\", ' ; done)"
+AC_DEFINE_UNQUOTED(WRITER_NAMES, $names, supported writer names)
+inits="$(for i in $write_writers; do printf 'extern void '$i'_writer_init(struct writer *); '; done)"
+AC_DEFINE_UNQUOTED(DECLARE_WRITER_INITS, $inits, init functions of the supported writers)
+array="$(for i in $write_writers; do printf '{.init = '$i'_writer_init},'; done)"
+AC_DEFINE_UNQUOTED(WRITER_ARRAY, $array, array of supported writers)
+
 gui_cmdline_objs="gui.cmdline"
 gui_errlist_objs="exec close_on_fork signal string stat ringbuffer fd"
 gui_other_objs="gui gui_common gui_theme"