ClassImp(AliHLTMessage)
//______________________________________________________________________________
-AliHLTMessage::AliHLTMessage(UInt_t what) : TBuffer(kWrite)
+AliHLTMessage::AliHLTMessage(UInt_t what)
+ :
+# ifdef ROOT_TBufferFile
+ TBufferFile(kWrite),
+# else
+ TBuffer(kWrite),
+# endif
+ AliHLTLogging()
{
// Create a AliHLTMessage object for storing objects. The "what" integer
// describes the type of message. Predifined ROOT system message types
}
//______________________________________________________________________________
-AliHLTMessage::AliHLTMessage(void *buf, Int_t bufsize) : TBuffer(kRead, bufsize, buf, 0)
+AliHLTMessage::AliHLTMessage(void *buf, Int_t bufsize)
+ :
+# if defined(ROOT_TBufferFile) || defined(HAVE_TBUFFERFILE_H)
+ TBufferFile(kRead, bufsize, buf, 0),
+# else
+ TBuffer(kRead, bufsize, buf, 0),
+# endif
+ AliHLTLogging()
{
// Create a AliHLTMessage object for reading objects. The objects will be
// read from buf. Use the What() method to get the message type.
//////////////////////////////////////////////////////////////////////////
// //
-// TMessage //
+// TMessage //
// //
// Message buffer class used for serializing objects and sending them //
// over the network. //
// //
//////////////////////////////////////////////////////////////////////////
-#ifndef ROOT_TBuffer
-#include "TBuffer.h"
+// TBuffer has been made pure virtual in root version v5-15-02, this
+// requires to inherit from TBufferFile instead of TBuffer.
+// TMessage is not really used by this class but by including it we also get
+// TBufferFile if this exists. The define ROOT_TBufferFile can than be used
+// to differentiate between the usage of TBuffer or TBufferFile.
+#include "TMessage.h"
+
+#if defined(HAVE_TBUFFERFILE_H)
+#include "TBufferFile.h"
#endif
+
#ifndef ROOT_MessageTypes
#include "MessageTypes.h"
#endif
* - the AliHLTMessage(void *buf, Int_t bufsize) constructor has been made
* public in order to be used externally.
*/
-class AliHLTMessage : public TBuffer, public AliHLTLogging {
+class AliHLTMessage
+:
+# if defined(ROOT_TBufferFile) || defined(HAVE_TBUFFERFILE_H)
+public TBufferFile,
+#else
+public TBuffer,
+#endif
+public AliHLTLogging {
public:
AliHLTMessage(UInt_t what = kMESS_ANY);
EXTRA_DIST = libHLTbase.pkg \
libAliHLTSample.pkg \
libAliHLTPHOS.pkg \
+ libAliHLTTPC.pkg \
libAliHLTTRD.pkg \
hlt.conf
ROOTBINDIR=`dirname $ROOTEXEC`
AC_SUBST([ROOTBINDIR])
-dnl test for additional required root libraries
+dnl test for additional required root libraries and headers
+LIBS='-ldl'
+if test "x$have_root" = "x1"; then
+ AC_LANG_PUSH(C++)
+ save_CPPFLAGS=$CPPFLAGS
+ save_LDFLAGS=$LDFLAGS
+ save_LIBS=$LIBS
+ CPPFLAGS=`echo $save_CPPFLAGS; for i in ${ROOTINCDIR}; do echo -n "-I$i " ; done`
+
# we check for the libSTEER library which is linked to
# - the ROOT libs libGeom libMinuit libVMC libEG
# - the AliRoot libESD libRAWData (libRAWDatarec from v4-04-Rev-07)
# - from Nov 1 2006 TTreeFormula is needed by AliTagAnalysis and requires
# libTreePlayer.so
# - from Jan 07 libESD also depends on libXMLIO
-LIBS='-ldl'
-if test "x$have_root" = "x1"; then
- save_CPPFLAGS=$CPPFLAGS
- save_LDFLAGS=$LDFLAGS
- save_LIBS=$LIBS
-
ROOT_CHECKLIBS='Geom Minuit EG VMC TreePlayer XMLIO'
for CHECKLIB in $ROOT_CHECKLIBS ; do
- CPPFLAGS="$save_CPPFLAGS"
LDFLAGS="$save_LDFLAGS -L${ROOTLIBDIR}"
LIBS="$save_LIBS $ROOTLIBS $ADD_ROOTLIBS"
AC_CHECK_LIB([$CHECKLIB],[_init], [ADD_ROOTLIBS="$ADD_ROOTLIBS -l$CHECKLIB"])
done
-
+
+ # TBuffer.h has been made pure virtual in root v5-15-02 and one
+ # has to derive from TBufferFile.h (needed for BASE/AliHLTMessage.h)
+ AC_CHECK_HEADERS([TBufferFile.h])
+
CPPFLAGS=$save_CPPFLAGS
LDFLAGS=$save_LDFLAGS
LIBS=$save_LIBS
+ AC_LANG_POP(C++)
fi
dnl ------------------------------------------------------------------