]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - HLT/make.dict
Update master to aliroot
[u/mrichter/AliRoot.git] / HLT / make.dict
index ce7b47c53c7dcdee6f72f5ce4b389e496e8149ca..7ba1f3f809942bd05ebc9a4c1f8e48aae4956c15 100644 (file)
@@ -33,12 +33,20 @@ CLEANFILES                  += $(DICTFILES)
 
 EXTRA_DIST                     += $(MODULE_DHDR)
 
+# the rootcint buffer for macros is limited to 1024 characters
+# we have to filter out some of the defines
+# The asterisk at the end is important even for defines which
+# are not wildcards. But otherwise the case does not pick them.
+DEFFILTER                      = -DPACKAGE* -DHAVE_STDLIB_H=1* -DHAVE_STRING_H=1* -DHAVE_MEMORY_H=1* -DHAVE_STRINGS_H=1* -DHAVE_INTTYPES_H=1* -DHAVE_STDINT_H=1* -DHAVE_UNISTD_H=1* -DHAVE_DLFCN_H=1* -DHAVE_NOT_ALIMAGF30848* -DHAVE_NOT_ALTRORAWSTREAMV3* -DHAVE_NOT_ALIRUNLOADER30859* -DHAVE_NOT_ESD_COPY* -DHAVE_NOT_MUON_DIGITMAKER_GETRAWSTREAM* -DHAVE_NOT_ALITPCCALIBPULSER* -DHAVE_NOT_ALIRAWREADERMEMORY_ADDBUFFER* -DHAVE_NOT_TPCOFFLINE_REC*
 
 $(DICTCPP:.cxx=.h): $(DICTCPP)
        if test $@ ; then : ; else rm -f $< ; $(MAKE) $(MAKEFLAGS) $< ; fi 
 
 $(DICTCPP): $(DICTHEADERS:%=$(srcdir)/%) $(DICTDEF)
-       if [ -x $(ROOTCINT) ]; then $(ROOTCINT) -f $@ -c $(CPPFLAGS) $(AM_CPPFLAGS) $(DEFS) $(foreach i, $(DICTINCLUDE), $(i)) $^ ; fi
+       if [ -x $(ROOTCINT) ]; then $(ROOTCINT) -f $@ -c $(CPPFLAGS) $(AM_CPPFLAGS) \
+        `for i in $(DEFS);do case $$i in $(foreach def, $(DEFFILTER), $(def) |) -DVERSION*);; *) echo -n " $$i";; esac; done` \
+        $(foreach i, $(DICTINCLUDE), $(i)) \
+        $^ ; fi
 
 $(DICTAUTODEF): Makefile.am $(PKGDEF)
        @echo '//automatically generated ROOT DICT definition' > $@
@@ -49,5 +57,7 @@ $(DICTAUTODEF): Makefile.am $(PKGDEF)
        @echo '#pragma link off all classes;' >> $@
        @echo '#pragma link off all functions;' >> $@
        @$(foreach i, $(DICTHEADERS:.h=), \
-          echo "#pragma link C++ class "`echo $(i)| sed -e 's|.*/||'`"+;" >> $@ ;)
+          attribute='+' ;\
+          cat $(srcdir)/$(i).cxx | grep -e  $(i)::Streamer | grep TBuffer > /dev/null && attribute='-' ;\
+          echo "#pragma link C++ class "`echo $(i)| sed -e 's|.*/||'`"$$attribute;" >> $@ ;)
        @echo '#endif' >> $@