From: Felix Domke Date: Fri, 17 Oct 2003 17:20:22 +0000 (+0000) Subject: add acinclude.m4 from tuxbox project X-Git-Url: http://code.vuplus.com/gitweb/?p=vuplus_dvbapp;a=commitdiff_plain;h=8f64fddf07fe3c0bb4d13f975396313b9e62c4a1 add acinclude.m4 from tuxbox project --- diff --git a/acinclude.m4 b/acinclude.m4 new file mode 100644 index 0000000..63b1444 --- /dev/null +++ b/acinclude.m4 @@ -0,0 +1,350 @@ +AC_DEFUN(TUXBOX_APPS,[ +AM_CONFIG_HEADER(config.h) +AM_MAINTAINER_MODE + +AC_GNU_SOURCE +AC_SYS_LARGEFILE + +AC_ARG_WITH(target, + [ --with-target=TARGET target for compilation [[native,cdk]]], + [TARGET="$withval"],[TARGET="native"]) + +AC_ARG_WITH(targetprefix, + [ --with-targetprefix=PATH prefix relative to target root [[PREFIX[for native], /[for cdk]]]], + [targetprefix="$withval"],[targetprefix="NONE"]) + +AC_ARG_WITH(debug, + [ --without-debug disable debugging code], + [DEBUG="$withval"],[DEBUG="yes"]) + +if test "$DEBUG" = "yes"; then + DEBUG_CFLAGS="-g3 -ggdb" + AC_DEFINE(DEBUG,1,[Enable debug messages]) +fi + +if test "$TARGET" = "native"; then + if test "$CFLAGS" = "" -a "$CXXFLAGS" = ""; then + CFLAGS="-Wall -O2 -pipe $DEBUG_CFLAGS" + CXXFLAGS="-Wall -O2 -pipe $DEBUG_CFLAGS" + fi + if test "$prefix" = "NONE"; then + prefix=/usr/local + fi + if test "$targetprefix" = "NONE"; then + targetprefix="\${prefix}" + _targetprefix="${prefix}" + else + _targetprefix="$targetprefix" + fi +elif test "$TARGET" = "cdk"; then + if test "$CC" = "" -a "$CXX" = ""; then + CC=powerpc-tuxbox-linux-gnu-gcc CXX=powerpc-tuxbox-linux-gnu-g++ + fi + if test "$CFLAGS" = "" -a "$CXXFLAGS" = ""; then + CFLAGS="-Wall -Os -mcpu=823 -pipe $DEBUG_CFLAGS" + CXXFLAGS="-Wall -Os -mcpu=823 -pipe $DEBUG_CFLAGS" + fi + if test "$prefix" = "NONE"; then + prefix=/dbox2/cdkroot + fi + if test "$targetprefix" = "NONE"; then + targetprefix="" + _targetprefix="" + else + _targetprefix="$targetprefix" + fi + if test "$host_alias" = ""; then + cross_compiling=yes + host_alias=powerpc-tuxbox-linux-gnu + fi +else + AC_MSG_ERROR([invalid target $TARGET, choose on from native,cdk]); +fi + +AC_CANONICAL_BUILD +AC_CANONICAL_HOST + +targetdatadir="\${targetprefix}/share" +_targetdatadir="${_targetprefix}/share" +targetsysconfdir="\${targetprefix}/etc" +_targetsysconfdir="${_targetprefix}/etc" +targetlocalstatedir="\${targetprefix}/var" +_targetlocalstatedir="${_targetprefix}/var" +targetlibdir="\${targetprefix}/lib" +_targetlibdir="${_targetprefix}/lib" +AC_SUBST(targetprefix) +AC_SUBST(targetdatadir) +AC_SUBST(targetsysconfdir) +AC_SUBST(targetlocalstatedir) + +check_path () { + return $(perl -e "if(\"$1\"=~m#^/usr/(local/)?bin#){print \"0\"}else{print \"1\";}") +} + +]) + +AC_DEFUN(TUXBOX_APPS_DIRECTORY,[ +AC_REQUIRE([TUXBOX_APPS]) + +CONFIGDIR="\${localstatedir}/tuxbox/config" +_CONFIGDIR="${_targetlocalstatedir}/tuxbox/config" +AC_SUBST(CONFIGDIR) +AC_DEFINE_UNQUOTED(CONFIGDIR,"$_CONFIGDIR",[where to find the config files]) + +DATADIR="\${datadir}/tuxbox" +_DATADIR="${_targetdatadir}/tuxbox" +AC_SUBST(DATADIR) +AC_DEFINE_UNQUOTED(DATADIR,"$_DATADIR",[where to find data like icons]) + +FONTDIR="\${datadir}/fonts" +_FONTDIR="${_targetdatadir}/fonts" +AC_SUBST(FONTDIR) +AC_DEFINE_UNQUOTED(FONTDIR,"$_FONTDIR",[where to find the fonts]) + +GAMESDIR="\${localstatedir}/tuxbox/games" +_GAMESDIR="${_targetlocalstatedir}/tuxbox/games" +AC_SUBST(GAMESDIR) +AC_DEFINE_UNQUOTED(GAMESDIR,"$_GAMESDIR",[where games data is stored]) + +LIBDIR="\${libdir}/tuxbox" +_LIBDIR="${_targetlibdir}/tuxbox" +AC_SUBST(LIBDIR) +AC_SUBST(_LIBDIR) +AC_DEFINE_UNQUOTED(LIBDIR,"$_LIBDIR",[where to find the internal libs]) + +PLUGINDIR="\${libdir}/tuxbox/plugins" +_PLUGINDIR="${_targetlibdir}/tuxbox/plugins" +AC_SUBST(PLUGINDIR) +AC_DEFINE_UNQUOTED(PLUGINDIR,"$_PLUGINDIR",[where to find the plugins]) + +UCODEDIR="\${localstatedir}/tuxbox/ucodes" +_UCODEDIR="${_targetlocalstatedir}/tuxbox/ucodes" +AC_SUBST(UCODEDIR) +AC_DEFINE_UNQUOTED(UCODEDIR,"$_UCODEDIR",[where to find the ucodes (firmware)]) +]) + +AC_DEFUN(TUXBOX_APPS_ENDIAN,[ +AC_CHECK_HEADERS(endian.h) +AC_C_BIGENDIAN +]) + +AC_DEFUN(TUXBOX_APPS_DRIVER,[ +AC_ARG_WITH(driver, + [ --with-driver=PATH path for driver sources[[NONE]]], + [DRIVER="$withval"],[DRIVER=""]) + +if test -z "$DRIVER"; then + AC_MSG_ERROR([can't find driver sources]) +fi +CPPFLAGS="$CPPFLAGS -I$DRIVER/include" +AC_SUBST(DRIVER) +]) + +AC_DEFUN([TUXBOX_APPS_DVB],[ +AC_ARG_WITH(dvbincludes, + [ --with-dvbincludes=PATH path for dvb includes[[NONE]]], + [DVBINCLUDES="$withval"],[DVBINCLUDES=""]) + +orig_CPPFLAGS=$CPPFLAGS +if test "$DVBINCLUDES"; then + CPPFLAGS="-I$DVBINCLUDES" +else + CPPFLAGS="" +fi +AC_CHECK_HEADERS(linux/dvb/version.h,[DVB_VERSION_H="yes"]) +AC_CHECK_HEADERS(ost/dmx.h,[OST_DMX_H="yes"]) +if test "$DVB_VERSION_H"; then + AC_MSG_NOTICE([found dvb version 2 or later]) +elif test "$OST_DMX_H"; then + AC_MSG_NOTICE([found dvb version 1]) +else + AC_MSG_ERROR([can't find dvb headers]) +fi +DVB_VERSION_H= +OST_DMX_H= +CPPFLAGS="$orig_CPPFLAGS -I$DVBINCLUDES" +]) + +AC_DEFUN(_TUXBOX_APPS_LIB_CONFIG,[ +AC_PATH_PROG($1_CONFIG,$2,no) +if test "$$1_CONFIG" != "no"; then + if test "$TARGET" = "cdk" && check_path "$$1_CONFIG"; then + AC_MSG_$3([could not find a suitable version of $2]); + else + $1_CFLAGS=$($$1_CONFIG --cflags) + $1_LIBS=$($$1_CONFIG --libs) + fi +fi + +AC_SUBST($1_CFLAGS) +AC_SUBST($1_LIBS) +]) + +AC_DEFUN(TUXBOX_APPS_LIB_CONFIG,[ +_TUXBOX_APPS_LIB_CONFIG($1,$2,ERROR) +if test "$$1_CONFIG" = "no"; then + AC_MSG_ERROR([could not find $2]); +fi +]) + +AC_DEFUN(TUXBOX_APPS_LIB_CONFIG_CHECK,[ +_TUXBOX_APPS_LIB_CONFIG($1,$2,WARN) +]) + +AC_DEFUN(TUXBOX_APPS_PKGCONFIG,[ +AC_PATH_PROG(PKG_CONFIG, pkg-config,no) +if test "$PKG_CONFIG" = "no" ; then + AC_MSG_ERROR([could not find pkg-config]); +fi +]) + +AC_DEFUN(_TUXBOX_APPS_LIB_PKGCONFIG,[ +AC_REQUIRE([TUXBOX_APPS_PKGCONFIG]) +AC_MSG_CHECKING(for package $2) +if PKG_CONFIG_PATH="${prefix}/lib/pkgconfig" $PKG_CONFIG --exists "$2" ; then + AC_MSG_RESULT(yes) + $1_CFLAGS=$(PKG_CONFIG_PATH="${prefix}/lib/pkgconfig" $PKG_CONFIG --cflags "$2") + $1_LIBS=$(PKG_CONFIG_PATH="${prefix}/lib/pkgconfig" $PKG_CONFIG --libs "$2") +else + AC_MSG_RESULT(no) +fi + +AC_SUBST($1_CFLAGS) +AC_SUBST($1_LIBS) +]) + +AC_DEFUN(TUXBOX_APPS_LIB_PKGCONFIG,[ +_TUXBOX_APPS_LIB_PKGCONFIG($1,$2) +if test -z "$$1_CFLAGS" ; then + AC_MSG_ERROR([could not find package $2]); +fi +]) + +AC_DEFUN(TUXBOX_APPS_LIB_PKGCONFIG_CHECK,[ +_TUXBOX_APPS_LIB_PKGCONFIG($1,$2) +]) + +AC_DEFUN(_TUXBOX_APPS_LIB_SYMBOL,[ +AC_CHECK_LIB($2,$3,HAVE_$1="yes",HAVE_$1="no") +if test "$HAVE_$1" = "yes"; then + $1_LIBS=-l$2 +fi + +AC_SUBST($1_LIBS) +]) + +AC_DEFUN(TUXBOX_APPS_LIB_SYMBOL,[ +_TUXBOX_APPS_LIB_SYMBOL($1,$2,$3,ERROR) +if test "$HAVE_$1" = "no"; then + AC_MSG_ERROR([could not find $2]); +fi +]) + +AC_DEFUN(TUXBOX_APPS_LIB_CONFIG_SYMBOL,[ +_TUXBOX_APPS_LIB_SYMBOL($1,$2,$3,WARN) +]) + +AC_DEFUN(TUXBOX_APPS_GETTEXT,[ +AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt, + [$ac_dir/$ac_word --statistics /dev/null >/dev/null 2>&1 && + (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)], + :) +AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT) + +AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext, + [$ac_dir/$ac_word --omit-header --copyright-holder= /dev/null >/dev/null 2>&1 && + (if $ac_dir/$ac_word --omit-header --copyright-holder= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)], + :) + +AM_PATH_PROG_WITH_TEST(MSGMERGE, msgmerge,[$ac_dir/$ac_word --update -q /dev/null /dev/null >/dev/null 2>&1],:) + +AC_MSG_CHECKING([whether NLS is requested]) +AC_ARG_ENABLE(nls, + [ --disable-nls do not use Native Language Support], + USE_NLS=$enableval, USE_NLS=yes) +AC_MSG_RESULT($USE_NLS) +AC_SUBST(USE_NLS) + +if test "$USE_NLS" = "yes"; then + AC_CACHE_CHECK([for GNU gettext in libc], gt_cv_func_gnugettext_libc,[ + AC_TRY_LINK([ + #include + #ifndef __GNU_GETTEXT_SUPPORTED_REVISION + #define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1) + #endif + extern int _nl_msg_cat_cntr; + extern int *_nl_domain_bindings; + ],[ + bindtextdomain ("", ""); + return (int) gettext ("") + _nl_msg_cat_cntr + *_nl_domain_bindings; + ], gt_cv_func_gnugettext_libc=yes, gt_cv_func_gnugettext_libc=no + )] + ) + + if test "$gt_cv_func_gnugettext_libc" = "yes"; then + AC_DEFINE(ENABLE_NLS, 1, [Define to 1 if translation of program messages to the user's native language is requested.]) + gt_use_preinstalled_gnugettext=yes + else + USE_NLS=no + fi +fi + +if test -f "$srcdir/po/LINGUAS"; then + ALL_LINGUAS=$(sed -e "/^#/d" "$srcdir/po/LINGUAS") +fi + +POFILES= +GMOFILES= +UPDATEPOFILES= +DUMMYPOFILES= +for lang in $ALL_LINGUAS; do + POFILES="$POFILES $srcdirpre$lang.po" + GMOFILES="$GMOFILES $srcdirpre$lang.gmo" + UPDATEPOFILES="$UPDATEPOFILES $lang.po-update" + DUMMYPOFILES="$DUMMYPOFILES $lang.nop" +done +INST_LINGUAS= +if test -n "$ALL_LINGUAS"; then + for presentlang in $ALL_LINGUAS; do + useit=no + if test -n "$LINGUAS"; then + desiredlanguages="$LINGUAS" + else + desiredlanguages="$ALL_LINGUAS" + fi + for desiredlang in $desiredlanguages; do + case "$desiredlang" in + "$presentlang"*) useit=yes;; + esac + done + if test $useit = yes; then + INST_LINGUAS="$INST_LINGUAS $presentlang" + fi + done +fi +CATALOGS= +if test -n "$INST_LINGUAS"; then + for lang in $INST_LINGUAS; do + CATALOGS="$CATALOGS $lang.gmo" + done +fi +AC_SUBST(POFILES) +AC_SUBST(GMOFILES) +AC_SUBST(UPDATEPOFILES) +AC_SUBST(DUMMYPOFILES) +AC_SUBST(CATALOGS) +]) + + + +AC_DEFUN([AC_GNU_SOURCE], +[AH_VERBATIM([_GNU_SOURCE], +[/* Enable GNU extensions on systems that have them. */ +#ifndef _GNU_SOURCE +# undef _GNU_SOURCE +#endif])dnl +AC_BEFORE([$0], [AC_COMPILE_IFELSE])dnl +AC_BEFORE([$0], [AC_RUN_IFELSE])dnl +AC_DEFINE([_GNU_SOURCE]) +]) +