Salome HOME
d135d9e8d027bbddfd5b19fdb2d9c99431a1d9eb
[modules/smesh.git] / build_configure
1 #!/bin/bash
2 #  Copyright (C) 2007-2008  CEA/DEN, EDF R&D, OPEN CASCADE
3 #
4 #  Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
5 #  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
6 #
7 #  This library is free software; you can redistribute it and/or
8 #  modify it under the terms of the GNU Lesser General Public
9 #  License as published by the Free Software Foundation; either
10 #  version 2.1 of the License.
11 #
12 #  This library is distributed in the hope that it will be useful,
13 #  but WITHOUT ANY WARRANTY; without even the implied warranty of
14 #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15 #  Lesser General Public License for more details.
16 #
17 #  You should have received a copy of the GNU Lesser General Public
18 #  License along with this library; if not, write to the Free Software
19 #  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
20 #
21 #  See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
22 #
23 # Tool for updating list of .in file for the SALOME project 
24 # and regenerating configure script
25 # Author : Marc Tajchman - CEA
26 # Date : 10/10/2002
27 # Modified by : Alexander BORODIN (OCN) - autotools usage
28 # $Header$
29 #
30 ORIG_DIR=`pwd`
31 CONF_DIR=`echo $0 | sed -e "s,[^/]*$,,;s,/$,,;s,^$,.,"`
32 SMESH_WITH_GUI="yes"
33
34 ########################################################################
35 # Test if the KERNEL_ROOT_DIR is set correctly
36
37 if test ! -d "${KERNEL_ROOT_DIR}"; then
38     echo "failed : KERNEL_ROOT_DIR variable is not correct !"
39     exit
40 fi
41
42 # Test if the KERNEL_SRC is set correctly
43
44 #if test ! -d "${KERNEL_SRC}"; then
45 #    echo "failed : KERNEL_SRC variable is not correct !"
46 #    exit
47 #fi
48
49 for option
50 do
51   case $option in
52       -with-gui | --with-gui)
53           SMESH_WITH_GUI="yes"
54           break;;
55       -without-gui | --without-gui | -with-gui=no | --with-gui=no)
56           SMESH_WITH_GUI="no"
57           break;;
58   esac
59 done
60
61 ########################################################################
62 # Test if the GUI_ROOT_DIR is set correctly
63
64 if test ${SMESH_WITH_GUI} = yes; then
65     if test ! -d "${GUI_ROOT_DIR}"; then
66         echo "failed : GUI_ROOT_DIR variable is not correct !"
67         exit
68     fi
69 fi
70
71 ########################################################################
72 # Test if the MED_ROOT_DIR is set correctly
73
74 if test ! -d "${MED_ROOT_DIR}"; then
75     echo "failed : MED_ROOT_DIR variable is not correct !"
76     exit
77 fi
78
79 ########################################################################
80 # Test if the GEOM_ROOT_DIR is set correctly
81
82 if test ! -d "${GEOM_ROOT_DIR}"; then
83     echo "failed : GEOM_ROOT_DIR variable is not correct !"
84     exit
85 fi
86
87
88 cd ${CONF_DIR}
89 ABS_CONF_DIR=`pwd`
90
91 #######################################################################
92 # Update configure.ac script: to set SMESH_WITH_GUI variable
93 sed -e s/SMESH_WITH_GUI=[a-z]*/SMESH_WITH_GUI=${SMESH_WITH_GUI}/g configure.ac > configure.tmp
94 mv -f configure.tmp configure.ac
95
96 mkdir -p salome_adm/unix/config_files
97 #cp -f ${KERNEL_ROOT_DIR}/salome_adm/unix/config_files/* salome_adm/unix/config_files
98 #cp -f ${KERNEL_ROOT_DIR}/salome_adm/unix/pythonbe.py salome_adm/unix
99
100 cp -f ${KERNEL_ROOT_DIR}/salome_adm/unix/SALOMEconfig.h.in salome_adm/unix
101
102 #cp -f ${GUI_ROOT_DIR}/adm_local/unix/config_files/* salome_adm/unix/config_files
103 #cp -f ${MED_ROOT_DIR}/adm_local/unix/config_files/* salome_adm/unix/config_files
104 #cp -f ${GEOM_ROOT_DIR}/adm_local/unix/config_files/* salome_adm/unix/config_files
105
106 # remove KERNEL deprecated configure files
107 #for deprecated in ac_cc_warnings.m4 ac_cxx_partial_specialization.m4 \
108 #  check_mico.m4 config.guess ltmain.sh ac_cxx_bool.m4 ltconfig ac_cxx_typename.m4 \
109 #    check_pthreads.m4 config.sub libtool.m4 ac_cxx_mutable.m4 missing
110 #    do
111 #      rm -f salome_adm/unix/config_files/${deprecated}
112 #      done
113       
114
115 # ____________________________________________________________________
116 # aclocal creates the aclocal.m4 file from the standard macro and the
117 # custom macro embedded in the directory salome_adm/unix/config_files
118 # and KERNEL config_files directory.
119 # output:
120 #   aclocal.m4
121 #   autom4te.cache (directory)
122 echo "====================================================== aclocal"
123
124 if test ${SMESH_WITH_GUI} = yes; then
125   aclocal -I adm_local/unix/config_files \
126           -I ${KERNEL_ROOT_DIR}/salome_adm/unix/config_files \
127           -I ${GUI_ROOT_DIR}/adm_local/unix/config_files \
128           -I ${MED_ROOT_DIR}/adm_local/unix/config_files \
129           -I ${GEOM_ROOT_DIR}/adm_local/unix/config_files || exit 1
130 else
131   aclocal -I adm_local/unix/config_files \
132           -I ${KERNEL_ROOT_DIR}/salome_adm/unix/config_files \
133           -I ${MED_ROOT_DIR}/adm_local/unix/config_files \
134           -I ${GEOM_ROOT_DIR}/adm_local/unix/config_files || exit 1
135 fi
136
137 # ____________________________________________________________________
138 # libtoolize creates some configuration files (ltmain.sh,
139 # config.guess and config.sub). It only depends on the libtool
140 # version. The files are created in the directory specified with the
141 # AC_CONFIG_AUX_DIR(<mydir>) tag (see configure.ac).
142 # output:
143 #   salome_adm/unix/config_files/config.guess
144 #   salome_adm/unix/config_files/config.sub
145 #   salome_adm/unix/config_files/ltmain.sh
146 #echo "====================================================== libtoolize"
147
148 libtoolize --force --copy --automake || exit 1
149
150 # ____________________________________________________________________
151 # autoconf creates the configure script from the file configure.ac (or
152 # configure.in if configure.ac doesn't exist)
153 # output:
154 #   configure
155 echo "====================================================== autoconf"
156
157 autoconf
158
159 # ____________________________________________________________________
160 # automake creates some scripts used in building process
161 # (install-sh, missing, ...). It only depends on the automake
162 # version. The files are created in the directory specified with the
163 # AC_CONFIG_AUX_DIR(<mydir>) tag (see configure.ac). This step also
164 # creates the Makefile.in files from the Makefile.am files.
165 # output:
166 #   salome_adm/unix/config_files/compile
167 #   salome_adm/unix/config_files/depcomp
168 #   salome_adm/unix/config_files/install-sh
169 #   salome_adm/unix/config_files/missing
170 #   salome_adm/unix/config_files/py-compile
171 #   Makefile.in (from Makefile.am)
172 echo "====================================================== automake"
173
174 automake --copy --gnu --add-missing