# explicit defines for separate revision handling define(ver_major, 3) define(ver_minor, 13) define(ver_micro, 0) define(rel_cycle, "ver_major.0") # sync with current git define(ver_git, m4_esyscmd([ GITBRANCH=$(git rev-parse --abbrev-ref HEAD); GITDESCRIBE=$(git describe --always --tags --dirty); printf "$GITDESCRIBE $GITBRANCH" ])) define(ver_date, m4_esyscmd([ BUILTDATE=$(date); printf "$BUILTDATE" ])) AC_INIT(Tuxbox-Neutrino,ver_major.ver_minor.ver_micro) AM_INIT_AUTOMAKE([nostdinc foreign]) m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES]) AC_DEFINE(PACKAGE_RELEASE_CYCLE, rel_cycle, [Release cycle information; used in update code; only relevant for flash image releases ]) AC_DEFINE(PACKAGE_VERSION_MAJOR, ver_major, [Major version number]) AC_DEFINE(PACKAGE_VERSION_MINOR, ver_minor, [Minor version number]) AC_DEFINE(PACKAGE_VERSION_MICRO, ver_micro, [Micro version number]) AC_DEFINE(PACKAGE_VERSION_GIT, "ver_git", [internal vcs version info]) AC_DEFINE(PACKAGE_VERSION_DATE, "ver_date", [internal built date]) TUXBOX_APPS TUXBOX_APPS_DIRECTORY TUXBOX_APPS_PKGCONFIG TUXBOX_BOXTYPE AC_PROG_CC AC_PROG_CXX AC_DISABLE_STATIC LT_INIT # Add build information to local_build_config.h.tmp # ------------------------------------------------- rm -f local_build_config.h.tmp cat > local_build_config.h.tmp << EOF /* Build system under which the program was compiled on. */ #define USED_BUILD "$build" /* Define to the used CXXFLAGS to compile this package. */ #define USED_CXXFLAGS "$CXXFLAGS" EOF if COMPILER=`$CC --version | head -n 1`; then cat >> local_build_config.h.tmp <<-EOF /* Define to name and version of used compiler */ #define USED_COMPILER "$COMPILER" EOF fi # only update header if it differs to avoid unnecessary rebuilds if ! diff local_build_config.h.tmp local_build_config.h >/dev/null 2>&1; then rm -f local_build_config.h mv local_build_config.h.tmp local_build_config.h else rm -f local_build_config.h.tmp fi AC_ARG_ENABLE(ffmpegdec, AS_HELP_STRING([--enable-ffmpegdec], [enable ffmpeg decoder support @<:@default=no@:>@]), AC_DEFINE(ENABLE_FFMPEGDEC, 1, [include ffmpeg decoder support])) AM_CONDITIONAL(ENABLE_FFMPEGDEC, test "$enable_ffmpegdec" = "yes") if test "$enable_ffmpegdec" != "yes"; then AC_ARG_WITH(tremor, AS_HELP_STRING([--with-tremor], [use libvorbisidec instead of libogg/libvorbis @<:@default=no@:>@]), [TREMOR="$withval"], [TREMOR=no]) AC_ARG_WITH(tremor-static, AS_HELP_STRING([--with-tremor-static], [use statically linked libvorbisidec instead of libogg/libvorbis @<:@default=no@:>@]), [TREMOR_STATIC="$withval"], [TREMOR_STATIC=no]) if test "$TREMOR_STATIC" = "yes"; then TREMOR=yes fi if test "$TREMOR" = "yes"; then TUXBOX_APPS_LIB_PKGCONFIG(VORBISIDEC,vorbisidec) AC_DEFINE(USE_TREMOR, 1, use libvorbisidec/tremor library) fi if test "$TREMOR_STATIC" = "yes"; then # hack to get the static lib location from the pkg-config data VORBISIDEC_LIBS="$(echo $VORBISIDEC_LIBS | sed 's@-L@@; s@ -l.*@/libvorbisidec.a@;')" fi TUXBOX_APPS_LIB_PKGCONFIG_CHECK(ID3TAG,libid3tag) if test x"$ID3TAG_EXISTS" != xyes; then TUXBOX_APPS_LIB_PKGCONFIG(ID3TAG,id3tag) fi TUXBOX_APPS_LIB_PKGCONFIG_CHECK(MAD,libmad) if test x"$MAD_EXISTS" != xyes; then TUXBOX_APPS_LIB_PKGCONFIG(MAD,mad) fi TUXBOX_APPS_LIB_PKGCONFIG_CHECK(OGG,ogg) if test -z "$OGG_CFLAGS" ; then TUXBOX_APPS_LIB_PKGCONFIG(OGG,ogg) fi fi # test "$enable_ffmpegdec" TUXBOX_APPS_LIB_PKGCONFIG(SWRESAMPLE,libswresample) AM_CONDITIONAL(USE_TREMOR, test "$TREMOR" = "yes") # TUXBOX_APPS_LIB_PKGCONFIG(OPENSSL,openssl) TUXBOX_APPS_LIB_PKGCONFIG(CURL,libcurl) ## For the check you must use the corresponding libtool number as version number, ## see freetype source code docs/VERSIONS.TXT PKG_CHECK_MODULES([FREETYPE], [freetype2 >= 16.2.10], [ echo "freetype2 >= 2.5.0 found" ], [ echo "freetype2 >= 2.5.0 not found, use alternative search method with freetype-config" #AC_MSG_ERROR([freetype2 >= 2.5.0 not found]) ]) # fallback to curl-config (which is ugly for cross-compilation) if test -z "$CURL_LIBS" -a -z "$CURL_CFLAGS"; then TUXBOX_APPS_LIB_CONFIG(CURL,curl-config) fi # fallback to freetype-config (which is ugly for cross-compilation) if test -z "$FREETYPE_LIBS" -a -z "$FREETYPE_CFLAGS"; then TUXBOX_APPS_LIB_CONFIG(FREETYPE,freetype-config) CPPFLAGS+=" $FREETYPE_CFLAGS" AC_MSG_CHECKING([whether FreeType version is 2.5.0 or higher]) AC_TRY_CPP([ #include #include FT_FREETYPE_H #if FREETYPE_MAJOR < 2 || (FREETYPE_MAJOR == 2 && FREETYPE_MINOR < 5) #error Freetype version too low. #endif ], [ AC_MSG_RESULT(yes) ], [ AC_MSG_ERROR([Need FreeType library version 2.5.0 or higher]) ]) fi TUXBOX_APPS_LIB_PKGCONFIG(PNG,libpng) TUXBOX_APPS_LIB_PKGCONFIG(AVFORMAT,libavformat) TUXBOX_APPS_LIB_PKGCONFIG(AVCODEC,libavcodec) TUXBOX_APPS_LIB_PKGCONFIG(AVUTIL,libavutil) TUXBOX_APPS_LIB_PKGCONFIG(SIGC,sigc++-2.0) if test "$BOXTYPE" = "armbox" -o "$BOXTYPE" = "mipsbox"; then TUXBOX_APPS_LIB_PKGCONFIG(SWSCALE,libswscale) fi if test "$BOXTYPE" = "coolstream"; then TUXBOX_APPS_LIB_PKGCONFIG(BLURAY,libbluray) fi if test "$BOXTYPE" = "coolstream" || test "$BOXTYPE" = "armbox" || test "$BOXTYPE" = "mipsbox" || test "$BOXTYPE" = "generic" || test "$BOXTYPE" = "spark"; then AC_DEFINE(SCREENSHOT, 1, [Define to 1 if the platform supports screenshots]) fi AC_ARG_ENABLE(lcd4linux, AS_HELP_STRING([--enable-lcd4linux], [enable LCD4Linux support @<:@default=no@:>@]), AC_DEFINE(ENABLE_LCD4LINUX, 1, [enable LCD4Linux support])) AM_CONDITIONAL(ENABLE_LCD4LINUX, test "$enable_lcd4linux" = "yes") AC_ARG_ENABLE(graphlcd, AS_HELP_STRING([--enable-graphlcd], [enable GraphLCD support @<:@default=no@:>@]), AC_DEFINE(ENABLE_GRAPHLCD, 1, [enable GraphLCD support])) AM_CONDITIONAL(ENABLE_GRAPHLCD, test "$enable_graphlcd" = "yes") AC_ARG_ENABLE(keyboard-no-rc, AS_HELP_STRING([--enable-keyboard-no-rc], [enable keyboard control, disable rc control @<:@default=no@:>@]), AC_DEFINE(KEYBOARD_INSTEAD_OF_REMOTE_CONTROL, 1, [enable keyboard control, disable rc control])) AC_ARG_ENABLE(mdev, AS_HELP_STRING([--enable-mdev], [use mdev instead of broken neutrino mount hack @<:@default=no@:>@]), AC_DEFINE(ASSUME_MDEV, 1, [use mdev instead of broken neutrino mount hack])) AC_ARG_ENABLE(freesatepg, AS_HELP_STRING([--enable-freesatepg], [enable Freesat EPG code @<:@default=no@:>@]), AC_DEFINE(ENABLE_FREESATEPG, 1, [enable Freesat EPG code])) AC_ARG_ENABLE(viasatepg, AS_HELP_STRING([--enable-viasatepg], [enable ViaSat EPG code @<:@default=no@:>@]), AC_DEFINE(ENABLE_VIASATEPG, 1, [enable ViaSat EPG code])) AC_ARG_ENABLE(fastscan, AS_HELP_STRING([--enable-fastscan], [enable fastscan code @<:@default=no@:>@]), AC_DEFINE(ENABLE_FASTSCAN, 1, [enable fastscan code])) AM_CONDITIONAL(ENABLE_FASTSCAN, test "$enable_fastscan" = "yes") AC_ARG_ENABLE(aitscan, AS_HELP_STRING([--enable-aitscan], [enable Application Information Table support @<:@default=yes@:>@]), [enable_aitscan="$enableval"], [enable_aitscan="yes"]) if test "$enable_aitscan" = "yes"; then AC_DEFINE(ENABLE_AIT, 1, [enable Application Information Table support]) fi AM_CONDITIONAL(ENABLE_AIT, test "$enable_aitscan" = "yes") AC_ARG_ENABLE(giflib, AS_HELP_STRING([--enable-giflib], [use giflib instead of libungif @<:@default=no@:>@]), AC_DEFINE(ENABLE_GIFLIB, 1, [use giflib instead of libungif])) AM_CONDITIONAL(ENABLE_GIFLIB, test "$enable_giflib" = "yes") AC_ARG_ENABLE(pugixml, AS_HELP_STRING([--enable-pugixml], [use pugixml instead of xmltree @<:@default=no@:>@]), AC_DEFINE(USE_PUGIXML, 1, [use pugixml instead of xmltree])) AM_CONDITIONAL(USE_PUGIXML, test "$enable_pugixml" = "yes") AC_ARG_ENABLE(flac, AS_HELP_STRING([--enable-flac], [enable FLAC support @<:@default=no@:>@]), AC_DEFINE(ENABLE_FLAC, 1, [enable FLAC support])) AM_CONDITIONAL(ENABLE_FLAC, test "$enable_flac" = "yes") AC_ARG_ENABLE(upnp, AS_HELP_STRING([--enable-upnp], [enable UPNP support @<:@default=yes@:>@]), [enable_upnp="$enableval"], [enable_upnp="yes"]) if test "$enable_upnp" = "yes"; then AC_DEFINE(ENABLE_UPNP, 1, [enable UPNP support]) fi AM_CONDITIONAL(ENABLE_UPNP, test "$enable_upnp" = "yes") AC_ARG_ENABLE(arm-acc, AS_HELP_STRING([--enable-arm-acc], [enable arm hardware acceleration @<:@default=yes@:>@]]), [enable_arm_acc="$enableval"], [enable_arm_acc="yes"]) if test "$enable_arm_acc" = "yes"; then AC_DEFINE(ENABLE_ARM_ACC, 1, [enable arm hardware acceleration]) fi AM_CONDITIONAL(ENABLE_ARM_ACC, test "$enable_arm_acc" = "yes") AC_ARG_ENABLE(mips-acc, AS_HELP_STRING([--enable-mips-acc], [enable mips hardware acceleration @<:@default=yes@:>@]]), [enable_mips_acc="$enableval"], [enable_mips_acc="yes"]) if test "$enable_mips_acc" = "yes"; then AC_DEFINE(ENABLE_MIPS_ACC, 1, [enable mips hardware acceleration]) fi AM_CONDITIONAL(ENABLE_MIPS_ACC, test "$enable_mips_acc" = "yes") AC_ARG_ENABLE(extupdate, AS_HELP_STRING([--enable-extupdate], [enable extended update routine @<:@default=no@:>@]), AC_DEFINE(ENABLE_EXTUPDATE, 1, [enable extended update routine])) AM_CONDITIONAL(ENABLE_EXTUPDATE, test "$enable_extupdate" = "yes") AC_ARG_ENABLE(pkg-management, AS_HELP_STRING([--enable-pkg-management], [enable gui package management @<:@default=no@:>@]), AC_DEFINE(ENABLE_PKG_MANAGEMENT, 1, [enable package management])) AM_CONDITIONAL(ENABLE_PKG_MANAGEMENT, test "$enable_pkg_management" = "yes") AC_ARG_ENABLE(lua, AS_HELP_STRING([--enable-lua], [enable Lua support @<:@default=yes@:>@]), [enable_lua="$enableval"], [enable_lua="yes"]) if test "$enable_lua" = "yes"; then AC_DEFINE(ENABLE_LUA, 1, [include Lua support]) PKG_CHECK_MODULES(LUA, lua, LLUA="yes", LLUA="no") PKG_CHECK_MODULES(luajit, luajit, LLUAJIT="yes", LLUAJIT="no") if test "x$LLUAJIT" = "xyes"; then LUA_LIBS="-lluajit-5.1" AC_DEFINE(LUA_COMPAT_5_2, 1, [needed for build with lua 5.1]) elif test "x$LLUA" = "xyes"; then LUA_LIBS="-llua" AC_DEFINE(LUA_COMPAT_5_2, 0, [needed for build with lua 5.1]) else echo "lualib not found, assuming static lua in linker path..." LUA_LIBS="-llua -ldl" AC_DEFINE(STATIC_LUAPOSIX, 1, [Define to 1 for static lua build.]) AC_DEFINE(LUA_COMPAT_5_2, 0, [needed for build with lua 5.1]) fi fi AM_CONDITIONAL(ENABLE_LUA, test "$enable_lua" = "yes") AC_ARG_ENABLE(cleanup, AS_HELP_STRING([--enable-cleanup], [enable cleanup on exit @<:@default=no@:>@]), AC_DEFINE(EXIT_CLEANUP, 1, [enable cleanup on exit])) AC_ARG_ENABLE(pip, AS_HELP_STRING([--enable-pip], [enable picture in picture support @<:@default=no@:>@]), AC_DEFINE(ENABLE_PIP, 1, [enable picture in picture support])) AC_ARG_ENABLE(dynamicdemux, AS_HELP_STRING([--enable-dynamicdemux], [enable dynamic demux @<:@default=no@:>@]), AC_DEFINE(DYNAMIC_DEMUX, 1, [enable dynamic demux])) AC_ARG_ENABLE(testing, AS_HELP_STRING([--enable-testing], [enable development code @<:@default=no@:>@]), AC_DEFINE(ENABLE_TESTING, 1, [enable development code])) AM_CONDITIONAL(ENABLE_TESTING, test "$enable_testing" = "yes") AC_ARG_ENABLE(fribidi, AS_HELP_STRING([--enable-fribidi], [enable fribidi support @<:@default=no@:>@]), AC_DEFINE(ENABLE_FRIBIDI, 1, [enable fribidi support])) AM_CONDITIONAL(ENABLE_FRIBIDI, test "$enable_fribidi" = "yes") AC_ARG_WITH(stb-hal-includes, AS_HELP_STRING([--with-stb-hal-includes=PATH], [path for libstb-hal includes [[NONE]]]), [STB_HAL_INC="$withval"], [STB_HAL_INC=""]) AC_ARG_WITH(stb-hal-build, AS_HELP_STRING([--with-stb-hal-build=PATH], [path where libstb-hal is built [[NONE]]]), [STB_HAL_LIB="-L$withval"], [STB_HAL_LIB=""]) if test "$BOXTYPE" != coolstream; then AC_DEFINE(USE_STB_HAL, 1, [use libstb-hal]) if test "$STB_HAL_INC" = ""; then AC_MSG_ERROR([need libstb-hal includes path with --with-stb-hal-includes=...]) fi HWLIB_CFLAGS="-I$STB_HAL_INC" fi AM_CONDITIONAL(USE_STB_HAL, test "$BOXTYPE" != "coolstream") if test "$BOXTYPE" = "coolstream"; then if test "$BOXMODEL" = "hd1"; then if test -e ${srcdir}/lib/hardware/coolstream/hd1/libcoolstream/nevis_ir.h; then AC_DEFINE(HAVE_COOLSTREAM_NEVIS_IR_H, 1, [Define to 1 if you have the header file.]) fi HWLIB_CFLAGS='-I$(top_srcdir)/lib/hardware/coolstream/hd1/libcoolstream' fi if test "$BOXMODEL" = "hd2"; then if test -e ${srcdir}/lib/hardware/coolstream/hd2/libcoolstream/cs_ir_generic.h; then AC_DEFINE(HAVE_COOLSTREAM_CS_IR_GENERIC_H, 1, [Define to 1 if you have the header file.]) fi if test -e ${srcdir}/lib/hardware/coolstream/hd2/libcoolstream/cs_frontpanel.h; then AC_DEFINE(HAVE_COOLSTREAM_CS_FRONTPANEL_H, 1, [Define to 1 if you have the header file.]) fi HWLIB_CFLAGS='-I$(top_srcdir)/lib/hardware/coolstream/hd2/libcoolstream' fi HWLIB_CFLAGS="$HWLIB_CFLAGS "'-I$(top_srcdir)/lib/hardware/coolstream' fi # hack, so that framebuffer.h does not need to be included everywhere... AC_DEFINE(fb_pixel_t, uint32_t, [hack, so that framebuffer.h does not need to be included everywhere...]) # hack to define a short filename also for out-of-tree build if test `dirname $0` = `pwd` || test "$0" = ./configure; then HWLIB_CFLAGS="$HWLIB_CFLAGS "'-D__file__=__FILE__' HWLIB_CFLAGS="$HWLIB_CFLAGS "'-D__path_file__=__FILE__' else HWLIB_CFLAGS="$HWLIB_CFLAGS "'-D__file__="\"$(subst $(srcdir)/,,$(abspath $<))\""' HWLIB_CFLAGS="$HWLIB_CFLAGS "'-D__path_file__="\"$(subst $(top_srcdir)/,,$(abspath $<))\""' fi AC_SUBST(HWLIB_CFLAGS) AC_SUBST(FREETYPE_CFLAGS) AC_SUBST(FREETYPE_LIBS) AC_SUBST(VORBISIDEC_CFLAGS) AC_SUBST(VORBISIDEC_LIBS) AC_SUBST(STB_HAL_INC) AC_SUBST(STB_HAL_LIB) AC_SUBST(LUA_CFLAGS) AC_SUBST(LUA_LIBS) AC_SUBST(BLURAY_LIBS) AC_SUBST(LIBCOOLSTREAM_STATIC_DIR) # Makefiles AC_CONFIG_FILES([ Makefile data/Makefile data/config/Makefile data/control/Makefile data/fonts/Makefile data/icons/Makefile data/icons/buttons/Makefile data/icons/filetypes/Makefile data/icons/headers/Makefile data/icons/hints/Makefile data/icons/hourglass/Makefile data/icons/locale/Makefile data/icons/movieplayer/Makefile data/icons/radar/Makefile data/icons/slider/Makefile data/icons/status/Makefile data/icons/status/ca/Makefile data/icons/status/channel/Makefile data/icons/status/markers/Makefile data/icons/status/various/Makefile data/icons/various/Makefile data/icons/weather/Makefile data/inetradio/Makefile data/initial/Makefile data/iso-codes/Makefile data/lcd/Makefile data/lcd/clock/Makefile data/lcd/icons/Makefile data/license/Makefile data/locale/Makefile data/oled/Makefile data/oled/fonts/Makefile data/oled/icons/Makefile data/oled/icons/clock/Makefile data/oled/icons/weather/Makefile data/oled/themes/Makefile data/oled/themes/400x240/Makefile data/oled/themes/480x320/Makefile data/oled/themes/800x480/Makefile data/pictures/Makefile data/pictures/backgrounds/Makefile data/pictures/screensaver/Makefile data/policy/Makefile data/scripts/Makefile data/themes/Makefile data/themes/Grey-3.0/Makefile data/themes/Grey-3.0/icons/Makefile data/themes/Grey-3.0/icons/buttons/Makefile data/themes/Grey-Blue/Makefile data/themes/Grey-Blue/icons/Makefile data/themes/Grey-Blue/icons/buttons/Makefile data/themes/Neutrino-3.0/Makefile data/themes/Neutrino-3.0/icons/Makefile data/themes/Neutrino-3.0/icons/buttons/Makefile data/themes/Olive-3.0/Makefile data/themes/Olive-3.0/icons/Makefile data/themes/Olive-3.0/icons/buttons/Makefile data/webradio/Makefile data/webtv/Makefile data/y-web/Makefile data/y-web/images/Makefile data/y-web/languages/Makefile data/y-web/scripts/Makefile data/y-web/styles/Makefile data/zapit/Makefile lib/Makefile lib/connection/Makefile lib/hardware/coolstream/Makefile lib/jsoncpp/Makefile lib/libconfigfile/Makefile lib/libdvbsub/Makefile lib/libeventserver/Makefile lib/libiw/Makefile lib/libmd5sum/Makefile lib/libnet/Makefile lib/libtuxtxt/Makefile lib/libupnpclient/Makefile lib/luaclient/Makefile lib/sectionsdclient/Makefile lib/timerdclient/Makefile lib/xmltree/Makefile src/Makefile src/daemonc/Makefile src/driver/Makefile src/driver/audiodec/Makefile src/driver/glcd/Makefile src/driver/pictureviewer/Makefile src/eitd/Makefile src/gui/Makefile src/gui/bedit/Makefile src/gui/components/Makefile src/gui/lua/Makefile src/gui/moviebrowser/Makefile src/gui/widget/Makefile src/gui/widget/yaft/Makefile src/lcddisplay/Makefile src/nhttpd/Makefile src/nhttpd/tuxboxapi/Makefile src/nhttpd/yhttpd_core/Makefile src/nhttpd/yhttpd_mods/Makefile src/system/Makefile src/system/mtdutils/Makefile src/system/mtdutils/lib/Makefile src/timerd/Makefile src/zapit/Makefile src/zapit/lib/Makefile src/zapit/src/Makefile ]) # Webserver config AC_CONFIG_FILES([ src/nhttpd/nhttpd.conf ]) ## Migration script #AC_CONFIG_FILES([ #data/control/migration.sh #]) # Backup scripts AC_CONFIG_FILES([ data/scripts/backup.sh data/scripts/restore.sh data/scripts/backup_flash.sh data/scripts/restore_flash.sh ]) # Backup configs AC_CONFIG_FILES([ data/config/settingsupdate.conf data/config/tobackup.conf ]) # Themes #AC_CONFIG_FILES([ #data/themes/Material_Blue-Grey.theme #]) # Oled themes AC_CONFIG_FILES([ data/oled/themes/400x240/Default.otheme data/oled/themes/480x320/Default.otheme data/oled/themes/480x320/Advanced.otheme data/oled/themes/480x320/Easy.otheme data/oled/themes/480x320/Medium.otheme data/oled/themes/480x320/Simple.otheme data/oled/themes/480x320/Weather.otheme data/oled/themes/800x480/Default.otheme ]) AC_OUTPUT