From: Axel Naumann Date: Fri, 22 Aug 2014 11:04:23 +0000 (+0200) Subject: Move PCH module selection into makeonepcm.sh for CMake / configure symmetry. X-Git-Tag: v6-02-00-rc1~294 X-Git-Url: https://root.cern.ch/gitweb?p=root.git;a=commitdiff_plain;h=d147bd80796654a98267a98f37254cb118d92fa3 Move PCH module selection into makeonepcm.sh for CMake / configure symmetry. --- diff --git a/Makefile b/Makefile index 42812a2..41f57cb 100644 --- a/Makefile +++ b/Makefile @@ -1090,7 +1090,7 @@ releasenotes: @$(MAKERELNOTES) $(ROOTPCH): $(ROOTCLINGSTAGE1DEP) $(ALLHDRS) $(CLINGETCPCH) $(ORDER_) $(ALLLIBS) - @$(MAKEONEPCM) $(ROOT_SRCDIR) "$(filter-out graf2d/qt math/fftw math/foam math/fumili math/mlp math/quadp math/splot math/unuran math/vc math/vdt,$(filter interpreter/% core/% io/io net/net math/% hist/% tree/% graf2d/% graf3d/gl gui/gui gui/fitpanel rootx bindings/pyroot roofit/% tmva main,$(MODULES)))" $(CLINGETCPCH) + @$(MAKEONEPCM) $(ROOT_SRCDIR) "$(MODULES)" $(CLINGETCPCH) ifeq ($(BUILDX11),yes) ifeq ($(BUILDASIMAGE),yes) diff --git a/build/unix/makeonepcm.sh b/build/unix/makeonepcm.sh index 98b3618..6ccca20 100755 --- a/build/unix/makeonepcm.sh +++ b/build/unix/makeonepcm.sh @@ -11,10 +11,6 @@ shift modules=$1 shift -echo -echo Generating the one large pcm for $modules, patience... -echo - rm -f include/allHeaders.h include/allHeaders.h.pch include/allLinkDef.h all.h cppflags.txt include/allLinkDef.h @@ -25,7 +21,23 @@ done for dict in `find $modules -name 'G__*.cxx' 2> /dev/null | grep -v /G__Cling.cxx | grep -v core/metautils/src/G__std_`; do dirname=`dirname $dict` # to get foo/src - dirname=`echo $dirname | sed 's,/src$,,'` # to get foo + dirname=`echo $dirname | sed 's,/src$,,'` # to get foo/ + + case $dirname in + graf2d/qt | math/fftw | math/foam | math/fumili | math/mlp | math/quadp | math/splot | math/unuran | math/vc | math/vdt) continue;; + + interpreter/* | core/* | io/io | net/net | math/* | hist/* | tree/* | graf2d/* | graf3d/gl | gui/gui | gui/fitpanel | rootx | bindings/pyroot | roofit/* | tmva | main) ;; + + *) continue;; + esac + + # Check if selmodules already contains the dirname. + # Happens for instance for math/smatrix with its two (32bit and 64 bit) + # dictionaries. + if ! ( echo $selmodules | grep "$dirname " > /dev/null ); then + selmodules="$selmodules$dirname " + fi + awk 'BEGIN{START=-1} /includePaths\[\] = {/, /^0$/ { if (START==-1) START=NR; else if ($0 != "0") { sub(/",/,"",$0); sub(/^"/,"-I",$0); print $0 } }' $dict >> cppflags.txt echo "// $dict" >> all.h # awk 'BEGIN{START=-1} /payloadCode =/, /^;$/ { if (START==-1) START=NR; else if ($1 != ";") { code=substr($0,2); sub(/\\n"/,"",code); print code } }' $dict >> all.h @@ -54,6 +66,10 @@ EOF sed -e 's|^|#include "|' -e 's|$|"|' >> alldefs.h done +echo +echo Generating the one large pcm for $selmodules, patience... +echo + mv all.h include/allHeaders.h mv alldefs.h include/allLinkDef.h