diff --git a/acinclude.m4 b/acinclude.m4 index 19409caae..fc4617d21 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -382,6 +382,96 @@ AC_SUBST(DUMMYPOFILES) AC_SUBST(CATALOGS) ]) +AC_DEFUN([TUXBOX_BOXTYPE],[ +AC_ARG_WITH(boxtype, + [ --with-boxtype valid values: dbox2,tripledragon,dreambox,ipbox,coolstream,generic], + [case "${withval}" in + dbox2|dreambox|ipbox|tripledragon|coolstream|generic) + BOXTYPE="$withval" + ;; + dm*) + BOXTYPE="dreambox" + BOXMODEL="$withval" + ;; + *) + AC_MSG_ERROR([bad value $withval for --with-boxtype]) ;; + esac], [BOXTYPE="coolstream"]) + +AC_ARG_WITH(boxmodel, + [ --with-boxmodel valid for dreambox: dm500, dm500plus, dm600pvr, dm56x0, dm7000, dm7020, dm7025 + valid for ipbox: ip200, ip250, ip350, ip400], + [case "${withval}" in + dm500|dm500plus|dm600pvr|dm56x0|dm7000|dm7020|dm7025) + if test "$BOXTYPE" = "dreambox"; then + BOXMODEL="$withval" + else + AC_MSG_ERROR([unknown model $withval for boxtype $BOXTYPE]) + fi + ;; + ip200|ip250|ip350|ip400) + if test "$BOXTYPE" = "ipbox"; then + BOXMODEL="$withval" + else + AC_MSG_ERROR([unknown model $withval for boxtype $BOXTYPE]) + fi + ;; + *) + AC_MSG_ERROR([unsupported value $withval for --with-boxmodel]) + ;; + esac], + [if test "$BOXTYPE" = "dreambox" -o "$BOXTYPE" = "ipbox" && test -z "$BOXMODEL"; then + AC_MSG_ERROR([Dreambox/IPBox needs --with-boxmodel]) + fi]) + +AC_SUBST(BOXTYPE) +AC_SUBST(BOXMODEL) + +AM_CONDITIONAL(BOXTYPE_DBOX2, test "$BOXTYPE" = "dbox2") +AM_CONDITIONAL(BOXTYPE_TRIPLE, test "$BOXTYPE" = "tripledragon") +AM_CONDITIONAL(BOXTYPE_DREAMBOX, test "$BOXTYPE" = "dreambox") +AM_CONDITIONAL(BOXTYPE_IPBOX, test "$BOXTYPE" = "ipbox") +AM_CONDITIONAL(BOXTYPE_COOL, test "$BOXTYPE" = "coolstream") +AM_CONDITIONAL(BOXTYPE_GENERIC, test "$BOXTYPE" = "generic") + +AM_CONDITIONAL(BOXMODEL_DM500,test "$BOXMODEL" = "dm500") +AM_CONDITIONAL(BOXMODEL_DM500PLUS,test "$BOXMODEL" = "dm500plus") +AM_CONDITIONAL(BOXMODEL_DM600PVR,test "$BOXMODEL" = "dm600pvr") +AM_CONDITIONAL(BOXMODEL_DM56x0,test "$BOXMODEL" = "dm56x0") +AM_CONDITIONAL(BOXMODEL_DM7000,test "$BOXMODEL" = "dm7000" -o "$BOXMODEL" = "dm7020" -o "$BOXMODEL" = "dm7025") + +AM_CONDITIONAL(BOXMODEL_IP200,test "$BOXMODEL" = "ip200") +AM_CONDITIONAL(BOXMODEL_IP250,test "$BOXMODEL" = "ip250") +AM_CONDITIONAL(BOXMODEL_IP350,test "$BOXMODEL" = "ip350") +AM_CONDITIONAL(BOXMODEL_IP400,test "$BOXMODEL" = "ip400") + +if test "$BOXTYPE" = "dbox2"; then + AC_DEFINE(HAVE_DBOX_HARDWARE, 1, [building for a dbox2]) +elif test "$BOXTYPE" = "tripledragon"; then + AC_DEFINE(HAVE_TRIPLEDRAGON, 1, [building for a tripledragon]) +elif test "$BOXTYPE" = "dreambox"; then + AC_DEFINE(HAVE_DREAMBOX_HARDWARE, 1, [building for a dreambox]) +elif test "$BOXTYPE" = "ipbox"; then + AC_DEFINE(HAVE_IPBOX_HARDWARE, 1, [building for an ipbox]) +elif test "$BOXTYPE" = "coolstream"; then + AC_DEFINE(HAVE_COOL_HARDWARE, 1, [building for a coolstream]) +elif test "$BOXTYPE" = "generic"; then + AC_DEFINE(HAVE_GENERIC_HARDWARE, 1, [building for a generic device like a standard PC]) +fi + +# TODO: do we need more defines? +if test "$BOXMODEL" = "dm500"; then + AC_DEFINE(BOXMODEL_DM500, 1, [dreambox 500]) +elif test "$BOXMODEL" = "ip200"; then + AC_DEFINE(BOXMODEL_IP200, 1, [ipbox 200]) +elif test "$BOXMODEL" = "ip250"; then + AC_DEFINE(BOXMODEL_IP250, 1, [ipbox 250]) +elif test "$BOXMODEL" = "ip350"; then + AC_DEFINE(BOXMODEL_IP350, 1, [ipbox 350]) +elif test "$BOXMODEL" = "ip400"; then + AC_DEFINE(BOXMODEL_IP400, 1, [ipbox 400]) +fi +]) + dnl backward compatiblity AC_DEFUN([AC_GNU_SOURCE], [AH_VERBATIM([_GNU_SOURCE], diff --git a/configure.ac b/configure.ac index 2d15e45a5..3898c58d4 100644 --- a/configure.ac +++ b/configure.ac @@ -3,14 +3,22 @@ AM_INIT_AUTOMAKE(tuxbox-neutrino,1.0.1) TUXBOX_APPS TUXBOX_APPS_DIRECTORY +TUXBOX_APPS_PKGCONFIG +TUXBOX_BOXTYPE AC_PROG_CC AC_PROG_CXX AC_DISABLE_STATIC AM_PROG_LIBTOOL -TUXBOX_APPS_DVB -#TUXBOX_APPS_DRIVER +if test "$BOXTYPE" != "tripledragon"; then +echo "BOXTYPE: $BOXTYPE" + TUXBOX_APPS_DVB + if test "$BOXTYPE" != "coolstream"; then + TUXBOX_APPS_DRIVER + TUXBOX_APPS_LIB_PKGCONFIG(TUXBOX,tuxbox) + fi +fi TUXBOX_APPS_LIB_CONFIG(CURL,curl-config) TUXBOX_APPS_LIB_CONFIG(FREETYPE,freetype-config) # TUXBOX_APPS_LIB_PKGCONFIG(OPENSSL,openssl) diff --git a/src/Makefile.am b/src/Makefile.am index d673779fe..289f35957 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -12,11 +12,14 @@ INCLUDES = \ -I$(top_srcdir)/lib/libnet \ -I$(top_srcdir)/lib/xmltree \ -I$(top_srcdir)/lib/libmd5sum \ - -I$(top_srcdir)/lib/libcoolstream \ -I$(top_srcdir)/lib/libupnpclient \ @FREETYPE_CFLAGS@ \ @LIBCS_CFLAGS@ +if BOXTYPE_COOL +INCLUDES += -I$(top_srcdir)/lib/libcoolstream +endif + bin_PROGRAMS = neutrino neutrino_SOURCES = neutrino_menue.cpp neutrino.cpp @@ -65,6 +68,11 @@ neutrino_LDADD = \ -lvorbisfile -lvorbis -logg \ -lungif \ -ljpeg \ - -lcoolstream \ - -lnxp \ -lrt -lpthread + +if BOXTYPE_COOL +neutrino_LDADD += \ + -lcoolstream \ + -lnxp +endif + diff --git a/src/driver/Makefile.am b/src/driver/Makefile.am index 99dea4f79..116193577 100644 --- a/src/driver/Makefile.am +++ b/src/driver/Makefile.am @@ -9,7 +9,6 @@ INCLUDES = \ -I$(top_srcdir)/lib/libeventserver \ -I$(top_srcdir)/lib/libnet \ -I$(top_srcdir)/lib/libconfigfile \ - -I$(top_srcdir)/lib/libcoolstream \ -I$(top_srcdir)/lib/connection \ -I$(top_srcdir)/lib/libeventserver \ @FREETYPE_CFLAGS@ \ @@ -25,7 +24,6 @@ libneutrino_driver_a_SOURCES = \ rcinput.cpp \ vcrcontrol.cpp \ audioplay.cpp \ - vfd.cpp \ stream2file.cpp \ screen_max.cpp \ slotbuffer.c \ @@ -37,5 +35,12 @@ libneutrino_driver_a_SOURCES = \ streamts.cpp \ rfmod.cpp +if BOXTYPE_COOL +libneutrino_driver_a_SOURCES += \ + vfd.cpp +INCLUDES += \ + -I$(top_srcdir)/lib/libcoolstream +endif + libneutrino_driver_netfile_a_SOURCES = netfile.cpp diff --git a/src/gui/Makefile.am b/src/gui/Makefile.am index 7795cbbed..b379adda4 100644 --- a/src/gui/Makefile.am +++ b/src/gui/Makefile.am @@ -22,12 +22,15 @@ INCLUDES = \ -I$(top_srcdir)/lib/libnet \ -I$(top_srcdir)/lib/libconfigfile \ -I$(top_srcdir)/lib/xmltree \ - -I$(top_srcdir)/lib/libcoolstream \ -I$(top_srcdir)/lib/libupnpclient \ @CURL_CFLAGS@ \ @FREETYPE_CFLAGS@ \ -I$(top_srcdir)/lib +if BOXTYPE_COOL +INCLUDES += -I$(top_srcdir)/lib/libcoolstream +endif + noinst_LIBRARIES = libtimerlist.a libneutrino_gui.a libneutrino_gui2.a libneutrino_gui_a_SOURCES = \ diff --git a/src/system/Makefile.am b/src/system/Makefile.am index 0e010ed4c..a018a5452 100644 --- a/src/system/Makefile.am +++ b/src/system/Makefile.am @@ -8,11 +8,14 @@ INCLUDES = \ -I$(top_srcdir)/lib/libeventserver \ -I$(top_srcdir)/lib/libnet \ -I$(top_srcdir)/lib/libconfigfile \ - -I$(top_srcdir)/lib/libcoolstream \ -I$(top_srcdir)/lib/libmd5sum \ -I$(top_srcdir)/lib/xmltree \ @FREETYPE_CFLAGS@ +if BOXTYPE_COOL +INCLUDES += -I$(top_srcdir)/lib/libcoolstream +endif + noinst_LIBRARIES = libneutrino_system.a libneutrino_system_a_SOURCES = \ diff --git a/src/zapit/src/Makefile.am b/src/zapit/src/Makefile.am index 9a8994402..c774b5719 100644 --- a/src/zapit/src/Makefile.am +++ b/src/zapit/src/Makefile.am @@ -7,8 +7,11 @@ INCLUDES = \ -I$(top_srcdir)/lib/libconfigfile \ -I$(top_srcdir)/lib/connection \ -I$(top_srcdir)/lib/libeventserver \ - -I$(top_srcdir)/lib/xmltree \ - -I$(top_srcdir)/lib/libcoolstream + -I$(top_srcdir)/lib/xmltree + +if BOXTYPE_COOL +INCLUDES += -I$(top_srcdir)/lib/libcoolstream +endif noinst_LIBRARIES = libzapit.a