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