#!/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_geomutils )
#   UNIX> sh/build_geomutils
#
#////////////////////////////////////////////////

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} '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


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

if [ ${obuild_dir_bin_o_cleanup} = yes ] ; then
  /bin/rm -R -f "${obuild_snova_path}/${obuild_dir_bin}/lib_geomutils"
fi

/bin/mkdir -p "${obuild_snova_path}/${obuild_dir_bin}/lib_geomutils"

# Compile geomutils 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_geomutils/box_data.o \"../source/GeomUtils/src/box_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_geomutils/cat_dictionary.o \"../source/GeomUtils/src/cat_dictionary.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_geomutils/cylinder_data.o \"../source/GeomUtils/src/cylinder_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_geomutils/geom_consts.o \"../source/GeomUtils/src/geom_consts.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_geomutils/geom_data.o \"../source/GeomUtils/src/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_geomutils/geom_id.o \"../source/GeomUtils/src/geom_id.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_geomutils/geom_locator.o \"../source/GeomUtils/src/geom_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_geomutils/geom_tools.o \"../source/GeomUtils/src/geom_tools.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_geomutils/gnuplot_tools.o \"../source/GeomUtils/src/gnuplot_tools.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_geomutils/shape_data.o \"../source/GeomUtils/src/shape_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_geomutils/sphere_data.o \"../source/GeomUtils/src/sphere_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_geomutils/string_tools.o \"../source/GeomUtils/src/string_tools.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_geomutils/tube_data.o \"../source/GeomUtils/src/tube_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 geomutils :
cd "${obuild_snova_path}/${obuild_dir_bin}"
obuild_objs=`find ./lib_geomutils -name '*.o' -print`
/bin/rm -f ./libgeomutils.${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}/libgeomutils.${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_geomutils"
fi
/bin/rm -f "${obuild_snova_path}/${obuild_dir_bin}/obuild_find"

