Skip to content
Snippets Groups Projects
Commit deb84911 authored by Danilo Piparo's avatar Danilo Piparo
Browse files

[RDF] Remove RDF from the build and tests in case the platform is a 32bits one

this is done until the present ABI issues between gcc and clang are
solved, most notably the ones concerning shared_ptrs.
parent 568700c9
No related branches found
No related tags found
No related merge requests found
...@@ -13,11 +13,26 @@ if(WIN32) ...@@ -13,11 +13,26 @@ if(WIN32)
-include:_G__cpp_setupG__Thread -include:_G__cpp_setupG__Thread
-include:_G__cpp_setupG__MathCore) -include:_G__cpp_setupG__MathCore)
endif() endif()
set(PYROOT_HEADERS inc/TPyFitFunction.h inc/TPython.h
inc/TPyArg.h inc/TPyROOTApplication.h
inc/TTreeAsFlatMatrix.h inc/TPyDispatcher.h
inc/TPyReturn.h inc/TPyException.h
inc/TPySelector.h)
set(PYROOT_PKG_DEPENDENCIES Core MathCore Net Rint Tree ROOTVecOps ROOTDataFrame)
if( CMAKE_SIZEOF_VOID_P EQUAL 4 ) # With this we exclude ROOTDataFrame on 32 bits builds
list(REMOVE_ITEM PYROOT_HEADERS inc/TTreeAsFlatMatrix.h)
list(REMOVE_ITEM PYROOT_PKG_DEPENDENCIES ROOTDataFrame)
endif()
ROOT_STANDARD_LIBRARY_PACKAGE(PyROOT ROOT_STANDARD_LIBRARY_PACKAGE(PyROOT
NO_INSTALL_HEADERS NO_INSTALL_HEADERS
HEADERS ${PYROOT_HEADERS}
DICTIONARY_OPTIONS "-writeEmptyRootPCM" DICTIONARY_OPTIONS "-writeEmptyRootPCM"
LIBRARIES Core Net Tree MathCore Rint ${PYTHON_LIBRARIES} LIBRARIES Core Net Tree MathCore Rint ${PYTHON_LIBRARIES}
DEPENDENCIES Core MathCore Net Rint Tree ROOTDataFrame ROOTVecOps) DEPENDENCIES ${PYROOT_PKG_DEPENDENCIES})
ROOT_LINKER_LIBRARY(JupyROOT ../JupyROOT/src/*.cxx DEPENDENCIES Core CMAKENOEXPORT) ROOT_LINKER_LIBRARY(JupyROOT ../JupyROOT/src/*.cxx DEPENDENCIES Core CMAKENOEXPORT)
if(MSVC) if(MSVC)
......
...@@ -168,7 +168,7 @@ if not _builtin_cppyy: ...@@ -168,7 +168,7 @@ if not _builtin_cppyy:
### configuration --------------------------------------------------------------- ### configuration ---------------------------------------------------------------
class _Configuration( object ): class _Configuration( object ):
__slots__ = [ 'IgnoreCommandLineOptions', 'StartGuiThread', 'ExposeCppMacros', __slots__ = [ 'IgnoreCommandLineOptions', 'StartGuiThread', 'ExposeCppMacros',
'_gts', 'DisableRootLogon' ] '_gts', 'DisableRootLogon' ]
def __init__( self ): def __init__( self ):
...@@ -379,7 +379,9 @@ def _TTreeAsMatrix(self, columns=None, exclude=None, dtype="double", return_labe ...@@ -379,7 +379,9 @@ def _TTreeAsMatrix(self, columns=None, exclude=None, dtype="double", return_labe
else: else:
return reshaped_matrix_np return reshaped_matrix_np
_root.CreateScopeProxy( "TTree" ).AsMatrix = _TTreeAsMatrix # This Pythonisation is there only for 64 bits builds
if (sys.maxsize > 2**32): # https://docs.python.org/3/library/platform.html#cross-platform
_root.CreateScopeProxy( "TTree" ).AsMatrix = _TTreeAsMatrix
### RINT command emulation ------------------------------------------------------ ### RINT command emulation ------------------------------------------------------
...@@ -702,7 +704,7 @@ class ModuleFacade( types.ModuleType ): ...@@ -702,7 +704,7 @@ class ModuleFacade( types.ModuleType ):
import time import time
def _inputhook(context): def _inputhook(context):
while not context.input_is_ready(): while not context.input_is_ready():
_root.gSystem.ProcessEvents() _root.gSystem.ProcessEvents()
time.sleep( 0.01 ) time.sleep( 0.01 )
pt_inputhooks.register('ROOT',_inputhook) pt_inputhooks.register('ROOT',_inputhook)
if get_ipython() : get_ipython().run_line_magic('gui', 'ROOT') if get_ipython() : get_ipython().run_line_magic('gui', 'ROOT')
......
...@@ -3,7 +3,10 @@ ROOT_ADD_PYUNITTEST(pyroot_list_initialization list_initialization.py) ...@@ -3,7 +3,10 @@ ROOT_ADD_PYUNITTEST(pyroot_list_initialization list_initialization.py)
ROOT_ADD_PYUNITTEST(pyroot_pretty_printing pretty_printing.py) ROOT_ADD_PYUNITTEST(pyroot_pretty_printing pretty_printing.py)
ROOT_ADD_PYUNITTEST(pyroot_rvec rvec.py) ROOT_ADD_PYUNITTEST(pyroot_rvec rvec.py)
if(NUMPY_FOUND) if(NUMPY_FOUND)
ROOT_ADD_PYUNITTEST(pyroot_array_interface array_interface.py) ROOT_ADD_PYUNITTEST(pyroot_array_interface array_interface.py)
# this excludes RDF for 32 bits builds because of clang/gcc abi issues
if( CMAKE_SIZEOF_VOID_P EQUAL 8 )
ROOT_ADD_PYUNITTEST(pyroot_ttree_asmatrix ttree_asmatrix.py) ROOT_ADD_PYUNITTEST(pyroot_ttree_asmatrix ttree_asmatrix.py)
endif()
endif() endif()
...@@ -261,6 +261,9 @@ def isDirForPCH(dirName): ...@@ -261,6 +261,9 @@ def isDirForPCH(dirName):
"math/vdt", "math/vdt",
"tmva/rmva"] "tmva/rmva"]
if (sys.maxsize <= 2**32): # https://docs.python.org/3/library/platform.html#cross-platform
PCHPatternsBlacklist.append("tree/dataframe")
accepted = isAnyPatternInString(PCHPatternsWhitelist,dirName) and \ accepted = isAnyPatternInString(PCHPatternsWhitelist,dirName) and \
not isAnyPatternInString(PCHPatternsBlacklist,dirName) not isAnyPatternInString(PCHPatternsBlacklist,dirName)
......
...@@ -72,10 +72,15 @@ fi ...@@ -72,10 +72,15 @@ fi
newlib="-lNew" newlib="-lNew"
rootglibs="-lGui" rootglibs="-lGui"
rootevelibs="-lEve -lEG -lGeom -lGed -lRGL" rootevelibs="-lEve -lEG -lGeom -lGed -lRGL"
rootlibs="-lCore -lImt -lRIO -lNet -lHist -lGraf -lGraf3d -lGpad -lROOTDataFrame -lROOTVecOps -lTree -lTreePlayer\ rootlibs="-lCore -lImt -lRIO -lNet -lHist -lGraf -lGraf3d -lGpad -lROOTVecOps -lTree -lTreePlayer\
-lRint -lPostscript -lMatrix -lPhysics -lMathCore -lThread\ -lRint -lPostscript -lMatrix -lPhysics -lMathCore -lThread\
-lMultiProc" -lMultiProc"
if [ `uname -m` != 'i686' ]; then
rootlibs="$rootlibs -lROOTDataFrame"
fi
if test "$platform" = "win32"; then if test "$platform" = "win32"; then
rootulibs="-include:_G__cpp_setupG__Net \ rootulibs="-include:_G__cpp_setupG__Net \
-include:_G__cpp_setupG__IO \ -include:_G__cpp_setupG__IO \
......
add_subdirectory(tree) # special CMakeLists.txt add_subdirectory(tree) # special CMakeLists.txt
add_subdirectory(treeplayer) # special CMakeLists.txt add_subdirectory(treeplayer) # special CMakeLists.txt
add_subdirectory(treeviewer) # special CMakeLists.txt add_subdirectory(treeviewer) # special CMakeLists.txt
add_subdirectory(dataframe) # special CMakeLists.txt if( CMAKE_SIZEOF_VOID_P EQUAL 8 ) # this excludes RDF for 32 bits builds because of clang/gcc abi issues
add_subdirectory(dataframe) # special CMakeLists.txt
endif()
\ No newline at end of file
...@@ -196,6 +196,10 @@ if(root7) ...@@ -196,6 +196,10 @@ if(root7)
) )
endif() endif()
if( CMAKE_SIZEOF_VOID_P EQUAL 4 )
set(bits32_veto dataframe/*.C)
endif()
#---These ones are disabled !!! ------------------------------------ #---These ones are disabled !!! ------------------------------------
set(extra_veto set(extra_veto
htmlex.C htmlex.C
...@@ -246,6 +250,7 @@ set(all_veto hsimple.C ...@@ -246,6 +250,7 @@ set(all_veto hsimple.C
${classic_veto} ${classic_veto}
${pythia_veto} ${pythia_veto}
${root7_veto} ${root7_veto}
${bits32_veto}
) )
file(GLOB_RECURSE tutorials RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} *.C) file(GLOB_RECURSE tutorials RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} *.C)
...@@ -397,13 +402,18 @@ if(ROOT_python_FOUND) ...@@ -397,13 +402,18 @@ if(ROOT_python_FOUND)
list(APPEND pyveto math/Bessel.py) list(APPEND pyveto math/Bessel.py)
list(APPEND pyveto math/tStudent.py) list(APPEND pyveto math/tStudent.py)
endif() endif()
list(REMOVE_ITEM pytutorials ${pyveto}) list(REMOVE_ITEM pytutorials ${pyveto})
if(ROOT_CLASSIC_BUILD) if(ROOT_CLASSIC_BUILD)
set(classic_veto_py dataframe/df*.py) set(classic_veto_py dataframe/df*.py)
list(REMOVE_ITEM pytutorials ${classic_veto_py}) list(REMOVE_ITEM pytutorials ${classic_veto_py})
endif() endif()
if( CMAKE_SIZEOF_VOID_P EQUAL 4 )
set(bits32_veto_py dataframe/*.py)
list(REMOVE_ITEM pytutorials ${bits32_veto_py})
endif()
#---Python tutorials dependencies-------------------------------------- #---Python tutorials dependencies--------------------------------------
set(pyroot-ntuple1-depends tutorial-pyroot-hsimple-py) set(pyroot-ntuple1-depends tutorial-pyroot-hsimple-py)
set(pyroot-h1draw-depends tutorial-pyroot-hsimple-py) set(pyroot-h1draw-depends tutorial-pyroot-hsimple-py)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment