Salome HOME
eb0152c197a761bac0980c494e8164accaffc1a0
[samples/component.git] / build_configure
1 #!/bin/sh
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 # Modified by : Alexander BORODIN (OCN) - autotools usage
27 # Date : 10/10/2002
28 # $Header$
29 #
30 ORIG_DIR=`pwd`
31 CONF_DIR=`echo $0 | sed -e "s,[^/]*$,,;s,/$,,;s,^$,.,"`
32 COMPONENT_WITH_GUI="no"
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-ihm | --with-ihm)
53           COMPONENT_WITH_GUI="yes"
54           break;;
55       -with-gui | --with-gui)
56           COMPONENT_WITH_GUI="yes"
57           break;;
58       -without-ihm | --without-ihm | -with-ihm=no | --with-ihm=no)
59           COMPONENT_WITH_GUI="no"
60           break;;
61       -without-gui | --without-gui | -with-gui=no | --with-gui=no)
62           COMPONENT_WITH_GUI="no"
63           break;;
64   esac
65 done
66
67 ########################################################################
68 # Test if the GUI_ROOT_DIR is set correctly
69
70 if test ${COMPONENT_WITH_GUI} = yes; then
71     if test ! -d "${GUI_ROOT_DIR}"; then
72         echo "failed : GUI_ROOT_DIR variable is not correct !"
73         exit
74     fi
75 fi
76
77 ########################################################################
78 # Test if the MED_ROOT_DIR is set correctly
79
80 if test ! -d "${MED_ROOT_DIR}"; then
81     echo "failed : MED_ROOT_DIR variable is not correct !"
82     exit
83 fi
84
85 cd ${CONF_DIR}
86 ABS_CONF_DIR=`pwd`
87
88 #######################################################################
89 # Update configure.ac script: to set NETGENPLUGIN_WITH_GUI variable
90 sed -e s/COMPONENT_WITH_GUI=[a-z]*/COMPONENT_WITH_GUI=${COMPONENT_WITH_GUI}/g configure.ac > configure.tmp
91 mv -f configure.tmp configure.ac
92
93 mkdir -p salome_adm/unix/config_files
94 #cp -f ${KERNEL_ROOT_DIR}/salome_adm/unix/config_files/* salome_adm/unix/config_files
95 #cp -f ${KERNEL_ROOT_DIR}/salome_adm/unix/pythonbe.py salome_adm/unix
96
97 cp -f ${KERNEL_ROOT_DIR}/salome_adm/unix/SALOMEconfig.h.in salome_adm/unix
98
99 #if test ${COMPONENT_WITH_GUI} = yes; then
100 #    cp -f ${GUI_ROOT_DIR}/adm_local/unix/config_files/* salome_adm/unix/config_files
101 #fi
102
103 #cp -f ${MED_ROOT_DIR}/adm_local/unix/config_files/* salome_adm/unix/config_files
104
105 # remove KERNEL deprecated configure files
106 #for deprecated in ac_cc_warnings.m4 ac_cxx_partial_specialization.m4 \
107 #  check_mico.m4 config.guess ltmain.sh ac_cxx_bool.m4 ltconfig ac_cxx_typename.m4 \
108 #    check_pthreads.m4 config.sub libtool.m4 ac_cxx_mutable.m4 missing
109 #    do
110 #      rm -f salome_adm/unix/config_files/${deprecated}
111 #      done
112
113
114 # ____________________________________________________________________
115 # aclocal creates the aclocal.m4 file from the standard macro and the
116 # custom macro embedded in the directory salome_adm/unix/config_files
117 # and KERNEL config_files directory.
118 # output:
119 #   aclocal.m4
120 #   autom4te.cache (directory)
121 echo "====================================================== aclocal"
122
123 if test ${COMPONENT_WITH_GUI} = yes; then
124     aclocal -I adm_local/unix/config_files \
125             -I ${KERNEL_ROOT_DIR}/salome_adm/unix/config_files \
126             -I ${GUI_ROOT_DIR}/adm_local/unix/config_files \
127             -I ${MED_ROOT_DIR}/adm_local/unix/config_files || exit 1
128 else
129     aclocal -I adm_local/unix/config_files \
130             -I ${KERNEL_ROOT_DIR}/salome_adm/unix/config_files \
131             -I ${MED_ROOT_DIR}/adm_local/unix/config_files || exit 1
132 fi
133
134 # ____________________________________________________________________
135 # libtoolize creates some configuration files (ltmain.sh,
136 # config.guess and config.sub). It only depends on the libtool
137 # version. The files are created in the directory specified with the
138 # AC_CONFIG_AUX_DIR(<mydir>) tag (see configure.ac).
139 # output:
140 #   salome_adm/unix/config_files/config.guess
141 #   salome_adm/unix/config_files/config.sub
142 #   salome_adm/unix/config_files/ltmain.sh
143 #echo "====================================================== libtoolize"
144
145 libtoolize --force --copy --automake || exit 1
146
147 # ____________________________________________________________________
148 # autoconf creates the configure script from the file configure.ac (or
149 # configure.in if configure.ac doesn't exist)
150 # output:
151 #   configure
152 echo "====================================================== autoconf"
153
154 autoconf
155
156 # ____________________________________________________________________
157 # automake creates some scripts used in building process
158 # (install-sh, missing, ...). It only depends on the automake
159 # version. The files are created in the directory specified with the
160 # AC_CONFIG_AUX_DIR(<mydir>) tag (see configure.ac). This step also
161 # creates the Makefile.in files from the Makefile.am files.
162 # output:
163 #   salome_adm/unix/config_files/compile
164 #   salome_adm/unix/config_files/depcomp
165 #   salome_adm/unix/config_files/install-sh
166 #   salome_adm/unix/config_files/missing
167 #   salome_adm/unix/config_files/py-compile
168 #   Makefile.in (from Makefile.am)
169 echo "====================================================== automake"
170
171 automake --copy --gnu --add-missing