X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=build_configure;h=6c9778d7c480cf68deccd511dc72079f09a4fb6f;hp=4edf6f44d32945cc71e51109226ecd3f92692245;hb=19d01592bac2322ac881aa4666466840c1804841;hpb=0b959120c59670d73c0a1f6d46bfa72a6ceb49cf diff --git a/build_configure b/build_configure index 4edf6f44d..6c9778d7c 100755 --- a/build_configure +++ b/build_configure @@ -1,14 +1,33 @@ #!/bin/bash - +# Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE +# +# Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, +# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. # +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +# + # 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$ # - ORIG_DIR=`pwd` CONF_DIR=`echo $0 | sed -e "s,[^/]*$,,;s,/$,,;s,^$,.,"` @@ -26,181 +45,88 @@ fi # echo "failed : KERNEL_SRC variable is not correct !" # exit #fi -######################################################################## -# find_in - utility function -# -# usage : -# find_in directory filename -# -# Finds files following the *.in pattern, recursively in the -# directory (first argument). -# Results are appended into the file (second argument) -# -# Difference from the standard unix find is that files are tested -# before directories -# -find_in() -{ - local i - local f=$2 - -# if the first argument is not a directory, returns - - if [ ! -d "$1" ] ; then - return - fi - -# dont look in the CVS directories - - case $1 in - */CVS) return ;; - *) ;; - esac - -# for each regular file contained in the directory -# test if it's a .in file - - for i in "$1"/* - do - if [ -f "$i" ] ; then - case $i in - *.in) echo " "$i" \\" >> $f;; - *) ;; - esac - fi - done - -# for each subdirectory of the first argument, proceeds recursively - - for i in "$1"/* - do - if [ -d "$i" ] ; then - find_in "$i" "$f" - fi - done -} - - -####################################################################### -# Generate list of .in files (Makefile.in, config.h.in, etc) -# appending it in file configure.in - -cd ${CONF_DIR} -ABS_CONF_DIR=`pwd` +######################################################################## +# Test if the MED_ROOT_DIR is set correctly -# -# Common part of the configure.in file -# -chmod u+w configure.in.base -if ! \cp -f configure.in.base configure.in_tmp1 -then - echo - echo "error : can't create files in" ${CONF_DIR} - echo "aborting ..." - chmod u-w configure.in.base - exit +if test ! -d "${MED_ROOT_DIR}"; then + echo "failed : MED_ROOT_DIR variable is not correct !" + exit fi -chmod u-w configure.in.base - -# make a link allowing AC_OUTPUT to find the salome_adm/.../*.in files -echo "" >> configure.in_tmp1 -echo 'ln -fs ${KERNEL_ROOT_DIR}/salome_adm ${ROOT_SRCDIR}/salome_adm' >> configure.in_tmp1 - -echo "" >> configure.in_tmp1 -echo "AC_OUTPUT([ \\" >> configure.in_tmp1 - -# -# List of .in files in the adm/unix directory -# These files MUST be on top of AC_OUTPUT list so we -# put them "manually" -# - -echo " ./salome_adm/unix/SALOMEconfig.h \\" >> configure.in_tmp1 -echo " ./salome_adm/unix/F77config.h \\" >> configure.in_tmp1 -echo " ./salome_adm/unix/sstream \\" >> configure.in_tmp1 -echo " ./salome_adm/unix/depend \\" >> configure.in_tmp1 -echo " ./salome_adm/unix/make_omniorb \\" >> configure.in_tmp1 -echo " ./salome_adm/unix/envScript \\" >> configure.in_tmp1 -echo " ./salome_adm/unix/make_commence \\" >> configure.in_tmp1 -echo " ./salome_adm/unix/make_conclude \\" >> configure.in_tmp1 -echo " ./salome_adm/unix/make_module \\" >> configure.in_tmp1 - -\rm -f configure.in_tmp2 configure.in_tmp3 -touch configure.in_tmp2 -find_in . configure.in_tmp2 -sed '/^.*salome_adm/d' configure.in_tmp2 > configure.in_tmp3 -sed '/configure.in/d' configure.in_tmp3 > configure.in_tmp2 -sed 's/.in / /' configure.in_tmp2 >> configure.in_tmp1 - -echo "])" >> configure.in_tmp1 - -# delete the link created for AC_OUTPUT -#echo "" >> configure.in_tmp1 -#echo 'rm -f ${ROOT_SRCDIR}/salome_adm' >> configure.in_tmp1 -\mv configure.in_tmp1 configure.in_new -\rm -f configure.in_tmp2 configure.in_tmp3 - ######################################################################## -# Create new (or replace old) configure.in file -# Print a message if the file is write protected -# +# Test if the GEOM_ROOT_DIR is set correctly -echo -if test ! -f configure.in -then - echo -n "Creating new file 'configure.in' ... " - if \mv configure.in_new configure.in >& /dev/null - then - echo "done" - else - echo "error, check your file permissions" - fi -else - echo -n "Updating 'configure.in' file ... " - if ! \cp configure.in configure.in_old >& /dev/null - then - echo - echo - echo "Can't backup previous configure.in" - echo -n "Continue (you will not be able to revert) - (Y/N) ? " - read R - case "x$R" in - xn*) exit;; - xN*) exit;; - esac - echo - echo -n " " - fi - if \cp configure.in_new configure.in >& /dev/null - then - echo "done" - else - echo - echo "error, can't update previous configure.in" - fi +if test ! -d "${GEOM_ROOT_DIR}"; then + echo "failed : GEOM_ROOT_DIR variable is not correct !" + exit fi -######################################################################## -# Use autoconf to rebuild the configure script -# -if test -f configure -then - echo -n "Updating 'configure' script ... " -else - echo -n "Creating 'configure' script ... " -fi +cd ${CONF_DIR} +ABS_CONF_DIR=`pwd` + +####################################################################### -aclocal --acdir=${KERNEL_ROOT_DIR}/salome_adm/unix/config_files -if autoconf -then - echo "done" +# ____________________________________________________________________ +# aclocal creates the aclocal.m4 file from the standard macro and the +# custom macro embedded in the directory adm_local/unix/config_files, +# KERNEL salome_adm/unix/config_files, GEOM and MED adm_local/unix/config_files +# directories. +# output: +# aclocal.m4 +# autom4te.cache (directory) +echo "====================================================== aclocal" + +if test -d "${GUI_ROOT_DIR}"; 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 \ + -I ${MED_ROOT_DIR}/adm_local/unix/config_files \ + -I ${GEOM_ROOT_DIR}/adm_local/unix/config_files || exit 1 else - echo "failed (check file permissions and/or user quotas ...)" + aclocal -I adm_local/unix/config_files \ + -I ${KERNEL_ROOT_DIR}/salome_adm/unix/config_files \ + -I ${MED_ROOT_DIR}/adm_local/unix/config_files \ + -I ${GEOM_ROOT_DIR}/adm_local/unix/config_files || exit 1 fi -cd ${ORIG_DIR} -echo +# ____________________________________________________________________ +# 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() tag (see configure.ac). +# output: +# adm_local/unix/config_files/config.guess +# adm_local/unix/config_files/config.sub +# adm_local/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() tag (see configure.ac). This step also +# creates the Makefile.in files from the Makefile.am files. +# output: +# adm_local/unix/config_files/compile +# adm_local/unix/config_files/depcomp +# adm_local/unix/config_files/install-sh +# adm_local/unix/config_files/missing +# adm_local/unix/config_files/py-compile +# Makefile.in (from Makefile.am) +echo "====================================================== automake" + +automake --copy --gnu --add-missing