PAR: includes from previously enabled PARfiles
authordberzano <dario.berzano@cern.ch>
Thu, 19 Feb 2015 13:03:09 +0000 (14:03 +0100)
committerdberzano <dario.berzano@cern.ch>
Mon, 2 Mar 2015 12:52:56 +0000 (13:52 +0100)
Useful to test new functionalities split into multiple PARfiles

cmake/PARfiles/Makefile.in
cmake/PARfiles/SETUP.C.in

index 2098418..33520e4 100644 (file)
@@ -12,9 +12,10 @@ PAR_LIBDEPS := @PARLIBDEPS@
 # Current OS
 OS := $(shell uname)
 
-# Include paths
+# Include paths: take into consideration "extra includes" (manually entered by users) and includes
+# from other previously enabled PARfiles
 PAR_EXTRAINCLUDES = @PAREXTRAINCLUDES@
-PAR_INCLUDES = -I. $(addprefix -I,$(PAR_EXTRAINCLUDES)) -I$(ALICE_ROOT)/include -I$(ALICE_PHYSICS)/include -I$(shell root-config --incdir)
+PAR_INCLUDES = -I. $(addprefix -I../,$(ALICE_PARFILES_ENABLED)) $(addprefix -I,$(PAR_EXTRAINCLUDES)) -I$(ALICE_ROOT)/include -I$(ALICE_PHYSICS)/include -I$(shell root-config --incdir)
 ifneq ($(FASTJET),)
        PAR_INCLUDES += -I$(FASTJET)/include
 endif
index c8bf777..51329af 100644 (file)
@@ -25,6 +25,17 @@ Int_t SETUP()
   // gInterpreter->UnloadLibraryMap("lib@PARMODULE@");
   // gInterpreter->LoadLibraryMap(buf.Data());
 
+  // Append this PARfile's name to the list of currently enabled ones in an environment variable.
+  // The variable will be used by other PARfiles in order to correctly set some paths during the
+  // PARfile build process
+  const char *parEnvVarName = "ALICE_PARFILES_ENABLED";
+  TString parEnvVar = gSystem->Getenv(parEnvVarName);
+  if (!parEnvVar.IsNull()) {
+    parEnvVar.Append(" ");
+  }
+  parEnvVar.Append("@PARMODULE@");
+  gSystem->Setenv(parEnvVarName, parEnvVar.Data());
+
   // Here we load the library, but beware: if using multiple PARfiles for overriding multiple
   // AliRoot libraries, they must be loaded in the correct order. With the autoloading, it might
   // happen that the *wrong* library gets loaded as a dependency