X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=configure.ac;h=053996d1606b13a1ff3da085d59a0f1451f065af;hp=c2cb47e6f993c6cbbad343208ce634af8bf80173;hb=53fe3c3cca7caef5565750181daf70aa0598c2a9;hpb=b59e841036a107b52a0221e48d7e05f86da92979 diff --git a/configure.ac b/configure.ac index c2cb47e6..053996d1 100644 --- a/configure.ac +++ b/configure.ac @@ -46,21 +46,21 @@ AC_DEFUN([LIB_SUBST_FLAGS], [ AC_SUBST($1_cppflags) AC_SUBST($1_ldflags) ]) +AC_DEFUN([REQUIRE_EXECUTABLE], [ + AC_PATH_PROG(m4_toupper([$1]), [$1]) + test -z "$m4_toupper([$1])" && AC_MSG_ERROR( + [$1 is required to build this package]) +]) AC_USE_SYSTEM_EXTENSIONS AC_C_BIGENDIAN() - -AC_PATH_PROG([M4], [m4]) -test -z "$M4" && AC_MSG_ERROR( - [The m4 macro processor is required to build this package]) - -AC_PATH_PROG([lopsubgen], [lopsubgen]) -test -z "$lopsubgen" && AC_MSG_ERROR( - [lopsubgen is required to build this package]) - AC_PROG_CC AC_PROG_CPP +REQUIRE_EXECUTABLE([bison]) +REQUIRE_EXECUTABLE([flex]) +REQUIRE_EXECUTABLE([m4]) + executables="recv filter audioc write afh play" ########################################################################### osl STASH_FLAGS @@ -71,9 +71,11 @@ AC_CHECK_LIB([osl], [osl_open_table], [], [HAVE_OSL=no]) LIB_SUBST_FLAGS(osl) UNSTASH_FLAGS ######################################################################## lopsub +HAVE_LOPSUB=yes +AC_PATH_PROG([LOPSUBGEN], [lopsubgen]) +test -z "$LOPSUBGEN" && HAVE_LOPSUB=no STASH_FLAGS LIB_ARG_WITH([lopsub], [-llopsub]) -HAVE_LOPSUB=yes AC_CHECK_HEADER(lopsub.h, [], [HAVE_LOPSUB=no]) AC_CHECK_LIB([lopsub], [lls_merge], [], [HAVE_LOPSUB=no]) if test $HAVE_LOPSUB = no; then AC_MSG_ERROR([ @@ -165,16 +167,22 @@ AC_DEFINE_UNQUOTED(ICONV_CAST, $cast, [cast for second arg to iconv()]) AC_MSG_RESULT($msg) UNSTASH_FLAGS ########################################################################### ucred -AC_MSG_CHECKING(for struct ucred) -AC_LINK_IFELSE([AC_LANG_PROGRAM([[ +AC_CHECK_TYPE([struct ucred], [ + AC_DEFINE(HAVE_UCRED, 1, define to 1 you have struct ucred) +], [], [ #include #include +]) +################################################################### FNM_EXTMATCH +AC_MSG_CHECKING(for extended wildcard pattern matching) +AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ + #include ]], [[ - struct ucred sucred; sucred.pid=0; -]])],[have_ucred=yes],[have_ucred=no]) -AC_MSG_RESULT($have_ucred) -if test ${have_ucred} = yes; then - AC_DEFINE(HAVE_UCRED, 1, define to 1 you have struct ucred) + unsigned n = FNM_EXTMATCH; +]])], [have_fnm_extmatch=yes], [have_fnm_extmatch=no]) +AC_MSG_RESULT($have_fnm_extmatch) +if test $have_fnm_extmatch = yes; then + AC_DEFINE(HAVE_FNM_EXTMATCH, 1, define to 1 if FNM_EXTMATCH is defined) fi ########################################################################### curses STASH_FLAGS @@ -186,18 +194,12 @@ curses_ldflags="$curses_ldflags $LIBS" LIB_SUBST_FLAGS(curses) UNSTASH_FLAGS ########################################################################### ip_mreqn -AC_MSG_CHECKING(for struct ip_mreqn (UDPv4 multicast)) -AC_LINK_IFELSE([AC_LANG_PROGRAM([[ +AC_CHECK_TYPE([struct ip_mreqn], [ + AC_DEFINE(HAVE_IP_MREQN, 1, define to 1 if you have struct ip_mreqn) +], [], [ #include #include -]], [[ - struct ip_mreqn mn; - mn.imr_ifindex = 0; -]])],[have_ip_mreqn=yes],[have_ip_mreqn=no]) -AC_MSG_RESULT($have_ip_mreqn) -if test ${have_ip_mreqn} = yes; then - AC_DEFINE(HAVE_IP_MREQN, 1, define to 1 if you have struct ip_mreqn) -fi +]) ########################################################################### ogg STASH_FLAGS LIB_ARG_WITH([ogg], [-logg]) @@ -347,7 +349,8 @@ AC_CHECK_LIB([samplerate], [src_process], [], HAVE_SAMPLERATE=no) LIB_SUBST_FLAGS(samplerate) UNSTASH_FLAGS ######################################################################### server -if test -n "$CRYPTOLIB" && test $HAVE_OSL = yes; then +if test -n "$CRYPTOLIB" && test $HAVE_OSL = yes && test -n "$BISON" && \ + test -n "$FLEX"; then build_server="yes" executables="$executables server" server_errlist_objs=" @@ -374,6 +377,7 @@ if test -n "$CRYPTOLIB" && test $HAVE_OSL = yes; then afs aft mood + mp score attribute blob @@ -388,9 +392,10 @@ if test -n "$CRYPTOLIB" && test $HAVE_OSL = yes; then wma_common sideband version + lsu " if test "$CRYPTOLIB" = openssl; then - server_errlist_objs="$server_errlist_objs crypt" + server_errlist_objs="$server_errlist_objs openssl" else server_errlist_objs="$server_errlist_objs gcrypt" fi @@ -416,6 +421,7 @@ if test -n "$CRYPTOLIB"; then net string fd + lsu sched stdin stdout @@ -428,7 +434,7 @@ if test -n "$CRYPTOLIB"; then version " if test "$CRYPTOLIB" = openssl; then - client_errlist_objs="$client_errlist_objs crypt" + client_errlist_objs="$client_errlist_objs openssl" else client_errlist_objs="$client_errlist_objs gcrypt" fi @@ -482,9 +488,10 @@ if test -n "$CRYPTOLIB"; then wmadec_filter buffer_tree sync_filter + lsu " if test "$CRYPTOLIB" = openssl; then - audiod_errlist_objs="$audiod_errlist_objs crypt" + audiod_errlist_objs="$audiod_errlist_objs openssl" else audiod_errlist_objs="$audiod_errlist_objs gcrypt" fi @@ -539,7 +546,7 @@ fi if test $HAVE_OSS = yes -o $HAVE_ALSA = yes; then build_mixer="yes" executables="$executables mixer" - mixer_errlist_objs="mixer exec string fd version" + mixer_errlist_objs="mixer exec string fd lsu version" if test $HAVE_OSS = yes; then mixer_errlist_objs="$mixer_errlist_objs oss_mix" fi @@ -565,6 +572,7 @@ if test $HAVE_CURSES = yes; then fd gui gui_theme + lsu time sched version @@ -589,6 +597,7 @@ filter_errlist_objs=" amp_filter fecdec_filter fec + lsu version prebuffer_filter time @@ -718,6 +727,7 @@ play_errlist_objs=" file_write version sync_filter + lsu " NEED_OGG_OBJECTS && play_errlist_objs="$play_errlist_objs ogg_afh_common" NEED_VORBIS_OBJECTS && { @@ -789,6 +799,7 @@ AC_SUBST(write_objs, add_dot_o($write_objs)) audioc_errlist_objs=" audioc string + lsu net fd version @@ -803,33 +814,9 @@ if test $HAVE_READLINE = yes; then fi audioc_objs="$audioc_errlist_objs" AC_SUBST(audioc_objs, add_dot_o($audioc_objs)) -################################################################## status items - -status_items="basename status num_played mtime bitrate frequency file_size -status_flags format score techinfo afs_mode -attributes_txt decoder_flags audiod_status play_time attributes_bitmap -offset seconds_total stream_start current_time audiod_uptime image_id -lyrics_id duration directory lyrics_name image_name path hash channels -last_played num_chunks chunk_time amplification artist title year album -comment max_chunk_size" - -result= -for i in $status_items; do - result="$result SI_$(echo $i | tr 'a-z' 'A-Z'), " -done -AC_DEFINE_UNQUOTED(STATUS_ITEM_ENUM, [$result], - [enum of all status items]) - -result= -for i in $status_items; do - result="$result \"$i\", " -done -AC_DEFINE_UNQUOTED(STATUS_ITEM_ARRAY, [$result], - [char * array of all status items]) AC_DEFINE_UNQUOTED(AUDIO_FORMAT_HANDLERS, "$audio_format_handlers", [formats supported by para_server and para_afh]) - AC_SUBST(executables) AC_OUTPUT