Compiler/root/build: reviewed
This commit is contained in:
@@ -1,50 +1,47 @@
|
||||
#!/usr/bin/env modbuild
|
||||
|
||||
SOURCE_URL="https://root.cern.ch/download/root_v${V_MAJOR}.${V_MINOR}.${V_PATCHLVL}.source.tar.gz"
|
||||
pbuild::set_download_url "https://root.cern.ch/download/root_v${V_MAJOR}.${V_MINOR}.${V_PATCHLVL}.source.tar.gz"
|
||||
|
||||
declare -a EXTRA_LIBS=()
|
||||
config_args=()
|
||||
pbuild::add_to_group 'Compiler'
|
||||
|
||||
case ${OS} in
|
||||
Darwin )
|
||||
# cocoa doesn't work with GCC!?
|
||||
config_args+=( '-Dcocoa=OFF' )
|
||||
config_args+=( '-Dx11=ON' )
|
||||
config_args+=( '-DCMAKE_OSX_SYSROOT=/' )
|
||||
config_args+=( "-DCMAKE_OSX_DEPLOYMENT_TARGET=''" )
|
||||
;;
|
||||
Linux )
|
||||
INSTANTCLIENT_INCLUDE_DIR='/usr/lib/oracle/12.1/client64/include'
|
||||
INSTANTCLIENT_LIBRARY_DIR='/usr/lib/oracle/12.1/client64/lib'
|
||||
C_INCLUDE_PATH+=":${INSTANTCLIENT_INCLUDE_DIR}"
|
||||
CXX_INCLUDE_PATH+=":${INSTANTCLIENT_INCLUDE_DIR}"
|
||||
CPLUS_INCLUDE_PATH+=":${INSTANTCLIENT_INCLUDE_DIR}"
|
||||
LIBRARY_DIR+=":${INSTANTCLIENT_LIBRARY_DIR}"
|
||||
config_args+=( "-Doracle=ON" )
|
||||
config_args+=( "-DORACLE_PATH_INCLUDES=${INSTANTCLIENT_INCLUDE_DIR}" )
|
||||
config_args+=( "-DORACLE_PATH_LIB=${INSTANTCLIENT_LIBRARY_DIR}" )
|
||||
config_args+=( "-DORACLE_OCI_VERSION=10G_R2" )
|
||||
;;
|
||||
*)
|
||||
std:die 1 "${OS} is not supported"
|
||||
;;
|
||||
esac
|
||||
|
||||
pbuild::patch_sources_Linux() {
|
||||
if (( V_MAJOR == 6 && V_MINOR < 12)); then
|
||||
patch -p1 < "${BUILD_BLOCK_DIR}/${V_MAJOR}/cmake_oracle12.patch"
|
||||
pbuild::pre_prep_Linux() {
|
||||
if pbuild::use_flag 'oracleclient'; then
|
||||
if (( V_MAJOR == 6 && V_MINOR < 12)); then
|
||||
pbuild::add_patch "${V_MAJOR}/cmake_oracle12.patch"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
pbuild::configure() {
|
||||
cmake "${MODULE_SRCDIR}" \
|
||||
"${config_args[@]}" \
|
||||
-DCMAKE_INSTALL_PREFIX="${PREFIX}" \
|
||||
|| exit 1
|
||||
pbuild::pre_configure_Darwin() {
|
||||
# cocoa doesn't work with GCC!?
|
||||
pbuild::add_configure_args '-Dcocoa=OFF'
|
||||
pbuild::add_configure_args '-Dx11=ON'
|
||||
pbuild::add_configure_args '-DCMAKE_OSX_SYSROOT=/'
|
||||
pbuild::add_configure_args "-DCMAKE_OSX_DEPLOYMENT_TARGET=''"
|
||||
}
|
||||
|
||||
pbuild::pre_configure_Linux() {
|
||||
if pbuild::use_flag 'oracleclient'; then
|
||||
INSTANTCLIENT_INCLUDE_DIR='/usr/lib/oracle/12.1/client64/include'
|
||||
INSTANTCLIENT_LIBRARY_DIR='/usr/lib/oracle/12.1/client64/lib'
|
||||
C_INCLUDE_PATH+=":${INSTANTCLIENT_INCLUDE_DIR}"
|
||||
CXX_INCLUDE_PATH+=":${INSTANTCLIENT_INCLUDE_DIR}"
|
||||
CPLUS_INCLUDE_PATH+=":${INSTANTCLIENT_INCLUDE_DIR}"
|
||||
LIBRARY_DIR+=":${INSTANTCLIENT_LIBRARY_DIR}"
|
||||
|
||||
pbuild::add_configure_args "-Doracle=ON"
|
||||
pbuild::add_configure_args "-DORACLE_PATH_INCLUDES=${INSTANTCLIENT_INCLUDE_DIR}"
|
||||
pbuild::add_configure_args "-DORACLE_PATH_LIB=${INSTANTCLIENT_LIBRARY_DIR}"
|
||||
pbuild::add_configure_args "-DORACLE_OCI_VERSION=10G_R2"
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
pbuild::post_configure() {
|
||||
sed -i.bak "s:${MODULE_SRCDIR//\/\///}/root.exe:${MODULE_BUILDDIR//\/\///}/bin/root.exe:" CMakeFiles/hsimple.dir/build.make
|
||||
}
|
||||
|
||||
pbuild::build() {
|
||||
pbuild::compile() {
|
||||
cmake --build . -- -j6 VERBOSE=1
|
||||
}
|
||||
|
||||
@@ -53,9 +50,9 @@ pbuild::install() {
|
||||
}
|
||||
|
||||
pbuild::post_install_Linux() {
|
||||
install -m 0644 "${INSTANTCLIENT_LIBRARY_DIR}"/* "${PREFIX}"/lib
|
||||
install -m 0644 "${INSTANTCLIENT_INCLUDE_DIR}"/* "${PREFIX}"/include
|
||||
if pbuild::use_flag 'oracleclient'; then
|
||||
install -m 0644 "${INSTANTCLIENT_LIBRARY_DIR}"/* "${PREFIX}"/lib
|
||||
install -m 0644 "${INSTANTCLIENT_INCLUDE_DIR}"/* "${PREFIX}"/include
|
||||
fi
|
||||
}
|
||||
|
||||
pbuild::add_to_group 'Compiler'
|
||||
pbuild::make_all
|
||||
|
||||
Reference in New Issue
Block a user