#!/bin/bash

#
# Tool for updating list of .in file for the SALOME project 
# and regenerating configure script
#
# Author : Marc Tajchman - CEA
# Date : 10/10/2002
# Modified by : Alexander BORODIN (OCN) - autotools usage
# $Header$
#
# 13/03/2007: Alexander BORODIN - OCN
# Reorganization for usage of autotools

ORIG_DIR=`pwd`
CONF_DIR=`echo $0 | sed -e "s,[^/]*$,,;s,/$,,;s,^$,.,"`
GEOM_WITH_GUI="yes"

########################################################################
# Test if the KERNEL_ROOT_DIR is set correctly
if test ! -d "${KERNEL_ROOT_DIR}"; then
    echo "failed : KERNEL_ROOT_DIR variable is not correct !"
    exit
fi

# Test if the KERNEL_SRC is set correctly

#if test ! -d "${KERNEL_SRC}"; then
#    echo "failed : KERNEL_SRC variable is not correct !"
#    exit
#fi

for option
do
  case $option in
      -with-ihm | --with-ihm)
          GEOM_WITH_GUI="yes"
          break;;
      -without-ihm | --without-ihm | -with-ihm=no | --with-ihm=no)
          GEOM_WITH_GUI="no"
          break;;
  esac
done

########################################################################
# Test if the GUI_ROOT_DIR is set correctly
if test ${GEOM_WITH_GUI} = yes; then
    if test ! -d "${GUI_ROOT_DIR}"; then
        echo "failed : GUI_ROOT_DIR variable is not correct !"
        exit
    fi
fi

cd ${CONF_DIR}
ABS_CONF_DIR=`pwd`

#######################################################################
# Update configure.ac script: to set NETGENPLUGIN_WITH_GUI variable
sed -e s/GEOM_WITH_GUI=[a-z]*/GEOM_WITH_GUI=${GEOM_WITH_GUI}/g configure.ac > configure.tmp
mv -f configure.tmp configure.ac

mkdir -p salome_adm/unix/config_files
#cp -f ${KERNEL_ROOT_DIR}/salome_adm/unix/config_files/* salome_adm/unix/config_files
#cp -f ${KERNEL_ROOT_DIR}/salome_adm/unix/pythonbe.py salome_adm/unix

cp -f ${KERNEL_ROOT_DIR}/salome_adm/unix/SALOMEconfig.h.in salome_adm/unix

#cp -f ${GUI_ROOT_DIR}/adm_local/unix/config_files/* salome_adm/unix/config_files

# remove KERNEL deprecated configure files
#for deprecated in ac_cc_warnings.m4 ac_cxx_partial_specialization.m4 \
#  check_mico.m4 config.guess ltmain.sh ac_cxx_bool.m4 ltconfig ac_cxx_typename.m4 \
#    check_pthreads.m4 config.sub libtool.m4 ac_cxx_mutable.m4 missing
#    do
#      rm -f salome_adm/unix/config_files/${deprecated}
#      done
             

# ____________________________________________________________________
# aclocal creates the aclocal.m4 file from the standard macro and the
# custom macro embedded in the directory salome_adm/unix/config_files
# and KERNEL config_files directory.
# output:
#   aclocal.m4
#   autom4te.cache (directory)
echo "====================================================== aclocal"

if test ${GEOM_WITH_GUI} = yes; then
  aclocal -I adm_local/unix/config_files \
          -I ${KERNEL_ROOT_DIR}/salome_adm/unix/config_files \
          -I ${GUI_ROOT_DIR}/adm_local/unix/config_files || exit 1
else
  aclocal -I adm_local/unix/config_files \
          -I ${KERNEL_ROOT_DIR}/salome_adm/unix/config_files || exit 1
fi

# ____________________________________________________________________
# libtoolize creates some configuration files (ltmain.sh,
# config.guess and config.sub). It only depends on the libtool
# version. The files are created in the directory specified with the
# AC_CONFIG_AUX_DIR(<mydir>) tag (see configure.ac).
# output:
#   salome_adm/unix/config_files/config.guess
#   salome_adm/unix/config_files/config.sub
#   salome_adm/unix/config_files/ltmain.sh
#echo "====================================================== libtoolize"

libtoolize --force --copy --automake || exit 1

# ____________________________________________________________________
# autoconf creates the configure script from the file configure.ac (or
# configure.in if configure.ac doesn't exist)
# output:
#   configure
echo "====================================================== autoconf"

autoconf

# ____________________________________________________________________
# automake creates some scripts used in building process
# (install-sh, missing, ...). It only depends on the automake
# version. The files are created in the directory specified with the
# AC_CONFIG_AUX_DIR(<mydir>) tag (see configure.ac). This step also
# creates the Makefile.in files from the Makefile.am files.
# output:
#   salome_adm/unix/config_files/compile
#   salome_adm/unix/config_files/depcomp
#   salome_adm/unix/config_files/install-sh
#   salome_adm/unix/config_files/missing
#   salome_adm/unix/config_files/py-compile
#   Makefile.in (from Makefile.am)
echo "====================================================== automake"

automake --copy --gnu --add-missing