Compiler/root/build: reviewed
This commit is contained in:
+38
-41
@@ -1,50 +1,47 @@
|
|||||||
#!/usr/bin/env modbuild
|
#!/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=()
|
pbuild::add_to_group 'Compiler'
|
||||||
config_args=()
|
|
||||||
|
|
||||||
case ${OS} in
|
pbuild::pre_prep_Linux() {
|
||||||
Darwin )
|
if pbuild::use_flag 'oracleclient'; then
|
||||||
# cocoa doesn't work with GCC!?
|
if (( V_MAJOR == 6 && V_MINOR < 12)); then
|
||||||
config_args+=( '-Dcocoa=OFF' )
|
pbuild::add_patch "${V_MAJOR}/cmake_oracle12.patch"
|
||||||
config_args+=( '-Dx11=ON' )
|
fi
|
||||||
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"
|
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
pbuild::configure() {
|
pbuild::pre_configure_Darwin() {
|
||||||
cmake "${MODULE_SRCDIR}" \
|
# cocoa doesn't work with GCC!?
|
||||||
"${config_args[@]}" \
|
pbuild::add_configure_args '-Dcocoa=OFF'
|
||||||
-DCMAKE_INSTALL_PREFIX="${PREFIX}" \
|
pbuild::add_configure_args '-Dx11=ON'
|
||||||
|| exit 1
|
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
|
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
|
cmake --build . -- -j6 VERBOSE=1
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -53,9 +50,9 @@ pbuild::install() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
pbuild::post_install_Linux() {
|
pbuild::post_install_Linux() {
|
||||||
install -m 0644 "${INSTANTCLIENT_LIBRARY_DIR}"/* "${PREFIX}"/lib
|
if pbuild::use_flag 'oracleclient'; then
|
||||||
install -m 0644 "${INSTANTCLIENT_INCLUDE_DIR}"/* "${PREFIX}"/include
|
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