diff --git a/cmake/modules/ExternalProject.cmake b/cmake/modules/ExternalProject.cmake index 096e1797a16614c555623f58b671a386452ab8c1..fb4520ab509c19ce2c26f1b280d978fba6e64596 100644 --- a/cmake/modules/ExternalProject.cmake +++ b/cmake/modules/ExternalProject.cmake @@ -578,6 +578,11 @@ if(NOT rv EQUAL 0) message(FATAL_ERROR \"error: extract of '\${filename}' failed\") endif() +# Update the config.guess files. +# +message(STATUS \"Updating the config.guess file...\") +execute_process(COMMAND ${CMAKE_SOURCE_DIR}/cmake/modules/update.ConfigGuess) + # Analyze what came out of the tar file: # message(STATUS \"extracting... [analysis]\") diff --git a/cmake/modules/update.ConfigGuess b/cmake/modules/update.ConfigGuess new file mode 100755 index 0000000000000000000000000000000000000000..d650361d73def2e8430e439f66d7e543cc5bbbf1 --- /dev/null +++ b/cmake/modules/update.ConfigGuess @@ -0,0 +1,8 @@ +#!/bin/bash + +for i in $(find -name config.guess); do + if [ -n "$i" ]; then + echo "Found: $i" + wget -O $i 'http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD' +fi +done diff --git a/cmake/toolchain/heptools-81b.cmake b/cmake/toolchain/heptools-81b.cmake index 78fbe31228667588cdd3762e77e9a58854376c45..20650d5305b8b1ae867473745a99d8861d53039c 100644 --- a/cmake/toolchain/heptools-81b.cmake +++ b/cmake/toolchain/heptools-81b.cmake @@ -12,8 +12,8 @@ include(${CMAKE_CURRENT_LIST_DIR}/heptools-common.cmake) # Application Area Projects -LCG_AA_project(COOL 3_1_0) -LCG_AA_project(CORAL 3_1_0) +LCG_AA_project(COOL 3_1-patches) +LCG_AA_project(CORAL 3_1-patches) LCG_AA_project(RELAX RELAX-root6) LCG_AA_project(ROOT 6.04.12) LCG_AA_project(LCGCMT LCGCMT_${heptools_version}) @@ -36,7 +36,9 @@ LCG_external_package(cmt v1r20p20090520 LCG_external_package(coin3d 3.1.3p2 ) LCG_external_package(coverage 3.5.2 ) LCG_external_package(CppUnit 1.12.1_p1 author=1.12.1 ) +if(NOT LCG_TARGET MATCHES "aarch64") LCG_external_package(cx_oracle 5.1.1 ) +endif() if(NOT ${LCG_OS} STREQUAL mac) LCG_external_package(Davix 0.4.0 ) endif() @@ -46,13 +48,16 @@ LCG_external_package(expat 2.0.1 LCG_external_package(eigen 3.2.7 ) LCG_external_package(fastjet 3.1.1 ) LCG_external_package(fftw 3.1.2 fftw3 ) -LCG_external_package(Frontier_Client 2.8.12 frontier_client) -LCG_external_package(GCCXML 0.9.0_20131026 gccxml ) +LCG_external_package(Frontier_Client 2.8.10 frontier_client) +if(NOT LCG_TARGET MATCHES "aarch64") + LCG_external_package(GCCXML 0.9.0_20131026 gccxml ) +endif() +#LCG_external_package(GCCXML 0.9.0_20131026 gccxml ) LCG_external_package(genshi 0.6 ) LCG_external_package(gmp 6.0.0 ) LCG_external_package(graphviz 2.28.0 ) LCG_external_package(GSL 1.10 ) -LCG_external_package(gtest 1.7.0 ) +LCG_external_package(gtest 1.7.0 ) LCG_external_package(HepPDT 2.06.01 ) LCG_external_package(ipython 3.1.0 ) LCG_external_package(jemalloc 3.6.0 ) @@ -62,8 +67,8 @@ LCG_external_package(jsonschema 2.4.0 LCG_external_package(lapack 3.5.0 ) LCG_external_package(lcov 1.9 ) LCG_external_package(libsvm 2.86 ) -LCG_external_package(libtool 1.5.26 ) -LCG_external_package(logilabcommon 1.0.1 ) +LCG_external_package(libtool 2.4.2 ) +LCG_external_package(logilabcommon 1.0.1 ) LCG_external_package(lxml 2.3 ) LCG_external_package(MarkupSafe 0.23 ) LCG_external_package(matplotlib 1.4.3 ) @@ -76,7 +81,9 @@ LCG_external_package(mysql_python 1.2.3 LCG_external_package(nose 1.1.2 ) LCG_external_package(numexpr 2.4.3 ) LCG_external_package(numpy 1.9.2 ) +if(NOT LCG_TARGET MATCHES "aarch64") LCG_external_package(oracle 11.2.0.3.0 ) +endif() LCG_external_package(pacparser 1.3.1 ) LCG_external_package(pandas 0.16.1 ) LCG_external_package(pcre 8.34 ) @@ -105,8 +112,8 @@ LCG_external_package(PyYAML 3.11 pyyaml LCG_external_package(pyxml 0.8.4p1 ) LCG_external_package(pyzmq 14.5.0 ) LCG_external_package(QMtest 2.4.1 ) -LCG_external_package(Qt 4.8.4 qt ) -LCG_external_package(Qt5 5.4.1 qt5 ) +LCG_external_package(Qt 4.8.6 qt ) +#LCG_external_package(Qt5 5.4.1 qt5 ) LCG_external_package(qwt 6.0.1 ) LCG_external_package(scikitlearn 0.16.1 ) LCG_external_package(scipy 0.15.1 ) @@ -144,12 +151,11 @@ LCG_external_package(mpich2 1.5 LCG_external_package(yamlcpp 0.5.1 ) #---EMI-2 grid externals and other binary packages--------------------- -if(NOT ${LCG_OS} MATCHES "mac") +if(NOT ${LCG_OS} MATCHES "mac" AND NOT LCG_TARGET MATCHES "aarch64") LCG_external_package(libunwind 5c2cade ) LCG_external_package(igprof 5.9.11 ) endif() -#if(${LCG_OS} STREQUAL slc) - if (NOT ${LCG_HOST_ARCH} STREQUAL i686) +if (NOT ${LCG_HOST_ARCH} STREQUAL i686 AND NOT LCG_TARGET MATCHES "aarch64" AND NOT ${LCG_OS} MATCHES "ubuntu") LCG_external_package(CASTOR 2.1.13-6 castor ) LCG_external_package(cream 1.14.0-4 Grid/cream ) LCG_external_package(dcap 2.47.7-1 Grid/dcap ) @@ -198,9 +204,11 @@ LCG_external_package(lhapdf 6.1.5.cxxstd ${MCGENPATH}/lhapdf author LCG_external_package(lhapdfsets 5.9.1 lhapdfsets ) +if(NOT LCG_TARGET MATCHES "aarch64") LCG_external_package(powheg-box-v2 r3043.lhcb ${MCGENPATH}/powheg-box-v2 author=r3043 ) LCG_external_package(powheg-box-v2 r3043.lhcb.rdynamic ${MCGENPATH}/powheg-box-v2 author=r3043 ) LCG_external_package(powheg-box r2092 ${MCGENPATH}/powheg-box ) +endif() LCG_external_package(feynhiggs 2.10.2 ${MCGENPATH}/feynhiggs ) LCG_external_package(chaplin 1.2 ${MCGENPATH}/chaplin ) @@ -267,14 +275,17 @@ LCG_external_package(starlight r43 ${MCGENPATH}/starlight LCG_external_package(herwig 6.520.2 ${MCGENPATH}/herwig ) LCG_external_package(herwig 6.521.2 ${MCGENPATH}/herwig ) +if (NOT LCG_TARGET MATCHES "aarch64") LCG_external_package(crmcold v3400 ${MCGENPATH}/crmc ) LCG_external_package(crmc 1.4 ${MCGENPATH}/crmc ) LCG_external_package(crmc 1.5.3 ${MCGENPATH}/crmc ) LCG_external_package(crmc 1.5.4 ${MCGENPATH}/crmc ) +endif() LCG_external_package(cython 0.19.1 ${MCGENPATH}/cython ) LCG_external_package(cython 0.22 ${MCGENPATH}/cython ) +LCG_external_package(yoda 1.4.0 ${MCGENPATH}/yoda cython=0.22 ) LCG_external_package(yoda 1.1.0 ${MCGENPATH}/yoda cython=0.19.1 ) LCG_external_package(yoda 1.5.5 ${MCGENPATH}/yoda cython=0.22 ) diff --git a/cmake/toolchain/heptools-mcplots.cmake b/cmake/toolchain/heptools-mcplots.cmake new file mode 100644 index 0000000000000000000000000000000000000000..d02d29051ce64844dc2ff20a93f9aabc8ae71d1a --- /dev/null +++ b/cmake/toolchain/heptools-mcplots.cmake @@ -0,0 +1,224 @@ +cmake_minimum_required(VERSION 2.8.5) + +# Declare the version of HEP Tools we use +# (must be done before including heptools-common to allow evolution of the +# structure) +set(heptools_version 79) + +include(${CMAKE_CURRENT_LIST_DIR}/heptools-common.cmake) + +# please keep alphabetic order and the structure (tabbing). +# it makes it much easier to edit/read this file! + + +# Application Area Projects +LCG_AA_project(COOL 3_0_4) +LCG_AA_project(CORAL 3_0_4) +LCG_AA_project(RELAX RELAX_1_4_2) +LCG_AA_project(ROOT 6.04.02) +LCG_AA_project(LCGCMT LCGCMT_${heptools_version}) +LCG_AA_project(HepMC 2.06.09) +#LCG_external_package(Geant4 9.6.p03 CLHEP=2.1.4.1) + + +# Externals +LCG_external_package(hepmc3 githead ) +LCG_external_package(4suite 1.0.2p1 ) +LCG_external_package(AIDA 3.2.1 ) +LCG_external_package(astroid 1.3.6 ) +LCG_external_package(backports 3.4.0.2 ) +LCG_external_package(blas 20110419 ) +LCG_external_package(Boost 1.55.0 ) +LCG_external_package(certifi 14.05.14 ) +#LCG_external_package(CLHEP 2.1.4.1 clhep ) +LCG_external_package(CLHEP 1.9.4.7 clhep ) +LCG_external_package(cmaketools 1.1 ) +LCG_external_package(cmt v1r20p20090520 ) +LCG_external_package(coin3d 3.1.3p2 ) +LCG_external_package(coverage 3.5.2 ) +LCG_external_package(CppUnit 1.12.1_p1 author=1.12.1 ) +LCG_external_package(cx_oracle 5.1.1 ) +if(NOT ${LCG_OS} STREQUAL mac) + LCG_external_package(Davix 0.3.1 ) +endif() +#LCG_external_package(DD4hep v00-07 ) +LCG_external_package(doxygen 1.8.9.1 ) +LCG_external_package(eigen 3.2.4 ) +LCG_external_package(expat 2.0.1 ) +LCG_external_package(fastjet 3.1.1 ) +LCG_external_package(fftw 3.1.2 fftw3 ) +LCG_external_package(Frontier_Client 2.8.12 frontier_client) +LCG_external_package(GCCXML 0.9.0_20131026 gccxml ) +LCG_external_package(genshi 0.6 ) +LCG_external_package(gmp 6.0.0 ) +LCG_external_package(graphviz 2.28.0 ) +LCG_external_package(GSL 1.10 ) +LCG_external_package(gtest 1.7.0 ) +LCG_external_package(HepPDT 2.06.01 ) +LCG_external_package(ipython 3.1.0 ) +LCG_external_package(Jinja2 2.7.3 ) +LCG_external_package(json 2.5.2 ) +LCG_external_package(jsonschema 2.4.0 ) +LCG_external_package(lapack 3.5.0 ) +LCG_external_package(lcov 1.9 ) +LCG_external_package(libsvm 2.86 ) +LCG_external_package(libtool 2.4.2 ) +LCG_external_package(logilab-common 1.0.1 ) +LCG_external_package(lxml 2.3 ) +LCG_external_package(MarkupSafe 0.23 ) +LCG_external_package(matplotlib 1.4.3 ) +LCG_external_package(messaging 1.0 ) +LCG_external_package(mistune 0.5.1 ) +LCG_external_package(mock 0.8.0 ) +LCG_external_package(multiprocessing 2.6.2.1 ) +LCG_external_package(mysql 5.5.27 ) +LCG_external_package(mysql_python 1.2.3 ) +LCG_external_package(nose 1.1.2 ) +LCG_external_package(numexpr 2.4.3 ) +LCG_external_package(numpy 1.9.2 ) +LCG_external_package(oracle 11.2.0.3.0 ) +LCG_external_package(pacparser 1.3.1 ) +LCG_external_package(pandas 0.16.1 ) +LCG_external_package(pcre 8.34 ) +LCG_external_package(prettytable 0.7.2 ) +LCG_external_package(processing 0.52 ) +LCG_external_package(ptyprocess 0.4 ) +LCG_external_package(py 1.4.8 ) +LCG_external_package(py2neo 1.4.6 ) +LCG_external_package(pyanalysis 1.5 ) +LCG_external_package(pydot 1.0.28 ) +LCG_external_package(pygments 2.0.2 ) +LCG_external_package(pygraphics 1.5 ) +LCG_external_package(pygsi 0.6.3 ) +LCG_external_package(pylint 1.4.0 ) +LCG_external_package(pyminuit 0.0.1 ) +LCG_external_package(pyparsing 2.0.3 ) +LCG_external_package(pyqt 4.9.5 ) +LCG_external_package(pytest 2.2.4 ) +LCG_external_package(pytz 2015.4 ) +LCG_external_package(Python 2.7.9.p1 ) +LCG_external_package(PythonFWK 2.7.9 Python ) +LCG_external_package(python_dateutil 2.4.0 ) +LCG_external_package(pytools 1.9 ) +LCG_external_package(pyxml 0.8.4p1 ) +LCG_external_package(pyzmq 14.5.0 ) +LCG_external_package(QMtest 2.4.1 ) +LCG_external_package(Qt 4.8.4 qt ) +LCG_external_package(Qt5 5.4.1 qt5 ) +LCG_external_package(qwt 6.0.1 ) +LCG_external_package(scikitlearn 0.16.1 ) +LCG_external_package(scipy 0.15.1 ) +LCG_external_package(setuptools 0.6c11 ) +LCG_external_package(sip 4.14 ) +LCG_external_package(six 1.9.0 ) +LCG_external_package(soqt 1.5.0 ) +LCG_external_package(sqlalchemy 0.7.7 ) +LCG_external_package(sqlite 3070900 ) +LCG_external_package(stomppy 3.1.3 ) +LCG_external_package(storm 0.19 ) +LCG_external_package(subprocess32 3.2.6 ) +LCG_external_package(swig 2.0.11 author=2.0.11 ) +LCG_external_package(sympy 0.7.6 ) +LCG_external_package(tbb 42_20140122 ) +LCG_external_package(tcmalloc 2.4 ) +LCG_external_package(terminado 0.5 ) +LCG_external_package(tornado 4.0.2 ) +if(NOT ${LCG_OS}${LCG_OSVERS} STREQUAL slc6) # uuid is not distributed with SLC6 +LCG_external_package(uuid 1.42 ) +endif() +if(NOT ${LCG_OS}${LCG_OSVERS} STREQUAL mac109 AND NOT LCG_TARGET MATCHES "icc" ) # valgrind does not work yet with mac109 and icc + LCG_external_package(valgrind 3.10.0 ) +endif() +LCG_external_package(vectorclass 1.16 ) +LCG_external_package(vdt 0.3.6 ) +LCG_external_package(XercesC 3.1.1p1 author=3.1.1 ) +LCG_external_package(xqilla 2.2.4p1 ) +LCG_external_package(xrootd 3.3.6 ) +if(NOT ${LCG_OS} STREQUAL mac) + LCG_external_package(xrootd_python 0.1.3 ) +endif() + +LCG_external_package(mpich2 1.5 ) + +#---EMI-2 grid externals and other binary packages--------------------- +if(NOT ${LCG_OS} MATCHES "mac") + LCG_external_package(libunwind 5c2cade ) + LCG_external_package(igprof 5.9.11 ) +endif() +if (NOT ${LCG_HOST_ARCH} STREQUAL i686) + LCG_external_package(CASTOR 2.1.13-6 castor ) + LCG_external_package(cream 1.14.0-4 Grid/cream ) + LCG_external_package(dcap 2.47.7-1 Grid/dcap ) + LCG_external_package(dm-util 1.15.0-0 Grid/dm-util ) + LCG_external_package(dpm 1.8.5-1 Grid/DPM ) + LCG_external_package(epel 20130408 Grid/epel ) + LCG_external_package(FTS 2.2.8emi2 Grid/FTS ) + if(${LCG_OS}${LCG_OSVERS} STREQUAL slc6) + LCG_external_package(FTS3 0.0.1-88 Grid/FTS3 ) + endif() + LCG_external_package(gfal 1.13.0-0 Grid/gfal ) + LCG_external_package(gfal2 2.2.0-1 Grid/gfal2 ) + LCG_external_package(gridftp_ifce 2.3.1-0 Grid/gridftp-ifce ) + LCG_external_package(gridsite 1.7.25-1.emi2 Grid/gridsite ) + LCG_external_package(is_ifce 1.15.0-0 Grid/is-ifce ) + LCG_external_package(lb 3.2.9 Grid/lb ) + LCG_external_package(lcgdmcommon 1.8.5-1 Grid/lcg-dm-common) + LCG_external_package(lcginfosites 3.1.0-3 Grid/lcg-infosites) + LCG_external_package(lfc 1.8.5-1 Grid/LFC ) + LCG_external_package(srm_ifce 1.13.0-0 Grid/srm-ifce ) + LCG_external_package(voms 2.0.9-1 Grid/voms ) + LCG_external_package(WMS 3.4.0 Grid/WMS ) + LCG_external_package(neurobayes 3.7.0 ) + LCG_external_package(neurobayes_expert 3.7.0 ) +endif() + +#---Additional External packages------(Generators)----------------- + +set(MCGENPATH MCGenerators) + +LCG_external_package(heputils 1.0.0 ${MCGENPATH}/heputils ) +LCG_external_package(mcutils 1.1.0 ${MCGENPATH}/mcutils heputils=1.0.0) + +LCG_external_package(lhapdf 5.9.1 ${MCGENPATH}/lhapdf ) +LCG_external_package(lhapdf 6.1.5 ${MCGENPATH}/lhapdf ) + +LCG_external_package(lhapdfsets 5.8.8 lhapdfsets ) +LCG_external_package(lhapdfsets 5.9.1 lhapdfsets ) + +LCG_external_package(pythia8 175 ${MCGENPATH}/pythia8 ) +LCG_external_package(pythia8 185 ${MCGENPATH}/pythia8 ) +LCG_external_package(pythia8 186 ${MCGENPATH}/pythia8 ) +LCG_external_package(pythia8 201 ${MCGENPATH}/pythia8 ) +LCG_external_package(pythia8 205 ${MCGENPATH}/pythia8 ) +LCG_external_package(pythia8 209 ${MCGENPATH}/pythia8 ) +LCG_external_package(pythia8 210 ${MCGENPATH}/pythia8 ) + +LCG_external_package(thepeg 1.9.2p1 ${MCGENPATH}/thepeg author=1.9.2 ) +LCG_external_package(herwig++ 2.7.1 ${MCGENPATH}/herwig++ thepeg=1.9.2p1 ) + +LCG_external_package(pythia6 427.2 ${MCGENPATH}/pythia6 author=6.4.27 hepevt=10000 ) +LCG_external_package(pythia6 429.2 ${MCGENPATH}/pythia6 author=6.4.28 hepevt=10000 ) +LCG_external_package(pythia6 428.2 ${MCGENPATH}/pythia6 author=6.4.28 hepevt=10000 ) + +LCG_external_package(sherpa 2.1.1 ${MCGENPATH}/sherpa author=2.1.1 hepevt=10000) + +LCG_external_package(herwig 6.520.2 ${MCGENPATH}/herwig ) +LCG_external_package(herwig 6.521.2 ${MCGENPATH}/herwig ) + +LCG_external_package(crmcold v3400 ${MCGENPATH}/crmc ) +LCG_external_package(crmc 1.4 ${MCGENPATH}/crmc ) +LCG_external_package(crmc 1.5.4 ${MCGENPATH}/crmc ) +LCG_external_package(crmc 1.5.3 ${MCGENPATH}/crmc ) +LCG_external_package(cython 0.22 ${MCGENPATH}/cython ) +LCG_external_package(cython 0.19.1 ${MCGENPATH}/cython ) +LCG_external_package(yamlcpp 0.3.0 ${MCGENPATH}/yamlcpp ) + +LCG_external_package(alpgen 2.1.4 ${MCGENPATH}/alpgen author=214 ) + +#LCG_external_package(vincia HEAD ${MCGENPATH}/vincia ) +LCG_external_package(vincia 1.1.03 ${MCGENPATH}/vincia pythia8=185) +LCG_external_package(vincia 1.2.00 ${MCGENPATH}/vincia pythia8=205) +LCG_external_package(vincia 1.2.01 ${MCGENPATH}/vincia pythia8=205) + +# Prepare the search paths according to the versions above +LCG_prepare_paths() diff --git a/externals/CMakeLists.txt b/externals/CMakeLists.txt index 998c3d25373f9a00431099f4fa99aacc4dbd9fd8..eb7e7f6a24cbf36bb539cad99c7e23dd3b51a9aa 100644 --- a/externals/CMakeLists.txt +++ b/externals/CMakeLists.txt @@ -28,8 +28,7 @@ LCGPackage_Add( URL http://service-spi.web.cern.ch/service-spi/external/tarFiles/xapian-core-${xapian_native_version}.tar.gz CONFIGURE_COMMAND ./configure --prefix=<INSTALL_DIR> BUILD_COMMAND make - INSTALL_COMMAND make install - COMMAND ${CMAKE_COMMAND} -E copy <INSTALL_DIR>/include/xapian.h <INSTALL_DIR>/include/xapian/. + INSTALL_COMMAND make install BUILD_IN_SOURCE 1 ) #---png----------------------------------------------------------------------------------------------- @@ -244,12 +243,14 @@ string(REPLACE "." "_" Boost_file_version ${Boost_config_version}) set (config_with_Boost "-DBoost_NO_BOOST_CMAKE=True" "-DBoost_DEBUG=True" "-DBoost_ADDITIONAL_VERSIONS=1.59") - +if(LCG_TARGET MATCHES "aarch64") + set(Boost_aarch64_configs --without-libraries=context,coroutine) +endif() LCGPackage_Add( Boost URL http://service-spi.web.cern.ch/service-spi/external/tarFiles/boost_${Boost_file_version}.tar.gz - CONFIGURE_COMMAND <SOURCE_DIR>/bootstrap.sh ${Boost_bootstrap_options} --with-toolset=${Boost_toolset} + CONFIGURE_COMMAND <SOURCE_DIR>/bootstrap.sh ${Boost_bootstrap_options} --with-toolset=${Boost_toolset} ${Boost_aarch64_configs} BUILD_COMMAND <SOURCE_DIR>/b2 ${Boost_jam_options} ${Boost_compile_options} --debug-configuration --toolset=${Boost_toolset} --user-config=${CMAKE_CURRENT_BINARY_DIR}/user-config.jam INSTALL_COMMAND <SOURCE_DIR>/b2 ${Boost_jam_options} ${Boost_compile_options} --toolset=${Boost_toolset} @@ -628,7 +629,7 @@ LCGPackage_Add( Qt URL http://service-spi.web.cern.ch/service-spi/external/tarFiles/qt-everywhere-opensource-src-${Qt_native_version}.tar.gz CONFIGURE_COMMAND ./configure ${Qt_extra_config_opts} -no-separate-debug-info -release --prefix=<INSTALL_DIR> - -nomake examples -nomake demos --opensource --confirm-license -fast -qt3support + -nomake examples -nomake demos --opensource --confirm-license -fast -qt3support -no-webkit INSTALL_COMMAND ${MAKE} -j1 install COMMAND ${CMAKE_SOURCE_DIR}/externals/Qt_postinstall.sh <INSTALL_DIR> BUILD_IN_SOURCE 1 @@ -677,11 +678,11 @@ LCGPackage_Add( ) #---doxygen---------------------------------------------------------------------------------------------- LCGPackage_Add( - doxygen + doxygen URL http://service-spi.web.cern.ch/service-spi/external/tarFiles/doxygen-${doxygen_native_version}.src.tar.gz - CONFIGURE_COMMAND env XAPIAN=${xapian_home} ./configure --dot ${graphviz_home}/bin/dot --with-doxysearch --prefix <INSTALL_DIR> + CONFIGURE_COMMAND ./configure --dot ${graphviz_home}/bin/dot --prefix <INSTALL_DIR> BUILD_IN_SOURCE 1 - DEPENDS graphviz xapian + DEPENDS graphviz ) #---expat------------------------------------------------------------------------------------------------ @@ -881,6 +882,7 @@ LCGPackage_Add( vdt URL http://service-spi.web.cern.ch/service-spi/external/tarFiles/vdt-${vdt_native_version}.tar.gz CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR> + IF LCG_HOST_ARCH STREQUAL "aarch64" THEN -DSSE=OFF ENDIF BUILD_IN_SOURCE 1 ) diff --git a/externals/patches/mysql-5.5.27.patch b/externals/patches/mysql-5.5.27.patch new file mode 100644 index 0000000000000000000000000000000000000000..8069589501570e6ef7b5b9811c5f27e9a8f2931b --- /dev/null +++ b/externals/patches/mysql-5.5.27.patch @@ -0,0 +1,38 @@ +diff sql-common.old/client_plugin.c sql-common/client_plugin.c +--- sql-common.old/client_plugin.c 2011-01-07 01:57:38.087947821 +0100 ++++ sql-common/client_plugin.c 2011-01-07 02:00:03.585825739 +0100 +@@ -233,6 +233,7 @@ + { + MYSQL mysql; + struct st_mysql_client_plugin **builtin; ++ va_list dummy; + + if (initialized) + return 0; +@@ -249,7 +250,7 @@ + pthread_mutex_lock(&LOCK_load_client_plugin); + + for (builtin= mysql_client_builtins; *builtin; builtin++) +- add_plugin(&mysql, *builtin, 0, 0, 0); ++ add_plugin(&mysql, *builtin, 0, 0, dummy); + + pthread_mutex_unlock(&LOCK_load_client_plugin); + +@@ -293,6 +294,8 @@ + mysql_client_register_plugin(MYSQL *mysql, + struct st_mysql_client_plugin *plugin) + { ++ va_list dummy; ++ + if (is_not_initialized(mysql, plugin->name)) + return NULL; + +@@ -307,7 +310,7 @@ + plugin= NULL; + } + else +- plugin= add_plugin(mysql, plugin, 0, 0, 0); ++ plugin= add_plugin(mysql, plugin, 0, 0, dummy); + + pthread_mutex_unlock(&LOCK_load_client_plugin); + return plugin; diff --git a/externals/patches/tcmalloc-2.4.patch b/externals/patches/tcmalloc-2.4.patch new file mode 100644 index 0000000000000000000000000000000000000000..86eb5e2ad6323293ca5cc96a99ce85a403ef3403 --- /dev/null +++ b/externals/patches/tcmalloc-2.4.patch @@ -0,0 +1,177 @@ +--- src/stacktrace.cc ++++ src/stacktrace.cc +@@ -130,6 +130,15 @@ + #define HAVE_GST_arm + #endif + ++#if defined(__aarch64__) ++#define STACKTRACE_INL_HEADER "stacktrace_arm64-inl.h" ++#define GST_SUFFIX arm64 ++#include "stacktrace_impl_setup-inl.h" ++#undef GST_SUFFIX ++#undef STACKTRACE_INL_HEADER ++#define HAVE_GST_arm64 ++#endif ++ + #ifdef TCMALLOC_ENABLE_INSTRUMENT_STACKTRACE + #define STACKTRACE_INL_HEADER "stacktrace_instrument-inl.h" + #define GST_SUFFIX instrument +@@ -195,6 +204,8 @@ + static GetStackImplementation *get_stack_impl = &impl__libunwind; + #elif defined(HAVE_GST_arm) + static GetStackImplementation *get_stack_impl = &impl__arm; ++#elif defined(HAVE_GST_arm64) ++static GetStackImplementation *get_stack_impl = &impl__arm64; + #elif defined(HAVE_GST_generic) + static GetStackImplementation *get_stack_impl = &impl__generic; + #elif 0 +@@ -206,6 +217,7 @@ + # include "stacktrace_powerpc-inl.h" + # include "stacktrace_win32-inl.h" + # include "stacktrace_arm-inl.h" ++# include "stacktrace_arm64-inl.h" + # include "stacktrace_instrument-inl.h" + #else + #error Cannot calculate stack trace: will need to write for your environment +--- src/stacktrace_arm64-inl.h ++++ src/stacktrace_arm64-inl.h +@@ -0,0 +1,138 @@ ++// -*- Mode: C++; c-basic-offset: 2; indent-tabs-mode: nil -*- ++// Copyright (c) 2011, Google Inc. ++// All rights reserved. ++// ++// Redistribution and use in source and binary forms, with or without ++// modification, are permitted provided that the following conditions are ++// met: ++// ++// * Redistributions of source code must retain the above copyright ++// notice, this list of conditions and the following disclaimer. ++// * Redistributions in binary form must reproduce the above ++// copyright notice, this list of conditions and the following disclaimer ++// in the documentation and/or other materials provided with the ++// distribution. ++// * Neither the name of Google Inc. nor the names of its ++// contributors may be used to endorse or promote products derived from ++// this software without specific prior written permission. ++// ++// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ++// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ++// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ++// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ++// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ++// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ++// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ++// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ++// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ++// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ++// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ ++// --- ++// This is adapted from Doug Kwan's code for ARM. ++// ++ ++#ifndef BASE_STACKTRACE_ARM64_INL_H_ ++#define BASE_STACKTRACE_ARM64_INL_H_ ++// Note: this file is included into stacktrace.cc more than once. ++// Anything that should only be defined once should be here: ++ ++#include <stdint.h> // for uintptr_t ++#include "base/basictypes.h" // for NULL ++#include <gperftools/stacktrace.h> ++ ++// Given a pointer to a stack frame, locate and return the calling ++// stackframe, or return NULL if no stackframe can be found. Perform sanity ++// checks (the strictness of which is controlled by the boolean parameter ++// "STRICT_UNWINDING") to reduce the chance that a bad pointer is returned. ++template<bool STRICT_UNWINDING> ++static void **NextStackFrame(void **old_sp) { ++ void **new_sp = (void**) old_sp[0]; ++ ++ // Check that the transition from frame pointer old_sp to frame ++ // pointer new_sp isn't clearly bogus ++ if (STRICT_UNWINDING) { ++ // With the stack growing downwards, older stack frame must be ++ // at a greater address that the current one. ++ if (new_sp <= old_sp) return NULL; ++ // Assume stack frames larger than 100,000 bytes are bogus. ++ if ((uintptr_t)new_sp - (uintptr_t)old_sp > 100000) return NULL; ++ } else { ++ // In the non-strict mode, allow discontiguous stack frames. ++ // (alternate-signal-stacks for example). ++ if (new_sp == old_sp) return NULL; ++ // And allow frames upto about 1MB. ++ if ((new_sp > old_sp) ++ && ((uintptr_t)new_sp - (uintptr_t)old_sp > 1000000)) return NULL; ++ } ++ if ((uintptr_t)new_sp & (sizeof(void *) - 1)) return NULL; ++ return new_sp; ++} ++ ++// This ensures that GetStackTrace stes up the Link Register properly. ++#ifdef __GNUC__ ++void StacktraceArm64DummyFunction() __attribute__((noinline)); ++void StacktraceArm64DummyFunction() { __asm__ volatile(""); } ++#else ++# error StacktraceArm64DummyFunction() needs to be ported to this platform. ++#endif ++#endif // BASE_STACKTRACE_ARM64_INL_H_ ++ ++// Note: this part of the file is included several times. ++// Do not put globals below. ++ ++// The following 4 functions are generated from the code below: ++// GetStack{Trace,Frames}() ++// GetStack{Trace,Frames}WithContext() ++// ++// These functions take the following args: ++// void** result: the stack-trace, as an array ++// int* sizes: the size of each stack frame, as an array ++// (GetStackFrames* only) ++// int max_depth: the size of the result (and sizes) array(s) ++// int skip_count: how many stack pointers to skip before storing in result ++// void* ucp: a ucontext_t* (GetStack{Trace,Frames}WithContext only) ++static int GET_STACK_TRACE_OR_FRAMES { ++#ifdef __GNUC__ ++ void **sp = reinterpret_cast<void**>(__builtin_frame_address(0)); ++#else ++# error reading stack point not yet supported on this platform. ++#endif ++ ++ // On AArch64, the return address is stored in X30. ++ // This is not saved on the stack frame of a leaf function. To ++ // simplify code that reads return addresses, we call a dummy ++ // function so that the return address of this function is also ++ // stored in the stack frame. This works at least for gcc. ++ StacktraceArm64DummyFunction(); ++ ++ skip_count++; // skip parent frame due to indirection in stacktrace.cc ++ ++ int n = 0; ++ while (sp && n < max_depth) { ++ // The GetStackFrames routine is called when we are in some ++ // informational context (the failure signal handler for example). ++ // Use the non-strict unwinding rules to produce a stack trace ++ // that is as complete as possible (even if it contains a few bogus ++ // entries in some rare cases). ++ void **next_sp = NextStackFrame<IS_STACK_FRAMES == 0>(sp); ++ ++ if (skip_count > 0) { ++ skip_count--; ++ } else { ++ result[n] = *sp; ++ ++#if IS_STACK_FRAMES ++ if (next_sp > sp) { ++ sizes[n] = (uintptr_t)next_sp - (uintptr_t)sp; ++ } else { ++ // A frame-size of 0 is used to indicate unknown frame size. ++ sizes[n] = 0; ++ } ++#endif ++ n++; ++ } ++ sp = next_sp; ++ } ++ return n; ++} + diff --git a/generators/CMakeLists.txt b/generators/CMakeLists.txt index 13d0f7da28bb65495510016f134bdfd531a64c6e..9956fec6dc23a6c7bf6f3547ec328e55a776b848 100644 --- a/generators/CMakeLists.txt +++ b/generators/CMakeLists.txt @@ -205,6 +205,9 @@ LCGPackage_Add( ) #---mcutils------------------------------------------------------------------------------------------- + +set(heputils_mcutils_home <heputils-<mcutils_<NATIVE_VERSION>_heputils>_home>) + LCGPackage_Add( mcutils URL ${gen_url}/mcutils-<NATIVE_VERSION>.tar.gz @@ -212,7 +215,7 @@ LCGPackage_Add( BUILD_COMMAND <VOID> INSTALL_COMMAND make install PREFIX=<INSTALL_DIR> BUILD_IN_SOURCE 1 - DEPENDS heputils + DEPENDS heputils-<mcutils_<NATIVE_VERSION>_heputils> ) @@ -1122,6 +1125,7 @@ LCGPackage_Add( --tauoladir=<tauola++-<evtgen_<VERSION>_tauola++>_home> BUILD_COMMAND ${MAKE} -j1 FLIBS=-lgfortran IF NOT ${photos++_version_last} VERSION_LESS 3.60 THEN PHOTOSLIBLIST=-lPhotospp ENDIF + IF <evtgen_<VERSION>_pythia8> VERSION_GREATER 200 THEN PYTHIALIBLIST=-lpythia8 ENDIF INSTALL_COMMAND make install COMMAND ${CMAKE_COMMAND} -E chdir <INSTALL_DIR>/../share ${CMAKE_COMMAND} -E create_symlink sources/evt.pdl evt.pdl COMMAND ${CMAKE_COMMAND} -E chdir <INSTALL_DIR>/../share ${CMAKE_COMMAND} -E create_symlink sources/DECAY_2010.DEC DECAY.DEC @@ -1846,7 +1850,7 @@ foreach(i WW Zj hvq) LCG_add_test(powheg-box-v2-${v}.native-${i} TEST_COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/powheg-box/tests/runtest.sh ${powheg-box-v2-${v}_home}/bin ${powheg-box-v2-${v}_home}/../share/sources ${i} powheg-box-v2 ${v} ENVIRONMENT - ${library_path}=${lhapdf-${powheg-box-v2_${v}_lhapdf}_home}/lib:${fastjet_home}/lib:$ENV{${library_path}} + ${library_path}=${lhapdf-${powheg-box-v2_${v}_lhapdf}_home}/lib:${fastjet_home}/lib:$ENV{${library_path}}:/usr/lib/gcc/aarch64-linux-gnu/4.9 LHAPATH=${lhapdfsets_home}/../share/PDFsets LHAPDF_DATA_PATH=${lhapdf-${powheg-box-v2_${v}_lhapdf}_home}/share/LHAPDF:${CMAKE_INSTALL_PREFIX}/lhapdf6sets/current/share/LHAPDF DEPENDS lhapdf6sets.download @@ -1878,7 +1882,7 @@ foreach(i WW HJ W_ew-BW Wbb Wj HJJ ZZ W_ew-BMNNP Dijet gg_H VBF_H Z W hvq Zj ST_ LCG_add_test(powheg-box-${v}.native-${i} TEST_COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/powheg-box/tests/runtest.sh ${powheg-box-${v}_home}/bin ${powheg-box-${v}_home}/../share/sources ${i} powheg-box ${v} ENVIRONMENT - ${library_path}=${lhapdf-${powheg-box_${v}_lhapdf}_home}/lib:${fastjet_home}/lib:$ENV{${library_path}} + ${library_path}=${lhapdf-${powheg-box_${v}_lhapdf}_home}/lib:${fastjet_home}/lib:$ENV{${library_path}}:/usr/lib/gcc/aarch64-linux-gnu/4.9 LHAPATH=${lhapdfsets_home}/../share/PDFsets LHAPDF_DATA_PATH=${lhapdf-${powheg-box_${v}_lhapdf}_home}/share/LHAPDF:${CMAKE_INSTALL_PREFIX}/lhapdf6sets/current/share/LHAPDF DEPENDS lhapdf6sets.download @@ -2126,7 +2130,15 @@ foreach(v ${gg2VV_native_version}) ) endforeach() - +#---dpmjet------------------------------------------------------------------------------------------ +LCGPackage_Add( + dpmjet + URL ${gen_url}/dpmjet<NATIVE_VERSION>.tar.gz + CONFIGURE_COMMAND <VOID> + BUILD_COMMAND ${MAKE} all + INSTALL_COMMAND ${CMAKE_COMMAND} -E copy <SOURCE_DIR>/dpmjet<NATIVE_VERSION> <INSTALL_DIR>/. + BUILD_IN_SOURCE 1 +) #--- fastnlo_toolkit ------------------------------------------------------------------------------- LCGPackage_Add( diff --git a/generators/patches/dpmjet3.0-6.patch b/generators/patches/dpmjet3.0-6.patch new file mode 100644 index 0000000000000000000000000000000000000000..79e7c517b39745fd6f16c73517f363108aa730e5 --- /dev/null +++ b/generators/patches/dpmjet3.0-6.patch @@ -0,0 +1,28 @@ +--- Makefile 2015-10-02 12:20:40.000000001 +0200 ++++ Makefile 2015-10-02 12:20:17.000000001 +0200 +@@ -36,17 +36,17 @@ + # Linux g77 + # --------- + # OPT = -C -Wall -malign-double -mpentium -O +-OPT = -c -O3 -g -mcpu=pentiumpro -fexpensive-optimizations -funroll-loops -fstrength-reduce -Wall -fno-automatic -fno-silent -m32 -ffortran-bounds-check -v +-FC = g77 +-LD = g77 +-TRAP = fpe.o ++#OPT = -c -O3 -g -mcpu=pentiumpro -fexpensive-optimizations -funroll-loops -fstrength-reduce -Wall -fno-automatic -fno-silent -m32 -ffortran-bounds-check -v ++#FC = g77 ++#LD = g77 ++#TRAP = fpe.o + + # Linux gfortran + # -------------- +-# OPT = -c -C -std=legacy -O -O3 -g -fexpensive-optimizations -funroll-loops -fno-automatic -m32 -fbounds-check -v +-# FC = gfortran +-# LD = gfortran +-# TRAP = fpe.o ++ OPT = -c -C -std=legacy -O -O3 -g -fexpensive-optimizations -funroll-loops -fno-automatic -m32 -fbounds-check -v ++ FC = gfortran ++ LD = gfortran ++ TRAP = fpe.o + + # IBM (RISC) + # ---------- diff --git a/projects/CMakeLists.txt b/projects/CMakeLists.txt index 9b208d979058d2e7fa07b089a56c16d477c06a00..25a325775b1b20d93289741e0b39716c9c5fc52a 100644 --- a/projects/CMakeLists.txt +++ b/projects/CMakeLists.txt @@ -85,6 +85,56 @@ if(LCG_TARGET MATCHES "mac.*-gcc(47|48)") BUILD_IN_SOURCE 1 DEPENDS Python CASTOR dcap fftw gfal graphviz GSL mysql oracle Qt xrootd srm_ifce ) +elseif(LCG_TARGET MATCHES "aarch64") +LCGPackage_Add( + ROOT + URL ftp://root.cern.ch/root/root_v${ROOT_author_version}.source.tar.gz + CMAKE_CACHE_ARGS -DCMAKE_PREFIX_PATH:STRING=${Python_home} ${Davix_home} ${fftw_home} ${mysql_home} ${xrootd_home} + ${graphviz_home} ${GSL_home} ${Qt_home} + CMAKE_ARGS -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR> + -Dpython=ON + -DCMAKE_OSX_ARCHITECTURES=linuxarm + -Dbuiltin_pcre=ON + -Dcintex=ON + IF DEFINED Davix_native_version THEN + -Ddavix=ON + ENDIF + -Dexceptions=ON + -Dexplicitlink=ON + -Dfftw3=ON + -Dgdml=ON + -Dgsl_shared=ON + -Dkrb5=ON + -Dgenvector=ON + -Dldap=ON + -Dmathmore=ON + -Dmemstat=ON + -Dminuit2=ON + -Dmysql=ON + -Dodbc=ON + -Dopengl=ON + -Dpgsql=OFF + -Dqtgsi=ON + -Dreflex=ON + -Droofit=ON + -Drfio=ON + -Dssl=ON + -Dtable=ON + -Dunuran=ON + -Dxft=ON + -Dxml=ON + -Dxrootd=ON + -DCINTMAXSTRUCT=36000 + -DCINTMAXTYPEDEF=36000 + -DCINTLONGLINE=4096 + -Dc++11=ON + -Dcxx11=ON + + + DEPENDS Python fftw graphviz GSL mysql xrootd Qt + +) else() LCGPackage_Add( ROOT @@ -253,7 +303,8 @@ LCGPackage_add( ELSE URL http://service-spi.web.cern.ch/service-spi/external/tarFiles/CORAL-${CORAL_native_version}.tar.gz ENDIF - CONFIGURE_COMMAND ${CMAKE_COMMAND} -E rename toolchain.cmake toolchain.cmake.STANDALONE + #CONFIGURE_COMMAND ${CMAKE_COMMAND} -E rename toolchain.cmake toolchain.cmake.STANDALONE + CONFIGURE_COMMAND <VOID> BUILD_COMMAND env CMAKE_PREFIX_PATH=${Boost_home}:${CppUnit_home}:${expat_home}:${Frontier_Client_home}:${igprof_home}:${libunwind_home}:${mysql_home}:${oracle_home}:${Python_home}:${QMtest_home}:${sqlite_home}:${tcmalloc_home}:${valgrind_home}:${XercesC_home} CC=${CMAKE_C_COMPILER} CXX=${CMAKE_CXX_COMPILER} @@ -263,7 +314,7 @@ LCGPackage_add( CMAKEFLAGS='-DCMAKE_INSTALL_PREFIX=<INSTALL_DIR>' CMAKEFLAGS+='-DBINARY_TAG=${BINARY_TAG}' VERBOSE=1 - INSTALL_COMMAND env CMAKE_PREFIX_PATH=${Boost_home}:${CppUnit_home}:${expat_home}:${Frontier_Client_home}:${igprof_home}:${libunwind_home}:${mysql_home}:${oracle_home}:${Python_home}:${QMtest_home}:${Qt_home}:${ROOT_home}:${sqlite_home}:${tcmalloc_home}:${valgrind_home}:${XercesC_home} + INSTALL_COMMAND env CMAKE_PREFIX_PATH=${Boost_home}:${CppUnit_home}:${expat_home}:${Frontier_Client_home}:${igprof_home}:${libunwind_home}:${mysql_home}:${Python_home}:${QMtest_home}:${Qt_home}:${ROOT_home}:${sqlite_home}:${tcmalloc_home}:${valgrind_home}:${XercesC_home} CC=${CMAKE_C_COMPILER} CXX=${CMAKE_CXX_COMPILER} BINARY_TAG=${BINARY_TAG} @@ -273,14 +324,14 @@ LCGPackage_add( CMAKEFLAGS+='-DBINARY_TAG=${BINARY_TAG}' VERBOSE=1 BUILD_IN_SOURCE 1 - DEPENDS Boost CppUnit expat Frontier_Client mysql oracle Python QMtest sqlite XercesC + DEPENDS Boost CppUnit expat Frontier_Client mysql Python QMtest sqlite XercesC IF NOT BINARY_TAG MATCHES "mac" THEN tcmalloc ENDIF - IF NOT BINARY_TAG MATCHES "mac" AND NOT BINARY_TAG MATCHES "clang" THEN + IF NOT BINARY_TAG MATCHES "mac" AND NOT BINARY_TAG MATCHES "clang" AND NOT LCG_TARGET MATCHES "aarch64" THEN igprof libunwind ENDIF - IF NOT BINARY_TAG MATCHES "mac1010" AND NOT BINARY_TAG MATCHES "icc" THEN + IF NOT BINARY_TAG MATCHES "mac1010" AND NOT BINARY_TAG MATCHES "icc" AND NOT LCG_TARGET MATCHES "aarch64" THEN valgrind ENDIF ) @@ -304,7 +355,8 @@ LCGPackage_add( ELSE URL http://service-spi.web.cern.ch/service-spi/external/tarFiles/COOL-${COOL_native_version}.tar.gz ENDIF - CONFIGURE_COMMAND ${CMAKE_COMMAND} -E rename toolchain.cmake toolchain.cmake.STANDALONE + #CONFIGURE_COMMAND ${CMAKE_COMMAND} -E rename toolchain.cmake toolchain.cmake.STANDALONE + CONFIGURE_COMMAND <VOID> BUILD_COMMAND env CMAKE_PREFIX_PATH=${Boost_home}:${CORAL_home}:${CppUnit_home}:${expat_home}:${Frontier_Client_home}:${igprof_home}:${libunwind_home}:${mysql_home}:${oracle_home}:${Python_home}:${QMtest_home}:${Qt_home}:${ROOT_home}:${sqlite_home}:${tcmalloc_home}:${valgrind_home}:${XercesC_home} CC=${CMAKE_C_COMPILER} CXX=${CMAKE_CXX_COMPILER} @@ -314,7 +366,7 @@ LCGPackage_add( CMAKEFLAGS='-DCMAKE_INSTALL_PREFIX=<INSTALL_DIR>' CMAKEFLAGS+='-DBINARY_TAG=${BINARY_TAG}' VERBOSE=1 - INSTALL_COMMAND env CMAKE_PREFIX_PATH=${Boost_home}:${CORAL_home}:${CppUnit_home}:${expat_home}:${Frontier_Client_home}:${igprof_home}:${libunwind_home}:${mysql_home}:${oracle_home}:${Python_home}:${QMtest_home}:${Qt_home}:${ROOT_home}:${sqlite_home}:${tcmalloc_home}:${valgrind_home}:${XercesC_home} + INSTALL_COMMAND env CMAKE_PREFIX_PATH=${Boost_home}:${CORAL_home}:${CppUnit_home}:${expat_home}:${Frontier_Client_home}:${igprof_home}:${libunwind_home}:${mysql_home}:${Python_home}:${QMtest_home}:${Qt_home}:${ROOT_home}:${sqlite_home}:${tcmalloc_home}:${valgrind_home}:${XercesC_home} CC=${CMAKE_C_COMPILER} CXX=${CMAKE_CXX_COMPILER} BINARY_TAG=${BINARY_TAG} diff --git a/projects/patches/CORAL-3_0_4.patch b/projects/patches/CORAL-3_0_4.patch new file mode 100644 index 0000000000000000000000000000000000000000..8b6d48c018eed4b28752d5f099170610511d4b7c --- /dev/null +++ b/projects/patches/CORAL-3_0_4.patch @@ -0,0 +1,17 @@ +--- OracleAccess/cmt/requirements.orig 2016-01-17 22:42:21.307872000 +0000 ++++ OracleAccess/cmt/requirements 2016-01-17 22:45:05.937872000 +0000 +@@ -54,6 +54,14 @@ + action examples "echo No examples in this package" + macro_remove cmt_actions_constituents "examples" + ++# Do not build OracleAccess on aarch64 (Oracle not available) ++macro_remove_regexp all_constituents "" \ ++ target-aarch64 ".*" ++macro_remove_regexp tests_constituents "" \ ++ target-aarch64 ".*" ++macro_remove_regexp OracleAccess_stamps "" \ ++ target-aarch64 ".*" ++ + #---------------------------------------------------------------------------- + # Workarounds for LCGCMT issues on MacOSX + #---------------------------------------------------------------------------- diff --git a/projects/patches/cmt-v1r20p20090520.patch b/projects/patches/cmt-v1r20p20090520.patch new file mode 100644 index 0000000000000000000000000000000000000000..28336531996d0e9aee3832e2e13db14bfc5e4c08 --- /dev/null +++ b/projects/patches/cmt-v1r20p20090520.patch @@ -0,0 +1,29 @@ +--- v1r20p20090520/mgr/requirements.orig 2013-12-14 16:36:10.000000000 +0000 ++++ v1r20p20090520/mgr/requirements 2016-01-28 18:10:15.007872000 +0000 +@@ -19,6 +19,8 @@ + HP-UX "uname -m | sed -e 's#/##g'" + + macro cmt_hardware `$(cmt_hardware_query_command)` WIN32 "WIN32" ++#RS ++macro cmt_hardware "aarch64" + + apply_tag $(cmt_hardware) + +@@ -37,6 +39,8 @@ + WIN32 "" + + macro cmt_system_version `$(cmt_system_version_query_command)` WIN32 "XP" ++#RS ++macro cmt_system_version "ubuntu14" + + apply_tag $(cmt_system_version) + +@@ -56,6 +60,8 @@ + WIN32 "" + + macro cmt_compiler_version `$(cmt_compiler_version_query_command)` WIN32 "cl" ++#RS ++macro cmt_compiler_version "gcc49" + + apply_tag $(cmt_compiler_version) + diff --git a/projects/patches/cmt-v1r20p20090520.patch.backup b/projects/patches/cmt-v1r20p20090520.patch.backup new file mode 100644 index 0000000000000000000000000000000000000000..1c35b6b72f63d79fade14f2b50c232aed5fda0f7 --- /dev/null +++ b/projects/patches/cmt-v1r20p20090520.patch.backup @@ -0,0 +1,19 @@ +--- v1r20p20090520/mgr/cmt_linux_version.sh 2016-01-17 22:03:28.927872000 +0000 ++++ v1r20p20090520/mgr/cmt_linux_version.sh 2016-01-17 21:59:13.867872000 +0000 +@@ -11,14 +11,8 @@ + DISTRIBUTION="united" + VERSION=`cat /etc/UnitedLinux-release` + elif [ -f /etc/debian_version ]; then +- DISTRIBUTION="debian" +- VERSION=`cat /etc/debian_version` +- if [ ${VERSION} = "testing/unstable" ]; then +- # The debian testing/unstable version must be translated into +- # a numeric version number, but no number makes sense so just +- # remove the version all together. +- VERSION="" +- fi ++ DISTRIBUTION="ubuntu" ++ VERSION="14" + elif [ -f /etc/redhat-release ]; then + read a </etc/redhat-release + case "$a" in diff --git a/pyexternals/CMakeLists.txt b/pyexternals/CMakeLists.txt index c232417566981fee70536cf8f8a5dcb6523a1424..0f6a12a80c1e018a4713bdf47fc4fd686168f3c4 100644 --- a/pyexternals/CMakeLists.txt +++ b/pyexternals/CMakeLists.txt @@ -791,7 +791,10 @@ LCGPackage_Add( BUILD_COMMAND <VOID> INSTALL_COMMAND ${CMAKE_SOURCE_DIR}/pyexternals/Python_postinstall.sh <INSTALL_DIR> BUNDLE_PACKAGE 1 - DEPENDS lxml sqlalchemy genshi 4suite cx_oracle ipython json mock multiprocessing setuptools mysql_python processing py py2neo pyxml storm pytest nose coverage stomppy ${matplotlib_extra_deps} ${pytools_extra_pkg} + DEPENDS lxml sqlalchemy genshi 4suite ipython json mock multiprocessing setuptools mysql_python processing py py2neo pyxml storm pytest nose coverage stomppy ${matplotlib_extra_deps} ${pytools_extra_pkg} + IF NOT LCG_TARGET MATCHES "aarch64" THEN + cx_oracle + ENDIF ) #================================================================================================================= diff --git a/toolchain.cmake b/toolchain.cmake index 08141f69be8688cbb14a10caca37dd8a67cb8f6a..1ee537679bba94f774732d42c94ab1d67297b8ae 100644 --- a/toolchain.cmake +++ b/toolchain.cmake @@ -1,5 +1,6 @@ # Special wrapper to load the declared version of the heptools toolchain. -set(LCG_VERSION dev2 CACHE STRING "HepTools version (aka LCG configuration)") +set(LCG_VERSION 81b CACHE STRING "HepTools version (aka LCG configuration)") + # Remove the reference to this file from the cache. unset(CMAKE_TOOLCHAIN_FILE CACHE)