Improve grd program in Gambit REPL iOS example (add "mv" command, on Windows provide...
[gambit-c.git] / configure.ac
blob13de6d53b16bae6756807dcb5dedc40e0c88d662
1 # Configure template for Gambit-C system.
3 # Copyright (c) 1994-2012 by Marc Feeley, All Rights Reserved.
5 # Process this file with autoconf to produce a configure script.
7 AC_INIT(Gambit-C,v4.6.4,gambit@iro.umontreal.ca,gambc-v4_6_4)
9 AC_CONFIG_HEADERS(include/config.h)
11 PACKAGE_SHORTNAME="gambc"
13 AC_SUBST(PACKAGE_SHORTNAME)
14 AC_SUBST(PACKAGE_NAME)
15 AC_SUBST(PACKAGE_VERSION)
16 AC_SUBST(PACKAGE_STRING)
17 AC_SUBST(PACKAGE_BUGREPORT)
18 AC_SUBST(PACKAGE_TARNAME)
20 AC_COPYRIGHT([[Copyright (c) 1994-2012 by Marc Feeley, All Rights Reserved.]])
22 AC_CONFIG_SRCDIR(include/gambit.h.in)
24 AC_PREFIX_DEFAULT(/usr/local/$PACKAGE_NAME)
26 AC_CANONICAL_SYSTEM
28 ###############################################################################
30 # Accumulate subsystems to include in runtime library.
32 RTLIBSUBSYS=""
34 ###############################################################################
36 # To accumulate flags and definitions for C compilation.
38 GAMBCLIB_DEFS=""
40 FLAGS_OBJ=""
41 FLAGS_DYN=""
42 FLAGS_LIB=""
43 FLAGS_EXE=""
45 FLAGS_OBJ_DYN=""
46 FLAGS_OBJ_DYN_LIB_EXE=""
47 FLAGS_DYN_LIB=""
49 DEFS_OBJ=""
50 DEFS_DYN="-D___DYNAMIC"
51 DEFS_LIB=""
52 DEFS_EXE=""
54 DEFS_OBJ_DYN_LIB_EXE=""
56 ###############################################################################
58 # Check if the system must be compiled using the C compiler or C++ compiler.
60 AC_ARG_ENABLE(cplusplus,
61               AC_HELP_STRING([--enable-cplusplus],
62                              [compile using C++ compiler (default is NO)]),
63               ENABLE_CPLUSPLUS=$enableval,
64               ENABLE_CPLUSPLUS=no)
66 if test "${CFLAGS+set}" != set; then
67   CFLAGS=""
70 if test "${CXXFLAGS+set}" != set; then
71   CXXFLAGS=""
74 if test "${LDFLAGS+set}" != set; then
75   LDFLAGS=""
78 case "$target_os" in
80   darwin*) if test "$CC" = ""; then
81              SEARCH_LIST_FOR_CC="i686-apple-darwin11-gcc-4.2.1 i686-apple-darwin10-gcc-4.2.1 clang"
82              for cc in $SEARCH_LIST_FOR_CC; do
83                AC_CHECK_PROG(HAVE_SPECIAL_CC, $cc, yes)
84                if test "$HAVE_SPECIAL_CC" = yes; then
85                  CC=$cc
86                  break
87                fi
88                unset ac_cv_prog_HAVE_SPECIAL_CC
89              done
90            fi
92            if test "$CXX" = "" -a "$ENABLE_CPLUSPLUS" = yes; then
93              SEARCH_LIST_FOR_CXX="i686-apple-darwin11-g++-4.2.1 i686-apple-darwin10-g++-4.2.1 clang++"
94              for cxx in $SEARCH_LIST_FOR_CXX; do
95                AC_CHECK_PROG(HAVE_SPECIAL_CXX, $cxx, yes)
96                if test "$HAVE_SPECIAL_CXX" = yes; then
97                  CXX=$cxx
98                  break
99                fi
100                unset ac_cv_prog_HAVE_SPECIAL_CXX
101              done
102            fi
103            ;;
105 esac
107 AC_LANG(C)
108 AC_PROG_CC
109 AC_PROG_CPP
110 C_COMPILER=$CC
111 C_PREPROC=$CPP
113 if test "$ENABLE_CPLUSPLUS" = yes; then
115   AC_LANG(C++)
116   AC_PROG_CXX
117   AC_PROG_CXXCPP
118   C_COMPILER=$CXX
119   C_PREPROC=$CXXCPP
123 AC_SUBST(C_COMPILER)
124 AC_SUBST(C_PREPROC)
126 AC_SUBST(C_COMPILER_MF)
127 AC_SUBST(C_PREPROC_MF)
129 AC_SUBST(C_COMPILER_SH)
130 AC_SUBST(C_PREPROC_SH)
132 AC_SUBST(C_COMPILER_BAT)
133 AC_SUBST(C_PREPROC_BAT)
135 ###############################################################################
137 # Check if the system must include GUIDE (Gambit Universal IDE).
139 AC_ARG_ENABLE(guide,
140               AC_HELP_STRING([--enable-guide],
141                              [include the Gambit Universal IDE (default is NO)]),
142               ENABLE_GUIDE=$enableval,
143               ENABLE_GUIDE=no)
145 if test "$ENABLE_GUIDE" = yes; then
146   if test "$ENABLE_CPLUSPLUS" = yes; then
148     # Determine if Qt is available, if the version is good, etc
150     ac_qmake='qmake -o conftest.qt /dev/null >&5'
152     rm -f conftest.qt
154     if { (eval echo "$as_me:$LINENO: \"$ac_qmake\"") >&5
155       (eval $ac_qmake) 2>&5
156       ac_status=$?
157       echo "$as_me:$LINENO: \$? = $ac_status" >&5
158       (exit $ac_status); }; then
160       ac_qt_version_check="grep -q '^# Generated by qmake ([^)]*) (Qt 3\\.3\\..*' conftest.qt"
162       if { (eval echo "$as_me:$LINENO: \"$ac_qt_version_check\"") >&5
163         (eval $ac_qt_version_check) 2>&5
164         ac_status=$?
165         echo "$as_me:$LINENO: \$? = $ac_status" >&5
166         (exit $ac_status); }; then
168         QTINCPATH=`sed -n -e '/^INCPATH[[       ]]*=[[  ]]*\(.*\)/s//\1/p' conftest.qt`
169         QTLIBS=`sed -n -e '/^LIBS[[     ]]*=[[  ]]*\\\$(SUBLIBS)[[      ]]*\(.*\)/s//\1/p' conftest.qt`
171       else
173         qt_version=`sed -n -e '/^# Generated by qmake (\([^)]*\)) (Qt \([0-9]*\.[0-9]*\).*/s//\2/p' conftest.qt`
175         ENABLE_GUIDE=no
176         AC_MSG_NOTICE([
177 ************************************************************************
178 ***                                                                  ***
179 *** The Gambit Universal IDE requires that the system be built using ***
180 *** the Qt GUI library version 3.3.  Version $qt_version of Qt is currently  ***
181 *** installed.                                                       ***
182 ***                                                                  ***
183 ************************************************************************
186       fi
188     else
190       ENABLE_GUIDE=no
191       AC_MSG_NOTICE([
192 ************************************************************************
193 ***                                                                  ***
194 *** The Gambit Universal IDE requires that the system be built using ***
195 *** the Qt GUI library.  This library could not be located.  Make    ***
196 *** sure that the program qmake is in your PATH.                     ***
197 ***                                                                  ***
198 ************************************************************************
201     fi
203   else
205     ENABLE_GUIDE=no
206     AC_MSG_NOTICE([
207 ************************************************************************
208 ***                                                                  ***
209 *** The Gambit Universal IDE requires that the system be built using ***
210 *** a C++ compiler.  You must specify both "--enable-cplusplus" and  ***
211 *** "--enable-guide" to include the Gambit Universal IDE.            ***
212 ***                                                                  ***
213 ************************************************************************
216   fi
219 if test "$ENABLE_GUIDE" = yes; then
220   AC_DEFINE(___GUIDE)
221   AC_SUBST(QTINCPATH)
222   RTLIBSUBSYS="$RTLIBSUBSYS guide"
223   LIBS="$LIBS $QTLIBS"
226 AC_SUBST(ENABLE_GUIDE)
228 ###############################################################################
230 # Check if the system is to be debugged.
232 AC_ARG_ENABLE(debug,
233               AC_HELP_STRING([--enable-debug],
234                              [build system so that it can be debugged (default is NO)]),
235               ENABLE_DEBUG=$enableval,
236               ENABLE_DEBUG=no)
238 if test "$ENABLE_DEBUG" = yes; then
239   AC_DEFINE(___DEBUG)
240   DEFS_OBJ_DYN_LIB_EXE="$DEFS_OBJ_DYN_LIB_EXE -D___DEBUG"
243 ###############################################################################
245 # Check if the system is to be profiled.
247 AC_ARG_ENABLE(profile,
248               AC_HELP_STRING([--enable-profile],
249                              [build system so that it can be profiled (default is NO)]),
250               ENABLE_PROFILE=$enableval,
251               ENABLE_PROFILE=no)
253 if test "$ENABLE_PROFILE" = yes; then
254   AC_DEFINE(___PROFILE)
255   DEFS_OBJ_DYN_LIB_EXE="$DEFS_OBJ_DYN_LIB_EXE -D___PROFILE"
258 ###############################################################################
260 # Check if the system is to be compiled to accumulate coverage statistics.
262 AC_ARG_ENABLE(coverage,
263               AC_HELP_STRING([--enable-coverage],
264                              [build system to accumulate coverage statistics (default is NO)]),
265               ENABLE_COVERAGE=$enableval,
266               ENABLE_COVERAGE=no)
268 ###############################################################################
270 # Check if the system is to be compiled with trial run feedback.
272 AC_ARG_ENABLE(feedback1,
273               AC_HELP_STRING([--enable-feedback1],
274                              [build system to accumulate trial run data (default is NO)]),
275               ENABLE_FEEDBACK1=$enableval,
276               ENABLE_FEEDBACK1=no)
278 AC_ARG_ENABLE(feedback2,
279               AC_HELP_STRING([--enable-feedback2],
280                              [build system using trial run feedback (default is NO)]),
281               ENABLE_FEEDBACK2=$enableval,
282               ENABLE_FEEDBACK2=no)
284 ###############################################################################
286 # Check if a single C function should be generated for all the Scheme
287 # functions in a file.  This makes the executable much faster but the
288 # compilation will be much longer and take much more memory.
290 AC_ARG_ENABLE(single-host,
291               AC_HELP_STRING([--enable-single-host],
292                              [compile each Scheme module as a single C function (default is NO)]),
293               ENABLE_SINGLE_HOST=$enableval,
294               ENABLE_SINGLE_HOST=no)
296 if test "$ENABLE_SINGLE_HOST" = yes; then
297   AC_DEFINE(___SINGLE_HOST)
298   DEFS_OBJ_DYN_LIB_EXE="$DEFS_OBJ_DYN_LIB_EXE -D___SINGLE_HOST"
301 ###############################################################################
303 # Check if inline code should be generated for jumps.  It is possible
304 # that on some platforms this will result in a faster but larger
305 # executable program.
307 AC_ARG_ENABLE(inline-jumps,
308               AC_HELP_STRING([--enable-inline-jumps],
309                              [generate inline code for jumps (default is NO)]),
310               ENABLE_INLINE_JUMPS=$enableval,
311               ENABLE_INLINE_JUMPS=no)
313 if test "$ENABLE_INLINE_JUMPS" = yes; then
314   AC_DEFINE(___INLINE_JUMPS)
315   DEFS_OBJ_DYN_LIB_EXE="$DEFS_OBJ_DYN_LIB_EXE -D___INLINE_JUMPS"
318 ###############################################################################
320 # Check if expensive GCC optimizations should be used.  This makes the
321 # executable faster but the compilation will be much longer and take
322 # much more memory.
324 AC_ARG_ENABLE(gcc-opts,
325               AC_HELP_STRING([--enable-gcc-opts],
326                              [use expensive GCC optimizations (default is NO)]),
327               ENABLE_GCC_OPTS=$enableval,
328               ENABLE_GCC_OPTS=no)
330 ###############################################################################
332 # Check the width of Scheme characters.
334 AC_ARG_ENABLE(char-size,
335               AC_HELP_STRING([--enable-char-size=N],
336                              [Scheme character size in bytes (default is 4)]),
337               CHAR_SIZE=$enableval,
338               CHAR_SIZE=4)
340 if test "$CHAR_SIZE" = 1; then
341   CONF_MAX_CHR="0xff"
342 else
343 if test "$CHAR_SIZE" = 2; then
344   CONF_MAX_CHR="0xffff"
345 else
346   CONF_MAX_CHR="0x10ffff"
350 AC_SUBST(CONF_MAX_CHR)
352 ###############################################################################
354 # Check the size of the type "void*".  On many systems it is the same
355 # size as "long".  If this isn't the case then define
356 # ___VOIDSTAR_WIDTH appropriately.
358 AC_CHECK_SIZEOF(void*)
359 AC_CHECK_SIZEOF(long)
361 if test "$ac_cv_sizeof_voidp" != "$ac_cv_sizeof_long"; then
362   CONF_VOIDSTAR_WIDTH="($ac_cv_sizeof_voidp * ___CHAR_WIDTH)"
363 else
364   CONF_VOIDSTAR_WIDTH="___LONG_WIDTH"
367 AC_SUBST(CONF_VOIDSTAR_WIDTH)
369 ###############################################################################
371 # Check for existence of the type "bool".  If the compiler does not
372 # support it, the ___BOOL type will be mapped to "int".
374 AC_CHECK_TYPE([bool])
375   
376 if test "$ac_cv_type_bool" = yes; then
377   CONF_BOOL="bool"
378 else
379   CONF_BOOL="int"
382 AC_SUBST(CONF_BOOL)
384 ###############################################################################
386 # Check if a shared library must be built.
388 AC_ARG_ENABLE(shared,
389               AC_HELP_STRING([--enable-shared],
390                              [build the Scheme runtime system as a shared library (default is NO)]),
391               ENABLE_SHARED=$enableval,
392               ENABLE_SHARED=no)
394 if test "$ENABLE_SHARED" = yes; then
395   AC_DEFINE(___SHARED)
396   # don't add to DEFS_OBJ_DYN_LIB_EXE
399 ###############################################################################
401 # Check if only ANSI C headers and libraries should be used.
403 AC_ARG_ENABLE(ansi-c,
404               AC_HELP_STRING([--enable-ansi-c],
405                              [link only with ANSI C libraries (default is NO)]),
406               ANSI_C=$enableval,
407               ANSI_C=no)
409 ###############################################################################
411 # Check if symbolic links should be used for files not in the
412 # central installation directory.
414 AC_ARG_ENABLE(symlinks,
415               AC_HELP_STRING([--enable-symlinks],
416                              [use symbolic links for installed files not in the central installation directory (default is YES)]),
417               ENABLE_SYMLINKS=$enableval,
418               ENABLE_SYMLINKS=no)
420 ###############################################################################
422 # Determine the name to use for the Gambit interpreter and compiler.
424 AC_ARG_ENABLE(interpreter-name,
425               AC_HELP_STRING([--enable-interpreter-name=INTERP],
426                              [Name to use for Gambit interpreter (default is gsi)]),
427               ENABLE_INTERPRETER_NAME=$enableval,
428               ENABLE_INTERPRETER_NAME="gsi")
430 AC_ARG_ENABLE(compiler-name,
431               AC_HELP_STRING([--enable-compiler-name=COMP],
432                              [Name to use for Gambit compiler (default is gsc)]),
433               ENABLE_COMPILER_NAME=$enableval,
434               ENABLE_COMPILER_NAME="gsc")
436 ###############################################################################
438 # Check if multiple installed versions are supported.
440 AC_ARG_ENABLE(multiple-versions,
441               AC_HELP_STRING([--enable-multiple-versions],
442                              [multiple installed versions are supported (default is NO)]),
443               ENABLE_MULTIPLE_VERSIONS=$enableval,
444               ENABLE_MULTIPLE_VERSIONS=no)
446 ###############################################################################
448 # Check if libraries should contain a version number suffix.
450 ENABLE_VERSIONNED_LIBS=no
452 # This option does not currently work.  Some work is needed to make it
453 # work properly.  Here is the documentation that should go in INSTALL.txt:
455 #The option --enable-versionned-libs will add a version number suffix
456 #to the libraries.  For example the Gambit v4.3.2 runtime library which
457 #is normally libgambc.a will be named libgambc-v4_3_2.a and it must be
458 #linked to with the C compiler option -lgambc-v4_3_2 .  If you give
459 #this option a value, as in --enable-versionned-libs=<suffix> then
460 #<suffix> will be appended to the name of the libraries.
462 #AC_ARG_ENABLE(versionned-libs,
463 #              AC_HELP_STRING([--enable-versionned-libs],
464 #                             [libraries should contain a version number suffix (default is NO)]),
465 #              ENABLE_VERSIONNED_LIBS=$enableval,
466 #              ENABLE_VERSIONNED_LIBS=no)
468 ###############################################################################
470 # Check if shared libraries should be linked to using an absolute path.
472 AC_ARG_ENABLE(absolute-shared-libs,
473               AC_HELP_STRING([--enable-absolute-shared-libs],
474                              [shared libraries should be linked to using an absolute path (default is YES)]),
475               ENABLE_ABSOLUTE_SHARED_LIBS=$enableval,
476               ENABLE_ABSOLUTE_SHARED_LIBS=yes)
478 if test "$ENABLE_SHARED" != yes; then
479   ENABLE_ABSOLUTE_SHARED_LIBS=no
482 ###############################################################################
484 # Determine which browser to use for help.
486 AC_ARG_ENABLE(help-browser,
487               AC_HELP_STRING([--enable-help-browser=BROWSER],
488                              [Browser to use for help (default is to search)]),
489               HELP_BROWSER=$enableval,
490               HELP_BROWSER="")
492 ###############################################################################
494 # Check for C compiler.
496 AC_DEFUN(AC_CHECK_C_COMPILER_DEF,
497 [AC_CACHE_CHECK(whether $C_COMPILER defines [$1], [$2],
498 [AC_SUBST($2)
499 rm -f conftest.$ac_ext
500 cat >conftest.$ac_ext <<_ACEOF
501 #line $LINENO "configure"
503 main ()
505 #ifndef $1
506        choke me
507 #endif
509   ;
510   return 0;
512 _ACEOF
513 if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
514   (eval $ac_link) 2>&5
515   ac_status=$?
516   echo "$as_me:$LINENO: \$? = $ac_status" >&5
517   (exit $ac_status); }; then
518   $2="yes"
519 else
520   $2=""
522 ])])
524 AC_DEFUN(AC_CHECK_C_COMPILER_OPT,
525 [AC_CACHE_CHECK(whether $C_COMPILER accepts [$1], [$2],
526 [AC_SUBST($2)
527 rm -f conftest.$ac_ext
528 cat >conftest.$ac_ext <<_ACEOF
529 #line $LINENO "configure"
531 main ()
533   return 0;
535 _ACEOF
536 ac_test_CFLAGS=${CFLAGS+set}
537 ac_test_CXXFLAGS=${CXXFLAGS+set}
538 ac_save_CFLAGS=$CFLAGS
539 ac_save_CXXFLAGS=$CXXFLAGS
540 CFLAGS="$1$3"
541 CXXFLAGS="$1$3"
542 if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
543   (eval $ac_link) 2>&5
544   ac_status=$?
545   echo "$as_me:$LINENO: \$? = $ac_status" >&5
546   (exit $ac_status); }; then
547   $2=" $1"
548 else
549   $2=""
551 if test "$ac_test_CFLAGS" = set; then
552   CFLAGS=$ac_save_CFLAGS
554 if test "$ac_test_CXXFLAGS" = set; then
555   CXXFLAGS=$ac_save_CXXFLAGS
557 ])])
559 AC_DEFUN(AC_CHECK_C_COMPILER_CPP_EXPR,
560 [AC_CACHE_CHECK(how $C_COMPILER's preprocessor evaluates [$1], [$2],
561 [AC_SUBST($2)
562 rm -f conftest.$ac_ext
563 cat >conftest.$ac_ext <<_ACEOF
564 #line $LINENO "configure"
566 main ()
568 #if $1
569 #else
570        choke me
571 #endif
573   ;
574   return 0;
576 _ACEOF
577 if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
578   (eval $ac_link) 2>&5
579   ac_status=$?
580   echo "$as_me:$LINENO: \$? = $ac_status" >&5
581   (exit $ac_status); }; then
582   $2="yes"
583 else
584   $2=""
586 ])])
588 AC_CHECK_C_COMPILER_DEF(__GNUC__,C_COMP_GNUC)
589 AC_CHECK_C_COMPILER_DEF(__clang__,C_COMP_CLANG)
590 AC_CHECK_C_COMPILER_DEF(__llvm__,C_COMP_LLVM)
591 AC_CHECK_C_COMPILER_DEF(_MSC_VER,C_COMP_VISUALC)
592 #AC_CHECK_C_COMPILER_DEF(__WATCOMC__,C_COMP_WATCOMC)
593 #AC_CHECK_C_COMPILER_DEF(__BORLANDC__,C_COMP_BORLANDC)
595 ###############################################################################
597 # Check for header files.
599 AC_CHECK_HEADERS(errno.h)
600 AC_CHECK_HEADERS(float.h)
601 AC_CHECK_HEADERS(signal.h)
602 AC_CHECK_HEADERS(stdio.h)
603 AC_CHECK_HEADERS(stdlib.h)
604 AC_CHECK_HEADERS(string.h)
605 AC_CHECK_HEADERS(time.h)
607 if test "$ANSI_C" = yes; then
609   # Check if linking to the math library needs some special linker flags.
611   AC_SEARCH_LIBS(asin,m)
613   # The following functions should be provided by an ANSI-C conforming
614   # compiler, but it is safest to double check.  If they are not
615   # available, the system will still compile but some functionality
616   # will be missing from the Gambit runtime system.
618   AC_CHECK_FUNCS(getenv)
619   AC_CHECK_FUNCS(time)
620   AC_CHECK_FUNCS(clock)
622 else
624   AC_CHECK_HEADERS(unistd.h)
625   AC_CHECK_HEADERS(pwd.h)
626   AC_CHECK_HEADERS(dirent.h)
627   AC_CHECK_HEADERS(dlfcn.h)
628   AC_CHECK_HEADERS(dl.h)
629   AC_CHECK_HEADERS(sys/dxe.h)
630   AC_CHECK_HEADERS(mach-o/dyld.h)
631   AC_CHECK_HEADERS(sys/types.h)
632   AC_CHECK_HEADERS(sys/time.h)
633   AC_CHECK_HEADERS(sys/times.h)
634   AC_CHECK_HEADERS(sys/timeb.h)
635   AC_CHECK_HEADERS(sys/timers.h)
636   AC_CHECK_HEADERS(sys/resource.h)
637   AC_CHECK_HEADERS(sys/stat.h)
638   AC_CHECK_HEADERS(sys/wait.h)
639   AC_CHECK_HEADERS(sys/mman.h)
640   AC_CHECK_HEADERS(stat.h)
641   AC_CHECK_HEADERS(netdb.h)
642   AC_CHECK_HEADERS(grp.h)
643   #AC_CHECK_HEADERS(windows.h)
644   #AC_CHECK_HEADERS(io.h)
645   #AC_CHECK_HEADERS(tchar.h)
646   AC_CHECK_HEADERS(fpu_control.h)
647   AC_CHECK_HEADERS(os2.h)
648   AC_CHECK_HEADERS(dos.h)
649   AC_CHECK_HEADERS(direct.h)
650   #AC_CHECK_HEADERS(Retrace.h)
651   #AC_CHECK_HEADERS(Files.h)
652   #AC_CHECK_HEADERS(Finder.h)
653   #AC_CHECK_HEADERS(Errors.h)
654   #AC_CHECK_HEADERS(Folders.h)
655   #AC_CHECK_HEADERS(OSUtils.h)
656   #AC_CHECK_HEADERS(Power.h)
657   #AC_CHECK_HEADERS(CodeFragments.h)
658   #AC_CHECK_HEADERS(SIOUX.h)
659   #AC_CHECK_HEADERS(mac_gui.h)
660   #AC_CHECK_HEADERS(unix.h)
661   AC_CHECK_HEADERS(wdefwin.h)
662   AC_CHECK_HEADERS(tfork.h)
663   AC_CHECK_HEADERS(curses.h)
664   AC_CHECK_HEADERS(ncurses.h)
665   AC_CHECK_HEADERS(netinet/in.h)
666   AC_CHECK_HEADERS(arpa/inet.h)
667   AC_CHECK_HEADERS(termios.h)
668   #AC_CHECK_HEADERS(term.h)
669   AC_CHECK_HEADERS(pty.h)
670   AC_CHECK_HEADERS(stropts.h)
671   AC_CHECK_HEADERS(libutil.h)
672   AC_CHECK_HEADERS(util.h)
673   AC_CHECK_HEADERS(sys/fpu.h)
674   AC_CHECK_HEADERS(fenv.h)
675   AC_CHECK_HEADERS(fcntl.h)
676   AC_CHECK_HEADERS(sys/ioctl.h)
677   AC_CHECK_HEADERS(sys/socket.h)
678   AC_CHECK_HEADERS(strings.h)
679   AC_CHECK_HEADERS(memory.h)
680   AC_CHECK_HEADERS(sys/sysctl.h)
681   AC_CHECK_HEADERS(crt_externs.h)
682   AC_CHECK_HEADERS(ws2tcpip.h)
683   AC_CHECK_HEADERS(TargetConditionals.h)
685   if test "$C_COMP_VISUALC" != yes; then
687     AC_DEFUN([AC_TYPE_SOCKLEN_T],
688     [AC_CACHE_CHECK([for socklen_t], ac_cv_type_socklen_t,
689     [
690       AC_TRY_COMPILE(
691       [#include <sys/types.h>
692        #ifdef HAVE_SYS_SOCKET_H
693        #include <sys/socket.h>
694        #endif
695        #ifdef HAVE_WS2TCPIP_H
696        #include <ws2tcpip.h>
697        #endif],
698       [socklen_t len = 42; return 0;],
699       ac_cv_type_socklen_t=yes,
700       ac_cv_type_socklen_t=no)
701     ])
702       if test $ac_cv_type_socklen_t != yes; then
703         AC_DEFINE(socklen_t, int)
704       fi
705     ])
707     AC_TYPE_SOCKLEN_T
709   fi
711   #AC_TYPE_MODE_T
712   #AC_TYPE_OFF_T
713   #AC_TYPE_PID_T
714   #AC_TYPE_SIGNAL
715   #AC_TYPE_SIZE_T
716   #AC_TYPE_UID_T
718   #AC_HEADER_DIRENT
719   #AC_HEADER_STAT
720   #AC_HEADER_STDC
721   #AC_HEADER_SYS_WAIT
722   #AC_HEADER_TIME
723   #AC_HEADER_TIOCGWINSZ
724   #AC_FUNC_SELECT_ARGTYPES
726   #AC_FUNC_CLOSEDIR_VOID
727   #AC_FUNC_FSEEKO
728   #AC_FUNC_STAT
729   #AC_FUNC_LSTAT
731   if test "$C_COMP_VISUALC" = yes; then
733     LIBS="$LIBS Kernel32.Lib User32.Lib Gdi32.Lib WS2_32.Lib"
734     FLAGS_OBJ="$FLAGS_OBJ -D_WINDOWS"
736   else
738     case "$target_os" in
740        mingw*) # add Windows libraries needed by MinGW
741                LIBS="$LIBS -lws2_32"
742                FLAGS_OBJ="$FLAGS_OBJ -D_WINDOWS"
743                ;;
745             *) # check libraries for other systems
746                AC_SEARCH_LIBS(asin,m)
748                AC_SEARCH_LIBS(dlopen,dl)
749                AC_SEARCH_LIBS(shl_load,dld)
751                #AC_SEARCH_LIBS(tgetstr,ncurses curses)
752                #AC_SEARCH_LIBS(tigetstr,ncurses curses)
754                AC_SEARCH_LIBS(socket,socket)
756                AC_SEARCH_LIBS(gethostbyname,nsl resolv xnet)
758                AC_SEARCH_LIBS(hstrerror,resolv)
760                AC_SEARCH_LIBS(openpty,util)
762                AC_SEARCH_LIBS(WSAStartup,ws2_32)
763                ;;
764     esac
766   fi
768   AC_CHECK_FUNCS(pipe)
769   AC_CHECK_FUNCS(socketpair)
770   AC_CHECK_FUNCS(chdir)
771   AC_CHECK_FUNCS(execvp)
772   AC_CHECK_FUNCS(getgrnam)
773   AC_CHECK_FUNCS(getpid)
774   AC_CHECK_FUNCS(getppid)
775   AC_CHECK_FUNCS(getpwnam)
776   AC_CHECK_FUNCS(ioctl)
777   AC_CHECK_FUNCS(link)
778   AC_CHECK_FUNCS(mkdir)
779   AC_CHECK_FUNCS(mkfifo)
780   AC_CHECK_FUNCS(opendir)
781   AC_CHECK_FUNCS(rename)
782   AC_CHECK_FUNCS(rmdir)
783   AC_CHECK_FUNCS(socket)
784   AC_CHECK_FUNCS(stat)
785   AC_CHECK_FUNCS(stat64)
786   AC_CHECK_FUNCS(strerror)
787   AC_CHECK_FUNCS(symlink)
788   AC_CHECK_FUNCS(sysconf)
789   AC_CHECK_FUNCS(sysctl)
790   AC_CHECK_FUNCS(unlink)
791   AC_CHECK_FUNCS(waitpid)
792   AC_CHECK_FUNCS(mmap)
794   # The following checks for library functions have been written
795   # specially to catch the case where they are declared as inline
796   # functions.  This was done when porting to the Android platform,
797   # but it may be useful for other platforms as well.
799   # used to be: AC_CHECK_FUNCS(tcgetattr)
801   AC_DEFUN([AC_CHECK_FUNC_TCGETATTR],
802   [AC_CACHE_CHECK([for tcgetattr], ac_cv_func_tcgetattr,
803   [
804     AC_TRY_COMPILE([
805       #ifdef HAVE_TERMIOS_H
806       #include <termios.h>
807       #endif
808       ],[int fd = 1; struct termios tios; tcgetattr (fd, &tios);],
809     ac_cv_func_tcgetattr=yes,
810     ac_cv_func_tcgetattr=no)
811   ])
812     if test $ac_cv_func_tcgetattr = yes; then
813       AC_DEFINE(HAVE_TCGETATTR)
814     fi
815   ])
817   AC_CHECK_FUNC_TCGETATTR
819   # used to be: AC_CHECK_FUNCS(sigaction)
821   AC_DEFUN([AC_CHECK_FUNC_SIGACTION],
822   [AC_CACHE_CHECK([for sigaction], ac_cv_func_sigaction,
823   [
824     AC_TRY_COMPILE([
825       #ifdef HAVE_SIGNAL_H
826       #include <signal.h>
827       #endif
828       ],[struct sigaction sa1, sa2; sigaction (1, &sa1, &sa2);],
829     ac_cv_func_sigaction=yes,
830     ac_cv_func_sigaction=no)
831   ])
832     if test $ac_cv_func_sigaction = yes; then
833       AC_DEFINE(HAVE_SIGACTION)
834     fi
835   ])
837   AC_CHECK_FUNC_SIGACTION
839   # used to be: AC_CHECK_FUNCS(sigemptyset)
840   #             AC_CHECK_FUNCS(sigaddset)
842   AC_DEFUN([AC_CHECK_FUNC_SIGSET],
843   [AC_CACHE_CHECK([for sigemptyset/sigaddset], ac_cv_func_sigset,
844   [
845     AC_TRY_COMPILE([
846       #ifdef HAVE_SIGNAL_H
847       #include <signal.h>
848       #endif
849       ],[sigset_t ss; sigemptyset (&ss); sigaddset (&ss, 1);],
850     ac_cv_func_sigset=yes,
851     ac_cv_func_sigset=no)
852   ])
853     if test $ac_cv_func_sigset = yes; then
854       AC_DEFINE(HAVE_SIGEMPTYSET)
855       AC_DEFINE(HAVE_SIGADDSET)
856     fi
857   ])
859   AC_CHECK_FUNC_SIGSET
861   # used to be: AC_CHECK_FUNCS(sigprocmask)
863   AC_DEFUN([AC_CHECK_FUNC_SIGPROCMASK],
864   [AC_CACHE_CHECK([for sigprocmask], ac_cv_func_sigprocmask,
865   [
866     AC_TRY_COMPILE([
867       #ifdef HAVE_SIGNAL_H
868       #include <signal.h>
869       #endif
870       ],[sigset_t ss1, ss2; sigemptyset (&ss1); sigaddset (&ss1, 1); sigprocmask (SIG_BLOCK, &ss1, &ss2);],
871     ac_cv_func_sigprocmask=yes,
872     ac_cv_func_sigprocmask=no)
873   ])
874     if test $ac_cv_func_sigprocmask = yes; then
875       AC_DEFINE(HAVE_SIGPROCMASK)
876     fi
877   ])
879   AC_CHECK_FUNC_SIGPROCMASK
881   # used to be: AC_CHECK_FUNCS(signal)
883   AC_DEFUN([AC_CHECK_FUNC_SIGNAL],
884   [AC_CACHE_CHECK([for signal], ac_cv_func_signal,
885   [
886     AC_TRY_COMPILE([
887       #ifdef HAVE_SIGNAL_H
888       #include <signal.h>
889       #endif
890       ],[signal (1, SIG_DFL);],
891     ac_cv_func_signal=yes,
892     ac_cv_func_signal=no)
893   ])
894     if test $ac_cv_func_signal = yes; then
895       AC_DEFINE(HAVE_SIGNAL)
896     fi
897   ])
899   AC_CHECK_FUNC_SIGNAL
901   AC_DEFUN([AC_CHECK_ENVIRON],
902   [AC_CACHE_CHECK([for environ], ac_cv_environ,
903   [
904     AC_TRY_COMPILE([
905       #ifdef __cplusplus
906       extern "C" {
907       #endif
908       extern char **environ;
909       #ifdef __cplusplus
910       }
911       #endif
912       ],[char *arg0 = *environ;],
913     ac_cv_environ=yes,
914     ac_cv_environ=no)
915   ])
916     if test $ac_cv_environ = yes; then
917       AC_DEFINE(HAVE_ENVIRON)
918     fi
919   ])
921   AC_CHECK_ENVIRON
923   AC_DEFUN([AC_CHECK__NSGETENVIRON],
924   [AC_CACHE_CHECK([for _NSGetEnviron], ac_cv__NSGetEnviron,
925   [
926     AC_TRY_COMPILE([
927       #ifdef HAVE_CRT_EXTERNS_H
928       #include <crt_externs.h>
929       #endif
930       ],[char *arg0 = *(*_NSGetEnviron());],
931     ac_cv__NSGetEnviron=yes,
932     ac_cv__NSGetEnviron=no)
933   ])
934     if test $ac_cv__NSGetEnviron = yes; then
935       AC_DEFINE(HAVE__NSGETENVIRON)
936     fi
937   ])
939   AC_CHECK__NSGETENVIRON
941   AC_CHECK_FUNCS(clock_gettime)
942   AC_CHECK_FUNCS(getclock)
943   #AC_CHECK_FUNCS(GetSystemTime)
944   AC_CHECK_FUNCS(gettimeofday)
945   AC_CHECK_FUNCS(ftime)
946   AC_CHECK_FUNCS(time)
948   AC_CHECK_FUNCS(nanosleep)
949   #AC_CHECK_FUNCS(Sleep)
950   AC_CHECK_FUNCS(sleep)
952   #AC_CHECK_FUNCS(GetProcessTimes)
953   AC_CHECK_FUNCS(getrusage)
954   AC_CHECK_FUNCS(times)
955   AC_CHECK_FUNCS(clock)
956   AC_CHECK_FUNCS(DosQuerySysInfo)
958   AC_CHECK_FUNCS(setitimer)
959   AC_CHECK_FUNCS(dos_setvect)
960   AC_CHECK_FUNCS(DosStartTimer)
961   AC_CHECK_FUNCS(VInstall)
962   #AC_CHECK_FUNCS(CreateThread)
964   AC_CHECK_FUNCS(shl_load)
965   #AC_CHECK_FUNCS(LoadLibrary)
966   AC_CHECK_FUNCS(DosLoadModule)
967   AC_CHECK_FUNCS(dxe_load)
968   AC_CHECK_FUNCS(GetDiskFragment)
969   AC_CHECK_FUNCS(dlopen)
970   AC_CHECK_FUNCS(NSLinkModule) # has been deprecated by Apple
972   AC_CHECK_FUNCS(gethostname)
973   AC_CHECK_FUNCS(inet_pton)
974   AC_CHECK_FUNCS(getaddrinfo)
975   AC_CHECK_FUNCS(gethostbyname)
976   AC_CHECK_FUNCS(gethostbyaddr)
977   AC_CHECK_FUNCS(getservbyname)
978   AC_CHECK_FUNCS(getservbyport)
979   AC_CHECK_FUNCS(getprotobyname)
980   AC_CHECK_FUNCS(getprotobynumber)
981   AC_CHECK_FUNCS(getnetbyname)
983   AC_CHECK_FUNCS(select)
984   #AC_CHECK_FUNCS(MsgWaitForMultipleObjects)
986   #AC_CHECK_FUNCS(tgetstr)
987   #AC_CHECK_FUNCS(tigetstr)
989   AC_CHECK_FUNCS(openpty)
990   AC_CHECK_FUNCS(getpt)
991   AC_CHECK_FUNCS(ptsname)
992   AC_CHECK_FUNCS(ctermid)
993   AC_CHECK_FUNCS(isastream)
995   AC_CHECK_FUNCS(hstrerror)
997   AC_CHECK_FUNCS(get_fpc_csr)
1001 AC_CHECK_TYPE([struct stat64],
1002               [AC_DEFINE(HAVE_STRUCT_STAT64, 1, [])],
1003               [],
1004               [#include <sys/stat.h>])
1006 ###############################################################################
1008 # Check which command line options are supported by $C_COMPILER.
1010 if test "$C_COMP_GNUC" = yes; then
1012   ########## Using gcc...
1014   # Determine which gcc version is being used.
1016   AC_CHECK_C_COMPILER_CPP_EXPR((__GNUC__*1000+__GNUC_MINOR__)>=4002&&(__GNUC__*1000+__GNUC_MINOR__)<=4003,GCC_42_OR_43)
1017   AC_CHECK_C_COMPILER_CPP_EXPR(__llvm__ && !__clang__ && (__GNUC__*1000+__GNUC_MINOR__)<4005,POSSIBLE_LLVM_GCC_LABEL_VALUES_BUG)
1019   if test "$C_COMP_CLANG" = yes; then
1021     # clang does not support these options:
1022     DASH_no_cpp_precomp=""
1023     DASH_fschedule_insns2=""
1024     DASH_fno_trapping_math=""
1025     DASH_fno_move_loop_invariants=""
1026     DASH_fno_keep_inline_dllexport=""
1027     #DASH_fpermissive=""
1028     DASH_mieee=""
1029     DASH_mieee_with_inexact=""
1030     DASH_mieee_fp=""
1032   else
1034     # preprocessor options:
1035     AC_CHECK_C_COMPILER_OPT(-no-cpp-precomp,DASH_no_cpp_precomp)
1037     # optimization options:
1038     AC_CHECK_C_COMPILER_OPT(-fschedule-insns2,DASH_fschedule_insns2)
1039     AC_CHECK_C_COMPILER_OPT(-fno-trapping-math,DASH_fno_trapping_math)
1040     AC_CHECK_C_COMPILER_OPT(-fno-move-loop-invariants,DASH_fno_move_loop_invariants)
1041     AC_CHECK_C_COMPILER_OPT(-fno-keep-inline-dllexport,DASH_fno_keep_inline_dllexport)
1042     #AC_CHECK_C_COMPILER_OPT(-fpermissive,DASH_fpermissive)
1044     # machine specific options:
1045     AC_CHECK_C_COMPILER_OPT(-mieee,DASH_mieee)
1046     AC_CHECK_C_COMPILER_OPT(-mieee-with-inexact,DASH_mieee_with_inexact)
1047     AC_CHECK_C_COMPILER_OPT(-mieee-fp,DASH_mieee_fp)
1048   fi
1050   # debugging options:
1051   AC_CHECK_C_COMPILER_OPT(-Wall,DASH_Wall)
1052   AC_CHECK_C_COMPILER_OPT(-W,DASH_W)
1053   AC_CHECK_C_COMPILER_OPT(-Wno-unused,DASH_Wno_unused)
1054   AC_CHECK_C_COMPILER_OPT(-Wno-write-strings,DASH_Wno_write_strings)
1055   AC_CHECK_C_COMPILER_OPT(-g,DASH_g)
1057   # profiling options:
1058   AC_CHECK_C_COMPILER_OPT(-p,DASH_p)
1059   AC_CHECK_C_COMPILER_OPT(-pg,DASH_pg)
1060   AC_CHECK_C_COMPILER_OPT(-ftest-coverage,DASH_ftest_coverage)
1061   AC_CHECK_C_COMPILER_OPT(-fprofile-arcs,DASH_fprofile_arcs)
1062   AC_CHECK_C_COMPILER_OPT(-fbranch-probabilities,DASH_fbranch_probabilities)
1064   # optimization options:
1065   AC_CHECK_C_COMPILER_OPT(-O1,DASH_O1)
1066   AC_CHECK_C_COMPILER_OPT(-O2,DASH_O2)
1067   AC_CHECK_C_COMPILER_OPT(-fno-math-errno,DASH_fno_math_errno)
1068   AC_CHECK_C_COMPILER_OPT(-fno-strict-aliasing,DASH_fno_strict_aliasing)
1069   AC_CHECK_C_COMPILER_OPT(-fwrapv,DASH_fwrapv)
1070   AC_CHECK_C_COMPILER_OPT(-fomit-frame-pointer,DASH_fomit_frame_pointer)
1072   if test "$DASH_O2" != ""; then
1073     OPT_LEVEL_FLAG="$DASH_O2"
1074   else
1075     OPT_LEVEL_FLAG="$DASH_O1"
1076   fi
1078 # It isn't clear these are useful:
1079 #  AC_CHECK_C_COMPILER_OPT(-fexpensive-optimizations,DASH_fexpensive_optimizations)
1080 #  AC_CHECK_C_COMPILER_OPT(-fforce-addr,DASH_fforce_addr)
1081 #  AC_CHECK_C_COMPILER_OPT(-fpeephole2,DASH_fpeephole2)
1082 #  AC_CHECK_C_COMPILER_OPT(-falign-jumps,DASH_falign_jumps)
1083 #  AC_CHECK_C_COMPILER_OPT(-falign-functions,DASH_falign_functions)
1084 #  AC_CHECK_C_COMPILER_OPT(-fno-function-cse,DASH_fno_function_cse)
1085 #  AC_CHECK_C_COMPILER_OPT(-ftree-copyrename,DASH_ftree_copyrename)
1086 #  AC_CHECK_C_COMPILER_OPT(-ftree-fre,DASH_ftree_fre)
1087 #  AC_CHECK_C_COMPILER_OPT(-ftree-dce,DASH_ftree_dce)
1088 #  AC_CHECK_C_COMPILER_OPT(-fschedule-interblock,DASH_fschedule_interblock)
1089 #  AC_CHECK_C_COMPILER_OPT(-fregmove,DASH_fregmove)
1090 #  AC_CHECK_C_COMPILER_OPT(-fgcse-las,DASH_fgcse_las)
1091 #  AC_CHECK_C_COMPILER_OPT(-freorder-functions,DASH_freorder_functions)
1092 #  AC_CHECK_C_COMPILER_OPT(-fcaller-saves,DASH_fcaller_saves)
1093 #  AC_CHECK_C_COMPILER_OPT(-fno-if-conversion2,DASH_fno_if_conversion2)
1094 #  AC_CHECK_C_COMPILER_OPT(-foptimize-sibling-calls,DASH_foptimize_sibling_calls)
1095 #  AC_CHECK_C_COMPILER_OPT(-fcse-skip-blocks,DASH_fcse_skip_blocks)
1096 #  AC_CHECK_C_COMPILER_OPT(-funit-at-a-time,DASH_funit_at_a_time)
1097 #  AC_CHECK_C_COMPILER_OPT(-finline-functions,DASH_finline_functions)
1099   if test "$ENABLE_GCC_OPTS" = yes; then
1100     AC_CHECK_C_COMPILER_OPT(-fmodulo-sched,DASH_fmodulo_sched)
1101     AC_CHECK_C_COMPILER_OPT(-freschedule-modulo-scheduled-loops,DASH_freschedule_modulo_scheduled_loops)
1103   fi
1105   # code generation options:
1106   case "$target_os" in
1108      mingw*) # no special code generation options needed by MinGW
1109              ;;
1111     cygwin*) # no special code generation options needed by cygwin
1112              ;;
1114           *) # check for code generation options for other systems
1115              AC_CHECK_C_COMPILER_OPT(-fPIC,DASH_fPIC)
1116              AC_CHECK_C_COMPILER_OPT(-fpic,DASH_fpic)
1117              ;;
1118   esac
1119   AC_CHECK_C_COMPILER_OPT(-fno-common,DASH_fno_common)
1121   # linking options:
1122   case "$target_os" in
1124      mingw*) # no special options needed by MinGW
1125              AC_CHECK_C_COMPILER_OPT(-shared,DASH_shared,$DASH_fPIC$DASH_fpic)
1126              ;;
1128     cygwin*) # no special options needed by cygwin
1129              AC_CHECK_C_COMPILER_OPT(-shared,DASH_shared,$DASH_fPIC$DASH_fpic)
1130              ;;
1132    solaris*) # check for options needed by Solaris
1133              AC_CHECK_C_COMPILER_OPT(-shared,DASH_shared,$DASH_fPIC$DASH_fpic)
1134              ;;
1136       hpux*) # check for options needed by HP-UX
1137              AC_CHECK_C_COMPILER_OPT(-shared,DASH_shared,$DASH_fPIC$DASH_fpic)
1138              ;;
1140     darwin*) # check for special options added by Apple
1141              AC_CHECK_C_COMPILER_OPT(-dynamiclib,DASH_dynamiclib)
1142              AC_CHECK_C_COMPILER_OPT(-bundle,DASH_bundle)
1143              AC_CHECK_C_COMPILER_OPT(-flat_namespace -undefined suppress,DASH_flat_namespace_undefined_suppress)
1144              ;;
1146           *) # for other systems
1147              AC_CHECK_C_COMPILER_OPT(-rdynamic,DASH_rdynamic)
1148              AC_CHECK_C_COMPILER_OPT(-shared,DASH_shared,$DASH_fPIC$DASH_fpic)
1149              ;;
1150   esac
1152   # determine which flags to add to CFLAGS, CXXFLAGS and LDFLAGS
1154   case "$target_os" in
1155     darwin*) # avoid the default C preprocessor which is setup for Objective-C
1156              FLAGS_OBJ_DYN="$FLAGS_OBJ_DYN$DASH_no_cpp_precomp"
1157              ;;
1158   esac
1160   FLAGS_OBJ_DYN="$FLAGS_OBJ_DYN$DASH_Wno_unused"
1161   FLAGS_OBJ_DYN="$FLAGS_OBJ_DYN$DASH_Wno_write_strings"
1163   if test "$ENABLE_DEBUG" = yes; then
1164     FLAGS_OBJ_DYN="$FLAGS_OBJ_DYN$DASH_g"
1165   fi
1167   if test "$ENABLE_PROFILE" = yes; then
1168     if test "x$DASH_pg" != x; then
1169       FLAGS_OBJ_DYN_LIB_EXE="$FLAGS_OBJ_DYN_LIB_EXE$DASH_pg"
1170     else
1171       FLAGS_OBJ_DYN_LIB_EXE="$FLAGS_OBJ_DYN_LIB_EXE$DASH_p"
1172     fi
1173   fi
1175   if test "$ENABLE_DEBUG" != yes; then
1176     FLAGS_OBJ_DYN="$FLAGS_OBJ_DYN$OPT_LEVEL_FLAG"
1177     FLAGS_OBJ_DYN="$FLAGS_OBJ_DYN$DASH_fno_math_errno"
1178     FLAGS_OBJ_DYN="$FLAGS_OBJ_DYN$DASH_fschedule_insns2"
1179   fi
1181   FLAGS_OBJ_DYN="$FLAGS_OBJ_DYN$DASH_fno_trapping_math"
1182   FLAGS_OBJ_DYN="$FLAGS_OBJ_DYN$DASH_fno_strict_aliasing"
1183   FLAGS_OBJ_DYN="$FLAGS_OBJ_DYN$DASH_fwrapv"
1184   FLAGS_OBJ_DYN="$FLAGS_OBJ_DYN$DASH_fno_keep_inline_dllexport"
1186 #  if test "$ENABLE_CPLUSPLUS" = yes; then
1187 #    FLAGS_OBJ_DYN="$FLAGS_OBJ_DYN$DASH_fpermissive"
1188 #  fi
1190 # It isn't clear these are useful:
1191 #  FLAGS_OBJ_DYN="$FLAGS_OBJ_DYN$DASH_fno_trapping_math$DASH_fno_strict_aliasing$DASH_fwrapv$DASH_fexpensive_optimizations$DASH_fforce_addr$DASH_fpeephole2$DASH_falign_jumps$DASH_falign_functions$DASH_fno_function_cse$DASH_ftree_copyrename$DASH_ftree_fre$DASH_ftree_dce$DASH_fschedule_interblock$DASH_fregmove$DASH_fgcse_las$DASH_freorder_functions$DASH_fcaller_saves$DASH_fno_if_conversion2$DASH_foptimize_sibling_calls$DASH_fcse_skip_blocks$DASH_funit_at_a_time$DASH_finline_functions"
1193   if test "$ENABLE_GCC_OPTS" = yes; then
1194     FLAGS_OBJ_DYN="$FLAGS_OBJ_DYN$DASH_fmodulo_sched"
1195     FLAGS_OBJ_DYN="$FLAGS_OBJ_DYN$DASH_freschedule_modulo_scheduled_loops"
1196   fi
1198   case "$target_os" in
1200      mingw*) # MinGW's setjmp seems to need the frame pointer
1201              ;;
1203           *) # other systems are fine as far as I can tell
1204              if test "$ENABLE_DEBUG" != yes -a "$ENABLE_PROFILE" != yes; then
1205                FLAGS_OBJ_DYN="$FLAGS_OBJ_DYN$DASH_fomit_frame_pointer"
1206              fi
1207              ;;
1208   esac
1210   ENABLE_GCC_MOVE_LOOP_INVARIANTS=yes
1211   if test "$ENABLE_SINGLE_HOST" = yes -a "$GCC_42_OR_43" = yes -a "$C_COMP_CLANG" != yes; then
1212     ENABLE_GCC_MOVE_LOOP_INVARIANTS=no
1213   fi
1215   if test "$ENABLE_GCC_MOVE_LOOP_INVARIANTS" != yes; then
1216     FLAGS_OBJ_DYN="$FLAGS_OBJ_DYN$DASH_fno_move_loop_invariants"
1217   fi
1219   if test "$ENABLE_FEEDBACK1" = yes -o "$ENABLE_COVERAGE" = yes; then
1220     AC_DEFINE(___DONT_UNLOAD_DYN_CODE)
1221     FLAGS_OBJ_DYN_LIB_EXE="$FLAGS_OBJ_DYN_LIB_EXE$DASH_fprofile_arcs"
1222     if test "$ENABLE_COVERAGE" = yes; then
1223       FLAGS_OBJ_DYN_LIB_EXE="$FLAGS_OBJ_DYN_LIB_EXE$DASH_ftest_coverage"
1224     fi
1225   fi
1227   if test "$ENABLE_FEEDBACK2" = yes; then
1228     AC_DEFINE(___DONT_UNLOAD_DYN_CODE)
1229     FLAGS_OBJ_DYN_LIB_EXE="$FLAGS_OBJ_DYN_LIB_EXE$DASH_fbranch_probabilities"
1230   fi
1232   if test "x$DASH_fPIC" != x; then
1233     FLAGS_OBJ_DYN="$FLAGS_OBJ_DYN$DASH_fPIC"
1234   else
1235     FLAGS_OBJ_DYN="$FLAGS_OBJ_DYN$DASH_fpic"
1236   fi
1238   FLAGS_OBJ_DYN="$FLAGS_OBJ_DYN$DASH_fno_common"
1240   FLAGS_OBJ_DYN="$FLAGS_OBJ_DYN$DASH_mieee"
1241   FLAGS_OBJ_DYN="$FLAGS_OBJ_DYN$DASH_mieee_with_inexact"
1242   FLAGS_OBJ_DYN="$FLAGS_OBJ_DYN$DASH_mieee_fp"
1244   case "$target_os" in
1246     darwin*) # check for special options added by Apple
1247              FLAGS_DYN="$FLAGS_DYN$DASH_bundle"
1248              FLAGS_LIB="$FLAGS_LIB$DASH_dynamiclib -install_name \$(libdir)/\$(LIBRARY)"
1249              FLAGS_DYN_LIB="$FLAGS_DYN_LIB$DASH_flat_namespace_undefined_suppress"
1250              ;;
1252           *) # for other systems
1253              FLAGS_DYN_LIB="$FLAGS_DYN_LIB$DASH_rdynamic"
1254              FLAGS_DYN_LIB="$FLAGS_DYN_LIB$DASH_shared"
1255              FLAGS_EXE="$FLAGS_EXE$DASH_rdynamic"
1256              ;;
1257   esac
1259 else if test "$C_COMP_VISUALC" = yes; then
1261   ########## Microsoft Visual C++ compiler
1263   FLAGS_OBJ_DYN_LIB_EXE="$FLAGS_OBJ_DYN_LIB_EXE -nologo -Oityb1 -MT -D_CRT_SECURE_NO_DEPRECATE"
1264   FLAGS_DYN="$FLAGS_DYN -LD"
1266 #else if test "$C_COMP_WATCOMC" = yes; then
1267 #else if test "$C_COMP_BORLANDC" = yes; then
1269 else
1271   ########## Need to guess the C compiler from the OS...
1273   case "$target_os" in
1275    solaris*) ########## Probably using the Sun Workshop C/C++ compiler...
1277              # debugging options:
1278              AC_CHECK_C_COMPILER_OPT(-g,DASH_g)
1280              # profiling options:
1281              AC_CHECK_C_COMPILER_OPT(-p,DASH_p)
1283              # optimization options:
1284              AC_CHECK_C_COMPILER_OPT(-xO2,DASH_xO2)
1286              # code generation options:
1287              AC_CHECK_C_COMPILER_OPT(-KPIC,DASH_KPIC)
1289              # linking options:
1290              AC_CHECK_C_COMPILER_OPT(-G,DASH_G)
1292              # determine which flags to add to CFLAGS, CXXFLAGS and LDFLAGS
1294              if test "$ENABLE_DEBUG" = yes; then
1295                FLAGS_OBJ_DYN="$FLAGS_OBJ_DYN$DASH_g"
1296              fi
1298              if test "$ENABLE_PROFILE" = yes; then
1299                FLAGS_OBJ_DYN_LIB_EXE="$FLAGS_OBJ_DYN_LIB_EXE$DASH_p"
1300              fi
1302              if test "$ENABLE_DEBUG" != yes; then
1303                FLAGS_OBJ_DYN="$FLAGS_OBJ_DYN$DASH_xO2"
1304              fi
1306              FLAGS_OBJ_DYN="$FLAGS_OBJ_DYN$DASH_KPIC"
1308              FLAGS_DYN_LIB="$FLAGS_DYN_LIB$DASH_G"
1309              ;;
1311        osf*) ########## Probably using the Compaq Tru64 UNIX C/C++ compiler...
1313              # debugging options:
1314              AC_CHECK_C_COMPILER_OPT(-g,DASH_g)
1316              # profiling options:
1317              AC_CHECK_C_COMPILER_OPT(-p,DASH_p)
1319              # optimization options:
1320              AC_CHECK_C_COMPILER_OPT(-O2,DASH_O2)
1322              # code generation options:
1323              AC_CHECK_C_COMPILER_OPT(-ieee,DASH_ieee)
1324              AC_CHECK_C_COMPILER_OPT(-call_shared,DASH_call_shared)
1325              #AC_CHECK_C_COMPILER_OPT(-taso,DASH_taso)
1327              # linking options:
1328              AC_CHECK_C_COMPILER_OPT(-shared,DASH_shared)
1329              AC_CHECK_C_COMPILER_OPT(-expect_unresolved,DASH_expect_unresolved)
1331              # determine which flags to add to CFLAGS, CXXFLAGS and LDFLAGS
1333              if test "$ENABLE_DEBUG" = yes; then
1334                FLAGS_OBJ_DYN="$FLAGS_OBJ_DYN$DASH_g"
1335              fi
1337              if test "$ENABLE_PROFILE" = yes; then
1338                FLAGS_OBJ_DYN_LIB_EXE="$FLAGS_OBJ_DYN_LIB_EXE$DASH_p"
1339              fi
1341              if test "$ENABLE_DEBUG" != yes; then
1342                FLAGS_OBJ_DYN="$FLAGS_OBJ_DYN$DASH_O2"
1343              fi
1345              FLAGS_OBJ_DYN="$FLAGS_OBJ_DYN$DASH_ieee$DASH_call_shared"
1347              FLAGS_DYN_LIB="$FLAGS_DYN_LIB$DASH_shared$DASH_expect_unresolved"
1348              ;;
1350       irix*) ########## Probably using the MIPSpro C/C++ compiler...
1352              # debugging options:
1353              AC_CHECK_C_COMPILER_OPT(-fullwarn,DASH_fullwarn)
1354              AC_CHECK_C_COMPILER_OPT([-woff 1110,1174,1209,1552,3201],DASH_woff_1110_1174_1209_1552_3201)
1355              AC_CHECK_C_COMPILER_OPT(-g,DASH_g)
1357              # optimization options:
1358              AC_CHECK_C_COMPILER_OPT(-O1,DASH_O1)
1359              AC_CHECK_C_COMPILER_OPT(-OPT:Olimit=0,DASH_OPT_Olimit_0)
1361              # code generation options:
1362              #AC_CHECK_C_COMPILER_OPT(-KPIC,DASH_KPIC)
1363              #AC_CHECK_C_COMPILER_OPT(-non_shared,DASH_non_shared)
1364              AC_CHECK_C_COMPILER_OPT(-TENV:large_GOT,DASH_TENV_large_GOT)
1365              AC_CHECK_C_COMPILER_OPT(-OPT:IEEE_comparisons=ON,DASH_OPT_IEEE_comparisons_ON)
1366              AC_CHECK_C_COMPILER_OPT(-OPT:IEEE_NaN_inf=ON,DASH_OPT_IEEE_NaN_inf_ON)
1368              # linking options:
1369              AC_CHECK_C_COMPILER_OPT(-shared,DASH_shared)
1371              # determine which flags to add to CFLAGS, CXXFLAGS and LDFLAGS
1373              FLAGS_OBJ_DYN="$FLAGS_OBJ_DYN$DASH_fullwarn$DASH_woff_1110_1174_1209_1552_3201"
1375              if test "$ENABLE_DEBUG" = yes; then
1376                FLAGS_OBJ_DYN="$FLAGS_OBJ_DYN$DASH_g"
1377              fi
1379              if test "$ENABLE_DEBUG" != yes; then
1380                FLAGS_OBJ_DYN="$FLAGS_OBJ_DYN$DASH_O1$DASH_OPT_Olimit_0"
1381              fi
1383              FLAGS_OBJ_DYN="$FLAGS_OBJ_DYN$DASH_TENV_large_GOT$DASH_OPT_IEEE_comparisons_ON$DASH_OPT_IEEE_NaN_inf_ON"
1385              FLAGS_DYN_LIB="$FLAGS_DYN_LIB$DASH_shared"
1386              ;;
1388       hpux*) ########## Probably using the HP-UX compiler...
1390              # debugging options:
1391              AC_CHECK_C_COMPILER_OPT(-g,DASH_g)
1393              # profiling options:
1394              AC_CHECK_C_COMPILER_OPT(-p,DASH_p)
1396              # optimization options:
1397              AC_CHECK_C_COMPILER_OPT(-O1,DASH_O1)
1399              # linking options:
1400              AC_CHECK_C_COMPILER_OPT(-b,DASH_b)
1402              # determine which flags to add to CFLAGS, CXXFLAGS and LDFLAGS
1404              if test "$ENABLE_DEBUG" = yes; then
1405                FLAGS_OBJ_DYN="$FLAGS_OBJ_DYN$DASH_g"
1406              fi
1408              if test "$ENABLE_PROFILE" = yes; then
1409                FLAGS_OBJ_DYN_LIB_EXE="$FLAGS_OBJ_DYN_LIB_EXE$DASH_p"
1410              fi
1412              if test "$ENABLE_DEBUG" != yes; then
1413                FLAGS_OBJ_DYN="$FLAGS_OBJ_DYN$DASH_O1"
1414              fi
1416              FLAGS_DYN_LIB="$FLAGS_DYN_LIB$DASH_b"
1417              ;;
1419        aix*) ########## Probably using the AIX xlC compiler...
1421              # debugging options:
1422              AC_CHECK_C_COMPILER_OPT(-g,DASH_g)
1424              # profiling options:
1425              AC_CHECK_C_COMPILER_OPT(-p,DASH_p)
1427              # optimization options:
1428              AC_CHECK_C_COMPILER_OPT(-O1,DASH_O1)
1430              # linking options:
1431              AC_CHECK_C_COMPILER_OPT(-G,DASH_G)
1433              # determine which flags to add to CFLAGS, CXXFLAGS and LDFLAGS
1435              if test "$ENABLE_DEBUG" = yes; then
1436                FLAGS_OBJ_DYN="$FLAGS_OBJ_DYN$DASH_g"
1437              fi
1439              if test "$ENABLE_PROFILE" = yes; then
1440                FLAGS_OBJ_DYN_LIB_EXE="$FLAGS_OBJ_DYN_LIB_EXE$DASH_p"
1441              fi
1443              if test "$ENABLE_DEBUG" != yes; then
1444                FLAGS_OBJ_DYN="$FLAGS_OBJ_DYN$DASH_O1"
1445              fi
1447              FLAGS_DYN_LIB="$FLAGS_DYN_LIB$DASH_G"
1448              ;;
1450           *) ########## Unsupported operating system
1452              AC_MSG_NOTICE([
1453 *********************************************************************
1454 ***                                                               ***
1455 *** The GCC compiler is not being used and the operating system   ***
1456 *** is not one that has been tested with the Gambit-C system.     ***
1457 *** The configure script will use certain compiler options that   ***
1458 *** may not be correct or sufficient for compiling the system.    ***
1459 *** Please report success or failure to gambit@iro.umontreal.ca.  ***
1460 *** This will help us support this operating system in the        ***
1461 *** future.                                                       ***
1462 ***                                                               ***
1463 *********************************************************************
1466              # debugging options:
1467              AC_CHECK_C_COMPILER_OPT(-g,DASH_g)
1469              # profiling options:
1470              AC_CHECK_C_COMPILER_OPT(-p,DASH_p)
1472              # optimization options:
1473              AC_CHECK_C_COMPILER_OPT(-O1,DASH_O1)
1475              # linking options:
1476              AC_CHECK_C_COMPILER_OPT(-shared,DASH_shared)
1478              # determine which flags to add to CFLAGS, CXXFLAGS and LDFLAGS
1480              if test "$ENABLE_DEBUG" = yes; then
1481                FLAGS_OBJ_DYN="$FLAGS_OBJ_DYN$DASH_g"
1482              fi
1484              if test "$ENABLE_PROFILE" = yes; then
1485                FLAGS_OBJ_DYN_LIB_EXE="$FLAGS_OBJ_DYN_LIB_EXE$DASH_p"
1486              fi
1488              if test "$ENABLE_DEBUG" != yes; then
1489                FLAGS_OBJ_DYN="$FLAGS_OBJ_DYN$DASH_O1"
1490              fi
1492              FLAGS_DYN_LIB="$FLAGS_DYN_LIB$DASH_shared"
1493              ;;
1494   esac
1499 if test "$ENABLE_CPLUSPLUS" = yes; then
1500   CORCXXFLAGS="$CXXFLAGS"
1501 else
1502   CORCXXFLAGS="$CFLAGS"
1505 FLAGS_OBJ="$CORCXXFLAGS $FLAGS_OBJ $FLAGS_OBJ_DYN $FLAGS_OBJ_DYN_LIB_EXE"
1506 FLAGS_DYN="$LDFLAGS $CORCXXFLAGS $FLAGS_DYN $FLAGS_OBJ_DYN $FLAGS_OBJ_DYN_LIB_EXE $FLAGS_DYN_LIB"
1507 FLAGS_LIB="$LDFLAGS $CORCXXFLAGS $FLAGS_LIB $FLAGS_OBJ_DYN_LIB_EXE $FLAGS_DYN_LIB"
1508 #FLAGS_EXE="$LDFLAGS $CORCXXFLAGS $FLAGS_EXE $FLAGS_OBJ_DYN_LIB_EXE"
1509 FLAGS_EXE="$LDFLAGS $FLAGS_OBJ $FLAGS_EXE"
1511 DEFS_OBJ="$DEFS_OBJ_DYN_LIB_EXE $DEFS_OBJ"
1512 DEFS_DYN="$DEFS_OBJ_DYN_LIB_EXE $DEFS_DYN"
1513 DEFS_LIB="$DEFS_OBJ_DYN_LIB_EXE $DEFS_LIB"
1514 DEFS_EXE="$DEFS_OBJ_DYN_LIB_EXE $DEFS_EXE"
1516 AC_SUBST(FLAGS_OBJ)
1517 AC_SUBST(FLAGS_DYN)
1518 AC_SUBST(FLAGS_LIB)
1519 AC_SUBST(FLAGS_EXE)
1520 AC_SUBST(DEFS_OBJ)
1521 AC_SUBST(DEFS_DYN)
1522 AC_SUBST(DEFS_LIB)
1523 AC_SUBST(DEFS_EXE)
1525 AC_SUBST(FLAGS_OBJ_MF)
1526 AC_SUBST(FLAGS_DYN_MF)
1527 AC_SUBST(FLAGS_LIB_MF)
1528 AC_SUBST(FLAGS_EXE_MF)
1529 AC_SUBST(DEFS_OBJ_MF)
1530 AC_SUBST(DEFS_DYN_MF)
1531 AC_SUBST(DEFS_LIB_MF)
1532 AC_SUBST(DEFS_EXE_MF)
1534 AC_SUBST(FLAGS_OBJ_SH)
1535 AC_SUBST(FLAGS_DYN_SH)
1536 AC_SUBST(FLAGS_LIB_SH)
1537 AC_SUBST(FLAGS_EXE_SH)
1538 AC_SUBST(DEFS_OBJ_SH)
1539 AC_SUBST(DEFS_DYN_SH)
1540 AC_SUBST(DEFS_LIB_SH)
1541 AC_SUBST(DEFS_EXE_SH)
1543 AC_SUBST(FLAGS_OBJ_BAT)
1544 AC_SUBST(FLAGS_DYN_BAT)
1545 AC_SUBST(FLAGS_LIB_BAT)
1546 AC_SUBST(FLAGS_EXE_BAT)
1547 AC_SUBST(DEFS_OBJ_BAT)
1548 AC_SUBST(DEFS_DYN_BAT)
1549 AC_SUBST(DEFS_LIB_BAT)
1550 AC_SUBST(DEFS_EXE_BAT)
1552 ###############################################################################
1554 AC_SUBST(RTLIBSUBSYS)
1556 ###############################################################################
1558 AC_PATH_XTRA
1561 #AC_SYS_INTERPRETER
1562 #AC_SYS_LARGEFILE
1563 #AC_SYS_POSIX_TERMIOS
1565 AC_PROG_LN_S
1566 AC_PROG_RANLIB
1567 RC="git"
1568 GIT="git"
1569 HG="hg"
1571 exe="$EXEEXT"
1572 obj=".$OBJEXT"
1574 case "$target_os" in
1576    mingw*) bat=".bat"
1577            ;;
1579         *) bat=""
1580            ;;
1581 esac
1583 if test "$ENABLE_SHARED" = yes; then
1585   case "$target_os" in
1587      mingw* | cygwin*)
1588              LIB_PREFIX="lib"
1589              LIB_EXTENSION=".dll"
1590              SETDLPATH="PATH=\"\$(rootfromhere)/lib:\$(rootfromhere)/gsi:\$(rootfromhere)/gsc:\${PATH}\""
1591              ;;
1593     darwin*) LIB_PREFIX="lib"
1594              LIB_EXTENSION=".dylib"
1595              SETDLPATH="DYLD_LIBRARY_PATH=\$(rootfromhere)/lib:\$(rootfromhere)/gsi:\$(rootfromhere)/gsc:\${DYLD_LIBRARY_PATH}"
1596              ;;
1598       hpux*) LIB_PREFIX="lib"
1599              LIB_EXTENSION=".so"
1600              SETDLPATH="SHLIB_PATH=\$(rootfromhere)/lib:\$(rootfromhere)/gsi:\$(rootfromhere)/gsc:\${SHLIB_PATH}"
1601              ;;
1603        aix*) LIB_PREFIX="lib"
1604              LIB_EXTENSION=".so"
1605              SETDLPATH="LIBPATH=\$(rootfromhere)/lib:\$(rootfromhere)/gsi:\$(rootfromhere)/gsc:\${LIBPATH}"
1606              ;;
1608           *) LIB_PREFIX="lib"
1609              LIB_EXTENSION=".so"
1610              SETDLPATH="LD_LIBRARY_PATH=\$(rootfromhere)/lib:\$(rootfromhere)/gsi:\$(rootfromhere)/gsc:\${LD_LIBRARY_PATH}"
1611              ;;
1612   esac
1614   MAKE_LIBRARY='$(C_COMPILER) $(FLAGS_LIB) -o $(LIBRARY) $(LIBRARY_OBJECTS) $(MAKE_LIBRARY_LIBS) $(LIBS)'
1615   MAKE_LIBRARY_FOR_INSTALL='$(C_COMPILER) $(FLAGS_LIB) -o $(LIBRARY) $(LIBRARY_OBJECTS) $(MAKE_LIBRARY_FOR_INSTALL_LIBS) $(LIBS)'
1616   FIXLIB=':'
1617   LINK_FOR_INSTALL='$(C_COMPILER) $(FLAGS_EXE) $(EXECUTABLE_OBJECTS) $(LINK_FOR_INSTALL_LIBS) $(LIBS) -o $(EXECUTABLE)'
1619 else
1621   SETDLPATH=""
1623   if test "$C_COMP_VISUALC" = yes; then
1625     ########## Microsoft Visual C++ compiler
1627     LIB_PREFIX="lib"
1628     LIB_EXTENSION=".lib"
1629     MAKE_LIBRARY='lib -out:$(LIBRARY) $(LIBRARY_OBJECTS)'
1630     MAKE_LIBRARY_FOR_INSTALL=':'
1631     FIXLIB=':'
1632     LINK_FOR_INSTALL=':'
1634 #  else if test "$C_COMP_WATCOMC" = yes; then
1635 #  else if test "$C_COMP_BORLANDC" = yes; then
1637   else
1639     ########## Other C compiler
1641     LIB_PREFIX="lib"
1642     LIB_EXTENSION=".a"
1643     MAKE_LIBRARY='ar rc $(LIBRARY) $(LIBRARY_OBJECTS) && $(RANLIB) $(LIBRARY)'
1644     MAKE_LIBRARY_FOR_INSTALL=':'
1645     FIXLIB='$(RANLIB)'
1646     LINK_FOR_INSTALL=':'
1648   fi
1652 if test "$ENABLE_VERSIONNED_LIBS" = no; then
1654   LIB_SUFFIX=""
1656 else
1658   if test "$ENABLE_VERSIONNED_LIBS" = yes; then
1660     LIB_SUFFIX=`echo -$PACKAGE_VERSION | sed -e 's/\./_/g'`
1662   else
1664     LIB_SUFFIX="$ENABLE_VERSIONNED_LIBS"
1666   fi
1670 GAMBCLIB="gambc$LIB_SUFFIX"
1671 GAMBCGSCLIB="gambcgsc$LIB_SUFFIX"
1672 GAMBCGSILIB="gambcgsi$LIB_SUFFIX"
1674 if test "yes" = yes; then
1676   GAMBCLIB_LOC=""
1677   GAMBCLIB_LINK="\"\${GAMBCDIR_LIB}/$LIB_PREFIX$GAMBCLIB$LIB_EXTENSION\""
1679   GAMBCGSILIB_LOC=""
1680   GAMBCGSILIB_LINK="\"\${GAMBCDIR_LIB_GSI}/$LIB_PREFIX$GAMBCGSILIB$LIB_EXTENSION\" \"\${GAMBCDIR_LIB}/$LIB_PREFIX$GAMBCLIB$LIB_EXTENSION\""
1682   GAMBCGSCLIB_LOC=""
1683   GAMBCGSCLIB_LINK="\"\${GAMBCDIR_LIB_GSC}/$LIB_PREFIX$GAMBCGSCLIB$LIB_EXTENSION\" \"\${GAMBCDIR_LIB}/$LIB_PREFIX$GAMBCLIB$LIB_EXTENSION\""
1685 else
1687   GAMBCLIB_LOC="-L\"\${GAMBCDIR_LIB}\""
1688   GAMBCLIB_LINK="-l$GAMBCLIB"
1690   GAMBCGSILIB_LOC="-L\"\${GAMBCDIR_LIB_GSI}\" -L\"\${GAMBCDIR_LIB}\""
1691   GAMBCGSILIB_LINK="-l$GAMBCGSILIB -l$GAMBCLIB"
1693   GAMBCGSCLIB_LOC="-L\"\${GAMBCDIR_LIB_GSC}\" -L\"\${GAMBCDIR_LIB}\""
1694   GAMBCGSCLIB_LINK="-l$GAMBCGSCLIB -l$GAMBCLIB"
1698 if test "$C_COMP_VISUALC" = yes; then
1700   ########## Microsoft Visual C++ compiler
1702   BUILD_OBJ="\${C_COMPILER} \${FLAGS_OBJ} \${DEFS_OBJ} -I\"\${GAMBCDIR_INCLUDE}\" -c -Fo\"\${BUILD_OBJ_OUTPUT_FILENAME}\" \${BUILD_OBJ_CC_OPTIONS} \${BUILD_OBJ_INPUT_FILENAMES}"
1704   BUILD_DYN="\${C_COMPILER} \${FLAGS_DYN} \${DEFS_DYN} -I\"\${GAMBCDIR_INCLUDE}\" -Fe\"\${BUILD_DYN_OUTPUT_FILENAME}\" \${BUILD_DYN_CC_OPTIONS} \${BUILD_DYN_LD_OPTIONS_PRELUDE} \${BUILD_DYN_INPUT_FILENAMES} \${BUILD_DYN_LD_OPTIONS}"
1706   BUILD_LIB="echo BUILD_LIB not yet implemented"
1708   BUILD_EXE="\${C_COMPILER} \${FLAGS_EXE} \${DEFS_EXE} -I\"\${GAMBCDIR_INCLUDE}\" ${GAMBCLIB_LOC} -Fe\"\${BUILD_EXE_OUTPUT_FILENAME}\" \${BUILD_EXE_CC_OPTIONS} \${BUILD_EXE_LD_OPTIONS_PRELUDE} \${BUILD_EXE_INPUT_FILENAMES} ${GAMBCLIB_LINK} \${LIBS} \${BUILD_EXE_LD_OPTIONS}"
1710 else
1712   BUILD_OBJ="\${C_COMPILER} \${FLAGS_OBJ} \${DEFS_OBJ} -I\"\${GAMBCDIR_INCLUDE}\" -c -o \"\${BUILD_OBJ_OUTPUT_FILENAME}\" \${BUILD_OBJ_CC_OPTIONS} \${BUILD_OBJ_INPUT_FILENAMES}"
1714   BUILD_DYN="\${C_COMPILER} \${FLAGS_DYN} \${DEFS_DYN} -I\"\${GAMBCDIR_INCLUDE}\" -o \"\${BUILD_DYN_OUTPUT_FILENAME}\" \${BUILD_DYN_CC_OPTIONS} \${BUILD_DYN_LD_OPTIONS_PRELUDE} \${BUILD_DYN_INPUT_FILENAMES} \${BUILD_DYN_LD_OPTIONS}"
1716   BUILD_LIB="echo BUILD_LIB not yet implemented"
1718   BUILD_EXE="\${C_COMPILER} \${FLAGS_EXE} \${DEFS_EXE} -I\"\${GAMBCDIR_INCLUDE}\" ${GAMBCLIB_LOC} -o \"\${BUILD_EXE_OUTPUT_FILENAME}\" \${BUILD_EXE_CC_OPTIONS} \${BUILD_EXE_LD_OPTIONS_PRELUDE} \${BUILD_EXE_INPUT_FILENAMES} ${GAMBCLIB_LINK} \${LIBS} \${BUILD_EXE_LD_OPTIONS}"
1722 # The following code for making installed libraries may benefit from
1723 # a rewrite so that it reuses the "BUILD_XXX" command infrastructure.
1725 if test "$ENABLE_ABSOLUTE_SHARED_LIBS" = yes; then
1727   MAKE_LIBRARY_FOR_INSTALL_LIBS='$$t_libdir/$(LIB_PREFIX)$(GAMBCLIB)$(LIB_EXTENSION)'
1728   LINK_FOR_INSTALL_GSI_LIBS='$$t_libdir/$(LIB_PREFIX)$(GAMBCGSILIB)$(LIB_EXTENSION) $$t_libdir/$(LIB_PREFIX)$(GAMBCLIB)$(LIB_EXTENSION)'
1729   LINK_FOR_INSTALL_GSC_LIBS='$$t_libdir/$(LIB_PREFIX)$(GAMBCGSCLIB)$(LIB_EXTENSION) $$t_libdir/$(LIB_PREFIX)$(GAMBCLIB)$(LIB_EXTENSION)'
1731 else
1733   MAKE_LIBRARY_FOR_INSTALL_LIBS='-L$(rootfromhere)/lib -l$(GAMBCLIB)'
1734   LINK_FOR_INSTALL_GSI_LIBS='-L. -L$(rootfromhere)/lib -l$(GAMBCGSILIB) -l$(GAMBCLIB)'
1735   LINK_FOR_INSTALL_GSC_LIBS='-L. -L$(rootfromhere)/lib -l$(GAMBCGSCLIB) -l$(GAMBCLIB)'
1739 ###############################################################################
1741 # Determine what prefix and suffix are added to function names by the
1742 # C compiler or linker.
1744 case "$target_os" in
1746    mingw*) # empty prefix and suffix
1747            ;;
1749   cygwin*) # empty prefix and suffix
1750            ;;
1752         *) # for other systems
1754            ac_link_obj_file='$C_COMPILER $FLAGS_DYN $DEFS_DYN -Iinclude -o conftest.o1 conftest.$ac_ext >&5'
1756            rm -f conftest.$ac_ext conftest.o1 conftest1.sed
1758            cat >conftest.$ac_ext <<_ACEOF
1759 #line $LINENO "configure"
1760 #define ___VERSION 400000
1761 #define ___MODULE_NAME " GAMBCCHECKMODULEPREFIXSUFFIX"
1762 #define ___LINKER_ID ____20_GAMBCCHECKMODULEPREFIXSUFFIX
1763 #define ___MH_PROC ___H__20_GAMBCCHECKMODULEPREFIXSUFFIX
1764 #define ___SCRIPT_LINE 0
1765 #define ___MAX_CHR 0x10ffff
1766 #define ___VOIDSTAR_WIDTH ___LONG_WIDTH
1767 #include "gambit.h.in"
1769 ___BEGIN_MOD1
1770 ___END_MOD1
1771 ___BEGIN_MOD2
1772 ___END_MOD2
1773 _ACEOF
1775            if { (eval echo "$as_me:$LINENO: \"$ac_link_obj_file\"") >&5
1776              (eval $ac_link_obj_file) 2>&5
1777              ac_status=$?
1778              echo "$as_me:$LINENO: \$? = $ac_status" >&5
1779              (exit $ac_status); }; then
1781              cat >conftest1.sed <<_ACEOF
1782 /^.* \([[a-zA-Z0-9_$]]*\)____20_GAMBCCHECKMODULEPREFIXSUFFIX\([[a-zA-Z0-9_$]]*\)$/s//#define ___IMPORTED_ID_PREFIX "\1"\\
1783 #define ___IMPORTED_ID_SUFFIX "\2"/p
1784 _ACEOF
1786              # The nm program will extract the symbols in the object file
1787              # conftest.o1.  The following option is used:
1788              #   -g    shows the external symbols only (to avoid confusion with
1789              #         internal symbols generated by the compiler)
1790              nm -g conftest.o1 | sed -n -f conftest1.sed | sed -n -e "1,2p" >>confdefs.h
1792            fi
1793            ;;
1794 esac
1796 ###############################################################################
1798 # Determine where the installation directories are located.
1800 if test "$prefix" = NONE; then
1801   prefix="/usr/local/$PACKAGE_NAME"
1804 if test "$ENABLE_MULTIPLE_VERSIONS" = yes; then
1805   prefix="$prefix/$PACKAGE_VERSION"
1808 if test "$bindir" = "\${exec_prefix}/bin"; then
1809   bindir="\${prefix}/bin"
1812 if test "$includedir" = "\${prefix}/include"; then
1813   includedir="\${prefix}/include"
1816 if test "$libdir" = "\${exec_prefix}/lib"; then
1817   libdir="\${prefix}/lib"
1820 if test "$docdir" = "\${datarootdir}/doc/\${PACKAGE_TARNAME}"; then
1821   docdir="\${prefix}/doc"
1824 if test "$infodir" = "\${datarootdir}/info"; then
1825   infodir="\${prefix}/info"
1828 if test "$datadir" = "\${datarootdir}"; then
1829   datadir="\${prefix}/share"
1832 GAMBCLIB_DEFS="$GAMBCLIB_DEFS -D___GAMBCDIR=\"\\\"$prefix\\\"\""
1834 if test "$ENABLE_SYMLINKS" != yes; then
1836   if test "$bindir" != "\${prefix}/bin"; then
1837     GAMBCLIB_DEFS="$GAMBCLIB_DEFS -D___GAMBCDIR_BIN=\"\\\"$bindir\\\"\""
1838   fi
1840   if test "$includedir" != "\${prefix}/include"; then
1841     GAMBCLIB_DEFS="$GAMBCLIB_DEFS -D___GAMBCDIR_INCLUDE=\"\\\"$includedir\\\"\""
1842   fi
1844   if test "$libdir" != "\${prefix}/lib"; then
1845     GAMBCLIB_DEFS="$GAMBCLIB_DEFS -D___GAMBCDIR_LIB=\"\\\"$libdir\\\"\""
1846   fi
1848   if test "$docdir" != "\${prefix}/doc"; then
1849     GAMBCLIB_DEFS="$GAMBCLIB_DEFS -D___GAMBCDIR_DOC=\"\\\"$docdir\\\"\""
1850   fi
1852   if test "$infodir" != "\${prefix}/info"; then
1853     GAMBCLIB_DEFS="$GAMBCLIB_DEFS -D___GAMBCDIR_INFO=\"\\\"$infodir\\\"\""
1854   fi
1856   if test "$datadir" != "\${prefix}/share"; then
1857     GAMBCLIB_DEFS="$GAMBCLIB_DEFS -D___GAMBCDIR_SHARE=\"\\\"$datadir\\\"\""
1858   fi
1862 emacsdir="\${datadir}/emacs/site-lisp"
1864 OBJ_EXTENSION="$obj"
1865 EXE_EXTENSION="$exe"
1866 BAT_EXTENSION="$bat"
1868 GAMBCLIB_DEFS="$GAMBCLIB_DEFS -D___SYS_TYPE_CPU=\"\\\"$target_cpu\\\"\""
1869 GAMBCLIB_DEFS="$GAMBCLIB_DEFS -D___SYS_TYPE_VENDOR=\"\\\"$target_vendor\\\"\""
1870 GAMBCLIB_DEFS="$GAMBCLIB_DEFS -D___SYS_TYPE_OS=\"\\\"$target_os\\\"\""
1871 GAMBCLIB_DEFS="$GAMBCLIB_DEFS -D___CONFIGURE_COMMAND=\"\\\"`echo "$0$ac_configure_args" | sed -e s/\\\\\\\\/\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\/g -e s/\\\\\\\"/\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"/g`\"\\\""
1872 GAMBCLIB_DEFS="$GAMBCLIB_DEFS -D___OBJ_EXTENSION=\"\\\"$OBJ_EXTENSION\\\"\""
1873 GAMBCLIB_DEFS="$GAMBCLIB_DEFS -D___EXE_EXTENSION=\"\\\"$EXE_EXTENSION\\\"\""
1874 GAMBCLIB_DEFS="$GAMBCLIB_DEFS -D___BAT_EXTENSION=\"\\\"$BAT_EXTENSION\\\"\""
1876 ###############################################################################
1878 # Escape strings before substitution.
1880 ESC_MF="sed -e s/\\\\\\\$/\\\$\\\$/g"
1881 ESC_SH="sed -e s/\\\\/\\\\\\\\\\\\\\\\/g -e s/\\\"/\\\\\\\"/g -e s/\\\$/\\\\\\\$/g -e s/^/\"/ -e s/$/\"/"
1882 ESC_ECHO="sed -e s/\\\\/\\\\\\\\\\\\\\\\/g -e s/\\\"/\\\\\\\"/g -e s/^/\"/ -e s/$/\"/"
1883 ESC_BAT="sed -e s/\${/%%/g -e s/}/%%/g"
1884 ESC_ECHO_BAT="sed -e s/\${/%/g -e s/}/%/g"
1886 C_COMPILER_MF=`echo "$C_COMPILER" | $ESC_MF`
1887 C_PREPROC_MF=`echo "$C_PREPROC" | $ESC_MF`
1889 FLAGS_OBJ_MF=`echo "$FLAGS_OBJ" | $ESC_MF`
1890 FLAGS_DYN_MF=`echo "$FLAGS_DYN" | $ESC_MF`
1891 FLAGS_LIB_MF=`echo "$FLAGS_LIB" | $ESC_MF`
1892 FLAGS_EXE_MF=`echo "$FLAGS_EXE" | $ESC_MF`
1894 DEFS_OBJ_MF=`echo "$DEFS_OBJ" | $ESC_MF`
1895 DEFS_DYN_MF=`echo "$DEFS_DYN" | $ESC_MF`
1896 DEFS_LIB_MF=`echo "$DEFS_LIB" | $ESC_MF`
1897 DEFS_EXE_MF=`echo "$DEFS_EXE" | $ESC_MF`
1899 BUILD_OBJ_MF=`echo "$BUILD_OBJ" | $ESC_MF`
1900 BUILD_DYN_MF=`echo "$BUILD_DYN" | $ESC_MF`
1901 BUILD_LIB_MF=`echo "$BUILD_LIB" | $ESC_MF`
1902 BUILD_EXE_MF=`echo "$BUILD_EXE" | $ESC_MF`
1904 DEFS_MF=`echo "$DEFS" | $ESC_MF`
1905 LIBS_MF=`echo "$LIBS" | $ESC_MF`
1906 GAMBCLIB_DEFS_MF=`echo "$GAMBCLIB_DEFS" | $ESC_MF`
1907 GAMBCLIB_MF=`echo "$GAMBCLIB" | $ESC_MF`
1908 GAMBCGSCLIB_MF=`echo "$GAMBCGSCLIB" | $ESC_MF`
1909 GAMBCGSILIB_MF=`echo "$GAMBCGSILIB" | $ESC_MF`
1910 LIB_PREFIX_MF=`echo "$LIB_PREFIX" | $ESC_MF`
1911 LIB_EXTENSION_MF=`echo "$LIB_EXTENSION" | $ESC_MF`
1912 OBJ_EXTENSION_MF=`echo "$OBJ_EXTENSION" | $ESC_MF`
1913 EXE_EXTENSION_MF=`echo "$EXE_EXTENSION" | $ESC_MF`
1914 BAT_EXTENSION_MF=`echo "$BAT_EXTENSION" | $ESC_MF`
1916 C_COMPILER_SH=`echo "$C_COMPILER" | $ESC_SH`
1917 C_PREPROC_SH=`echo "$C_PREPROC" | $ESC_SH`
1919 FLAGS_OBJ_SH=`echo "$FLAGS_OBJ" | $ESC_SH`
1920 FLAGS_DYN_SH=`echo "$FLAGS_DYN" | $ESC_SH`
1921 FLAGS_LIB_SH=`echo "$FLAGS_LIB" | $ESC_SH`
1922 FLAGS_EXE_SH=`echo "$FLAGS_EXE" | $ESC_SH`
1924 DEFS_OBJ_SH=`echo "$DEFS_OBJ" | $ESC_SH`
1925 DEFS_DYN_SH=`echo "$DEFS_DYN" | $ESC_SH`
1926 DEFS_LIB_SH=`echo "$DEFS_LIB" | $ESC_SH`
1927 DEFS_EXE_SH=`echo "$DEFS_EXE" | $ESC_SH`
1929 BUILD_OBJ_SH=`echo "$BUILD_OBJ" | $ESC_SH`
1930 BUILD_DYN_SH=`echo "$BUILD_DYN" | $ESC_SH`
1931 BUILD_LIB_SH=`echo "$BUILD_LIB" | $ESC_SH`
1932 BUILD_EXE_SH=`echo "$BUILD_EXE" | $ESC_SH`
1934 DEFS_SH=`echo "$DEFS" | $ESC_SH`
1935 LIBS_SH=`echo "$LIBS" | $ESC_SH`
1936 GAMBCLIB_DEFS_SH=`echo "$GAMBCLIB_DEFS" | $ESC_SH`
1937 GAMBCLIB_SH=`echo "$GAMBCLIB" | $ESC_SH`
1938 GAMBCGSCLIB_SH=`echo "$GAMBCGSCLIB" | $ESC_SH`
1939 GAMBCGSILIB_SH=`echo "$GAMBCGSILIB" | $ESC_SH`
1940 LIB_PREFIX_SH=`echo "$LIB_PREFIX" | $ESC_SH`
1941 LIB_EXTENSION_SH=`echo "$LIB_EXTENSION" | $ESC_SH`
1942 OBJ_EXTENSION_SH=`echo "$OBJ_EXTENSION" | $ESC_SH`
1943 EXE_EXTENSION_SH=`echo "$EXE_EXTENSION" | $ESC_SH`
1944 BAT_EXTENSION_SH=`echo "$BAT_EXTENSION" | $ESC_SH`
1946 C_COMPILER_BAT=`echo "$C_COMPILER" | $ESC_BAT`
1947 C_PREPROC_BAT=`echo "$C_PREPROC" | $ESC_BAT`
1949 FLAGS_OBJ_BAT=`echo "$FLAGS_OBJ" | $ESC_BAT`
1950 FLAGS_DYN_BAT=`echo "$FLAGS_DYN" | $ESC_BAT`
1951 FLAGS_LIB_BAT=`echo "$FLAGS_LIB" | $ESC_BAT`
1952 FLAGS_EXE_BAT=`echo "$FLAGS_EXE" | $ESC_BAT`
1954 DEFS_OBJ_BAT=`echo "$DEFS_OBJ" | $ESC_BAT`
1955 DEFS_DYN_BAT=`echo "$DEFS_DYN" | $ESC_BAT`
1956 DEFS_LIB_BAT=`echo "$DEFS_LIB" | $ESC_BAT`
1957 DEFS_EXE_BAT=`echo "$DEFS_EXE" | $ESC_BAT`
1959 BUILD_OBJ_BAT=`echo "$BUILD_OBJ" | $ESC_BAT`
1960 BUILD_DYN_BAT=`echo "$BUILD_DYN" | $ESC_BAT`
1961 BUILD_LIB_BAT=`echo "$BUILD_LIB" | $ESC_BAT`
1962 BUILD_EXE_BAT=`echo "$BUILD_EXE" | $ESC_BAT`
1964 DEFS_BAT=`echo "$DEFS" | $ESC_BAT`
1965 LIBS_BAT=`echo "$LIBS" | $ESC_BAT`
1966 GAMBCLIB_DEFS_BAT=`echo "$GAMBCLIB_DEFS" | $ESC_BAT`
1967 GAMBCLIB_BAT=`echo "$GAMBCLIB" | $ESC_BAT`
1968 GAMBCGSCLIB_BAT=`echo "$GAMBCGSCLIB" | $ESC_BAT`
1969 GAMBCGSILIB_BAT=`echo "$GAMBCGSILIB" | $ESC_BAT`
1970 LIB_PREFIX_BAT=`echo "$LIB_PREFIX" | $ESC_BAT`
1971 LIB_EXTENSION_BAT=`echo "$LIB_EXTENSION" | $ESC_BAT`
1972 OBJ_EXTENSION_BAT=`echo "$OBJ_EXTENSION" | $ESC_BAT`
1973 EXE_EXTENSION_BAT=`echo "$EXE_EXTENSION" | $ESC_BAT`
1974 BAT_EXTENSION_BAT=`echo "$BAT_EXTENSION" | $ESC_BAT`
1976 BUILD_OBJ_ECHO=`echo "$BUILD_OBJ" | $ESC_ECHO`
1977 BUILD_DYN_ECHO=`echo "$BUILD_DYN" | $ESC_ECHO`
1978 BUILD_LIB_ECHO=`echo "$BUILD_LIB" | $ESC_ECHO`
1979 BUILD_EXE_ECHO=`echo "$BUILD_EXE" | $ESC_ECHO`
1981 BUILD_OBJ_ECHO_BAT=`echo "$BUILD_OBJ" | $ESC_ECHO_BAT`
1982 BUILD_DYN_ECHO_BAT=`echo "$BUILD_DYN" | $ESC_ECHO_BAT`
1983 BUILD_LIB_ECHO_BAT=`echo "$BUILD_LIB" | $ESC_ECHO_BAT`
1984 BUILD_EXE_ECHO_BAT=`echo "$BUILD_EXE" | $ESC_ECHO_BAT`
1986 ###############################################################################
1988 if test "$srcdir" = "."; then
1989   srcdirpfx=""
1990 else
1991   srcdirpfx="\$(srcdir)/"
1994 INSTALL='$(rootfromhere)/install-sh -c'
1995 INSTALL_DATA='$(rootfromhere)/install-sh -c -m 644'
1996 INSTALL_LIB='$(rootfromhere)/install-sh -c -m 644'
1997 INSTALL_PROGRAM='$(rootfromhere)/install-sh -c -m 755'
1999 AC_SUBST(srcdirpfx)
2000 AC_SUBST(exe)
2001 AC_SUBST(obj)
2002 AC_SUBST(bat)
2003 AC_SUBST(SETDLPATH)
2005 AC_SUBST(BUILD_OBJ)
2006 AC_SUBST(BUILD_DYN)
2007 AC_SUBST(BUILD_LIB)
2008 AC_SUBST(BUILD_EXE)
2009 AC_SUBST(DEFS)
2010 AC_SUBST(LIBS)
2011 AC_SUBST(GAMBCLIB_DEFS)
2012 AC_SUBST(GAMBCLIB)
2013 AC_SUBST(GAMBCGSCLIB)
2014 AC_SUBST(GAMBCGSILIB)
2015 AC_SUBST(LIB_PREFIX)
2016 AC_SUBST(LIB_EXTENSION)
2017 AC_SUBST(OBJ_EXTENSION)
2018 AC_SUBST(EXE_EXTENSION)
2019 AC_SUBST(BAT_EXTENSION)
2021 AC_SUBST(BUILD_OBJ_MF)
2022 AC_SUBST(BUILD_DYN_MF)
2023 AC_SUBST(BUILD_LIB_MF)
2024 AC_SUBST(BUILD_EXE_MF)
2025 AC_SUBST(DEFS_MF)
2026 AC_SUBST(LIBS_MF)
2027 AC_SUBST(GAMBCLIB_DEFS_MF)
2028 AC_SUBST(GAMBCLIB_MF)
2029 AC_SUBST(GAMBCGSCLIB_MF)
2030 AC_SUBST(GAMBCGSILIB_MF)
2031 AC_SUBST(LIB_PREFIX_MF)
2032 AC_SUBST(LIB_EXTENSION_MF)
2033 AC_SUBST(OBJ_EXTENSION_MF)
2034 AC_SUBST(EXE_EXTENSION_MF)
2035 AC_SUBST(BAT_EXTENSION_MF)
2037 AC_SUBST(BUILD_OBJ_SH)
2038 AC_SUBST(BUILD_DYN_SH)
2039 AC_SUBST(BUILD_LIB_SH)
2040 AC_SUBST(BUILD_EXE_SH)
2041 AC_SUBST(DEFS_SH)
2042 AC_SUBST(LIBS_SH)
2043 AC_SUBST(GAMBCLIB_DEFS_SH)
2044 AC_SUBST(GAMBCLIB_SH)
2045 AC_SUBST(GAMBCGSCLIB_SH)
2046 AC_SUBST(GAMBCGSILIB_SH)
2047 AC_SUBST(LIB_PREFIX_SH)
2048 AC_SUBST(LIB_EXTENSION_SH)
2049 AC_SUBST(OBJ_EXTENSION_SH)
2050 AC_SUBST(EXE_EXTENSION_SH)
2051 AC_SUBST(BAT_EXTENSION_SH)
2053 AC_SUBST(BUILD_OBJ_BAT)
2054 AC_SUBST(BUILD_DYN_BAT)
2055 AC_SUBST(BUILD_LIB_BAT)
2056 AC_SUBST(BUILD_EXE_BAT)
2057 AC_SUBST(DEFS_BAT)
2058 AC_SUBST(LIBS_BAT)
2059 AC_SUBST(GAMBCLIB_DEFS_BAT)
2060 AC_SUBST(GAMBCLIB_BAT)
2061 AC_SUBST(GAMBCGSCLIB_BAT)
2062 AC_SUBST(GAMBCGSILIB_BAT)
2063 AC_SUBST(LIB_PREFIX_BAT)
2064 AC_SUBST(LIB_EXTENSION_BAT)
2065 AC_SUBST(OBJ_EXTENSION_BAT)
2066 AC_SUBST(EXE_EXTENSION_BAT)
2067 AC_SUBST(BAT_EXTENSION_BAT)
2069 AC_SUBST(BUILD_OBJ_ECHO)
2070 AC_SUBST(BUILD_DYN_ECHO)
2071 AC_SUBST(BUILD_LIB_ECHO)
2072 AC_SUBST(BUILD_EXE_ECHO)
2074 AC_SUBST(BUILD_OBJ_ECHO_BAT)
2075 AC_SUBST(BUILD_DYN_ECHO_BAT)
2076 AC_SUBST(BUILD_LIB_ECHO_BAT)
2077 AC_SUBST(BUILD_EXE_ECHO_BAT)
2079 AC_SUBST(MAKE_LIBRARY)
2080 AC_SUBST(MAKE_LIBRARY_FOR_INSTALL)
2081 AC_SUBST(MAKE_LIBRARY_FOR_INSTALL_LIBS)
2082 AC_SUBST(LINK)
2083 AC_SUBST(LINK_FOR_INSTALL)
2084 AC_SUBST(LINK_FOR_INSTALL_GSI_LIBS)
2085 AC_SUBST(LINK_FOR_INSTALL_GSC_LIBS)
2086 AC_SUBST(INSTALL)
2087 AC_SUBST(INSTALL_DATA)
2088 AC_SUBST(INSTALL_LIB)
2089 AC_SUBST(INSTALL_PROGRAM)
2090 AC_SUBST(LN_S)
2091 AC_SUBST(RANLIB)
2092 AC_SUBST(RC)
2093 AC_SUBST(GIT)
2094 AC_SUBST(HG)
2095 AC_SUBST(FIXLIB)
2097 AC_SUBST(X_FLAGS)
2098 AC_SUBST(X_LIBS)
2100 AC_SUBST(ENABLE_SYMLINKS)
2101 AC_SUBST(ENABLE_INTERPRETER_NAME)
2102 AC_SUBST(ENABLE_COMPILER_NAME)
2103 AC_SUBST(ENABLE_MULTIPLE_VERSIONS)
2104 AC_SUBST(ENABLE_SHARED)
2105 AC_SUBST(ENABLE_ABSOLUTE_SHARED_LIBS)
2106 AC_SUBST(ENABLE_VERSIONNED_LIBS)
2107 AC_SUBST(emacsdir)
2108 AC_SUBST(HELP_BROWSER)
2110 AC_PROG_MAKE_SET
2112 AC_OUTPUT(makefile include/makefile include/gambit.h lib/makefile lib/guide/guidepro lib/guide/makefile lib/guide/images/makefile gsi/makefile gsc/makefile bin/makefile bin/gambc-cc.unix bin/gambc-cc.bat.windows bin/gambc-doc.unix bin/gambc-doc.bat.windows misc/makefile doc/makefile tests/makefile examples/makefile examples/distr-comp/makefile examples/pi/makefile examples/ring/makefile examples/web-repl/makefile examples/web-server/makefile examples/tcltk/makefile examples/Xlib-simple/makefile examples/pthread/makefile examples/misc/makefile examples/iOS/makefile prebuilt/makefile prebuilt/macosx/makefile prebuilt/macosx/build-phase2 prebuilt/windows/makefile prebuilt/windows/build-phase2)
2114 if test "$ENABLE_SINGLE_HOST" != yes -a "$C_COMP_LLVM" != yes; then
2115   AC_MSG_NOTICE([
2116 **************************************************************************
2117 ***                                                                    ***
2118 *** The option "--enable-single-host" was not specified to the         ***
2119 *** configure script.  The Gambit-C system will compile correctly but  ***
2120 *** typically the executables will run considerably slower than when   ***
2121 *** "--enable-single-host" is specified.  On the other hand the build  ***
2122 *** with "--enable-single-host" is typically slower and requires lots  ***
2123 *** of RAM memory (>= 1 GB).  If you are willing to wait for the       ***
2124 *** longer build, try the configure option "--enable-single-host".     ***
2125 ***                                                                    ***
2126 **************************************************************************
2130 if test "$ENABLE_SINGLE_HOST" = yes -a "$C_COMP_LLVM" = yes; then
2131   AC_MSG_NOTICE([
2132 **************************************************************************
2133 ***                                                                    ***
2134 *** The option "--enable-single-host" was specified to the configure   ***
2135 *** script and a LLVM C compiler is being used (clang or LLVM GCC).    ***
2136 *** This combination is not recommended as the build may require a     ***
2137 *** lot of memory and a very long time (over 30 minutes on a fairly    ***
2138 *** fast machine with clang 3.0).  Configuring with GNU GCC will give  ***
2139 *** a faster build (1 min on the same machine with GNU GCC 4.2.1) and  ***
2140 *** the executable will be faster.                                     ***
2141 ***                                                                    ***
2142 **************************************************************************
2146 if test "$ENABLE_SINGLE_HOST" != yes -a "$C_COMP_CLANG" = yes; then
2147   AC_MSG_NOTICE([
2148 **************************************************************************
2149 ***                                                                    ***
2150 *** The clang compiler is being used.  Please be aware that the build  ***
2151 *** may take a very long time (over 30 minutes on a fairly fast        ***
2152 *** machine with clang 3.0).  Configuring with GNU GCC will give a     ***
2153 *** faster build (1 min on the same machine with GNU GCC 4.2.1) and    ***
2154 *** the executable will be faster.                                     ***
2155 ***                                                                    ***
2156 **************************************************************************
2160 if test "$C_COMP_GNUC" = yes; then
2162   if test "$ENABLE_GCC_MOVE_LOOP_INVARIANTS" != yes; then
2163     AC_MSG_NOTICE([
2164 **************************************************************************
2165 ***                                                                    ***
2166 *** The GCC compiler that is being used has problems compiling Gambit  ***
2167 *** generated code when the normal set of C compiler optimizations are ***
2168 *** enabled and the configure flag "--enable-single-host" is           ***
2169 *** specified.  It can take over 20 GB of virtual memory to            ***
2170 *** compile some files.  For this reason the GCC compiler optimization ***
2171 *** which performs loop invariant code motion has been disabled by     ***
2172 *** adding the GCC command line option "-fno-move-loop-invariants".    ***
2173 *** This greatly reduces compile time space requirements and it has a  ***
2174 *** small impact on overall run time performance, but for some tight   ***
2175 *** loops the effect is larger.  If you want to avoid this problem     ***
2176 *** then upgrade your version of GCC to 4.4 (or above hopefully) or    ***
2177 *** downgrade to a version prior to 4.2 .                              ***
2178 ***                                                                    ***
2179 **************************************************************************
2181   fi
2183   if test "$POSSIBLE_LLVM_GCC_LABEL_VALUES_BUG" = yes ; then
2185     AC_MSG_NOTICE([
2186 **************************************************************************
2187 ***                                                                    ***
2188 *** The LLVM GCC compiler that is being used may have a bug in the     ***
2189 *** compilation of label values (i.e. &&label).  This bug was          ***
2190 *** discovered when compiling Gambit with Xcode on Mac OS X (see bug   ***
2191 *** ID# 9956714).  For this reason the use of computed gotos in the    ***
2192 *** generated code has been disabled.  This greatly reduces the run    ***
2193 *** time performance.  The system runs 5 times slower than when it is  ***
2194 *** compiled with GNU GCC.  It is highly recommended that you use      ***
2195 *** another C compiler if possible.                                    ***
2196 ***                                                                    ***
2197 **************************************************************************
2199   fi
2201 #  if test "$ENABLE_GCC_OPTS" != yes; then
2202 #    AC_MSG_NOTICE([
2203 #**************************************************************************
2204 #*** The GCC compiler is being used but the option "--enable-gcc-opts"  ***
2205 #*** was not specified to the configure script.  The Gambit-C system    ***
2206 #*** will compile correctly but the code generated by the GCC compiler  ***
2207 #*** will be suboptimal and the executables will run slightly slower    ***
2208 #*** than if "--enable-gcc-opts" is specified.  On the other hand the   ***
2209 #*** build process will be faster and require less memory.  If you have ***
2210 #*** lots of RAM memory (>= 2 Gbytes) and you are willing to wait for   ***
2211 #*** the longer build try the configure option "--enable-gcc-opts".     ***
2212 #**************************************************************************
2214 #  fi