#!/bin/sh -f # # File produced by the obuild tool version 1.0 # for the package snova with version v2r0p0. # #//////////////////////////////////////////////// # Usage : # UNIX> cd some_path/pack/version/obuild # ( UNIX> chmod a+x sh/build_sngeom ) # UNIX> sh/build_sngeom # #//////////////////////////////////////////////// obuild_verbose=no obuild_debug=no obuild_optimize=yes obuild_do_not_compile=no obuild_dir_bin_o_cleanup=yes obuild_set_x=no while test $# -ge 1 ; do case $1 in -h) echo "Options :" echo " -v : verbose." echo " -d : build in debug mode." echo " -g : build in debug mode." echo " -x : execute script with set -x." echo " -l : link only, do not (re)compile." echo " -k : do not remove result of compilations (.o, .obj)." echo "" exit ;; -v) obuild_verbose=yes ;; -x) obuild_set_x=yes ;; -d) obuild_debug=yes ;; -g) obuild_debug=yes ;; -l) obuild_do_not_compile=yes ;; -k) obuild_dir_bin_o_cleanup=no ;; *) echo "unknown option : $1";exit ;; esac shift done if [ ${obuild_set_x} = yes ] ; then set -x fi if [ ${obuild_debug} = yes ] ; then obuild_optimize=no fi if [ "${OBUILD_PLATFORM}" = "" ] ; then obuild_platform=`uname` else obuild_platform=${OBUILD_PLATFORM} fi if [ "${obuild_platform}" = "" ] ; then echo "obuild_platform variable not defined." exit fi if [ "${OBUILD_DIR_BIN}" = "" ] ; then obuild_dir_bin=${obuild_platform}_obuild else obuild_dir_bin=${OBUILD_DIR_BIN} fi if [ "${obuild_dir_bin}" = "" ] ; then echo "obuild_dir_bin variable not defined." exit fi obuild_pwd=`pwd` obuild_snova_path=`dirname "${obuild_pwd}"` unset obuild_pwd # Create the bin directory : /bin/mkdir -p "${obuild_snova_path}/${obuild_dir_bin}" if [ ! -e "${obuild_snova_path}/${obuild_dir_bin}/obuild_platform" ] ; then if [ ! -e "${obuild_snova_path}/obuild/cpp/obuild_platform.cpp" ] ; then echo "Program source obuild_platform.cpp not found." exit fi if [ "${obuild_cxx_command}" = "" ] ; then if [ "${OBUILD_CXX}" != "" ] ; then obuild_platform_compiler=${OBUILD_CXX} else obuild_platform_compiler=c++ fi else obuild_platform_compiler=${obuild_cxx_command} fi ${obuild_platform_compiler} -o "${obuild_snova_path}/${obuild_dir_bin}/obuild_platform" "${obuild_snova_path}/obuild/cpp/obuild_platform.cpp" unset obuild_platform_compiler if [ ! -e "${obuild_snova_path}/${obuild_dir_bin}/obuild_platform" ] ; then echo "Program obuild_platform not found." exit fi fi obuild_platform_exe="${obuild_snova_path}/${obuild_dir_bin}/obuild_platform" if [ "${obuild_platform_exe}" = "" ] ; then echo "Variable obuild_platform_exe not defined." exit fi obuild_platform_result=`"${obuild_platform_exe}" ${obuild_platform} 'UNIX'` if [ ${obuild_platform_result} = yes ] ; then CLHEP_home="/usr/local/CLHEP/2.0.3.1" fi unset obuild_platform_result if [ "${obuild_platform_exe}" = "" ] ; then echo "Variable obuild_platform_exe not defined." exit fi obuild_platform_result=`"${obuild_platform_exe}" ${obuild_platform} 'UNIX'` if [ ${obuild_platform_result} = yes ] ; then Geant4_home="/usr/local/geant4/8.2" fi unset obuild_platform_result if [ "${obuild_platform_exe}" = "" ] ; then echo "Variable obuild_platform_exe not defined." exit fi obuild_platform_result=`"${obuild_platform_exe}" ${obuild_platform} 'UNIX'` if [ ${obuild_platform_result} = yes ] ; then HDF5_home="/usr/local/HDF5/1.6.5" fi unset obuild_platform_result if [ "${obuild_platform_exe}" = "" ] ; then echo "Variable obuild_platform_exe not defined." exit fi obuild_platform_result=`"${obuild_platform_exe}" ${obuild_platform} 'UNIX'` if [ ${obuild_platform_result} = yes ] ; then zlib_home="/usr" fi unset obuild_platform_result if [ "${obuild_platform_exe}" = "" ] ; then echo "Variable obuild_platform_exe not defined." exit fi obuild_platform_result=`"${obuild_platform_exe}" ${obuild_platform} 'Darwin'` if [ ${obuild_platform_result} = yes ] ; then obuild_cxx_command="c++" fi unset obuild_platform_result if [ "${obuild_platform_exe}" = "" ] ; then echo "Variable obuild_platform_exe not defined." exit fi obuild_platform_result=`"${obuild_platform_exe}" ${obuild_platform} 'Linux'` if [ ${obuild_platform_result} = yes ] ; then obuild_cxx_command="c++" fi unset obuild_platform_result if [ "${obuild_platform_exe}" = "" ] ; then echo "Variable obuild_platform_exe not defined." exit fi obuild_platform_result=`"${obuild_platform_exe}" ${obuild_platform} 'OSF1'` if [ ${obuild_platform_result} = yes ] ; then obuild_cxx_command="cxx" fi unset obuild_platform_result if [ "${obuild_platform_exe}" = "" ] ; then echo "Variable obuild_platform_exe not defined." exit fi obuild_platform_result=`"${obuild_platform_exe}" ${obuild_platform} 'Windows_NT'` if [ ${obuild_platform_result} = yes ] ; then obuild_cxx_command="cl.exe" fi unset obuild_platform_result if [ "${obuild_cxx_command}" = "" ] ; then echo "Variable obuild_cxx_command not defined." exit fi if [ "${obuild_platform_exe}" = "" ] ; then echo "Variable obuild_platform_exe not defined." exit fi obuild_platform_result=`"${obuild_platform_exe}" ${obuild_platform} 'Darwin'` if [ ${obuild_platform_result} = yes ] ; then obuild_cxx_optimize="-O" fi unset obuild_platform_result if [ "${obuild_platform_exe}" = "" ] ; then echo "Variable obuild_platform_exe not defined." exit fi obuild_platform_result=`"${obuild_platform_exe}" ${obuild_platform} 'Linux'` if [ ${obuild_platform_result} = yes ] ; then obuild_cxx_optimize="-O" fi unset obuild_platform_result if [ "${obuild_platform_exe}" = "" ] ; then echo "Variable obuild_platform_exe not defined." exit fi obuild_platform_result=`"${obuild_platform_exe}" ${obuild_platform} 'OSF1'` if [ ${obuild_platform_result} = yes ] ; then obuild_cxx_optimize="-O" fi unset obuild_platform_result if [ "${obuild_platform_exe}" = "" ] ; then echo "Variable obuild_platform_exe not defined." exit fi obuild_platform_result=`"${obuild_platform_exe}" ${obuild_platform} 'Windows_NT'` if [ ${obuild_platform_result} = yes ] ; then obuild_cxx_optimize="/O2" fi unset obuild_platform_result if [ "${obuild_platform_exe}" = "" ] ; then echo "Variable obuild_platform_exe not defined." exit fi obuild_platform_result=`"${obuild_platform_exe}" ${obuild_platform} 'Darwin'` if [ ${obuild_platform_result} = yes ] ; then obuild_cxx_debug="-g" fi unset obuild_platform_result if [ "${obuild_platform_exe}" = "" ] ; then echo "Variable obuild_platform_exe not defined." exit fi obuild_platform_result=`"${obuild_platform_exe}" ${obuild_platform} 'Linux'` if [ ${obuild_platform_result} = yes ] ; then obuild_cxx_debug="-g" fi unset obuild_platform_result if [ "${obuild_platform_exe}" = "" ] ; then echo "Variable obuild_platform_exe not defined." exit fi obuild_platform_result=`"${obuild_platform_exe}" ${obuild_platform} 'OSF1'` if [ ${obuild_platform_result} = yes ] ; then obuild_cxx_debug="-g" fi unset obuild_platform_result if [ "${obuild_platform_exe}" = "" ] ; then echo "Variable obuild_platform_exe not defined." exit fi obuild_platform_result=`"${obuild_platform_exe}" ${obuild_platform} 'Windows_NT'` if [ ${obuild_platform_result} = yes ] ; then obuild_cxx_debug="/ZI /Od" fi unset obuild_platform_result if [ "${obuild_platform_exe}" = "" ] ; then echo "Variable obuild_platform_exe not defined." exit fi obuild_platform_result=`"${obuild_platform_exe}" ${obuild_platform} 'Linux'` if [ ${obuild_platform_result} = yes ] ; then obuild_cxx_options="-fPIC" fi unset obuild_platform_result if [ "${obuild_platform_exe}" = "" ] ; then echo "Variable obuild_platform_exe not defined." exit fi obuild_platform_result=`"${obuild_platform_exe}" ${obuild_platform} 'Windows_NT'` if [ ${obuild_platform_result} = yes ] ; then obuild_cxx_options="/nologo /DWIN32 /MD /GX /GR /W3" fi unset obuild_platform_result if [ ${obuild_debug} = yes ] ; then obuild_cxx_debug_local=${obuild_cxx_debug} else obuild_cxx_debug_local= fi if [ ${obuild_optimize} = yes ] ; then obuild_cxx_optimize_local=${obuild_cxx_optimize} else obuild_cxx_optimize_local= fi if [ ! -e "${obuild_snova_path}/${obuild_dir_bin}/obuild_find" ] ; then if [ ! -e "${obuild_snova_path}/obuild/cpp/obuild_find.cpp" ] ; then echo "Program source obuild_find.cpp not found." exit fi if [ "${obuild_cxx_command}" = "" ] ; then if [ "${OBUILD_CXX}" != "" ] ; then obuild_find_compiler=${OBUILD_CXX} else obuild_find_compiler=c++ fi else obuild_find_compiler=${obuild_cxx_command} fi ${obuild_find_compiler} -o "${obuild_snova_path}/${obuild_dir_bin}/obuild_find" "${obuild_snova_path}/obuild/cpp/obuild_find.cpp" unset obuild_find_compiler if [ ! -e "${obuild_snova_path}/${obuild_dir_bin}/obuild_find" ] ; then echo "Program obuild_find not found." exit fi fi obuild_find_exe="${obuild_snova_path}/${obuild_dir_bin}/obuild_find" if [ "${obuild_find_exe}" = "" ] ; then echo "Variable obuild_find_exe not defined." exit fi obuild_bhep_path=`"${obuild_find_exe}" bhep 'v1r4p2'` if [ "${obuild_bhep_path}" = "" ] ; then echo "Can't find bhep package." exit fi obuild_cxx_includes="-I\"${obuild_snova_path}/source/SNgeom2/include\"" obuild_cxx_includes="${obuild_cxx_includes} -I\"${obuild_snova_path}/source/GeomUtils/include\"" if [ "${obuild_platform_exe}" = "" ] ; then echo "Variable obuild_platform_exe not defined." exit fi obuild_platform_result=`"${obuild_platform_exe}" ${obuild_platform} 'UNIX'` if [ ${obuild_platform_result} = yes ] ; then obuild_cxx_includes="${obuild_cxx_includes} -I${CLHEP_home}/include" fi unset obuild_platform_result obuild_cxx_includes="${obuild_cxx_includes} -I\"${obuild_bhep_path}\"" if [ ${obuild_dir_bin_o_cleanup} = yes ] ; then /bin/rm -R -f "${obuild_snova_path}/${obuild_dir_bin}/lib_sngeom" fi /bin/mkdir -p "${obuild_snova_path}/${obuild_dir_bin}/lib_sngeom" # Compile sngeom files : if [ ${obuild_do_not_compile} = no ] ; then if [ ${obuild_verbose} = yes ] ; then set -x;fi cd "${obuild_snova_path}/${obuild_dir_bin}" eval ${obuild_cxx_command} -c ${obuild_cxx_debug_local} ${obuild_cxx_optimize_local} ${obuild_cxx_options} ${obuild_cxx_macros} ${obuild_cxx_includes} -o ./lib_sngeom/CALO_block_data.o \"../source/SNgeom2/src/CALO_block_data.cc\" obuild_status=$?;if [ ${obuild_status} != 0 ] ; then exit ${obuild_status};fi cd "${obuild_snova_path}/obuild" cd "${obuild_snova_path}/${obuild_dir_bin}" eval ${obuild_cxx_command} -c ${obuild_cxx_debug_local} ${obuild_cxx_optimize_local} ${obuild_cxx_options} ${obuild_cxx_macros} ${obuild_cxx_includes} -o ./lib_sngeom/CALO_geom_data.o \"../source/SNgeom2/src/CALO_geom_data.cc\" obuild_status=$?;if [ ${obuild_status} != 0 ] ; then exit ${obuild_status};fi cd "${obuild_snova_path}/obuild" cd "${obuild_snova_path}/${obuild_dir_bin}" eval ${obuild_cxx_command} -c ${obuild_cxx_debug_local} ${obuild_cxx_optimize_local} ${obuild_cxx_options} ${obuild_cxx_macros} ${obuild_cxx_includes} -o ./lib_sngeom/TC_geom_data.o \"../source/SNgeom2/src/TC_geom_data.cc\" obuild_status=$?;if [ ${obuild_status} != 0 ] ; then exit ${obuild_status};fi cd "${obuild_snova_path}/obuild" cd "${obuild_snova_path}/${obuild_dir_bin}" eval ${obuild_cxx_command} -c ${obuild_cxx_debug_local} ${obuild_cxx_optimize_local} ${obuild_cxx_options} ${obuild_cxx_macros} ${obuild_cxx_includes} -o ./lib_sngeom/TC_layer_geom_data.o \"../source/SNgeom2/src/TC_layer_geom_data.cc\" obuild_status=$?;if [ ${obuild_status} != 0 ] ; then exit ${obuild_status};fi cd "${obuild_snova_path}/obuild" cd "${obuild_snova_path}/${obuild_dir_bin}" eval ${obuild_cxx_command} -c ${obuild_cxx_debug_local} ${obuild_cxx_optimize_local} ${obuild_cxx_options} ${obuild_cxx_macros} ${obuild_cxx_includes} -o ./lib_sngeom/TC_layout_nblocks.o \"../source/SNgeom2/src/TC_layout_nblocks.cc\" obuild_status=$?;if [ ${obuild_status} != 0 ] ; then exit ${obuild_status};fi cd "${obuild_snova_path}/obuild" cd "${obuild_snova_path}/${obuild_dir_bin}" eval ${obuild_cxx_command} -c ${obuild_cxx_debug_local} ${obuild_cxx_optimize_local} ${obuild_cxx_options} ${obuild_cxx_macros} ${obuild_cxx_includes} -o ./lib_sngeom/cell_geom_data.o \"../source/SNgeom2/src/cell_geom_data.cc\" obuild_status=$?;if [ ${obuild_status} != 0 ] ; then exit ${obuild_status};fi cd "${obuild_snova_path}/obuild" cd "${obuild_snova_path}/${obuild_dir_bin}" eval ${obuild_cxx_command} -c ${obuild_cxx_debug_local} ${obuild_cxx_optimize_local} ${obuild_cxx_options} ${obuild_cxx_macros} ${obuild_cxx_includes} -o ./lib_sngeom/geom_mgr.o \"../source/SNgeom2/src/geom_mgr.cc\" obuild_status=$?;if [ ${obuild_status} != 0 ] ; then exit ${obuild_status};fi cd "${obuild_snova_path}/obuild" cd "${obuild_snova_path}/${obuild_dir_bin}" eval ${obuild_cxx_command} -c ${obuild_cxx_debug_local} ${obuild_cxx_optimize_local} ${obuild_cxx_options} ${obuild_cxx_macros} ${obuild_cxx_includes} -o ./lib_sngeom/module_locator.o \"../source/SNgeom2/src/module_locator.cc\" obuild_status=$?;if [ ${obuild_status} != 0 ] ; then exit ${obuild_status};fi cd "${obuild_snova_path}/obuild" cd "${obuild_snova_path}/${obuild_dir_bin}" eval ${obuild_cxx_command} -c ${obuild_cxx_debug_local} ${obuild_cxx_optimize_local} ${obuild_cxx_options} ${obuild_cxx_macros} ${obuild_cxx_includes} -o ./lib_sngeom/source_geom_data.o \"../source/SNgeom2/src/source_geom_data.cc\" obuild_status=$?;if [ ${obuild_status} != 0 ] ; then exit ${obuild_status};fi cd "${obuild_snova_path}/obuild" if [ ${obuild_verbose} = yes ] ; then set +x;fi fi #do_not_compile if [ "${obuild_platform_exe}" = "" ] ; then echo "Variable obuild_platform_exe not defined." exit fi obuild_platform_result=`"${obuild_platform_exe}" ${obuild_platform} 'Darwin'` if [ ${obuild_platform_result} = yes ] ; then obuild_cxx_shared_lib_builder_command="c++" fi unset obuild_platform_result if [ "${obuild_platform_exe}" = "" ] ; then echo "Variable obuild_platform_exe not defined." exit fi obuild_platform_result=`"${obuild_platform_exe}" ${obuild_platform} 'Linux'` if [ ${obuild_platform_result} = yes ] ; then obuild_cxx_shared_lib_builder_command="c++" fi unset obuild_platform_result if [ "${obuild_platform_exe}" = "" ] ; then echo "Variable obuild_platform_exe not defined." exit fi obuild_platform_result=`"${obuild_platform_exe}" ${obuild_platform} 'OSF1'` if [ ${obuild_platform_result} = yes ] ; then obuild_cxx_shared_lib_builder_command="cxx" fi unset obuild_platform_result if [ "${obuild_cxx_shared_lib_builder_command}" = "" ] ; then echo "Variable obuild_cxx_shared_lib_builder_command not defined." exit fi if [ "${obuild_platform_exe}" = "" ] ; then echo "Variable obuild_platform_exe not defined." exit fi obuild_platform_result=`"${obuild_platform_exe}" ${obuild_platform} 'Darwin'` if [ ${obuild_platform_result} = yes ] ; then obuild_cxx_shared_lib_builder_options="-dynamiclib -twolevel_namespace -undefined dynamic_lookup -dynamic -single_module" fi unset obuild_platform_result if [ "${obuild_platform_exe}" = "" ] ; then echo "Variable obuild_platform_exe not defined." exit fi obuild_platform_result=`"${obuild_platform_exe}" ${obuild_platform} 'Linux'` if [ ${obuild_platform_result} = yes ] ; then obuild_cxx_shared_lib_builder_options="-shared" fi unset obuild_platform_result if [ "${obuild_platform_exe}" = "" ] ; then echo "Variable obuild_platform_exe not defined." exit fi obuild_platform_result=`"${obuild_platform_exe}" ${obuild_platform} 'OSF1'` if [ ${obuild_platform_result} = yes ] ; then obuild_cxx_shared_lib_builder_options="-shared -expect_unresolved *" fi unset obuild_platform_result if [ "${obuild_platform_exe}" = "" ] ; then echo "Variable obuild_platform_exe not defined." exit fi obuild_platform_result=`"${obuild_platform_exe}" ${obuild_platform} 'Darwin'` if [ ${obuild_platform_result} = yes ] ; then obuild_cxx_shared_lib_builder_suffix="dylib" fi unset obuild_platform_result if [ "${obuild_platform_exe}" = "" ] ; then echo "Variable obuild_platform_exe not defined." exit fi obuild_platform_result=`"${obuild_platform_exe}" ${obuild_platform} 'Linux'` if [ ${obuild_platform_result} = yes ] ; then obuild_cxx_shared_lib_builder_suffix="so" fi unset obuild_platform_result if [ "${obuild_platform_exe}" = "" ] ; then echo "Variable obuild_platform_exe not defined." exit fi obuild_platform_result=`"${obuild_platform_exe}" ${obuild_platform} 'OSF1'` if [ ${obuild_platform_result} = yes ] ; then obuild_cxx_shared_lib_builder_suffix="so" fi unset obuild_platform_result if [ ${obuild_debug} = yes ] ; then obuild_cxx_shared_lib_builder_debug_local=${obuild_cxx_shared_lib_builder_debug} else obuild_cxx_shared_lib_builder_debug_local= fi if [ ${obuild_optimize} = yes ] ; then obuild_cxx_shared_lib_builder_optimize_local=${obuild_cxx_shared_lib_builder_optimize} else obuild_cxx_shared_lib_builder_optimize_local= fi # Create the shared library sngeom : cd "${obuild_snova_path}/${obuild_dir_bin}" obuild_objs=`find ./lib_sngeom -name '*.o' -print` /bin/rm -f ./libsngeom.${obuild_cxx_shared_lib_builder_suffix} if [ ${obuild_verbose} = yes ] ; then set -x;fi ${obuild_cxx_shared_lib_builder_command} ${obuild_cxx_shared_lib_builder_debug_local} ${obuild_cxx_shared_lib_builder_optimize_local} ${obuild_cxx_shared_lib_builder_options} -o "${obuild_snova_path}/${obuild_dir_bin}/libsngeom.${obuild_cxx_shared_lib_builder_suffix}" ${obuild_objs} ${obuild_linked_paths} ${obuild_linked_libraries} obuild_status=$?;if [ ${obuild_status} != 0 ] ; then exit ${obuild_status};fi if [ ${obuild_verbose} = yes ] ; then set +x;fi cd "${obuild_snova_path}/obuild" # Some cleanup : if [ ${obuild_dir_bin_o_cleanup} = yes ] ; then /bin/rm -R -f "${obuild_snova_path}/${obuild_dir_bin}/lib_sngeom" fi /bin/rm -f "${obuild_snova_path}/${obuild_dir_bin}/obuild_find"