Salome HOME
Increment version number (prepare SALOME version 7.0.0)
[samples/component.git] / configure.ac
1 # Copyright (C) 2007-2012  CEA/DEN, EDF R&D, OPEN CASCADE
2 #
3 # This library is free software; you can redistribute it and/or
4 # modify it under the terms of the GNU Lesser General Public
5 # License as published by the Free Software Foundation; either
6 # version 2.1 of the License.
7 #
8 # This library is distributed in the hope that it will be useful,
9 # but WITHOUT ANY WARRANTY; without even the implied warranty of
10 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
11 # Lesser General Public License for more details.
12 #
13 # You should have received a copy of the GNU Lesser General Public
14 # License along with this library; if not, write to the Free Software
15 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
16 #
17 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
18 #
19
20 #  PLEASE DO NOT MODIFY configure.in FILE
21 #  ALL CHANGES WILL BE DISCARDED BY THE NEXT
22 #  build_configure COMMAND
23 #  CHANGES MUST BE MADE IN configure.in.base FILE
24 # Author : Marc Tajchman (CEA)
25 # Date : 28/06/2001
26 # Modified by : Patrick GOLDBRONN (CEA)
27 # Modified by : Marc Tajchman (CEA)
28 # Created from configure.in.base
29 #
30 AC_INIT([Salome2 Project COMPONENT module], [7.0.0], [webmaster.salome@opencascade.com], [SalomeCOMPONENT])
31 AC_CONFIG_AUX_DIR(adm_local/unix/config_files)
32 AC_CANONICAL_HOST
33 AC_CANONICAL_TARGET
34 AM_INIT_AUTOMAKE([-Wno-portability])
35
36 XVERSION=`echo $VERSION | awk -F. '{printf("0x%02x%02x%02x",$1,$2,$3)}'`
37 AC_SUBST(XVERSION)
38 VERSION_DEV=1
39 AC_SUBST(VERSION_DEV)
40
41 # set up MODULE_NAME variable for dynamic construction of directories (resources, etc.)
42 MODULE_NAME=component
43 AC_SUBST(MODULE_NAME)
44
45 dnl
46 dnl Initialize source and build root directories
47 dnl
48
49 ROOT_BUILDDIR=`pwd`
50 ROOT_SRCDIR=`echo $0 | sed -e "s,[[^/]]*$,,;s,/$,,;s,^$,.,"`
51 cd $ROOT_SRCDIR
52 ROOT_SRCDIR=`pwd`
53 cd $ROOT_BUILDDIR
54
55 AC_SUBST(ROOT_SRCDIR)
56 AC_SUBST(ROOT_BUILDDIR)
57
58 echo
59 echo Source root directory : $ROOT_SRCDIR
60 echo Build  root directory : $ROOT_BUILDDIR
61 echo
62 echo
63
64 AC_CHECK_PROG(SHELL,sh)
65 AC_SUBST(SHELL)
66
67 if test -z "$AR"; then
68    AC_CHECK_PROGS(AR,ar xar,:,$PATH)
69 fi
70 AC_SUBST(AR)
71
72 dnl Export the AR macro so that it will be placed in the libtool file
73 dnl correctly.
74 export AR
75
76 echo
77 echo ---------------------------------------------
78 echo testing make
79 echo ---------------------------------------------
80 echo
81
82 AC_PROG_MAKE_SET
83 AC_PROG_INSTALL
84 AC_LOCAL_INSTALL
85 dnl 
86 dnl libtool macro check for CC, LD, NM, LN_S, RANLIB, STRIP + pour les librairies dynamiques !
87
88 AC_ENABLE_DEBUG(yes)
89 AC_DISABLE_PRODUCTION
90
91 echo ---------------------------------------------
92 echo testing libtool
93 echo ---------------------------------------------
94
95 dnl first, we set static to no!
96 dnl if we want it, use --enable-static
97 AC_ENABLE_STATIC(no)
98
99 AC_LIBTOOL_DLOPEN
100 AC_PROG_LIBTOOL
101
102 dnl Fix up the INSTALL macro if it s a relative path. We want the
103 dnl full-path to the binary instead.
104 case "$INSTALL" in
105    *install-sh*)
106       INSTALL="${KERNEL_ROOT_DIR}/adm_local/unix/config_files/install-sh -c"
107       ;;
108 esac
109
110 echo
111 echo ---------------------------------------------
112 echo testing C/C++
113 echo ---------------------------------------------
114 echo
115
116 cc_ok=no
117 dnl inutil car libtool
118 dnl AC_PROG_CC
119 AC_PROG_CXX
120 AC_CXX_WARNINGS
121 AC_CXX_TEMPLATE_OPTIONS
122 AC_DEPEND_FLAG
123 # AC_CC_WARNINGS([ansi])
124 cc_ok=yes
125
126 dnl Library libdl :
127 AC_CHECK_LIB(dl,dlopen)
128
129 dnl Library librt : for alpha/osf
130 AC_CHECK_LIB(rt,nanosleep)
131
132 dnl add library libm :
133 AC_CHECK_LIB(m,ceil)
134
135 AC_CXX_USE_STD_IOSTREAM
136 AC_CXX_HAVE_SSTREAM
137
138 dnl
139 dnl ---------------------------------------------
140 dnl testing linker
141 dnl ---------------------------------------------
142 dnl
143
144 AC_LINKER_OPTIONS
145
146 AC_LINKER_OPTIONS
147
148 echo
149 echo ---------------------------------------------
150 echo testing threads
151 echo ---------------------------------------------
152 echo
153
154 ENABLE_PTHREADS
155
156 dnl
157 dnl ---------------------------------------------
158 dnl testing MPI
159 dnl ---------------------------------------------
160 dnl
161
162 echo
163 echo ---------------------------------------------
164 echo testing MPI
165 echo ---------------------------------------------
166 echo
167
168 CHECK_MPI
169
170 dnl
171 dnl ---------------------------------------------
172 dnl testing sockets
173 dnl ---------------------------------------------
174 dnl
175
176 CHECK_SOCKETS
177
178 echo
179 echo ---------------------------------------------
180 echo testing LEX \& YACC
181 echo ---------------------------------------------
182 echo
183
184 lex_yacc_ok=no
185 AC_PROG_YACC
186 AC_PROG_LEX
187 lex_yacc_ok=yes
188
189 echo
190 echo ---------------------------------------------
191 echo testing python
192 echo ---------------------------------------------
193 echo
194
195 CHECK_PYTHON
196
197 AM_PATH_PYTHON(2.3)
198
199 dnl echo
200 dnl echo ---------------------------------------------
201 dnl echo testing java
202 dnl echo ---------------------------------------------
203 dnl echo
204
205 dnl CHECK_JAVA
206
207 echo
208 echo ---------------------------------------------
209 echo testing swig
210 echo ---------------------------------------------
211 echo
212
213 CHECK_SWIG
214
215 echo
216 echo ---------------------------------------------
217 echo testing omniORB
218 echo ---------------------------------------------
219 echo
220
221 CHECK_OMNIORB
222
223 dnl echo
224 dnl echo ---------------------------------------------
225 dnl echo testing mico
226 dnl echo ---------------------------------------------
227 dnl echo
228
229 dnl CHECK_MICO
230
231 echo
232 echo ---------------------------------------------
233 echo default ORB : omniORB
234 echo ---------------------------------------------
235 echo
236
237 DEFAULT_ORB=omniORB
238 CHECK_CORBA
239
240 AC_SUBST_FILE(CORBA)
241 corba=make_$ORB
242 CORBA=adm_local/unix/$corba
243
244 echo
245 echo ---------------------------------------------
246 echo testing HDF5
247 echo ---------------------------------------------
248 echo
249
250 CHECK_HDF5
251
252 echo
253 echo ---------------------------------------------
254 echo testing MED
255 echo ---------------------------------------------
256 echo
257
258 CHECK_MED
259
260 echo
261 echo ---------------------------------------------
262 echo testing MED3
263 echo ---------------------------------------------
264 echo
265
266 CHECK_MED3
267
268 echo
269 echo ---------------------------------------------
270 echo Testing OpenCascade
271 echo ---------------------------------------------
272 echo
273
274 CHECK_CAS
275
276 echo
277 echo ---------------------------------------------
278 echo Testing html generators
279 echo ---------------------------------------------
280 echo
281
282 CHECK_HTML_GENERATORS
283
284 echo
285 echo ---------------------------------------------
286 echo Testing Kernel
287 echo ---------------------------------------------
288 echo
289
290 CHECK_KERNEL
291
292 echo
293 echo ---------------------------------------------
294 echo Summary
295 echo ---------------------------------------------
296 echo
297
298 echo Configure
299 variables="cc_ok lex_yacc_ok python_ok swig_ok threads_ok hdf5_ok med3_ok omniORB_ok occ_ok"
300
301 for var in $variables
302 do
303    printf "   %10s : " `echo \$var | sed -e "s,_ok,,"`
304    eval echo \$$var
305 done
306
307 echo "---Optional:"
308 variables="mpi_ok cppunit_ok doxygen_ok graphviz_ok"
309  
310 for var in $variables
311 do
312    eval toto=\$$var
313    if test x$toto != "x"; then
314      printf "   %10s : " `echo \$var | sed -e "s,_ok,,"`
315      eval echo \$$var
316    fi
317 done
318
319 echo
320 echo "Default ORB   : $DEFAULT_ORB"
321 echo
322
323 dnl We don t need to say when we re entering directories if we re using
324 dnl GNU make becuase make does it for us.
325 if test "X$GMAKE" = "Xyes"; then
326    AC_SUBST(SETX) SETX=":"
327 else
328    AC_SUBST(SETX) SETX="set -x"
329 fi
330 echo
331 echo ---------------------------------------------
332 echo generating Makefiles and configure files
333 echo ---------------------------------------------
334 echo
335
336 AC_OUTPUT_COMMANDS([ \
337       chmod +x ./bin/*; \
338 ])
339
340 AC_HACK_LIBTOOL
341 AC_CONFIG_COMMANDS([hack_libtool],[
342 sed -i "s%^CC=\"\(.*\)\"%hack_libtool (){ \n\
343   $(pwd)/hack_libtool \1 \"\$[@]\" \n\
344 }\n\
345 CC=\"hack_libtool\"%g" libtool
346 sed -i "s%\(\s*\)for searchdir in \$newlib_search_path \$lib_search_path \$sys_lib_search_path \$shlib_search_path; do%\1searchdirs=\"\$newlib_search_path \$lib_search_path \$sys_lib_search_path \$shlib_search_path\"\n\1for searchdir in \$searchdirs; do%g" libtool
347 sed -i "s%\(\s*\)searchdirs=\"\$newlib_search_path \$lib_search_path \(.*\)\"%\1searchdirs=\"\$newlib_search_path \$lib_search_path\"\n\1sss_beg=\"\"\n\1sss_end=\"\2\"%g" libtool
348 sed -i "s%\(\s*\)\(for searchdir in \$searchdirs; do\)%\1for sss in \$searchdirs; do\n\1  if ! test -d \$sss; then continue; fi\n\1  ssss=\$(cd \$sss; pwd)\n\1  if test \"\$ssss\" != \"\" \&\& test -d \$ssss; then\n\1    case \$ssss in\n\1      /usr/lib | /usr/lib64 ) ;;\n\1      * ) sss_beg=\"\$sss_beg \$ssss\" ;;\n\1    esac\n\1  fi\n\1done\n\1searchdirs=\"\$sss_beg \$sss_end\"\n\1\2%g" libtool
349 ],[])
350
351 # This list is initiated using autoscan and must be updated manually
352 # when adding a new file <filename>.in to manage. When you execute
353 # autoscan, the Makefile list is generated in the output file configure.scan.
354 # This could be helpfull to update de configuration.
355 AC_OUTPUT([ \
356   adm_local/Makefile \
357   adm_local/unix/Makefile \
358   adm_local/unix/config_files/Makefile \
359   bin/VERSION \
360   bin/Makefile \
361   COMPONENT_version.h \
362   src/Makefile \
363   src/AddComponent/Makefile \
364   src/AdditionComponent/Makefile \
365   src/CalculatorComponent/Makefile \
366   src/DataStreamComponent/Makefile \
367   src/DivComponent/Makefile \
368   src/FactorialComponent/Makefile \
369   src/MulComponent/Makefile \
370   src/SIGNALSComponent/Makefile \
371   src/SIGNALSComponent_Swig/Makefile \
372   src/SubComponent/Makefile \
373   src/SyrComponent/Makefile \
374   src/SyrControlComponent/Makefile \
375   src/TestFunctions/Makefile \
376   src/TypesCheck/Makefile \
377   src/UndefinedSymbolComponent/Makefile \
378   resources/Makefile \
379   resources/COMPONENTCatalog.xml \
380   resources/SalomeApp.xml \
381   idl/Makefile \
382   Makefile \
383 ])