X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=configure.ac;h=18aa36191d33851a7b8b43adbdf632f9a96e280c;hb=ab3876d4c059d4a076c49d1700067fe7b3696d54;hp=912767ef5ef1051a96f60fa97d0631ec5cc3d2a7;hpb=d50527814b026149f7c7dfc6b95ea5a54a5cc771;p=ncmpc.git diff --git a/configure.ac b/configure.ac index 912767e..18aa361 100644 --- a/configure.ac +++ b/configure.ac @@ -1,110 +1,395 @@ dnl -dnl $Id: configure.ac,v 1.10 2004/03/18 09:33:43 kalle Exp $ +dnl $Id$ dnl -AC_INIT(main.c) -AM_INIT_AUTOMAKE(ncmpc, 0.10.0-svn) +AC_INIT(ncurses MPD client, 0.12~git, max@duempel.org, ncmpc) +AC_CONFIG_SRCDIR([src/main.c]) +AM_INIT_AUTOMAKE([gnu 1.9 dist-bzip2]) +AM_CONFIG_HEADER([config.h]) +AC_CONFIG_MACRO_DIR([m4]) dnl Check for programs -AC_PROG_CC +AC_PROG_CC_C99 AC_PROG_INSTALL -dnl AC_PROG_LIBTOOL dnl ======================================================= dnl initialize variables dnl ======================================================= -set -- $CFLAGS -CFLAGS="-Wall $CFLAGS" - -dnl -dnl Check for types -dnl -AC_CHECK_TYPE(socklen_t, - AC_DEFINE(HAVE_SOCKLEN_T, 1, socklen_t defined in sys/socket.h), -) +dnl i18n +ALL_LINGUAS="es da de fr gl no ru sv" +set -- $CFLAGS dnl dnl Check for headers dnl -AC_CHECK_HEADER(libgen.h, - AC_DEFINE(HAVE_LIBGEN_H, 1, glibc - libgen.h), - ,) - -AC_CHECK_HEADER(locale.h, - AC_DEFINE(HAVE_LOCALE_H, 1, locale.h), +AC_CHECK_HEADER([locale.h], + AC_DEFINE([HAVE_LOCALE_H], [1], [locale.h]), ,) dnl dnl Check for functions dnl -AC_CHECK_FUNCS(basename strcasestr) +AC_CHECK_FUNCS([strcasestr]) + + +dnl +dnl ncmpc-mini +dnl + +AC_ARG_ENABLE(mini, + AS_HELP_STRING([--enable-mini], + [Build ncmpc-mini (default: disabled)]), + [enable_mini=$enableval], + [enable_mini=no]) + +AM_CONDITIONAL(NCMPC_MINI, test x$enable_mini = xyes) +if test "x$enable_mini" = xyes; then + AC_DEFINE([NCMPC_MINI], [1], [Build ncmpc-mini, which disables lots of features]), + auto=no + disable_mini=no + ncurses=ncurses +else + auto=auto + disable_mini=yes + ncurses=auto +fi dnl dnl Check for libraries dnl +dnl Try to find the socket functions +AC_CHECK_FUNC([socket], + [], + [AC_CHECK_LIB([socket],[socket],[LIBS="$LIBS -lsocket"], + [AC_MSG_ERROR(No UNIX socket API found)]) + ]) + +dnl Try to find the gethostbyname functions +AC_CHECK_FUNC([gethostbyname], + [], + [AC_CHECK_LIB([nsl],[gethostbyname],[LIBS="$LIBS -lnsl"], + [AC_MSG_ERROR(No UNIX gethostbyname API found)]) + ]) + + +dnl wide character support +AC_ARG_ENABLE([wide], + AC_HELP_STRING([--enable-wide], + [Enable wide character support]), + [enable_wide=$enableval], + [enable_wide=auto]) + + dnl ncurses -AC_CHECK_LIB(ncurses, initscr,, [AC_MSG_ERROR(ncurses library is required)]) -LIBS="$LIBS -lncurses" +AC_ARG_WITH([ncurses], + AC_HELP_STRING([--with-ncurses], [compile/link with ncurses library] ), + [ncurses=ncurses]) +AC_ARG_WITH(ncursesw, + AC_HELP_STRING([--with-ncursesw], [compile/link with wide-char ncurses library @<:@default@:>@]), + [ncurses=ncursesw]) + +if test "x$enable_wide" = "xno"; then + if test "x$ncurses" = "xauto"; then + dnl select narrow ncurses + ncurses=ncurses + fi + + if test "x$ncurses" = "xncursesw"; then + AC_MSG_WARN([Narrow ncmpc linking against wide libncurses]) + fi +fi -dnl glib-2.0 -AM_PATH_GLIB_2_0(, , [AC_MSG_ERROR(glib-2.x is required)], glib) +if test "x$ncurses" = "xauto"; then + AC_CHECK_LIB([ncursesw], + [initscr], + [ncurses=ncursesw], + [ncurses=ncurses]) +fi + +AC_CHECK_LIB([$ncurses], + [initscr], + [LIBS="$LIBS -l$ncurses"], + [AC_MSG_ERROR($ncurses library is required)]) + +if test "x$ncurses" = "xncursesw"; then + AC_CHECK_HEADER([ncursesw/ncurses.h], + AC_DEFINE([HAVE_NCURSESW_NCURSES_H], [1], [ncursesw/ncurses.h]), + ,) +fi -dnl popt -AC_CHECK_LIB(popt, - poptGetArg, - LIBS="$LIBS -lpopt", - AC_MSG_ERROR(Missing popt command line parsing library)) +dnl wide character support II + +if test "x$enable_wide" = "xauto" ; then + AC_CHECK_LIB([$ncurses], + [wget_wch], + [enable_wide=yes], + [enable_wide=no]) +fi + +AC_MSG_CHECKING([wide character support]) +AC_MSG_RESULT([$enable_wide]) + +if test "x$enable_wide" = "xyes" ; then + AC_DEFINE([ENABLE_WIDE], [1], [Enable wide character support]) +fi + + +dnl Check for glib-2.4 +PKG_CHECK_MODULES([GLIB], + [glib-2.0 >= 2.4], + [glib24=yes], + [AC_MSG_WARN([glib-2.4 is required for NLS support!])]) +if test "x$glib24" != "xyes"; then + PKG_CHECK_MODULES([GLIB], + [glib-2.0 >= 2.2], + [nls=no], + [AC_MSG_ERROR([glib-2.2 is required])]) +fi +dnl i18n + +AC_MSG_CHECKING([national language support]) +AC_ARG_ENABLE([nls], + AS_HELP_STRING([--enable-nls], [Enable national language support]), + [enable_nls=$enableval], + [enable_nls=$disable_mini]) +AC_MSG_RESULT([$enable_nls]) + +if test "x$enable_nls" = xno; then + glib24=no + nls=no +fi + +AM_NLS +if test "x$glib24" = "xyes"; then + nls=$USE_NLS +else + USE_NLS=no + AC_SUBST(USE_NLS) +fi + +if test "x$nls" = "xyes"; then + AM_GLIB_GNU_GETTEXT + GETTEXT_PACKAGE=$PACKAGE + AC_SUBST(GETTEXT_PACKAGE) + AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE], + ["${GETTEXT_PACKAGE}"], + [gettext domain]) + nls=$gt_cv_have_gettext + if test "x$nls" != "xyes"; then + AC_MSG_WARN([NLS support disabled!]) + fi +else + AM_PO_SUBDIRS +fi + +dnl enable colors +AC_MSG_CHECKING([color support]) +AC_ARG_ENABLE([colors], + AC_HELP_STRING([--enable-colors], + [Enable color support]), + [use_colors=$enableval], + [use_colors=no]) +AC_MSG_RESULT([$use_colors]) +if test "x$use_colors" = "xyes" ; then + AC_DEFINE([ENABLE_COLORS], [1], [Enable color support]) +fi + +dnl test for LIRC support + +AC_ARG_ENABLE([lirc], + AC_HELP_STRING([--enable-lirc], + [Enable LIRC support]), + [enable_lirc=$enableval], + [enable_lirc=no]) +if test x$enable_lirc = xyes; then + PKG_CHECK_MODULES([LIBLIRCCLIENT], [liblircclient0],, + [AC_MSG_ERROR([liblircclient0 not found])]) + AC_DEFINE([ENABLE_LIRC], [1], [Enable LIRC support]) +fi + +AM_CONDITIONAL(ENABLE_LIRC, test x$enable_lirc = xyes) dnl Debugging -AC_ARG_ENABLE(debug, - [ --enable-debug Enable debugging [default=no]], - , - enable_debug=no) +AC_MSG_CHECKING([whether to build with debug support]) +AC_ARG_ENABLE([debug], + AC_HELP_STRING([--enable-debug], + [Enable debugging @<:@default=no@:>@]), + [enable_debug="$enableval"], + [enable_debug=no]) +AC_MSG_RESULT([$enable_debug]) +if test "x$enable_debug" = "xyes" ; then + CFLAGS="$CFLAGS -g" +else + CFLAGS="$CFLAGS -DNDEBUG" +fi + +dnl CFLAGS + +AC_SUBST(AM_CFLAGS) + +CHECK_CFLAG([-Wall]) +CHECK_CFLAG([-Wextra]) +CHECK_CFLAG([-Wno-deprecated-declarations]) +CHECK_CFLAG([-Wmissing-prototypes]) +CHECK_CFLAG([-Wdeclaration-after-statement]) +CHECK_CFLAG([-Wshadow]) +CHECK_CFLAG([-Wpointer-arith]) +CHECK_CFLAG([-Wstrict-prototypes]) +CHECK_CFLAG([-Wcast-qual]) +CHECK_CFLAG([-Wwrite-strings]) -if test "$enable_debug" = yes; then - CFLAGS="$CFLAGS -g -DDEBUG" +dnl Optional screen - help screen +AC_MSG_CHECKING([whether to include the help screen]) +AC_ARG_ENABLE([help-screen], + AS_HELP_STRING([--enable-help-screen], + [Enable the help screen @<:@default=yes@:>@]), + [help_screen="$enableval"], + [help_screen=$disable_mini]) +AC_MSG_RESULT([$help_screen]) +if test "x$help_screen" = "xyes" ; then + AC_DEFINE(ENABLE_HELP_SCREEN, 1, [Enable the help screen]) fi -dnl Default host -AC_ARG_WITH(default-host, - [ --with-default-host=HOST Default host (localhost)], - DEFAULT_HOST="$withval", - DEFAULT_HOST="localhost") +AM_CONDITIONAL(ENABLE_HELP_SCREEN, test x$help_screen = xyes) -dnl Default port -AC_ARG_WITH(default-port, - [ --with-default-port=PORT Default port (2100)], - DEFAULT_PORT="$withval", - DEFAULT_PORT="2100") +dnl Optional screen - browse screen +#AC_MSG_CHECKING([whether to include the browse screen])r +#AC_ARG_ENABLE([browse-screen], +# AC_HELP_STRING([--enable-browse-screen], +# [Enable the browse screen @<:@default=yes@:>@]), +# [browse_screen="$enableval"], +# [browse_screen=yes]) +#AC_MSG_RESULT([$browse_screen]) +#if test "x$browse_screen" = "xyes" ; then +# AC_DEFINE(ENABLE_BROWSE_SCREEN, 1, [Enable the browse screen]) +#fi + +dnl Optional - curses getmouse support +AC_MSG_CHECKING([whether to include mouse support]) +AC_ARG_ENABLE([mouse], + AC_HELP_STRING([--enable-mouse], + [Enable curses getmouse support @<:@default=yes@:>@]), + [getmouse="$enableval"], + [getmouse=$disable_mini]) +AC_MSG_RESULT([$getmouse]) +if test "x$getmouse" = "xyes" ; then + AC_CHECK_LIB([$ncurses], + [getmouse], + [AC_DEFINE([HAVE_GETMOUSE], [1], [$ncurses - getmouse()])], + []) +fi + +dnl Optional screen - artist +AC_MSG_CHECKING([whether to include the artist screen]) +AC_ARG_ENABLE([artist-screen], + AC_HELP_STRING([--enable-artist-screen], + [Enable artist screen (EXPERIMENTAL) @<:@default=no@:>@]), + [artist_screen="$enableval"], + [artist_screen=no]) +AC_MSG_RESULT([$artist_screen]) +if test "x$artist_screen" = "xyes" ; then + AC_DEFINE(ENABLE_ARTIST_SCREEN, 1, [Enable artist screen]) +fi + +AM_CONDITIONAL(ENABLE_ARTIST_SCREEN, test x$artist_screen = xyes) + +dnl Optional screen - search +AC_MSG_CHECKING([whether to include the search screen]) +AC_ARG_ENABLE([search-screen], + AC_HELP_STRING([--enable-search-screen], + [Enable search screen (EXPERIMENTAL) @<:@default=yes@:>@]), + [search_screen="$enableval"], + [search_screen=$disable_mini]) +AC_MSG_RESULT([$search_screen]) +if test "x$search_screen" = "xyes" ; then + AC_DEFINE(ENABLE_SEARCH_SCREEN, 1, [Enable search screen]) +fi + +AM_CONDITIONAL(ENABLE_SEARCH_SCREEN, test x$search_screen = xyes) + +dnl Optional screen - key editor +AC_MSG_CHECKING([whether to include the key editor screen]) +AC_ARG_ENABLE([key-screen], + AC_HELP_STRING([--enable-key-screen], + [Enable key editor screen @<:@default=yes@:>@]), + [keydef_screen="$enableval"], + [keydef_screen=$disable_mini]) +AC_MSG_RESULT([$keydef_screen]) +if test "x$keydef_screen" = "xyes" ; then + AC_DEFINE(ENABLE_KEYDEF_SCREEN, 1, [Enable key editor screen]) +fi + +AM_CONDITIONAL(ENABLE_KEYDEF_SCREEN, test x$keydef_screen = xyes) +dnl Optional screen - lyrics +AC_MSG_CHECKING([whether to include the lyrics screen]) +AC_ARG_ENABLE([lyrics-screen], + AC_HELP_STRING([--enable-lyrics-screen], + [Enable lyrics screen @<:@default=no@:>@]), + [lyrics_screen="$enableval"], + [lyrics_screen=no]) +if test "x$lyrics_screen" = "xyes" ; then + AC_DEFINE(ENABLE_LYRICS_SCREEN, 1, [Enable lyrics screen]) +fi -CFLAGS="$CFLAGS $GLIB_CFLAGS" -LIBS="$LIBS $GLIB_LIBS" +AM_CONDITIONAL(ENABLE_LYRICS_SCREEN, test x$lyrics_screen = xyes) +AC_MSG_RESULT([$lyrics_screen]) -dnl Autoheader -AC_DEFINE_UNQUOTED(DEFAULT_PORT, $DEFAULT_PORT, Default MPD port) -AC_DEFINE_UNQUOTED(DEFAULT_PORT_STR, "$DEFAULT_PORT", Default MPD port) -AC_DEFINE_UNQUOTED(DEFAULT_HOST, "$DEFAULT_HOST", Default MPD host) +AC_ARG_WITH([lyrics-plugin-dir], + AC_HELP_STRING([[--with-lyrics-plugin-dir[=DIRECTORY]]], + [Directory where lyrics plugins are stored @<:@default=PREFIX/lib/ncmpc/lyrics@:>@]), + [lyrics_plugin_dir=$withval], + [lyrics_plugin_dir=""]) +if test "x${lyrics_plugin_dir}" = "x"; then + if test "x${prefix}" = "xNONE"; then + lyrics_plugin_dir="${ac_default_prefix}/lib/ncmpc/lyrics" + else + lyrics_plugin_dir="${prefix}/lib/ncmpc/lyrics" + fi +fi +AC_DEFINE_UNQUOTED([LYRICS_PLUGIN_DIR], ["$lyrics_plugin_dir"], + [Directory to search for lyrics plugins]) +AC_SUBST(lyrics_plugin_dir) -AM_CONFIG_HEADER(config.h) +dnl Default host +AC_MSG_CHECKING([for default MPD host]) +AC_ARG_WITH([default-host], + AC_HELP_STRING([--with-default-host=ARG], + [Default MPD host @<:@localhost@:>@]), + [DEFAULT_HOST="$withval"], + [DEFAULT_HOST="localhost"]) +AC_MSG_RESULT([$DEFAULT_HOST]) +AC_DEFINE_UNQUOTED([DEFAULT_HOST], ["$DEFAULT_HOST"], [Default MPD host]) -AC_OUTPUT(doc/Makefile Makefile) +dnl Default port +AC_MSG_CHECKING([for default MPD port]) +AC_ARG_WITH([default-port], + AC_HELP_STRING([--with-default-port=ARG], + [Default port @<:@6600@:>@]), + [DEFAULT_PORT="$withval"], + [DEFAULT_PORT="6600"]) +AC_MSG_RESULT([$DEFAULT_PORT]) +AC_DEFINE_UNQUOTED([DEFAULT_PORT], [$DEFAULT_PORT], [Default MPD port]) +AC_DEFINE_UNQUOTED([DEFAULT_PORT_STR], ["$DEFAULT_PORT"], [Default MPD port]) -echo " -Configuration: - Install path: ${prefix} - Enable debugging: ${enable_debug} - Default MPD host: ${DEFAULT_HOST} - Default MPD port: ${DEFAULT_PORT} -" -echo +dnl Default timedisplay type +AC_MSG_CHECKING([for default timedisplay type]) +AC_ARG_WITH([default-timedisplay_type], + AC_HELP_STRING([--with-default-timedisplay_type=ARG], + [default_timedisplay]), + [DEFAULT_TIMEDISPLAY_TYPE="$withval"], + [DEFAULT_TIMEDISPLAY_TYPE="elapsed"]) +AC_MSG_RESULT([$DEFAULT_TIMEDISPLAY_TYPE]) +AC_DEFINE_UNQUOTED([DEFAULT_TIMEDISPLAY_TYPE], ["$DEFAULT_TIMEDISPLAY_TYPE"], [Default way to display time, either 'elapsed' or 'remaining']) +AC_CONFIG_FILES([Makefile src/Makefile doc/Makefile po/Makefile.in po/Makefile]) +AC_OUTPUT