build: Rewrite objlist_to_errlist().
[paraslash.git] / configure.ac
index dd95590930852275bf863fde7f976edac7a3d6eb..4dd5c6da27d64eba008f7fd7ae5c49ee586c63d5 100644 (file)
@@ -9,7 +9,21 @@ AC_CONFIG_HEADER([config.h])
 AC_CONFIG_FILES([Makefile])
 AC_DEFUN([add_dot_o],[$(for i in $@; do printf "$i.o "; done)])
 AC_DEFUN([add_cmdline],[$(for i in $@; do printf "${i}.cmdline "; done)])
-AC_DEFUN([objlist_to_errlist],[$(for i in $@; do printf "DEFINE_ERRLIST($(echo $i| tr 'a-z' 'A-Z'));"; done) [const char **para_errlist[[]]] = {$(for i in $@; do printf "PARA_ERRLIST($(echo $i | tr 'a-z' 'A-Z')), "; done) }])
+AC_DEFUN([make_errlist_defines], \
+       $(for i in $@; do \
+               printf "DEFINE_ERRLIST($(echo $i | tr 'a-z' 'A-Z'));"; \
+       done) \
+)
+AC_DEFUN([make_para_errlists], \
+       $(for i in $@; do \
+               printf "PARA_ERRLIST($(echo $i | tr 'a-z' 'A-Z')), "; \
+       done) \
+)
+AC_DEFUN([objlist_to_errlist],[ \
+       make_errlist_defines($@) \
+       [const char **para_errlist[[]]] = {make_para_errlists($@)} \
+])
+
 AC_PATH_PROG(UNAMEPATH, uname, no)
 if test "$UNAMEPATH" = "no"; then
        AC_MSG_ERROR(unable to determine system type)
@@ -90,8 +104,6 @@ AC_CHECK_FUNCS([atexit dup2 memchr memmove memset \
        [AC_MSG_ERROR([function not found, cannot live without it])])
 
 executables="recv filter audioc write afh play"
-audio_format_handlers="mp3 wma"
-
 ################################################################## clock_gettime
 clock_gettime_lib=
 AC_CHECK_LIB([c], [clock_gettime], [clock_gettime_lib=c], [
@@ -430,14 +442,12 @@ if test "$have_vorbis" = "yes"; then
        AC_DEFINE(HAVE_OGGVORBIS, 1, define to 1 to turn on ogg/vorbis support)
        vorbis_ldflags="$vorbis_libs -lvorbis -lvorbisfile"
        AC_SUBST(vorbis_ldflags)
-       audio_format_handlers="$audio_format_handlers ogg"
 fi
 if test "$have_speex" = "yes"; then
        AC_DEFINE(HAVE_SPEEX, 1, define to 1 to turn on ogg/speex support)
        AC_SUBST(speex_cppflags)
        speex_ldflags="$speex_libs -lspeex"
        AC_SUBST(speex_ldflags)
-       audio_format_handlers="$audio_format_handlers spx"
 else
        AC_MSG_WARN([no ogg/speex $msg])
 fi
@@ -477,8 +487,6 @@ if test "$have_faad" = "yes"; then
        AC_SUBST(faad_cppflags)
        faad_ldflags="$faad_libs -lfaad"
        AC_SUBST(faad_ldflags)
-
-       audio_format_handlers="$audio_format_handlers aac"
 fi
 CPPFLAGS="$OLD_CPPFLAGS"
 LDFLAGS="$OLD_LDFLAGS"
@@ -578,7 +586,6 @@ if test "$have_flac" = "yes"; then
        AC_SUBST(flac_cppflags)
        flac_ldflags="$flac_libs -lFLAC"
        AC_SUBST(flac_ldflags)
-       audio_format_handlers="$audio_format_handlers flac"
 else
        AC_MSG_WARN([no flac support in para_audiod/para_filter/para_afh/para_server])
 fi
@@ -1234,6 +1241,7 @@ AC_SUBST(recv_objs, add_dot_o($recv_objs))
 AC_DEFINE_UNQUOTED(INIT_RECV_ERRLISTS, objlist_to_errlist($recv_errlist_objs),
        errors used by para_recv)
 ########################################################################### afh
+audio_format_handlers="mp3 wma"
 afh_cmdline_objs="afh"
 afh_errlist_objs="
        afh
@@ -1254,18 +1262,22 @@ if test "$have_vorbis" = "yes" || \
 fi
 if test "$have_vorbis" = "yes"; then
        afh_errlist_objs="$afh_errlist_objs ogg_afh"
+       audio_format_handlers="$audio_format_handlers ogg"
 fi
 if test "$have_speex" = "yes"; then
        afh_errlist_objs="$afh_errlist_objs spx_afh spx_common"
+       audio_format_handlers="$audio_format_handlers spx"
 fi
 if test "$have_opus" = "yes"; then
        afh_errlist_objs="$afh_errlist_objs opus_afh opus_common"
 fi
 if test "$have_faad" = "yes"; then
        afh_errlist_objs="$afh_errlist_objs aac_common aac_afh"
+       audio_format_handlers="$audio_format_handlers aac"
 fi
 if test "$have_flac" = "yes"; then
        afh_errlist_objs="$afh_errlist_objs flac_afh"
+       audio_format_handlers="$audio_format_handlers flac"
 fi
 
 afh_objs="add_cmdline($afh_cmdline_objs) $afh_errlist_objs"