source: trunk/configure.ac @ 766

Last change on this file since 766 was 766, checked in by mbanovic, 4 months ago

Increase version number to 2.7 with new features.

  • Property svn:keywords set to Author Date Id Revision
File size: 24.3 KB
Line 
1##############################################################################
2# configure.ac -- Process this file with autoconf to produce configure
3# Revision: $Id: configure.ac 766 2019-01-30 15:15:31Z mbanovic $
4#
5# Copyright (C) Andrea Walther, Andreas Kowarz
6#               
7# contains patches from the COIN OR libtool
8#
9##############################################################################
10define([ADOLC_VER], [2])
11define([ADOLC_SUB], [7])
12define([ADOLC_LVL], [0])
13
14AC_PREREQ(2.67)
15AC_INIT(adolc,
16        ADOLC_VER.ADOLC_SUB.ADOLC_LVL-trunk,
17        [adol-c@list.coin-or.org])
18config_flags="$*"
19AC_REVISION($Revision: 766 $)
20AC_CONFIG_SRCDIR([ADOL-C/src/adouble.cpp])
21AC_CONFIG_AUX_DIR([autoconf])
22AC_CONFIG_MACRO_DIR([autoconf])
23AC_CONFIG_HEADERS([ADOL-C/src/config.h])
24AC_PREFIX_DEFAULT(${HOME}/adolc_base)
25AM_INIT_AUTOMAKE([1.11 dist-bzip2 foreign subdir-objects])
26AM_MAINTAINER_MODE([disable])
27AM_SILENT_RULES([yes])
28
29
30adolclib=adolc
31
32if test "x$CFLAGS" == x ; then
33    ac_shell_cflags="not_set"
34else
35    ac_shell_cflags="$CFLAGS"
36fi
37if test "x$CXXFLAGS" == x ; then
38    ac_shell_cxxflags="not_set"
39else
40    ac_shell_cxxflags="$CXXFLAGS"
41fi
42libdir_set_on_cmd="no"
43for i in $config_flags ; do
44    case $i in
45    -libdir | --libdir | --libdi | --libd | -libdir=* | --libdir=* | --libdi=* | --libd=*)
46            libdir_set_on_cmd="yes"
47            break
48            ;;
49    esac
50done
51
52AM_CONDITIONAL(DARWIN, [test "x${host_os#darwin}" != "x${host_os}"])
53
54AC_MSG_CHECKING(whether to build ADOL-C with adjoinable MPI (AMPI) support)
55AC_ARG_ENABLE(ampi,
56              [AS_HELP_STRING([--enable-ampi],[build ADOL-C with adjoinable MPI (AMPI) support [default=disabled]])],
57              [adolc_ampi_support=$enableval],[adolc_ampi_support=no])
58AC_MSG_RESULT($adolc_ampi_support)
59AM_CONDITIONAL(BUILD_ADOLC_AMPI_SUPPORT,[test x${adolc_ampi_support} = xyes])
60if test x"${adolc_ampi_support}" = xyes ; then
61AC_DEFINE(ADOLC_AMPI_SUPPORT,1,[defined if adjoinable MPI support is to be compiled in])
62fi
63
64AC_MSG_CHECKING(whether to build ADOL-C with MeDiPack (MPI) support)
65AC_ARG_ENABLE(medipack,
66              [AS_HELP_STRING([--enable-medipack],[build ADOL-C with MeDiPack (MPI) support [default=disabled]])],
67              [adolc_medipack_support=$enableval],[adolc_medipack_support=no])
68AC_MSG_RESULT($adolc_medipack_support)
69AM_CONDITIONAL(BUILD_ADOLC_MEDIPACK_SUPPORT,[test x${adolc_medipack_support} = xyes])
70if test x"${adolc_medipack_support}" = xyes ; then
71AC_DEFINE(ADOLC_MEDIPACK_SUPPORT,1,[defined if MeDiPack support is to be compiled in])
72fi
73
74LT_PREREQ([2.2.6])
75# checks for programs
76AC_PROG_CXX
77AX_CXX_COMPILE_STDCXX_11(noext,mandatory)
78AC_PROG_CC
79AC_PROG_CC_C_O
80AC_PROG_CC_C99
81AC_PROG_CPP
82AC_PROG_INSTALL
83AC_PROG_LN_S
84AC_PROG_MAKE_SET
85LT_INIT([disable-static win32-dll dlopen])
86
87if test "x$enable_static" != "xno" ; then
88   AC_MSG_WARN([Linking a user program with static ADOL-C library will always result in a segmentation fault])
89fi
90
91MPI_CONF_PRE
92
93AC_CHECK_SIZEOF([void *])
94if test "x$ac_cv_sizeof_void_p" = "x8" ; then
95   _lib=lib64
96else
97   _lib=lib
98fi
99if test "x$libdir_set_on_cmd" = "xno" ; then
100   libdir='${exec_prefix}'/"${_lib}"
101   AC_SUBST(_lib)
102   AC_SUBST(libdir)
103fi
104
105# check for builtin
106ACX_C_BUILTIN_EXPECT
107
108# checks for header files
109AC_HEADER_STDC
110AC_HEADER_TIME
111AC_HEADER_STDBOOL
112AC_CHECK_HEADERS([stddef.h stdlib.h stdio.h string.h unistd.h sys/timeb.h])
113
114# checks for types
115AC_C_CONST
116AC_C_INLINE
117AC_TYPE_SIZE_T
118AC_STRUCT_TM
119
120
121# Checks for libraries and fuctions
122AC_SEARCH_LIBS([pow], [m])
123AC_CHECK_FUNCS([floor fmax fmin ftime pow sqrt cbrt strchr strtol trunc])
124
125# substitutions
126AC_SUBST(ac_aux_dir)
127
128# ADOL-C configuration
129AC_DEFINE(ADOLC_VERSION,ADOLC_VER,[ADOL-C Version])
130AC_DEFINE(ADOLC_SUBVERSION,ADOLC_SUB,[ADOL-C Subversion])
131AC_DEFINE(ADOLC_PATCHLEVEL,ADOLC_LVL,[ADOL-C Patchlevel])
132ADOLC_VERSION=ADOLC_VER
133ADOLC_SUBVERSION=ADOLC_SUB
134ADOLC_PATCHLEVEL=ADOLC_LVL
135AC_SUBST(ADOLC_VERSION)
136AC_SUBST(ADOLC_SUBVERSION)
137AC_SUBST(ADOLC_PATCHLEVEL)
138
139# Checks for library functions
140AC_FUNC_MALLOC
141AC_FUNC_REALLOC
142if test x$ac_cv_func_malloc_0_nonnull != xyes ; then
143AC_DEFINE_UNQUOTED([calloc],[rpl_calloc],[Define to rpl_calloc if the replacement function should be used.])
144fi
145
146AC_MSG_CHECKING(whether to use calloc or malloc for memory allocation)
147AC_ARG_ENABLE(use-calloc,[AS_HELP_STRING([--disable-use-calloc],
148  [disable use of calloc and use malloc instead for memory allocation [default=calloc is used]])],
149  [use_calloc=$enableval],[use_calloc=yes])
150
151if test x$use_calloc = xyes ; then
152AC_MSG_RESULT(calloc)
153AC_DEFINE(ADOLC_USE_CALLOC,1,[Use calloc instead of malloc for memory allocation])
154else
155AC_MSG_RESULT(malloc)
156fi
157
158AC_MSG_CHECKING(whether to enable atrig/erf functions)
159AC_ARG_ENABLE(atrig-erf,[AS_HELP_STRING([--enable-atrig-erf],
160  [enable atrig and erf functions in ADOL-C [default=no]])],
161  [use_atrig_erf=$enableval],[use_atrig_erf=no])
162AC_MSG_RESULT($use_atrig_erf)
163
164if test x$use_atrig_erf = xyes ; then
165  ATRIG_ERF="#define ATRIG_ERF 1"
166else
167  ATRIG_ERF="#undef ATRIG_ERF"
168fi
169AC_SUBST(ATRIG_ERF)
170
171AC_MSG_CHECKING(whether to use 32-bit or 64-bit locations)
172AC_ARG_ENABLE(ulong,[AS_HELP_STRING([--enable-ulong],
173  [enable 64-bit locations (only available on 64-bit systems) [default=32-bit]])],
174  [use_ulong=$enableval],[use_ulong=no])
175
176if test x$use_ulong = xyes -a 0$ac_cv_sizeof_void_p -ge 8 ; then
177  UINT_TYPE=uint64_t
178  AC_MSG_RESULT(64-bit)
179else
180  UINT_TYPE=uint32_t
181  AC_MSG_RESULT(32-bit)
182fi
183AC_SUBST(UINT_TYPE)
184
185AC_MSG_CHECKING(whether to use single or double precision)
186AC_ARG_ENABLE(double,[AS_HELP_STRING([--disable-double],
187  [disable double precision arithmetic [untested, default=double is enabled]])],
188  [use_double=$enableval],[use_double=yes])
189
190if test x$use_double = xno ; then
191  REAL_TYPE=float
192  echo
193  echo -n "using ${REAL_TYPE} is not well tested, please report bugs if you find any..."
194else
195  REAL_TYPE=double
196fi
197AC_MSG_RESULT($REAL_TYPE)
198AC_SUBST(REAL_TYPE)
199
200AC_MSG_CHECKING(whether to enable advanced branching operations)
201AC_ARG_ENABLE(advanced-branching, [AS_HELP_STRING([--enable-advanced-branching],
202  [enable advanced branching operations to reduce retaping [default=no].
203The boolean valued comparison operators with two adouble arguments will
204not return boolean results but the active results may be used to automatically
205switch branches in conjunction with condassign or advector (see manual).])],
206  [use_advbranch=$enableval],[use_advbranch=no])
207AC_MSG_RESULT($use_advbranch)
208
209if test x$use_advbranch = xyes ; then
210  ADVBRANCH="#define ADOLC_ADVANCED_BRANCHING 1"
211else
212  ADVBRANCH="#undef ADOLC_ADVANCED_BRANCHING"
213fi
214AC_SUBST(ADVBRANCH)
215
216AC_MSG_CHECKING(whether to enable activity tracking)
217AC_ARG_ENABLE(activity-tracking, [AS_HELP_STRING([--enable-activity-tracking],
218  [enable activity tracking to reduce trace size but increased tracing time [default=no].
219Only the operations involving actual dependency relationships from the
220independent variables will be recorded on the trace, this however
221requires more checks to be performed during the tracing and increases
222tracing time. Useful only if memory is a constraint and tracing is
223done fewer times than derivative computations.])],
224  [use_activities=$enableval],[use_activities=no])
225AC_MSG_RESULT($use_activities)
226
227if test x$use_activities = xyes ; then
228AC_DEFINE(ADOLC_TRACK_ACTIVITY,1,[ADOL-C activity tracking in live variables])
229fi
230
231AC_MSG_CHECKING(whether to use ADOL-C debug mode)
232AC_ARG_ENABLE(debug,
233              [
234AS_HELP_STRING([--enable-debug],[enable ADOL-C debug mode [default=no]])],
235  [
236  adolc_debug=$enableval
237   AC_MSG_RESULT($adolc_debug)
238   ],
239  [
240   adolc_debug=no
241   AC_MSG_RESULT(no)
242   ])
243
244AC_MSG_CHECKING(whether to use ADOL-C hard debug mode)
245AC_ARG_ENABLE(harddebug,
246              [
247AS_HELP_STRING([--enable-harddebug],[enable ADOL-C hard debug mode
248 [default=no]])],
249  [
250   adolc_harddebug=$enableval
251   AC_MSG_RESULT($adolc_harddebug)
252   ],
253  [
254   adolc_harddebug=no
255   AC_MSG_RESULT(no)
256   ])
257
258if test x$adolc_harddebug == xyes ; then
259adolc_debug=yes
260AC_DEFINE(ADOLC_HARDDEBUG,1,[ADOL-C hard debug mode])
261fi
262
263if test x$adolc_debug == xyes ; then
264AC_DEFINE(ADOLC_DEBUG,1,[ADOL-C debug mode])
265fi
266
267AC_MSG_CHECKING(whether the default adouble constructor should initialize the value to 0)
268AC_ARG_ENABLE(stdczero,
269              [
270AS_HELP_STRING([--disable-stdczero],[adouble default constructor does not initialize the value to zero
271(improves performance but yields incorrect results for implicit array initializations, see manual) [default=enabled]])],
272  [
273  adolc_stdczero=no
274  AC_MSG_RESULT(no)
275  ],
276  [
277  adolc_stdczero=yes
278  AC_MSG_RESULT(yes)
279  ])
280
281if test x$adolc_stdczero == xyes; then
282AC_DEFINE(ADOLC_ADOUBLE_STDCZERO,1,[ADOL-C adouble zeroing mode])
283fi
284
285AC_MSG_CHECKING(whether the adouble variables have a late initialize option for functions like malloc/realloc)
286AC_ARG_ENABLE(lateinit,
287              [
288AS_HELP_STRING([--enable-lateinit],[adouble constructors need to be called. With malloc or realloc that is not the case. With this option the adouble can do a late initialization.) [default=disabled]])],
289  [
290  adolc_late_init=yes
291  AC_MSG_RESULT(yes)
292  ],
293  [
294  adolc_late_init=no
295  AC_MSG_RESULT(no)
296  ])
297
298if test x$adolc_late_init == xyes; then
299AC_DEFINE(ADOLC_ADOUBLE_LATEINIT,1,[ADOL-C adouble late initialization mode])
300fi
301
302AC_MSG_CHECKING(whether errno is thread save)
303AC_ARG_ENABLE(tserrno,
304              [
305AS_HELP_STRING([--enable-tserrno],[use errno as thread number cache [default=no]])],
306  [
307  adolc_tserrno=$enableval
308  AC_MSG_RESULT($adolc_tserrno)
309   ],
310  [
311  adolc_tserrno=no
312  AC_MSG_RESULT(no)
313  ])
314
315if test x$adolc_tserrno == xyes ; then
316AC_DEFINE(ADOLC_THREADSAVE_ERRNO,1,[ADOL-C thread save errno mode])
317fi
318
319AC_MSG_CHECKING(which flag to use to enable OpenMP)
320AC_ARG_WITH(openmp-flag,
321            [AS_HELP_STRING([--with-openmp-flag=FLAG],
322                            [use FLAG to enable OpenMP at compile time [default=none]])],
323            [ac_adolc_openmpflag=$withval
324             AC_MSG_RESULT($ac_adolc_openmpflag)],
325            [ac_adolc_openmpflag=""
326             AC_MSG_RESULT(none)])
327
328AX_BOOST_BASE([1.54],[boost_new=yes],[boost_new=no])
329if test x$boost_new = xyes ; then
330CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS"
331AC_LANG_PUSH([C++])
332AC_CHECK_HEADERS([boost/pool/pool_alloc.hpp])
333AC_LANG_POP([C++])
334AX_BOOST_SYSTEM
335LDFLAGS="$LDFLAGS $BOOST_LDFLAGS $BOOST_SYSTEM_LIB"
336fi
337
338if test "x$want_boost" = xyes -a "x$boost_new" = xyes -a "x$ac_cv_header_boost_pool_pool_alloc_hpp" = xyes -a "x$link_system" = xyes ; then
339    using_boost_pool=yes
340    USE_BOOST_POOL="#define USE_BOOST_POOL 1"
341else
342    using_boost_pool=no
343    USE_BOOST_POOL="#define USE_BOOST_POOL 0"
344fi
345AC_SUBST(USE_BOOST_POOL)
346
347if test "x$using_boost_pool" = xyes -a "x$ac_adolc_openmpflag" = x ; then
348   AC_DEFINE(BOOST_POOL_NO_MT,1,[Boost pool should not assume multithreading])
349fi
350
351# ADOL-C Sparse facility
352AC_MSG_CHECKING(whether to build sparse drivers)
353AC_ARG_ENABLE(sparse,
354            [
355AS_HELP_STRING([--enable-sparse],[build sparse drivers [default=disabled]])],
356            [sparse=$enableval
357             AC_MSG_RESULT($sparse)],
358            [sparse="no"
359             AC_MSG_RESULT(no)])
360
361COLPACK_CONF
362
363AM_CONDITIONAL(SPARSE,[test x${sparse} = xyes])
364
365SPARSE_DRIVERS="#undef SPARSE_DRIVERS"
366
367if test x$sparse = xyes ; then
368   AC_DEFINE(SPARSE,[1],[Define 1 if sparse derivative propagation is to be enabled])
369   SPARSE_DRIVERS="#define SPARSE_DRIVERS 1"
370fi
371
372AC_SUBST(SPARSE_DRIVERS)
373
374# ADOL-C Examples
375AC_MSG_CHECKING(whether to build documented examples)
376AC_ARG_ENABLE(docexa,
377            [
378AS_HELP_STRING([--enable-docexa],[build documented examples [default=disabled]])],
379            [docexa=$enableval
380             AC_MSG_RESULT(yes)],
381            [docexa="no"
382             AC_MSG_RESULT(no)])
383AM_CONDITIONAL(DOCEXA,[test x${docexa} = xyes])
384
385AC_MSG_CHECKING(whether to build additional examples)
386AC_ARG_ENABLE(addexa,
387            [AS_HELP_STRING([--enable-addexa],
388                            [build additional examples [default=disabled]])],
389            [addexa=$enableval
390             AC_MSG_RESULT(yes)],
391            [addexa="no"
392             AC_MSG_RESULT(no)])
393AM_CONDITIONAL(ADDEXA,[test x${addexa} = xyes])
394
395AC_MSG_CHECKING(whether to build parallel example)
396AC_ARG_ENABLE(parexa,
397            [AS_HELP_STRING([--enable-parexa],
398                            [build parallel example [default=disabled], if enabled -with-openmp-flag=FLAG required])],
399            [parexa=$enableval
400             AC_MSG_RESULT(yes)],
401            [parexa="no"
402             AC_MSG_RESULT(no)])
403AM_CONDITIONAL(PAREXA,[test x${parexa} = xyes])
404
405# ADOL-C Compilation flags
406AC_MSG_CHECKING(which CFLAGS to use)
407AC_ARG_WITH(cflags,
408            [AS_HELP_STRING([--with-cflags=FLAGS],
409                            [use CFLAGS=FLAGS (default: -O2)])],
410            [ac_adolc_cflags="$withval"
411             if test x${adolc_debug} == xyes ||
412                test x${adolc_harddebug} == xyes ; then
413                ac_adolc_cflags="$ac_adolc_cflags -g -O0"
414             fi
415             ac_adolc_cflags="$ac_adolc_cflags $ac_adolc_openmpflag"
416             AC_SUBST(ac_adolc_cflags)
417             AC_MSG_RESULT($ac_adolc_cflags)],
418            [if test "$ac_shell_cflags" = "not_set"; then
419                ac_adolc_cflags="-O2"
420                if test x${adolc_debug} == xyes ||
421                   test x${adolc_harddebug} == xyes ; then
422                   ac_adolc_cflags="-g -O0 -Wall -ansi"
423                fi
424             else
425                ac_adolc_cflags="$CFLAGS"
426             fi
427             ac_adolc_cflags="$ac_adolc_cflags $ac_adolc_openmpflag"
428
429             AC_SUBST(ac_adolc_cflags)
430             AC_MSG_RESULT($ac_adolc_cflags)])
431
432AC_MSG_CHECKING(which CXXFLAGS to use)
433AC_ARG_WITH(cxxflags,
434            [AS_HELP_STRING([--with-cxxflags=FLAGS],
435                            [use CXXFLAGS=FLAGS (default: -O2)])],
436            [ac_adolc_cxxflags="$withval"
437             if test x${adolc_debug} == xyes ||
438                test x${adolc_harddebug} == xyes ; then
439                ac_adolc_cxxflags="$ac_adolc_cxxflags -g -O0"
440             fi
441             ac_adolc_cxxflags="$ac_adolc_cxxflags $ac_adolc_openmpflag"
442             AC_SUBST(ac_adolc_cxxflags)
443             AC_MSG_RESULT($ac_adolc_cxxflags)],
444            [if test "$ac_shell_cxxflags" = "not_set"; then
445                ac_adolc_cxxflags="-O2"
446                if test x${adolc_debug} == xyes ||
447                   test x${adolc_harddebug} == xyes ; then
448                   ac_adolc_cxxflags="-g -O0 -Wall"
449                fi
450             else
451                ac_adolc_cxxflags="$CXXFLAGS"
452             fi
453             ac_adolc_cxxflags="$ac_adolc_cxxflags $ac_adolc_openmpflag"
454            AC_SUBST(ac_adolc_cxxflags)
455            AC_MSG_RESULT($ac_adolc_cxxflags)])
456
457MPI_CONF_POST
458AMPI_CONF
459MEDIPACK_CONF
460
461AC_ARG_WITH(soname,
462            [AS_HELP_STRING([--with-soname=NAME],
463              [user can choose what to call his library here [default: if ampi enabled then adolc_ampi otherwise adolc]])],
464      [adolclib=$withval])
465
466AC_SUBST(adolclib)
467
468AC_MSG_CHECKING(whether tape_doc should compute values as it prints the tape contents)
469AC_ARG_ENABLE(tapedoc_values,
470              [
471                AS_HELP_STRING([--disable-tapedoc-values],
472                               [should the tape_doc routine compute the values as it interprets and prints the tape contents [default=enabled]])],
473  [
474  tapedoc_values=no
475  ],
476  [
477  tapedoc_values=yes
478  ])
479AC_MSG_RESULT($tapedoc_values)
480
481if test x$tapedoc_values == xyes; then
482AC_DEFINE(ADOLC_TAPE_DOC_VALUES,1,[ADOL-C tape_doc routine computes values])
483fi
484
485###########################################################################
486#                      COIN_PATCH_LIBTOOL_CYGWIN                          #
487###########################################################################
488
489# Patches to libtool for cygwin. Lots for cl, a few for GCC.
490# For cl:
491# - cygpath is not correctly quoted in fix_srcfile_path
492# - paths generated for .lib files is not run through cygpath -w
493
494#
495# REQUIRED FOR COMPILATION WITH CYGWIN !!!
496#
497 
498
499AC_DEFUN([AC_COIN_PATCH_LIBTOOL_CYGWIN],
500[ case "$CXX" in
501    clang* | */clang*)
502        # do nothing but don't want to accidentally match the 'cl' patterns below
503        ;;
504    cl* | */cl* | CL* | */CL* | icl* | */icl* | ICL* | */ICL*)
505      AC_MSG_NOTICE(Applying patches to libtool for cl compiler)
506      sed -e 's|fix_srcfile_path=\"`cygpath -w \"\$srcfile\"`\"|fix_srcfile_path=\"\\\`'"$CYGPATH_W"' \\\"\\$srcfile\\\"\\\`\"|' \
507          -e 's|fix_srcfile_path=\"\"|fix_srcfile_path=\"\\\`'"$CYGPATH_W"' \\\"\\$srcfile\\\"\\\`\"|' \
508          -e 's%compile_deplibs=\"\$dir/\$old_library \$compile_deplibs\"%compile_deplibs="'\`"$CYGPATH_W"' \$dir/\$old_library | sed -e '"'"'sY\\\\\\\\Y/Yg'"'"\`' \$compile_deplibs\"'% \
509          -e 's%compile_deplibs=\"\$dir/\$linklib \$compile_deplibs\"%compile_deplibs="'\`"$CYGPATH_W"' \$dir/\$linklib | sed -e '"'"'sY\\\\\\\\Y/Yg'"'"\`' \$compile_deplibs\"'% \
510          -e 's%lib /OUT:%lib -OUT:%' \
511          -e "s%cygpath -w%$CYGPATH_W%" \
512          -e 's%$AR x \\$f_ex_an_ar_oldlib%bla=\\`lib -nologo -list \\$f_ex_an_ar_oldlib | xargs echo '"$mydos2unix"'\\`; echo \\$bla; for i in \\$bla; do lib -nologo -extract:\\$i \\$f_ex_an_ar_oldlib; done%' \
513          -e 's/$AR t/lib -nologo -list/' \
514          -e 's%f_ex_an_ar_oldlib="\($?*1*\)"%f_ex_an_ar_oldlib='\`"$CYGPATH_W"' \1`%' \
515          -e 's%^archive_cmds=.*%archive_cmds="\\$CC -o \\$lib \\$libobjs \\$compiler_flags \\\\\\`echo \\\\\\"\\$deplibs\\\\\\" | \\$SED -e '"\'"'s/ -lc\\$//'"\'"'\\\\\\` -link -dll~linknames="%' \
516          -e 's%old_archive_cmds="lib -OUT:\\$oldlib\\$oldobjs\\$old_deplibs"%old_archive_cmds="if test -r \\$oldlib; then bla=\\"\\$oldlib\\"; else bla=; fi; lib -OUT:\\$oldlib \\\\\\$bla\\$oldobjs\\$old_deplibs"%' \
517      libtool > conftest.bla
518
519      mv conftest.bla libtool
520      chmod 755 libtool
521      ;;
522    *)
523      AC_MSG_NOTICE(Applying patches to libtool for GNU compiler)
524      sed -e 's|fix_srcfile_path=\"`cygpath -w \"\$srcfile\"`\"|fix_srcfile_path=\"\\\`'"$CYGPATH_W"' \\\"\\$srcfile\\\"\\\`\"|' \
525          -e 's|"lib /OUT:\\$oldlib\\$oldobjs\\$old_deplibs"|"\\$AR \\$AR_FLAGS \\$oldlib\\$oldobjs\\$old_deplibs~\\$RANLIB \\$oldlib"|' \
526          -e 's|libext="lib"|libext="a"|' \
527      libtool > conftest.bla
528
529      mv conftest.bla libtool
530      chmod 755 libtool
531      ;;
532  esac ]) # COIN_PATCH_LIBTOOL_CYGWIN
533 
534
535# output
536AC_CONFIG_FILES(Makefile
537                ADOL-C/Makefile
538                ADOL-C/include/Makefile
539                ADOL-C/include/adolc/Makefile
540                ADOL-C/include/adolc/internal/adolc_settings.h
541                ADOL-C/include/adolc/drivers/Makefile
542                ADOL-C/include/adolc/internal/Makefile
543                ADOL-C/include/adolc/lie/Makefile
544                ADOL-C/include/adolc/sparse/Makefile
545                ADOL-C/include/adolc/tapedoc/Makefile
546                ADOL-C/src/Makefile
547                ADOL-C/src/drivers/Makefile
548                ADOL-C/src/lie/Makefile
549                ADOL-C/src/sparse/Makefile
550                ADOL-C/src/tapedoc/Makefile
551                ADOL-C/doc/version.tex
552                ADOL-C/examples/Makefile
553                ADOL-C/examples/additional_examples/Makefile
554                ADOL-C/examples/additional_examples/cuda/Makefile
555                ADOL-C/examples/additional_examples/clock/Makefile
556                ADOL-C/examples/additional_examples/checkpointing/Makefile
557                ADOL-C/examples/additional_examples/ext_diff_func/Makefile
558                ADOL-C/examples/additional_examples/fixpoint_exam/Makefile
559                ADOL-C/examples/additional_examples/hessmat/Makefile
560                ADOL-C/examples/additional_examples/lie/Makefile
561                ADOL-C/examples/additional_examples/lufact/Makefile
562                ADOL-C/examples/additional_examples/openmp_exam/Makefile
563                ADOL-C/examples/additional_examples/scal/Makefile
564                ADOL-C/examples/additional_examples/speelpenning/Makefile
565                ADOL-C/examples/additional_examples/taylor/Makefile
566                ADOL-C/examples/additional_examples/detexam/Makefile
567                ADOL-C/examples/additional_examples/helm/Makefile
568                ADOL-C/examples/additional_examples/lighthouse/Makefile
569                ADOL-C/examples/additional_examples/ode/Makefile
570                ADOL-C/examples/additional_examples/sparse/Makefile
571                ADOL-C/examples/additional_examples/tapesave/Makefile
572                ADOL-C/examples/additional_examples/pow/Makefile
573                ADOL-C/examples/additional_examples/timing/Makefile
574                ADOL-C/examples/additional_examples/param/Makefile
575                ADOL-C/test/Makefile
576                ADOL-C/swig/Makefile
577                MSVisualStudio/v14/sparse/config.h
578                MSVisualStudio/v14/nosparse/config.h
579                MSVisualStudio/v14/x64/sparse/config.h
580                MSVisualStudio/v14/x64/nosparse/config.h
581                adolc.spec
582                adolclib.pc
583)
584
585AC_OUTPUT
586
587#call libtool for cygwin
588AC_COIN_PATCH_LIBTOOL_CYGWIN
589warn=false
590# echo configuration
591echo \
592"
593-----------------------------------------------------------------------------
594Configuration:
595
596  C compiler:                         ${CC}
597  C++ compiler:                       ${CXX}
598  Linker:                             ${LD}
599  Source code location:               `pwd`
600  Install path:                       ${prefix}
601 
602  CFLAGS:                             ${ac_adolc_cflags}
603  CXXFLAGS:                           ${ac_adolc_cxxflags}
604
605  Use Boost pool allocator:           ${using_boost_pool}
606  Use ADOL-C debug mode:              ${adolc_debug}
607  Use ADOL-C hard debug mode:         ${adolc_harddebug}
608  Zero value in adouble default ctor: ${adolc_stdczero}"
609
610if [[ "x${ac_adolc_openmpflag}" != "x" ]] ; then
611    echo \
612"  Access thread number via errno:     ${adolc_tserrno}"
613fi
614
615echo \
616"  Use ADOL-C activity tracking:       ${use_activities}
617  Use ADOL-C late init mode:          ${adolc_late_init}
618
619  Build sparse drivers:               ${sparse}
620  Build with adjoinable MPI support:  ${adolc_ampi_support}
621  Build with MediPack support:        ${adolc_medipack_support}
622  Build with ColPack:                 ${have_colpack}"
623if test x$sparse = xyes && test x$have_colpack = xno; then
624    echo -e \
625"  \033@<:@1;31mCompressed sparse structures will not be available
626  Only sparsity patterns can be computed\033@<:@0m"
627    warn=true
628fi
629echo
630
631echo \
632"  Build documented examples:          ${docexa}
633  Build additional examples:          ${addexa}
634  tape_doc routine computes values:   ${tapedoc_values}
635
636  See ADOL-C/src/config.h for further configuration information.
637-----------------------------------------------------------------------------"
638
639# check for make install problems resulting from missing write permission
640pdir=${prefix}
641writable=true
642while test "x${pdir}" != "x/" ; do
643    if test -e ${pdir} && test ! -w ${pdir}; then
644        writable=false
645        break
646    elif test ! -e ${pdir} ; then
647        pdir=`dirname ${pdir}`
648    else
649        break
650    fi
651done
652if test "x${pdir}" == "x/" ; then
653    writable=false
654fi
655if ! ${writable} ; then
656    echo -e \
657"  \033@<:@1;31mPrefix ${prefix} not writable
658  please run ./configure --prefix=DIR
659  with a writable directory path otherwise administrator privileges
660  will be required to run \`make install'\033@<:@0m"
661    warn=true
662fi
663
664case ${prefix} in
665   ${HOME}|${HOME}/*)
666if $warn ; then
667    for (( i=5; i>0; i-- )); do
668        echo -ne "\rPlease read the above messages carefully, continuing in ${i} seconds"
669        sleep 1
670    done
671    echo -e "\rPlease read the above messages carefully                                 "
672fi
673echo \
674"
675*****************************************************************************
676
677  To successfully compile and run programs using the ADOL-C shared library do
678  the following things:
679     compiling:
680        * add \"-I${prefix}/include\" to your compiler call
681     linking:
682        * add \"-L${libdir} -l$adolclib\" to your linker call
683        * extend your linker call by \"-Wl,--rpath -Wl,${libdir}\"
684          (if you wish to skip the point \"executing\")
685     executing (do one of the following things):
686        * add ${libdir} to your LD_LIBRARY_PATH variable
687        * ask your system administrator for adding ${libdir} to
688          the global file containing library search paths (/etc/ld.so.conf)
689
690     (or use the static library by replacing
691        \"-L${libdir} -l$adolclib\" with
692        \"${libdir}/lib$adolclib.a\" when linking)
693
694  See README for instructions on how to change to a nonlocal installation!
695
696*****************************************************************************
697"
698;;
699esac
700if test "x$enable_static" != "xno" ; then
701echo \
702" Linking a user program with a static ADOL-C library will always result
703  in a segmentation fault. Please always use the shared library.
704*****************************************************************************
705"
706fi
Note: See TracBrowser for help on using the repository browser.