build: Compute $all_errlist_objs.
authorAndre Noll <maan@systemlinux.org>
Thu, 29 Aug 2013 20:52:56 +0000 (20:52 +0000)
committerAndre Noll <maan@systemlinux.org>
Sun, 1 Dec 2013 10:40:58 +0000 (11:40 +0100)
It is less error-prone to compute this value once after feature
detection than to update the list of all objects in each test.

We now also make sure that no object is listed more than once.

configure.ac

index 47817e8..46fb18c 100644 (file)
@@ -92,16 +92,6 @@ AC_CHECK_FUNCS([atexit dup2 memchr memmove memset \
 AC_DEFUN([add_cmdline],[$(for i in $@; do printf "${i}.cmdline "; done)])
 
 
-all_errlist_objs="mp3_afh afh_common net string signal time daemon
-       stat afh amp_filter fd ringbuffer sched audiod
-       grab_client filter_common wav_filter compress_filter http_recv
-       dccp_recv recv_common write_common file_write audiod_command
-       client_common recv stdout filter stdin audioc write client
-       exec send_common ggo udp_recv color fec fecdec_filter
-       prebuffer_filter bitstream imdct check_wav
-       wma_afh wma_common wmadec_filter buffer_tree crypt_common
-       gui gui_theme sideband afh_recv play version"
-
 executables="recv filter audioc write client afh audiod play"
 
 recv_cmdline_objs="add_cmdline(recv http_recv dccp_recv udp_recv afh_recv)"
@@ -280,11 +270,6 @@ else
                version
                ggo
        "
-       all_errlist_objs="$all_errlist_objs server vss command
-               http_send close_on_fork mm ipc dccp_send user_list
-               chunk_queue afs aft mood score attribute blob playlist
-               acl udp_send"
-
        server_ldflags=""
        audio_format_handlers="mp3 wma"
        AC_SUBST(osl_cppflags)
@@ -349,7 +334,6 @@ if test "$check_openssl" = "yes"; then
                client_ldflags="$client_ldflags $openssl_libs"
                audiod_ldflags="$audiod_ldflags $openssl_libs"
 
-               all_errlist_objs="$all_errlist_objs crypt"
                server_errlist_objs="$server_errlist_objs crypt"
                client_errlist_objs="$client_errlist_objs crypt"
                audiod_errlist_objs="$audiod_errlist_objs crypt"
@@ -392,7 +376,6 @@ if test "$check_gcrypt" = "yes"; then
                client_ldflags="$client_ldflags $gcrypt_libs"
                audiod_ldflags="$audiod_ldflags $gcrypt_libs"
 
-               all_errlist_objs="$all_errlist_objs gcrypt"
                server_errlist_objs="$server_errlist_objs gcrypt"
                client_errlist_objs="$client_errlist_objs gcrypt"
                audiod_errlist_objs="$audiod_errlist_objs gcrypt"
@@ -526,13 +509,6 @@ if test ${have_core_audio} = yes; then
        f4="-framework CoreServices"
        f="$f1 $f2 $f3 $f4"
 
-       all_errlist_objs="$all_errlist_objs osx_write"
-       # ipc is linked into para_server server and into the osx writer. If osl
-       # was not found, para_server will not be built and ipc has not yet been
-       # added to the list of all objects, so we must add it here.
-       if test "$have_osl" = "no"; then
-               all_errlist_objs="$all_errlist_objs ipc"
-       fi
        audiod_errlist_objs="$audiod_errlist_objs osx_write ipc"
        audiod_cmdline_objs="$audiod_cmdline_objs osx_write.cmdline"
        audiod_ldflags="$audiod_ldflags $f"
@@ -642,14 +618,12 @@ if test "$have_vorbis" = "yes" || \
        play_ldflags="$play_ldflags $ogg_libs"
        afh_ldflags="$afh_ldflags $ogg_libs"
        recv_ldflags="$recv_ldflags $ogg_libs"
-       all_errlist_objs="$all_errlist_objs ogg_afh_common"
        afh_errlist_objs="$afh_errlist_objs ogg_afh_common"
        recv_errlist_objs="$recv_errlist_objs ogg_afh_common"
        server_errlist_objs="$server_errlist_objs ogg_afh_common"
        play_errlist_objs="$play_errlist_objs ogg_afh_common"
 fi
 if test "$have_vorbis" = "yes"; then
-       all_errlist_objs="$all_errlist_objs oggdec_filter ogg_afh"
        AC_DEFINE(HAVE_OGGVORBIS, 1, define to 1 to turn on ogg/vorbis support)
        filters="$filters oggdec"
        vorbis_libs="-lvorbis -lvorbisfile"
@@ -673,7 +647,6 @@ else
        AC_MSG_WARN([no ogg/vorbis $msg])
 fi
 if test "$have_speex" = "yes"; then
-       all_errlist_objs="$all_errlist_objs spxdec_filter spx_afh spx_common"
        AC_DEFINE(HAVE_SPEEX, 1, define to 1 to turn on ogg/speex support)
        filters="$filters spxdec"
        speex_libs="-lspeex"
@@ -697,7 +670,6 @@ else
        AC_MSG_WARN([no ogg/speex $msg])
 fi
 if test "$have_opus" = "yes"; then
-       all_errlist_objs="$all_errlist_objs opusdec_filter opus_afh opus_common"
        AC_DEFINE(HAVE_OPUS, 1, define to 1 to turn on ogg/opus support)
        filters="$filters opusdec"
        opus_libs="-lopus"
@@ -744,7 +716,6 @@ AC_CHECK_HEADER(neaacdec.h, [], have_faad=no)
 AC_CHECK_LIB([faad], [NeAACDecOpen], [], have_faad=no)
 if test "$have_faad" = "yes"; then
        AC_DEFINE(HAVE_FAAD, 1, define to 1 if you want to build the aacdec filter)
-       all_errlist_objs="$all_errlist_objs aac_common aacdec_filter aac_afh"
        filter_errlist_objs="$filter_errlist_objs aacdec_filter aac_common"
        afh_errlist_objs="$afh_errlist_objs aac_common aac_afh"
        audiod_errlist_objs="$audiod_errlist_objs aacdec_filter aac_common"
@@ -798,7 +769,6 @@ if test "$have_mad" = "yes"; then
        filter_cmdline_objs="$filter_cmdline_objs add_cmdline(mp3dec_filter)"
        audiod_cmdline_objs="$audiod_cmdline_objs add_cmdline(mp3dec_filter)"
        play_cmdline_objs="$play_cmdline_objs add_cmdline(mp3dec_filter)"
-       all_errlist_objs="$all_errlist_objs mp3dec_filter"
        filter_errlist_objs="$filter_errlist_objs mp3dec_filter"
        audiod_errlist_objs="$audiod_errlist_objs mp3dec_filter"
        play_errlist_objs="$play_errlist_objs mp3dec_filter"
@@ -877,7 +847,6 @@ AC_CHECK_HEADER(FLAC/stream_decoder.h, [], have_flac=no)
 AC_CHECK_LIB([FLAC], [FLAC__stream_decoder_init_file], [], have_flac=no, -logg -lm)
 if test "$have_flac" = "yes"; then
        AC_DEFINE(HAVE_FLAC, 1, define to 1 if you want to build the flacdec filter)
-       all_errlist_objs="$all_errlist_objs flacdec_filter flac_afh"
        filter_errlist_objs="$filter_errlist_objs flacdec_filter"
        audiod_errlist_objs="$audiod_errlist_objs flacdec_filter"
        play_errlist_objs="$play_errlist_objs flacdec_filter flac_afh"
@@ -917,7 +886,6 @@ AC_CHECK_HEADER(sys/soundcard.h, [
        write_errlist_objs="$write_errlist_objs oss_write"
        write_cmdline_objs="$write_cmdline_objs add_cmdline(oss_write)"
        fade_errlist_objs="$fade_errlist_objs oss_mix"
-       all_errlist_objs="$all_errlist_objs oss_write oss_mix"
 
        writers="$writers oss"
        default_writer="OSS_WRITE"
@@ -979,7 +947,6 @@ if test "$have_alsa" = "yes"; then
        write_ldflags="$write_ldflags -lasound"
        fade_errlist_objs="$fade_errlist_objs alsa_mix"
        fade_ldflags="$fade_ldflags -lasound"
-       all_errlist_objs="$all_errlist_objs alsa_write alsa_mix"
 
        writers="$writers alsa"
        default_writer="ALSA_WRITE"
@@ -994,7 +961,6 @@ LIBS="$OLD_LIBS"
 if test -n "$mixers"; then
        build_fade="yes"
        executables="$executables fade"
-       all_errlist_objs="$all_errlist_objs fade"
        fade_errlist_objs="$fade_errlist_objs fade exec string fd version ggo"
        fade_cmdline_objs="add_cmdline(fade)"
        fade_objs="$fade_cmdline_objs $fade_errlist_objs"
@@ -1073,7 +1039,6 @@ if test "$have_ao" = "yes"; then
        ])
 fi
 if test "$have_ao" = "yes"; then
-       all_errlist_objs="$all_errlist_objs ao_write"
        audiod_errlist_objs="$audiod_errlist_objs ao_write"
        audiod_cmdline_objs="$audiod_cmdline_objs add_cmdline(ao_write)"
        audiod_ldflags="$audiod_ldflags -lao -lpthread"
@@ -1148,7 +1113,6 @@ if test "$have_readline" = "yes"; then
 fi
 
 if test "$have_readline" = "yes"; then
-       all_errlist_objs="$all_errlist_objs interactive"
        client_errlist_objs="$client_errlist_objs interactive"
        client_ldflags="$client_ldflags $readline_libs"
        audioc_errlist_objs="$audioc_errlist_objs buffer_tree interactive sched time"
@@ -1186,7 +1150,6 @@ AC_CHECK_HEADER(samplerate.h, [], have_samplerate=no)
 AC_CHECK_LIB([samplerate], [src_process], [], have_samplerate=no, [])
 
 if test "$have_samplerate" = "yes"; then
-       all_errlist_objs="$all_errlist_objs resample_filter"
        filter_errlist_objs="$filter_errlist_objs resample_filter check_wav"
        filter_cmdline_objs="$filter_cmdline_objs add_cmdline(resample_filter)"
        audiod_errlist_objs="$audiod_errlist_objs resample_filter check_wav"
@@ -1206,6 +1169,32 @@ LDFLAGS="$OLD_LDFLAGS"
 LIBS="$OLD_LIBS"
 ############################################################# error2.h
 AC_MSG_NOTICE(creating error2.h)
+
+# these are always built
+all_errlist_objs="
+       $recv_errlist_objs
+       $filter_errlist_objs
+       $audioc_errlist_objs
+       $write_errlist_objs
+       $client_errlist_objs
+       $afh_errlist_objs
+       $audiod_errlist_objs
+       $play_errlist_objs
+"
+
+# optional executables
+if test "$build_server" = "yes"; then
+       all_errlist_objs="$all_errlist_objs $server_errlist_objs"
+fi
+if test "$build_gui" = "yes"; then
+       all_errlist_objs="$all_errlist_objs $gui_errlist_objs"
+fi
+if test "$build_fade" = "yes"; then
+       all_errlist_objs="$all_errlist_objs $fade_errlist_objs"
+fi
+
+all_errlist_objs="$(echo $all_errlist_objs | tr ' ' '\n' | sort | uniq)"
+
 for i in $executables; do
        echo "$i: "
        eval echo \$${i}_errlist_objs