[COMPILER CHANGES NEEDED FOR v4.4.4] Changed version in compiler
[gambit-c.git] / configure.ac
blob00597d812eaf56d32df54348e29c1a0bf4d95d9d
1 # Configure template for Gambit-C system.
3 # Copyright (c) 1994-2009 by Marc Feeley, All Rights Reserved.
5 # Process this file with autoconf to produce a configure script.
7 AC_INIT(Gambit-C,v4.4.3,gambit@iro.umontreal.ca,gambc-v4_4_3)
9 AC_CONFIG_HEADERS(include/config.h)
11 CONFIGURE_COMMAND="$0 $@"
12 PACKAGE_SHORTNAME="gambc"
14 AC_SUBST(PACKAGE_SHORTNAME)
15 AC_SUBST(PACKAGE_NAME)
16 AC_SUBST(PACKAGE_VERSION)
17 AC_SUBST(PACKAGE_STRING)
18 AC_SUBST(PACKAGE_BUGREPORT)
19 AC_SUBST(PACKAGE_TARNAME)
21 AC_COPYRIGHT([[Copyright (c) 1994-2009 by Marc Feeley, All Rights Reserved.]])
23 AC_CONFIG_SRCDIR(include/gambit.h.in)
25 AC_PREFIX_DEFAULT(/usr/local/$PACKAGE_NAME)
27 AC_CANONICAL_SYSTEM
29 ###############################################################################
31 # Accumulate subsystems to include in runtime library.
33 RTLIBSUBSYS=""
35 ###############################################################################
37 # To accumulate flags and definitions for C compilation.
39 FLAGS_OBJ=""
40 FLAGS_DYN=""
41 FLAGS_LIB=""
42 FLAGS_EXE=""
43 FLAGS_OBJ_DYN=""
44 FLAGS_OBJ_DYN_LIB_EXE=""
45 FLAGS_DYN_LIB=""
46 GSC_CC_O_DEFS="-D___DYNAMIC"
47 LIBRARY_DEFS=""
49 ###############################################################################
51 # Check if the system must be compiled using the C compiler or C++ compiler.
53 AC_ARG_ENABLE(cplusplus,
54               AC_HELP_STRING([--enable-cplusplus],
55                              [compile using C++ compiler (default is NO)]),
56               ENABLE_CPLUSPLUS=$enableval,
57               ENABLE_CPLUSPLUS=no)
59 if test "${CFLAGS+set}" != set; then
60   CFLAGS=""
63 if test "${CXXFLAGS+set}" != set; then
64   CXXFLAGS=""
67 if test "${LDFLAGS+set}" != set; then
68   LDFLAGS=""
71 AC_LANG(C)
72 AC_PROG_CC
73 AC_PROG_CPP
74 C_COMPILER=$CC
75 C_PREPROC=$CPP
77 if test "$ENABLE_CPLUSPLUS" = yes; then
78   AC_LANG(C++)
79   AC_PROG_CXX
80   AC_PROG_CXXCPP
81   C_COMPILER=$CXX
82   C_PREPROC=$CXXCPP
85 AC_SUBST(C_COMPILER)
86 AC_SUBST(C_PREPROC)
88 ###############################################################################
90 # Check if the system must include GUIDE (Gambit Universal IDE).
92 AC_ARG_ENABLE(guide,
93               AC_HELP_STRING([--enable-guide],
94                              [include the Gambit Universal IDE (default is NO)]),
95               ENABLE_GUIDE=$enableval,
96               ENABLE_GUIDE=no)
98 if test "$ENABLE_GUIDE" = yes; then
99   if test "$ENABLE_CPLUSPLUS" = yes; then
101     # Determine if Qt is available, if the version is good, etc
103     ac_qmake='qmake -o conftest.qt /dev/null >&5'
105     rm -f conftest.qt
107     if { (eval echo "$as_me:$LINENO: \"$ac_qmake\"") >&5
108       (eval $ac_qmake) 2>&5
109       ac_status=$?
110       echo "$as_me:$LINENO: \$? = $ac_status" >&5
111       (exit $ac_status); }; then
113       ac_qt_version_check="grep -q '^# Generated by qmake ([^)]*) (Qt 3\\.3\\..*' conftest.qt"
115       if { (eval echo "$as_me:$LINENO: \"$ac_qt_version_check\"") >&5
116         (eval $ac_qt_version_check) 2>&5
117         ac_status=$?
118         echo "$as_me:$LINENO: \$? = $ac_status" >&5
119         (exit $ac_status); }; then
121         QTINCPATH=`sed -n -e '/^INCPATH[[       ]]*=[[  ]]*\(.*\)/s//\1/p' conftest.qt`
122         QTLIBS=`sed -n -e '/^LIBS[[     ]]*=[[  ]]*\\\$(SUBLIBS)[[      ]]*\(.*\)/s//\1/p' conftest.qt`
124       else
126         qt_version=`sed -n -e '/^# Generated by qmake (\([^)]*\)) (Qt \([0-9]*\.[0-9]*\).*/s//\2/p' conftest.qt`
128         ENABLE_GUIDE=no
129         AC_MSG_NOTICE([
130 ************************************************************************
131 *** The Gambit Universal IDE requires that the system be built using ***
132 *** the Qt GUI library version 3.3.  Version $qt_version of Qt is currently  ***
133 *** installed.                                                       ***
134 ************************************************************************
137       fi
139     else
141       ENABLE_GUIDE=no
142       AC_MSG_NOTICE([
143 ************************************************************************
144 *** The Gambit Universal IDE requires that the system be built using ***
145 *** the Qt GUI library.  This library could not be located.  Make    ***
146 *** sure that the program qmake is in your PATH.                     ***
147 ************************************************************************
150     fi
152   else
154     ENABLE_GUIDE=no
155     AC_MSG_NOTICE([
156 ************************************************************************
157 *** The Gambit Universal IDE requires that the system be built using ***
158 *** a C++ compiler.  You must specify both "--enable-cplusplus" and  ***
159 *** "--enable-guide" to include the Gambit Universal IDE.            ***
160 ************************************************************************
163   fi
166 if test "$ENABLE_GUIDE" = yes; then
167   AC_DEFINE(___GUIDE)
168   AC_SUBST(QTINCPATH)
169   RTLIBSUBSYS="$RTLIBSUBSYS guide"
170   LIBS="$LIBS $QTLIBS"
173 AC_SUBST(ENABLE_GUIDE)
175 ###############################################################################
177 # Check if the system is to be debugged.
179 AC_ARG_ENABLE(debug,
180               AC_HELP_STRING([--enable-debug],
181                              [build system so that it can be debugged (default is NO)]),
182               ENABLE_DEBUG=$enableval,
183               ENABLE_DEBUG=no)
185 if test "$ENABLE_DEBUG" = yes; then
186   AC_DEFINE(___DEBUG)
187   GSC_CC_O_DEFS="$GSC_CC_O_DEFS -D___DEBUG"
190 ###############################################################################
192 # Check if the system is to be profiled.
194 AC_ARG_ENABLE(profile,
195               AC_HELP_STRING([--enable-profile],
196                              [build system so that it can be profiled (default is NO)]),
197               ENABLE_PROFILE=$enableval,
198               ENABLE_PROFILE=no)
200 if test "$ENABLE_PROFILE" = yes; then
201   AC_DEFINE(___PROFILE)
202   GSC_CC_O_DEFS="$GSC_CC_O_DEFS -D___PROFILE"
205 ###############################################################################
207 # Check if the system is to be compiled to accumulate coverage statistics.
209 AC_ARG_ENABLE(coverage,
210               AC_HELP_STRING([--enable-coverage],
211                              [build system to accumulate coverage statistics (default is NO)]),
212               ENABLE_COVERAGE=$enableval,
213               ENABLE_COVERAGE=no)
215 ###############################################################################
217 # Check if the system is to be compiled with trial run feedback.
219 AC_ARG_ENABLE(feedback1,
220               AC_HELP_STRING([--enable-feedback1],
221                              [build system to accumulate trial run data (default is NO)]),
222               ENABLE_FEEDBACK1=$enableval,
223               ENABLE_FEEDBACK1=no)
225 AC_ARG_ENABLE(feedback2,
226               AC_HELP_STRING([--enable-feedback2],
227                              [build system using trial run feedback (default is NO)]),
228               ENABLE_FEEDBACK2=$enableval,
229               ENABLE_FEEDBACK2=no)
231 ###############################################################################
233 # Check if a single C function should be generated for all the Scheme
234 # functions in a file.  This makes the executable much faster but the
235 # compilation will be much longer and take much more memory.
237 AC_ARG_ENABLE(single-host,
238               AC_HELP_STRING([--enable-single-host],
239                              [compile each Scheme module as a single C function (default is NO)]),
240               ENABLE_SINGLE_HOST=$enableval,
241               ENABLE_SINGLE_HOST=no)
243 if test "$ENABLE_SINGLE_HOST" = yes; then
244   AC_DEFINE(___SINGLE_HOST)
245   GSC_CC_O_DEFS="$GSC_CC_O_DEFS -D___SINGLE_HOST"
248 ###############################################################################
250 # Check if inline code should be generated for jumps.  It is possible
251 # that on some platforms this will result in a faster but larger
252 # executable program.
254 AC_ARG_ENABLE(inline-jumps,
255               AC_HELP_STRING([--enable-inline-jumps],
256                              [generate inline code for jumps (default is NO)]),
257               ENABLE_INLINE_JUMPS=$enableval,
258               ENABLE_INLINE_JUMPS=no)
260 if test "$ENABLE_INLINE_JUMPS" = yes; then
261   AC_DEFINE(___INLINE_JUMPS)
262   GSC_CC_O_DEFS="$GSC_CC_O_DEFS -D___INLINE_JUMPS"
265 ###############################################################################
267 # Check if expensive GCC optimizations should be used.  This makes the
268 # executable faster but the compilation will be much longer and take
269 # much more memory.
271 AC_ARG_ENABLE(gcc-opts,
272               AC_HELP_STRING([--enable-gcc-opts],
273                              [use expensive GCC optimizations (default is NO)]),
274               ENABLE_GCC_OPTS=$enableval,
275               ENABLE_GCC_OPTS=no)
277 ###############################################################################
279 # Check the width of Scheme characters.
281 AC_ARG_ENABLE(char-size,
282               AC_HELP_STRING([--enable-char-size=N],
283                              [Scheme character size in bytes (default is 4)]),
284               CHAR_SIZE=$enableval,
285               CHAR_SIZE=4)
287 if test "$CHAR_SIZE" = 1; then
288   CONF_MAX_CHR="0xff"
289 else
290 if test "$CHAR_SIZE" = 2; then
291   CONF_MAX_CHR="0xffff"
292 else
293   CONF_MAX_CHR="0x10ffff"
297 AC_SUBST(CONF_MAX_CHR)
299 ###############################################################################
301 # Check the size of the type "void*".  On many systems it is the same
302 # size as "long".  If this isn't the case then define
303 # ___VOIDSTAR_WIDTH appropriately.
305 AC_CHECK_SIZEOF(void*)
306 AC_CHECK_SIZEOF(long)
308 if test "$ac_cv_sizeof_voidp" != "$ac_cv_sizeof_long"; then
309   CONF_VOIDSTAR_WIDTH="($ac_cv_sizeof_voidp * ___CHAR_WIDTH)"
310 else
311   CONF_VOIDSTAR_WIDTH="___LONG_WIDTH"
314 AC_SUBST(CONF_VOIDSTAR_WIDTH)
316 ###############################################################################
318 # Check if a shared library must be built.
320 AC_ARG_ENABLE(shared,
321               AC_HELP_STRING([--enable-shared],
322                              [build the Scheme runtime system as a shared library (default is NO)]),
323               ENABLE_SHARED=$enableval,
324               ENABLE_SHARED=no)
326 if test "$ENABLE_SHARED" = yes; then
327   AC_DEFINE(___SHARED)
328   # don't add to GSC_CC_O_DEFS
331 ###############################################################################
333 # Check if only ANSI C headers and libraries should be used.
335 AC_ARG_ENABLE(ansi-c,
336               AC_HELP_STRING([--enable-ansi-c],
337                              [link only with ANSI C libraries (default is NO)]),
338               ANSI_C=$enableval,
339               ANSI_C=no)
341 ###############################################################################
343 # Check if symbolic links should be used for files not in the
344 # central installation directory.
346 AC_ARG_ENABLE(symlinks,
347               AC_HELP_STRING([--enable-symlinks],
348                              [use symbolic links for installed files not in the central installation directory (default is YES)]),
349               ENABLE_SYMLINKS=$enableval,
350               ENABLE_SYMLINKS=no)
352 ###############################################################################
354 # Determine the name to use for the Gambit interpreter and compiler.
356 AC_ARG_ENABLE(interpreter-name,
357               AC_HELP_STRING([--enable-interpreter-name=INTERP],
358                              [Name to use for Gambit interpreter (default is gsi)]),
359               ENABLE_INTERPRETER_NAME=$enableval,
360               ENABLE_INTERPRETER_NAME="gsi")
362 AC_ARG_ENABLE(compiler-name,
363               AC_HELP_STRING([--enable-compiler-name=COMP],
364                              [Name to use for Gambit compiler (default is gsc)]),
365               ENABLE_COMPILER_NAME=$enableval,
366               ENABLE_COMPILER_NAME="gsc")
368 ###############################################################################
370 # Check if multiple installed versions are supported.
372 AC_ARG_ENABLE(multiple-versions,
373               AC_HELP_STRING([--enable-multiple-versions],
374                              [multiple installed versions are supported (default is NO)]),
375               ENABLE_MULTIPLE_VERSIONS=$enableval,
376               ENABLE_MULTIPLE_VERSIONS=no)
378 ###############################################################################
380 # Check if libraries should contain a version number suffix.
382 ENABLE_VERSIONNED_LIBS=no
384 # This option does not currently work.  Some work is needed to make it
385 # work properly.  Here is the documentation that should go in INSTALL.txt:
387 #The option --enable-versionned-libs will add a version number suffix
388 #to the libraries.  For example the Gambit v4.3.2 runtime library which
389 #is normally libgambc.a will be named libgambc-v4_3_2.a and it must be
390 #linked to with the C compiler option -lgambc-v4_3_2 .  If you give
391 #this option a value, as in --enable-versionned-libs=<suffix> then
392 #<suffix> will be appended to the name of the libraries.
394 #AC_ARG_ENABLE(versionned-libs,
395 #              AC_HELP_STRING([--enable-versionned-libs],
396 #                             [libraries should contain a version number suffix (default is NO)]),
397 #              ENABLE_VERSIONNED_LIBS=$enableval,
398 #              ENABLE_VERSIONNED_LIBS=no)
400 ###############################################################################
402 # Check if shared libraries should be linked to using an absolute path.
404 AC_ARG_ENABLE(absolute-shared-libs,
405               AC_HELP_STRING([--enable-absolute-shared-libs],
406                              [shared libraries should be linked to using an absolute path (default is YES)]),
407               ENABLE_ABSOLUTE_SHARED_LIBS=$enableval,
408               ENABLE_ABSOLUTE_SHARED_LIBS=yes)
410 if test "$ENABLE_SHARED" != "yes"; then
411   ENABLE_ABSOLUTE_SHARED_LIBS=no
414 ###############################################################################
416 # Determine which browser to use for help.
418 AC_ARG_ENABLE(help-browser,
419               AC_HELP_STRING([--enable-help-browser=BROWSER],
420                              [Browser to use for help (default is to search)]),
421               HELP_BROWSER=$enableval,
422               HELP_BROWSER="")
424 ###############################################################################
426 # Check for C compiler.
428 AC_DEFUN(AC_CHECK_C_COMPILER_DEF,
429 [AC_CACHE_CHECK(whether $C_COMPILER defines [$1], [$2],
430 [AC_SUBST($2)
431 rm -f conftest.$ac_ext
432 cat >conftest.$ac_ext <<_ACEOF
433 #line $LINENO "configure"
435 main ()
437 #ifndef $1
438        choke me
439 #endif
441   ;
442   return 0;
444 _ACEOF
445 if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
446   (eval $ac_link) 2>&5
447   ac_status=$?
448   echo "$as_me:$LINENO: \$? = $ac_status" >&5
449   (exit $ac_status); }; then
450   $2="yes"
451 else
452   $2=""
454 ])])
456 AC_DEFUN(AC_CHECK_C_COMPILER_OPT,
457 [AC_CACHE_CHECK(whether $C_COMPILER accepts [$1], [$2],
458 [AC_SUBST($2)
459 rm -f conftest.$ac_ext
460 cat >conftest.$ac_ext <<_ACEOF
461 #line $LINENO "configure"
463 main ()
465   return 0;
467 _ACEOF
468 ac_test_CFLAGS=${CFLAGS+set}
469 ac_test_CXXFLAGS=${CXXFLAGS+set}
470 ac_save_CFLAGS=$CFLAGS
471 ac_save_CXXFLAGS=$CXXFLAGS
472 CFLAGS="$1$3"
473 CXXFLAGS="$1$3"
474 if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
475   (eval $ac_link) 2>&5
476   ac_status=$?
477   echo "$as_me:$LINENO: \$? = $ac_status" >&5
478   (exit $ac_status); }; then
479   $2=" $1"
480 else
481   $2=""
483 if test "$ac_test_CFLAGS" = set; then
484   CFLAGS=$ac_save_CFLAGS
486 if test "$ac_test_CXXFLAGS" = set; then
487   CXXFLAGS=$ac_save_CXXFLAGS
489 ])])
491 AC_DEFUN(AC_CHECK_C_COMPILER_CPP_EXPR,
492 [AC_CACHE_CHECK(how $C_COMPILER's preprocessor evaluates [$1], [$2],
493 [AC_SUBST($2)
494 rm -f conftest.$ac_ext
495 cat >conftest.$ac_ext <<_ACEOF
496 #line $LINENO "configure"
498 main ()
500 #if $1
501 #else
502        choke me
503 #endif
505   ;
506   return 0;
508 _ACEOF
509 if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
510   (eval $ac_link) 2>&5
511   ac_status=$?
512   echo "$as_me:$LINENO: \$? = $ac_status" >&5
513   (exit $ac_status); }; then
514   $2="yes"
515 else
516   $2=""
518 ])])
520 AC_CHECK_C_COMPILER_DEF(__GNUC__,C_COMP_GNUC)
521 AC_CHECK_C_COMPILER_DEF(_MSC_VER,C_COMP_VISUALC)
522 #AC_CHECK_C_COMPILER_DEF(__WATCOMC__,C_COMP_WATCOMC)
523 #AC_CHECK_C_COMPILER_DEF(__BORLANDC__,C_COMP_BORLANDC)
525 ###############################################################################
527 # Check for header files.
529 AC_CHECK_HEADERS(errno.h)
530 AC_CHECK_HEADERS(float.h)
531 AC_CHECK_HEADERS(signal.h)
532 AC_CHECK_HEADERS(stdio.h)
533 AC_CHECK_HEADERS(stdlib.h)
534 AC_CHECK_HEADERS(string.h)
535 AC_CHECK_HEADERS(time.h)
537 if test "$ANSI_C" = yes; then
539   # Check if linking to the math library needs some special linker flags.
541   AC_SEARCH_LIBS(asin,m)
543   # The following functions should be provided by an ANSI-C conforming
544   # compiler, but it is safest to double check.  If they are not
545   # available, the system will still compile but some functionality
546   # will be missing from the Gambit runtime system.
548   AC_CHECK_FUNCS(getenv)
549   AC_CHECK_FUNCS(time)
550   AC_CHECK_FUNCS(clock)
552 else
554   AC_CHECK_HEADERS(unistd.h)
555   AC_CHECK_HEADERS(pwd.h)
556   AC_CHECK_HEADERS(dirent.h)
557   AC_CHECK_HEADERS(dlfcn.h)
558   AC_CHECK_HEADERS(dl.h)
559   AC_CHECK_HEADERS(sys/dxe.h)
560   AC_CHECK_HEADERS(mach-o/dyld.h)
561   AC_CHECK_HEADERS(sys/types.h)
562   AC_CHECK_HEADERS(sys/time.h)
563   AC_CHECK_HEADERS(sys/times.h)
564   AC_CHECK_HEADERS(sys/timeb.h)
565   AC_CHECK_HEADERS(sys/timers.h)
566   AC_CHECK_HEADERS(sys/resource.h)
567   AC_CHECK_HEADERS(sys/stat.h)
568   AC_CHECK_HEADERS(sys/wait.h)
569   AC_CHECK_HEADERS(stat.h)
570   AC_CHECK_HEADERS(netdb.h)
571   AC_CHECK_HEADERS(grp.h)
572   #AC_CHECK_HEADERS(windows.h)
573   #AC_CHECK_HEADERS(io.h)
574   #AC_CHECK_HEADERS(tchar.h)
575   AC_CHECK_HEADERS(fpu_control.h)
576   AC_CHECK_HEADERS(os2.h)
577   AC_CHECK_HEADERS(dos.h)
578   AC_CHECK_HEADERS(direct.h)
579   #AC_CHECK_HEADERS(Retrace.h)
580   #AC_CHECK_HEADERS(Files.h)
581   #AC_CHECK_HEADERS(Finder.h)
582   #AC_CHECK_HEADERS(Errors.h)
583   #AC_CHECK_HEADERS(Folders.h)
584   #AC_CHECK_HEADERS(OSUtils.h)
585   #AC_CHECK_HEADERS(Power.h)
586   #AC_CHECK_HEADERS(CodeFragments.h)
587   #AC_CHECK_HEADERS(SIOUX.h)
588   #AC_CHECK_HEADERS(mac_gui.h)
589   #AC_CHECK_HEADERS(unix.h)
590   AC_CHECK_HEADERS(wdefwin.h)
591   AC_CHECK_HEADERS(tfork.h)
592   AC_CHECK_HEADERS(curses.h)
593   AC_CHECK_HEADERS(ncurses.h)
594   AC_CHECK_HEADERS(netinet/in.h)
595   AC_CHECK_HEADERS(arpa/inet.h)
596   AC_CHECK_HEADERS(termios.h)
597   #AC_CHECK_HEADERS(term.h)
598   AC_CHECK_HEADERS(pty.h)
599   AC_CHECK_HEADERS(libutil.h)
600   AC_CHECK_HEADERS(util.h)
601   AC_CHECK_HEADERS(sys/fpu.h)
602   AC_CHECK_HEADERS(fenv.h)
603   AC_CHECK_HEADERS(fcntl.h)
604   AC_CHECK_HEADERS(sys/ioctl.h)
605   AC_CHECK_HEADERS(sys/socket.h)
606   AC_CHECK_HEADERS(strings.h)
607   AC_CHECK_HEADERS(memory.h)
608   AC_CHECK_HEADERS(sys/sysctl.h)
610   if test "$C_COMP_VISUALC" != yes; then
612     AC_DEFUN([AC_TYPE_SOCKLEN_T],
613     [AC_CACHE_CHECK([for socklen_t], ac_cv_type_socklen_t,
614     [
615       AC_TRY_COMPILE(
616       [#include <sys/types.h>
617        #include <sys/socket.h>],
618       [socklen_t len = 42; return 0;],
619       ac_cv_type_socklen_t=yes,
620       ac_cv_type_socklen_t=no)
621     ])
622       if test $ac_cv_type_socklen_t != yes; then
623         AC_DEFINE(socklen_t, int)
624       fi
625     ])
627     AC_TYPE_SOCKLEN_T
629   fi
631   #AC_TYPE_MODE_T
632   #AC_TYPE_OFF_T
633   #AC_TYPE_PID_T
634   #AC_TYPE_SIGNAL
635   #AC_TYPE_SIZE_T
636   #AC_TYPE_UID_T
638   #AC_HEADER_DIRENT
639   #AC_HEADER_STAT
640   #AC_HEADER_STDC
641   #AC_HEADER_SYS_WAIT
642   #AC_HEADER_TIME
643   #AC_HEADER_TIOCGWINSZ
644   #AC_FUNC_SELECT_ARGTYPES
646   #AC_FUNC_CLOSEDIR_VOID
647   #AC_FUNC_FSEEKO
648   #AC_FUNC_STAT
649   #AC_FUNC_LSTAT
651   if test "$C_COMP_VISUALC" = yes; then
653     LIBS="$LIBS Kernel32.Lib User32.Lib Gdi32.Lib WS2_32.Lib"
654     FLAGS_OBJ="$FLAGS_OBJ -D_WINDOWS"
656   else
658     case "$target_os" in
660        mingw*) # add Windows libraries needed by MinGW
661                LIBS="$LIBS -lws2_32"
662                FLAGS_OBJ="$FLAGS_OBJ -D_WINDOWS"
663                ;;
665             *) # check libraries for other systems
666                AC_SEARCH_LIBS(asin,m)
668                AC_SEARCH_LIBS(dlopen,dl)
669                AC_SEARCH_LIBS(shl_load,dld)
671                #AC_SEARCH_LIBS(tgetstr,ncurses curses)
672                #AC_SEARCH_LIBS(tigetstr,ncurses curses)
674                AC_SEARCH_LIBS(socket,socket)
676                AC_SEARCH_LIBS(gethostbyname,nsl resolv xnet)
678                AC_SEARCH_LIBS(hstrerror,resolv)
680                AC_SEARCH_LIBS(openpty,util)
682                AC_SEARCH_LIBS(WSAStartup,ws2_32)
683                ;;
684     esac
686   fi
688   AC_CHECK_FUNCS(pipe)
689   AC_CHECK_FUNCS(socketpair)
690   AC_CHECK_FUNCS(chdir)
691   AC_CHECK_FUNCS(execvp)
692   AC_CHECK_FUNCS(getgrnam)
693   AC_CHECK_FUNCS(getpid)
694   AC_CHECK_FUNCS(getppid)
695   AC_CHECK_FUNCS(getpwnam)
696   AC_CHECK_FUNCS(ioctl)
697   AC_CHECK_FUNCS(link)
698   AC_CHECK_FUNCS(mkdir)
699   AC_CHECK_FUNCS(mkfifo)
700   AC_CHECK_FUNCS(opendir)
701   AC_CHECK_FUNCS(rename)
702   AC_CHECK_FUNCS(rmdir)
703   AC_CHECK_FUNCS(socket)
704   AC_CHECK_FUNCS(stat)
705   AC_CHECK_FUNCS(stat64)
706   AC_CHECK_FUNCS(strerror)
707   AC_CHECK_FUNCS(symlink)
708   AC_CHECK_FUNCS(sysconf)
709   AC_CHECK_FUNCS(sysctl)
710   AC_CHECK_FUNCS(tcgetattr)
711   AC_CHECK_FUNCS(unlink)
712   AC_CHECK_FUNCS(waitpid)
714   AC_CHECK_FUNCS(clock_gettime)
715   AC_CHECK_FUNCS(getclock)
716   #AC_CHECK_FUNCS(GetSystemTime)
717   AC_CHECK_FUNCS(gettimeofday)
718   AC_CHECK_FUNCS(ftime)
719   AC_CHECK_FUNCS(time)
721   AC_CHECK_FUNCS(nanosleep)
722   #AC_CHECK_FUNCS(Sleep)
723   AC_CHECK_FUNCS(sleep)
725   #AC_CHECK_FUNCS(GetProcessTimes)
726   AC_CHECK_FUNCS(getrusage)
727   AC_CHECK_FUNCS(times)
728   AC_CHECK_FUNCS(clock)
729   AC_CHECK_FUNCS(DosQuerySysInfo)
731   AC_CHECK_FUNCS(setitimer)
732   AC_CHECK_FUNCS(dos_setvect)
733   AC_CHECK_FUNCS(DosStartTimer)
734   AC_CHECK_FUNCS(VInstall)
735   #AC_CHECK_FUNCS(CreateThread)
737   AC_CHECK_FUNCS(sigaction)
738   AC_CHECK_FUNCS(sigemptyset)
739   AC_CHECK_FUNCS(sigaddset)
740   AC_CHECK_FUNCS(sigprocmask)
741   AC_CHECK_FUNCS(signal)
743   AC_CHECK_FUNCS(shl_load)
744   #AC_CHECK_FUNCS(LoadLibrary)
745   AC_CHECK_FUNCS(DosLoadModule)
746   AC_CHECK_FUNCS(dxe_load)
747   AC_CHECK_FUNCS(GetDiskFragment)
748   AC_CHECK_FUNCS(dlopen)
749   AC_CHECK_FUNCS(NSLinkModule) # has been deprecated by Apple
751   AC_CHECK_FUNCS(gethostname)
752   AC_CHECK_FUNCS(inet_pton)
753   AC_CHECK_FUNCS(gethostbyname)
754   AC_CHECK_FUNCS(gethostbyaddr)
755   AC_CHECK_FUNCS(getservbyname)
756   AC_CHECK_FUNCS(getservbyport)
757   AC_CHECK_FUNCS(getprotobyname)
758   AC_CHECK_FUNCS(getprotobynumber)
759   AC_CHECK_FUNCS(getnetbyname)
761   AC_CHECK_FUNCS(select)
762   #AC_CHECK_FUNCS(MsgWaitForMultipleObjects)
764   #AC_CHECK_FUNCS(tgetstr)
765   #AC_CHECK_FUNCS(tigetstr)
767   AC_CHECK_FUNCS(openpty)
768   AC_CHECK_FUNCS(getpt)
769   AC_CHECK_FUNCS(ptsname)
771   AC_CHECK_FUNCS(hstrerror)
773   AC_CHECK_FUNCS(get_fpc_csr)
777 ###############################################################################
779 # Check which command line options are supported by $C_COMPILER.
781 if test "$C_COMP_GNUC" = yes; then
783   ########## Using gcc...
785   # Determine which gcc version is being used.
787   AC_CHECK_C_COMPILER_CPP_EXPR((__GNUC__*100+__GNUC_MINOR__)>=402&&(__GNUC__*100+__GNUC_MINOR__)<=403,GCC_42_OR_43)
789   # preprocessor options:
790   AC_CHECK_C_COMPILER_OPT(-no-cpp-precomp,DASH_no_cpp_precomp)
792   # debugging options:
793   AC_CHECK_C_COMPILER_OPT(-Wall,DASH_Wall)
794   AC_CHECK_C_COMPILER_OPT(-W,DASH_W)
795   AC_CHECK_C_COMPILER_OPT(-Wno-unused,DASH_Wno_unused)
796   AC_CHECK_C_COMPILER_OPT(-g,DASH_g)
798   # profiling options:
799   AC_CHECK_C_COMPILER_OPT(-p,DASH_p)
800   AC_CHECK_C_COMPILER_OPT(-pg,DASH_pg)
801   AC_CHECK_C_COMPILER_OPT(-ftest-coverage,DASH_ftest_coverage)
802   AC_CHECK_C_COMPILER_OPT(-fprofile-arcs,DASH_fprofile_arcs)
803   AC_CHECK_C_COMPILER_OPT(-fbranch-probabilities,DASH_fbranch_probabilities)
805   # optimization options:
806   AC_CHECK_C_COMPILER_OPT(-O1,DASH_O1)
807   AC_CHECK_C_COMPILER_OPT(-fno-math-errno,DASH_fno_math_errno)
808   AC_CHECK_C_COMPILER_OPT(-fschedule-insns2,DASH_fschedule_insns2)
809   AC_CHECK_C_COMPILER_OPT(-fno-trapping-math,DASH_fno_trapping_math)
810   AC_CHECK_C_COMPILER_OPT(-fno-strict-aliasing,DASH_fno_strict_aliasing)
811   AC_CHECK_C_COMPILER_OPT(-fwrapv,DASH_fwrapv)
812   AC_CHECK_C_COMPILER_OPT(-fomit-frame-pointer,DASH_fomit_frame_pointer)
813   AC_CHECK_C_COMPILER_OPT(-fno-move-loop-invariants,DASH_fno_move_loop_invariants)
815 # It isn't clear these are useful:
816 #  AC_CHECK_C_COMPILER_OPT(-fexpensive-optimizations,DASH_fexpensive_optimizations)
817 #  AC_CHECK_C_COMPILER_OPT(-fforce-addr,DASH_fforce_addr)
818 #  AC_CHECK_C_COMPILER_OPT(-fpeephole2,DASH_fpeephole2)
819 #  AC_CHECK_C_COMPILER_OPT(-falign-jumps,DASH_falign_jumps)
820 #  AC_CHECK_C_COMPILER_OPT(-falign-functions,DASH_falign_functions)
821 #  AC_CHECK_C_COMPILER_OPT(-fno-function-cse,DASH_fno_function_cse)
822 #  AC_CHECK_C_COMPILER_OPT(-ftree-copyrename,DASH_ftree_copyrename)
823 #  AC_CHECK_C_COMPILER_OPT(-ftree-fre,DASH_ftree_fre)
824 #  AC_CHECK_C_COMPILER_OPT(-ftree-dce,DASH_ftree_dce)
825 #  AC_CHECK_C_COMPILER_OPT(-fschedule-interblock,DASH_fschedule_interblock)
826 #  AC_CHECK_C_COMPILER_OPT(-fregmove,DASH_fregmove)
827 #  AC_CHECK_C_COMPILER_OPT(-fgcse-las,DASH_fgcse_las)
828 #  AC_CHECK_C_COMPILER_OPT(-freorder-functions,DASH_freorder_functions)
829 #  AC_CHECK_C_COMPILER_OPT(-fcaller-saves,DASH_fcaller_saves)
830 #  AC_CHECK_C_COMPILER_OPT(-fno-if-conversion2,DASH_fno_if_conversion2)
831 #  AC_CHECK_C_COMPILER_OPT(-foptimize-sibling-calls,DASH_foptimize_sibling_calls)
832 #  AC_CHECK_C_COMPILER_OPT(-fcse-skip-blocks,DASH_fcse_skip_blocks)
833 #  AC_CHECK_C_COMPILER_OPT(-funit-at-a-time,DASH_funit_at_a_time)
834 #  AC_CHECK_C_COMPILER_OPT(-finline-functions,DASH_finline_functions)
836   if test "$ENABLE_GCC_OPTS" = yes; then
837     AC_CHECK_C_COMPILER_OPT(-fmodulo-sched,DASH_fmodulo_sched)
838     AC_CHECK_C_COMPILER_OPT(-freschedule-modulo-scheduled-loops,DASH_freschedule_modulo_scheduled_loops)
840   fi
842   # code generation options:
843   case "$target_os" in
845      mingw*) # no special code generation options needed by MinGW
846              ;;
848     cygwin*) # no special code generation options needed by cygwin
849              ;;
851           *) # check for code generation options for other systems
852              AC_CHECK_C_COMPILER_OPT(-fPIC,DASH_fPIC)
853              AC_CHECK_C_COMPILER_OPT(-fpic,DASH_fpic)
854              ;;
855   esac
856   AC_CHECK_C_COMPILER_OPT(-fno-common,DASH_fno_common)
858   # machine specific options:
859   AC_CHECK_C_COMPILER_OPT(-mieee,DASH_mieee)
860   AC_CHECK_C_COMPILER_OPT(-mieee-with-inexact,DASH_mieee_with_inexact)
861   AC_CHECK_C_COMPILER_OPT(-mieee-fp,DASH_mieee_fp)
863   # linking options:
864   case "$target_os" in
866      mingw*) # no special options needed by MinGW
867              AC_CHECK_C_COMPILER_OPT(-shared,DASH_shared,$DASH_fPIC$DASH_fpic)
868              ;;
870     cygwin*) # no special options needed by cygwin
871              AC_CHECK_C_COMPILER_OPT(-shared,DASH_shared,$DASH_fPIC$DASH_fpic)
872              ;;
874    solaris*) # check for options needed by Solaris
875              AC_CHECK_C_COMPILER_OPT(-shared,DASH_shared,$DASH_fPIC$DASH_fpic)
876              ;;
878       hpux*) # check for options needed by HP-UX
879              AC_CHECK_C_COMPILER_OPT(-shared,DASH_shared,$DASH_fPIC$DASH_fpic)
880              ;;
882     darwin*) # check for special options added by Apple
883              AC_CHECK_C_COMPILER_OPT(-dynamiclib,DASH_dynamiclib)
884              AC_CHECK_C_COMPILER_OPT(-bundle,DASH_bundle)
885              AC_CHECK_C_COMPILER_OPT(-flat_namespace -undefined suppress,DASH_flat_namespace_undefined_suppress)
886              ;;
888           *) # for other systems
889              AC_CHECK_C_COMPILER_OPT(-rdynamic,DASH_rdynamic)
890              AC_CHECK_C_COMPILER_OPT(-shared,DASH_shared,$DASH_fPIC$DASH_fpic)
891              ;;
892   esac
894   # determine which flags to add to CFLAGS, CXXFLAGS and LDFLAGS
896   case "$target_os" in
897     darwin*) # avoid the default C preprocessor which is setup for Objective-C
898              FLAGS_OBJ_DYN="$FLAGS_OBJ_DYN$DASH_no_cpp_precomp"
899              ;;
900   esac
902   FLAGS_OBJ_DYN="$FLAGS_OBJ_DYN$DASH_Wno_unused"
904   if test "$ENABLE_DEBUG" = yes; then
905     FLAGS_OBJ_DYN="$FLAGS_OBJ_DYN$DASH_g"
906   fi
908   if test "$ENABLE_PROFILE" = yes; then
909     if test "x$DASH_pg" != x; then
910       FLAGS_OBJ_DYN_LIB_EXE="$FLAGS_OBJ_DYN_LIB_EXE$DASH_pg"
911     else
912       FLAGS_OBJ_DYN_LIB_EXE="$FLAGS_OBJ_DYN_LIB_EXE$DASH_p"
913     fi
914   fi
916   if test "$ENABLE_DEBUG" != yes; then
917     FLAGS_OBJ_DYN="$FLAGS_OBJ_DYN$DASH_O1$DASH_fno_math_errno$DASH_fschedule_insns2"
918   fi
920   FLAGS_OBJ_DYN="$FLAGS_OBJ_DYN$DASH_fno_trapping_math$DASH_fno_strict_aliasing$DASH_fwrapv"
922 # It isn't clear these are useful:
923 #  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"
925   if test "$ENABLE_GCC_OPTS" = yes; then
926     FLAGS_OBJ_DYN="$FLAGS_OBJ_DYN$DASH_fmodulo_sched$DASH_freschedule_modulo_scheduled_loops"
927   fi
929   case "$target_os" in
931      mingw*) # MinGW's setjmp seems to need the frame pointer
932              ;;
934           *) # other systems are fine as far as I can tell
935              if test "$ENABLE_DEBUG" != yes -a "$ENABLE_PROFILE" != yes; then
936                FLAGS_OBJ_DYN="$FLAGS_OBJ_DYN$DASH_fomit_frame_pointer"
937              fi
938              ;;
939   esac
941   ENABLE_GCC_MOVE_LOOP_INVARIANTS=yes
942   if test "$ENABLE_SINGLE_HOST" = yes; then
943     if test "$GCC_42_OR_43" = yes; then
944       ENABLE_GCC_MOVE_LOOP_INVARIANTS=no
945     fi
946   fi
948   if test "$ENABLE_GCC_MOVE_LOOP_INVARIANTS" != yes; then
949     FLAGS_OBJ_DYN="$FLAGS_OBJ_DYN$DASH_fno_move_loop_invariants"
950   fi
952   if test "$ENABLE_FEEDBACK1" = yes -o "$ENABLE_COVERAGE" = yes; then
953     AC_DEFINE(___DONT_UNLOAD_DYN_CODE)
954     FLAGS_OBJ_DYN_LIB_EXE="$FLAGS_OBJ_DYN_LIB_EXE$DASH_fprofile_arcs"
955     if test "$ENABLE_COVERAGE" = yes; then
956       FLAGS_OBJ_DYN_LIB_EXE="$FLAGS_OBJ_DYN_LIB_EXE$DASH_ftest_coverage"
957     fi
958   fi
960   if test "$ENABLE_FEEDBACK2" = yes; then
961     AC_DEFINE(___DONT_UNLOAD_DYN_CODE)
962     FLAGS_OBJ_DYN_LIB_EXE="$FLAGS_OBJ_DYN_LIB_EXE$DASH_fbranch_probabilities"
963   fi
965   if test "x$DASH_fPIC" != x; then
966     FLAGS_OBJ_DYN="$FLAGS_OBJ_DYN$DASH_fPIC"
967   else
968     FLAGS_OBJ_DYN="$FLAGS_OBJ_DYN$DASH_fpic"
969   fi
971   FLAGS_OBJ_DYN="$FLAGS_OBJ_DYN$DASH_fno_common"
973   FLAGS_OBJ_DYN="$FLAGS_OBJ_DYN$DASH_mieee$DASH_mieee_with_inexact$DASH_mieee_fp"
975   case "$target_os" in
977     darwin*) # check for special options added by Apple
978              FLAGS_DYN="$FLAGS_DYN$DASH_bundle"
979              FLAGS_LIB="$FLAGS_LIB$DASH_dynamiclib -install_name \$(libdir)/\$(LIBRARY)"
980              FLAGS_DYN_LIB="$FLAGS_DYN_LIB$DASH_flat_namespace_undefined_suppress"
981              ;;
983           *) # for other systems
984              FLAGS_DYN_LIB="$FLAGS_DYN_LIB$DASH_rdynamic$DASH_shared"
985              FLAGS_EXE="$FLAGS_EXE$DASH_rdynamic"
986              ;;
987   esac
989 else if test "$C_COMP_VISUALC" = yes; then
991   ########## Microsoft Visual C++ compiler
993   FLAGS_OBJ_DYN_LIB_EXE="$FLAGS_OBJ_DYN_LIB_EXE -nologo -Oityb1 -MT -D_CRT_SECURE_NO_DEPRECATE"
994   FLAGS_DYN="$FLAGS_DYN -LD"
996 #else if test "$C_COMP_WATCOMC" = yes; then
997 #else if test "$C_COMP_BORLANDC" = yes; then
999 else
1001   ########## Need to guess the C compiler from the OS...
1003   case "$target_os" in
1005    solaris*) ########## Probably using the Sun Workshop C/C++ compiler...
1007              # debugging options:
1008              AC_CHECK_C_COMPILER_OPT(-g,DASH_g)
1010              # profiling options:
1011              AC_CHECK_C_COMPILER_OPT(-p,DASH_p)
1013              # optimization options:
1014              AC_CHECK_C_COMPILER_OPT(-xO2,DASH_xO2)
1016              # code generation options:
1017              AC_CHECK_C_COMPILER_OPT(-KPIC,DASH_KPIC)
1019              # linking options:
1020              AC_CHECK_C_COMPILER_OPT(-G,DASH_G)
1022              # determine which flags to add to CFLAGS, CXXFLAGS and LDFLAGS
1024              if test "$ENABLE_DEBUG" = yes; then
1025                FLAGS_OBJ_DYN="$FLAGS_OBJ_DYN$DASH_g"
1026              fi
1028              if test "$ENABLE_PROFILE" = yes; then
1029                FLAGS_OBJ_DYN_LIB_EXE="$FLAGS_OBJ_DYN_LIB_EXE$DASH_p"
1030              fi
1032              if test "$ENABLE_DEBUG" != yes; then
1033                FLAGS_OBJ_DYN="$FLAGS_OBJ_DYN$DASH_xO2"
1034              fi
1036              FLAGS_OBJ_DYN="$FLAGS_OBJ_DYN$DASH_KPIC"
1038              FLAGS_DYN_LIB="$FLAGS_DYN_LIB$DASH_G"
1039              ;;
1041        osf*) ########## Probably using the Compaq Tru64 UNIX C/C++ compiler...
1043              # debugging options:
1044              AC_CHECK_C_COMPILER_OPT(-g,DASH_g)
1046              # profiling options:
1047              AC_CHECK_C_COMPILER_OPT(-p,DASH_p)
1049              # optimization options:
1050              AC_CHECK_C_COMPILER_OPT(-O2,DASH_O2)
1052              # code generation options:
1053              AC_CHECK_C_COMPILER_OPT(-ieee,DASH_ieee)
1054              AC_CHECK_C_COMPILER_OPT(-call_shared,DASH_call_shared)
1055              #AC_CHECK_C_COMPILER_OPT(-taso,DASH_taso)
1057              # linking options:
1058              AC_CHECK_C_COMPILER_OPT(-shared,DASH_shared)
1059              AC_CHECK_C_COMPILER_OPT(-expect_unresolved,DASH_expect_unresolved)
1061              # determine which flags to add to CFLAGS, CXXFLAGS and LDFLAGS
1063              if test "$ENABLE_DEBUG" = yes; then
1064                FLAGS_OBJ_DYN="$FLAGS_OBJ_DYN$DASH_g"
1065              fi
1067              if test "$ENABLE_PROFILE" = yes; then
1068                FLAGS_OBJ_DYN_LIB_EXE="$FLAGS_OBJ_DYN_LIB_EXE$DASH_p"
1069              fi
1071              if test "$ENABLE_DEBUG" != yes; then
1072                FLAGS_OBJ_DYN="$FLAGS_OBJ_DYN$DASH_O2"
1073              fi
1075              FLAGS_OBJ_DYN="$FLAGS_OBJ_DYN$DASH_ieee$DASH_call_shared"
1077              FLAGS_DYN_LIB="$FLAGS_DYN_LIB$DASH_shared$DASH_expect_unresolved"
1078              ;;
1080       irix*) ########## Probably using the MIPSpro C/C++ compiler...
1082              # debugging options:
1083              AC_CHECK_C_COMPILER_OPT(-fullwarn,DASH_fullwarn)
1084              AC_CHECK_C_COMPILER_OPT([-woff 1110,1174,1209,1552,3201],DASH_woff_1110_1174_1209_1552_3201)
1085              AC_CHECK_C_COMPILER_OPT(-g,DASH_g)
1087              # optimization options:
1088              AC_CHECK_C_COMPILER_OPT(-O1,DASH_O1)
1089              AC_CHECK_C_COMPILER_OPT(-OPT:Olimit=0,DASH_OPT_Olimit_0)
1091              # code generation options:
1092              #AC_CHECK_C_COMPILER_OPT(-KPIC,DASH_KPIC)
1093              #AC_CHECK_C_COMPILER_OPT(-non_shared,DASH_non_shared)
1094              AC_CHECK_C_COMPILER_OPT(-TENV:large_GOT,DASH_TENV_large_GOT)
1095              AC_CHECK_C_COMPILER_OPT(-OPT:IEEE_comparisons=ON,DASH_OPT_IEEE_comparisons_ON)
1096              AC_CHECK_C_COMPILER_OPT(-OPT:IEEE_NaN_inf=ON,DASH_OPT_IEEE_NaN_inf_ON)
1098              # linking options:
1099              AC_CHECK_C_COMPILER_OPT(-shared,DASH_shared)
1101              # determine which flags to add to CFLAGS, CXXFLAGS and LDFLAGS
1103              FLAGS_OBJ_DYN="$FLAGS_OBJ_DYN$DASH_fullwarn$DASH_woff_1110_1174_1209_1552_3201"
1105              if test "$ENABLE_DEBUG" = yes; then
1106                FLAGS_OBJ_DYN="$FLAGS_OBJ_DYN$DASH_g"
1107              fi
1109              if test "$ENABLE_DEBUG" != yes; then
1110                FLAGS_OBJ_DYN="$FLAGS_OBJ_DYN$DASH_O1$DASH_OPT_Olimit_0"
1111              fi
1113              FLAGS_OBJ_DYN="$FLAGS_OBJ_DYN$DASH_TENV_large_GOT$DASH_OPT_IEEE_comparisons_ON$DASH_OPT_IEEE_NaN_inf_ON"
1115              FLAGS_DYN_LIB="$FLAGS_DYN_LIB$DASH_shared"
1116              ;;
1118       hpux*) ########## Probably using the HP-UX compiler...
1120              # debugging options:
1121              AC_CHECK_C_COMPILER_OPT(-g,DASH_g)
1123              # profiling options:
1124              AC_CHECK_C_COMPILER_OPT(-p,DASH_p)
1126              # optimization options:
1127              AC_CHECK_C_COMPILER_OPT(-O1,DASH_O1)
1129              # linking options:
1130              AC_CHECK_C_COMPILER_OPT(-b,DASH_b)
1132              # determine which flags to add to CFLAGS, CXXFLAGS and LDFLAGS
1134              if test "$ENABLE_DEBUG" = yes; then
1135                FLAGS_OBJ_DYN="$FLAGS_OBJ_DYN$DASH_g"
1136              fi
1138              if test "$ENABLE_PROFILE" = yes; then
1139                FLAGS_OBJ_DYN_LIB_EXE="$FLAGS_OBJ_DYN_LIB_EXE$DASH_p"
1140              fi
1142              if test "$ENABLE_DEBUG" != yes; then
1143                FLAGS_OBJ_DYN="$FLAGS_OBJ_DYN$DASH_O1"
1144              fi
1146              FLAGS_DYN_LIB="$FLAGS_DYN_LIB$DASH_b"
1147              ;;
1149        aix*) ########## Probably using the AIX xlC compiler...
1151              # debugging options:
1152              AC_CHECK_C_COMPILER_OPT(-g,DASH_g)
1154              # profiling options:
1155              AC_CHECK_C_COMPILER_OPT(-p,DASH_p)
1157              # optimization options:
1158              AC_CHECK_C_COMPILER_OPT(-O1,DASH_O1)
1160              # linking options:
1161              AC_CHECK_C_COMPILER_OPT(-G,DASH_G)
1163              # determine which flags to add to CFLAGS, CXXFLAGS and LDFLAGS
1165              if test "$ENABLE_DEBUG" = yes; then
1166                FLAGS_OBJ_DYN="$FLAGS_OBJ_DYN$DASH_g"
1167              fi
1169              if test "$ENABLE_PROFILE" = yes; then
1170                FLAGS_OBJ_DYN_LIB_EXE="$FLAGS_OBJ_DYN_LIB_EXE$DASH_p"
1171              fi
1173              if test "$ENABLE_DEBUG" != yes; then
1174                FLAGS_OBJ_DYN="$FLAGS_OBJ_DYN$DASH_O1"
1175              fi
1177              FLAGS_DYN_LIB="$FLAGS_DYN_LIB$DASH_G"
1178              ;;
1180           *) ########## Unsupported operating system
1182              AC_MSG_NOTICE([
1183 *********************************************************************
1184 *** The GCC compiler is not being used and the operating system   ***
1185 *** is not one that has been tested with the Gambit-C system.     ***
1186 *** The configure script will use certain compiler options that   ***
1187 *** may not be correct or sufficient for compiling the system.    ***
1188 *** Please report success or failure to gambit@iro.umontreal.ca.  ***
1189 *** This will help us support this operating system in the        ***
1190 *** future.                                                       ***
1191 *********************************************************************
1194              # debugging options:
1195              AC_CHECK_C_COMPILER_OPT(-g,DASH_g)
1197              # profiling options:
1198              AC_CHECK_C_COMPILER_OPT(-p,DASH_p)
1200              # optimization options:
1201              AC_CHECK_C_COMPILER_OPT(-O1,DASH_O1)
1203              # linking options:
1204              AC_CHECK_C_COMPILER_OPT(-shared,DASH_shared)
1206              # determine which flags to add to CFLAGS, CXXFLAGS and LDFLAGS
1208              if test "$ENABLE_DEBUG" = yes; then
1209                FLAGS_OBJ_DYN="$FLAGS_OBJ_DYN$DASH_g"
1210              fi
1212              if test "$ENABLE_PROFILE" = yes; then
1213                FLAGS_OBJ_DYN_LIB_EXE="$FLAGS_OBJ_DYN_LIB_EXE$DASH_p"
1214              fi
1216              if test "$ENABLE_DEBUG" != yes; then
1217                FLAGS_OBJ_DYN="$FLAGS_OBJ_DYN$DASH_O1"
1218              fi
1220              FLAGS_DYN_LIB="$FLAGS_DYN_LIB$DASH_shared"
1221              ;;
1222   esac
1227 if test "$ENABLE_CPLUSPLUS" = yes; then
1228   CORCXXFLAGS="$CXXFLAGS"
1229 else
1230   CORCXXFLAGS="$CFLAGS"
1233 FLAGS_OBJ="$CORCXXFLAGS $FLAGS_OBJ $FLAGS_OBJ_DYN $FLAGS_OBJ_DYN_LIB_EXE"
1234 FLAGS_DYN="$LDFLAGS $CORCXXFLAGS $FLAGS_DYN $FLAGS_OBJ_DYN $FLAGS_OBJ_DYN_LIB_EXE $FLAGS_DYN_LIB"
1235 FLAGS_LIB="$LDFLAGS $CORCXXFLAGS $FLAGS_LIB $FLAGS_OBJ_DYN_LIB_EXE $FLAGS_DYN_LIB"
1236 FLAGS_EXE="$LDFLAGS $CORCXXFLAGS $FLAGS_EXE $FLAGS_OBJ_DYN_LIB_EXE"
1238 AC_SUBST(FLAGS_OBJ)
1239 AC_SUBST(FLAGS_DYN)
1240 AC_SUBST(FLAGS_LIB)
1241 AC_SUBST(FLAGS_EXE)
1243 ###############################################################################
1245 AC_SUBST(RTLIBSUBSYS)
1247 ###############################################################################
1249 AC_PATH_XTRA
1252 #AC_SYS_INTERPRETER
1253 #AC_SYS_LARGEFILE
1254 #AC_SYS_POSIX_TERMIOS
1256 AC_PROG_LN_S
1257 AC_PROG_RANLIB
1258 RC="git"
1259 GIT="git"
1260 HG="hg"
1262 exe="$EXEEXT"
1263 obj=".$OBJEXT"
1265 case "$target_os" in
1267    mingw*) bat=".bat"
1268            ;;
1270         *) bat=""
1271            ;;
1272 esac
1274 if test "$ENABLE_SHARED" = yes; then
1276   case "$target_os" in
1278      
1279      mingw* | cygwin*)
1280              LIB_PREFIX="lib"
1281              LIB_EXTENSION=".dll"
1282              SETDLPATH="PATH=\"\$(rootfromhere)/lib:\$(rootfromhere)/gsi:\$(rootfromhere)/gsc:\${PATH}\""
1283              ;;
1285     darwin*) LIB_PREFIX="lib"
1286              LIB_EXTENSION=".dylib"
1287              SETDLPATH="DYLD_LIBRARY_PATH=\$(rootfromhere)/lib:\$(rootfromhere)/gsi:\$(rootfromhere)/gsc:\${DYLD_LIBRARY_PATH}"
1288              ;;
1290       hpux*) LIB_PREFIX="lib"
1291              LIB_EXTENSION=".so"
1292              SETDLPATH="SHLIB_PATH=\$(rootfromhere)/lib:\$(rootfromhere)/gsi:\$(rootfromhere)/gsc:\${SHLIB_PATH}"
1293              ;;
1295        aix*) LIB_PREFIX="lib"
1296              LIB_EXTENSION=".so"
1297              SETDLPATH="LIBPATH=\$(rootfromhere)/lib:\$(rootfromhere)/gsi:\$(rootfromhere)/gsc:\${LIBPATH}"
1298              ;;
1300           *) LIB_PREFIX="lib"
1301              LIB_EXTENSION=".so"
1302              SETDLPATH="LD_LIBRARY_PATH=\$(rootfromhere)/lib:\$(rootfromhere)/gsi:\$(rootfromhere)/gsc:\${LD_LIBRARY_PATH}"
1303              ;;
1304   esac
1306   MAKE_LIBRARY='$(C_COMPILER) $(FLAGS_LIB) -o $(LIBRARY) $(LIBRARY_OBJECTS) $(MAKE_LIBRARY_LIBS) $(LIBS)'
1307   MAKE_LIBRARY_FOR_INSTALL='$(C_COMPILER) $(FLAGS_LIB) -o $(LIBRARY) $(LIBRARY_OBJECTS) $(MAKE_LIBRARY_FOR_INSTALL_LIBS) $(LIBS)'
1308   FIXLIB=':'
1309   LINK='$(C_COMPILER) $(FLAGS_EXE) $(EXECUTABLE_OBJECTS) $(LINK_LIBS) $(LIBS) -o $(EXECUTABLE)'
1310   LINK_FOR_INSTALL='$(C_COMPILER) $(FLAGS_EXE) $(EXECUTABLE_OBJECTS) $(LINK_FOR_INSTALL_LIBS) $(LIBS) -o $(EXECUTABLE)'
1312 else
1314   SETDLPATH=""
1316   if test "$C_COMP_VISUALC" = yes; then
1318     ########## Microsoft Visual C++ compiler
1320     LIB_PREFIX="lib"
1321     LIB_EXTENSION=".lib"
1322     MAKE_LIBRARY='lib -out:$(LIBRARY) $(LIBRARY_OBJECTS)'
1323     MAKE_LIBRARY_FOR_INSTALL=':'
1324     FIXLIB=':'
1325     LINK='$(C_COMPILER) $(FLAGS_EXE) $(EXECUTABLE_OBJECTS) $(LINK_LIBS) $(LIBS) -Fe$(EXECUTABLE)'
1326     LINK_FOR_INSTALL=':'
1328 #  else if test "$C_COMP_WATCOMC" = yes; then
1329 #  else if test "$C_COMP_BORLANDC" = yes; then
1331   else
1333     ########## Other C compiler
1335     LIB_PREFIX="lib"
1336     LIB_EXTENSION=".a"
1337     MAKE_LIBRARY='ar rc $(LIBRARY) $(LIBRARY_OBJECTS) && $(RANLIB) $(LIBRARY)'
1338     MAKE_LIBRARY_FOR_INSTALL=':'
1339     FIXLIB='$(RANLIB)'
1340     LINK='$(C_COMPILER) $(FLAGS_EXE) $(EXECUTABLE_OBJECTS) $(LINK_LIBS) $(LIBS) -o $(EXECUTABLE)'
1341     LINK_FOR_INSTALL=':'
1343   fi
1347 if test "$C_COMP_VISUALC" = yes; then
1349   ########## Microsoft Visual C++ compiler
1351   GSC_CC_O="$C_COMPILER $FLAGS_DYN -I\\\"%GSC_CC_O_GAMBCDIR_INCLUDE%\\\" $GSC_CC_O_DEFS -Fe\\\"%GSC_CC_O_OBJ_FILENAME%\\\" %GSC_CC_O_CC_OPTIONS% %GSC_CC_O_LD_OPTIONS_PRELUDE% \\\"%GSC_CC_O_C_FILENAME_BASE%\\\" %GSC_CC_O_LD_OPTIONS%"
1353 else
1355   case "$target_os" in
1357      mingw*) GSC_CC_O="$C_COMPILER $FLAGS_DYN -I\\\"%GSC_CC_O_GAMBCDIR_INCLUDE%\\\" $GSC_CC_O_DEFS -o \\\"%GSC_CC_O_OBJ_FILENAME%\\\" %GSC_CC_O_CC_OPTIONS% %GSC_CC_O_LD_OPTIONS_PRELUDE% \\\"%GSC_CC_O_C_FILENAME_BASE%\\\" %GSC_CC_O_LD_OPTIONS%"
1358              ;;
1360           *) GSC_CC_O="$C_COMPILER $FLAGS_DYN -I\\\"\\\$\${GSC_CC_O_GAMBCDIR_INCLUDE}\\\" $GSC_CC_O_DEFS -o \\\"\\\$\${GSC_CC_O_OBJ_FILENAME}\\\" \\\$\${GSC_CC_O_CC_OPTIONS} \\\$\${GSC_CC_O_LD_OPTIONS_PRELUDE} \\\"\\\$\${GSC_CC_O_C_FILENAME_BASE}\\\" \\\$\${GSC_CC_O_LD_OPTIONS}"
1361              ;;
1362   esac
1366 if test "$ENABLE_VERSIONNED_LIBS" = "no"; then
1368   LIB_SUFFIX=""
1370 else
1372   if test "$ENABLE_VERSIONNED_LIBS" = "yes"; then
1374     LIB_SUFFIX=`echo -$PACKAGE_VERSION | sed -e 's/\./_/g'`
1376   else
1378     LIB_SUFFIX="$ENABLE_VERSIONNED_LIBS"
1380   fi
1384 GAMBCLIB="gambc$LIB_SUFFIX"
1385 GAMBCGSCLIB="gambcgsc$LIB_SUFFIX"
1386 GAMBCGSILIB="gambcgsi$LIB_SUFFIX"
1388 if test "$ENABLE_ABSOLUTE_SHARED_LIBS" = "yes"; then
1390   MAKE_LIBRARY_FOR_INSTALL_LIBS='$$t_libdir/$(LIB_PREFIX)$(GAMBCLIB)$(LIB_EXTENSION)'
1391   LINK_FOR_INSTALL_GSI_LIBS='$$t_libdir/$(LIB_PREFIX)$(GAMBCGSILIB)$(LIB_EXTENSION) $$t_libdir/$(LIB_PREFIX)$(GAMBCLIB)$(LIB_EXTENSION)'
1392   LINK_FOR_INSTALL_GSC_LIBS='$$t_libdir/$(LIB_PREFIX)$(GAMBCGSCLIB)$(LIB_EXTENSION) $$t_libdir/$(LIB_PREFIX)$(GAMBCLIB)$(LIB_EXTENSION)'
1394 else
1396   MAKE_LIBRARY_FOR_INSTALL_LIBS='-L$(rootfromhere)/lib -l$(GAMBCLIB)'
1397   LINK_FOR_INSTALL_GSI_LIBS='-L. -L$(rootfromhere)/lib -l$(GAMBCGSILIB) -l$(GAMBCLIB)'
1398   LINK_FOR_INSTALL_GSC_LIBS='-L. -L$(rootfromhere)/lib -l$(GAMBCGSCLIB) -l$(GAMBCLIB)'
1402 ###############################################################################
1404 # Determine what prefix and suffix are added to function names by the
1405 # C compiler or linker.
1407 case "$target_os" in
1409    mingw*) # empty prefix and suffix
1410            ;;
1412   cygwin*) # empty prefix and suffix
1413            ;;
1415         *) # for other systems
1417            ac_link_obj_file='$C_COMPILER $FLAGS_DYN -Iinclude $GSC_CC_O_DEFS -o conftest.o1 conftest.$ac_ext >&5'
1419            rm -f conftest.$ac_ext conftest.o1 conftest1.sed
1421            cat >conftest.$ac_ext <<_ACEOF
1422 #line $LINENO "configure"
1423 #define ___VERSION 400000
1424 #define ___MODULE_NAME " GAMBCCHECKMODULEPREFIXSUFFIX"
1425 #define ___LINKER_ID ____20_GAMBCCHECKMODULEPREFIXSUFFIX
1426 #define ___MH_PROC ___H__20_GAMBCCHECKMODULEPREFIXSUFFIX
1427 #define ___SCRIPT_LINE 0
1428 #define ___MAX_CHR 0x10ffff
1429 #define ___VOIDSTAR_WIDTH ___LONG_WIDTH
1430 #include "gambit.h.in"
1432 ___BEGIN_MOD1
1433 ___END_MOD1
1434 ___BEGIN_MOD2
1435 ___END_MOD2
1436 _ACEOF
1438            if { (eval echo "$as_me:$LINENO: \"$ac_link_obj_file\"") >&5
1439              (eval $ac_link_obj_file) 2>&5
1440              ac_status=$?
1441              echo "$as_me:$LINENO: \$? = $ac_status" >&5
1442              (exit $ac_status); }; then
1444              cat >conftest1.sed <<_ACEOF
1445 /^.* \([[a-zA-Z0-9_$]]*\)____20_GAMBCCHECKMODULEPREFIXSUFFIX\([[a-zA-Z0-9_$]]*\)$/s//#define ___IMPORTED_ID_PREFIX "\1"\\
1446 #define ___IMPORTED_ID_SUFFIX "\2"/p
1447 _ACEOF
1449              # The nm program will extract the symbols in the object file
1450              # conftest.o1.  The following option is used:
1451              #   -g    shows the external symbols only (to avoid confusion with
1452              #         internal symbols generated by the compiler)
1453              nm -g conftest.o1 | sed -n -f conftest1.sed | sed -n -e "1,2p" >>confdefs.h
1455            fi
1456            ;;
1457 esac
1459 ###############################################################################
1461 # Determine where the installation directories are located.
1463 if test "$prefix" = "NONE"; then
1464   prefix="/usr/local/$PACKAGE_NAME"
1467 if test "$ENABLE_MULTIPLE_VERSIONS" = yes; then
1468   prefix="$prefix/$PACKAGE_VERSION"
1471 if test "$bindir" = "\${exec_prefix}/bin"; then
1472   bindir="\${prefix}/bin"
1475 if test "$includedir" = "\${prefix}/include"; then
1476   includedir="\${prefix}/include"
1479 if test "$libdir" = "\${exec_prefix}/lib"; then
1480   libdir="\${prefix}/lib"
1483 if test "$docdir" = "\${datarootdir}/doc/\${PACKAGE_TARNAME}"; then
1484   docdir="\${prefix}/doc"
1487 if test "$infodir" = "\${datarootdir}/info"; then
1488   infodir="\${prefix}/info"
1491 if test "$datadir" = "\${datarootdir}"; then
1492   datadir="\${prefix}/share"
1495 LIBRARY_DEFS="$LIBRARY_DEFS -D___GAMBCDIR=\"\\\"\${prefix}\\\"\""
1497 if test "$ENABLE_SYMLINKS" != yes; then
1499   if test "$bindir" != "\${prefix}/bin"; then
1500     LIBRARY_DEFS="$LIBRARY_DEFS -D___GAMBCDIR_BIN=\"\\\"\${bindir}\\\"\""
1501   fi
1503   if test "$includedir" != "\${prefix}/include"; then
1504     LIBRARY_DEFS="$LIBRARY_DEFS -D___GAMBCDIR_INCLUDE=\"\\\"\${includedir}\\\"\""
1505   fi
1507   if test "$libdir" != "\${prefix}/lib"; then
1508     LIBRARY_DEFS="$LIBRARY_DEFS -D___GAMBCDIR_LIB=\"\\\"\${libdir}\\\"\""
1509   fi
1511   if test "$docdir" != "\${prefix}/doc"; then
1512     LIBRARY_DEFS="$LIBRARY_DEFS -D___GAMBCDIR_DOC=\"\\\"\${docdir}\\\"\""
1513   fi
1515   if test "$infodir" != "\${prefix}/info"; then
1516     LIBRARY_DEFS="$LIBRARY_DEFS -D___GAMBCDIR_INFO=\"\\\"\${infodir}\\\"\""
1517   fi
1519   if test "$datadir" != "\${prefix}/share"; then
1520     LIBRARY_DEFS="$LIBRARY_DEFS -D___GAMBCDIR_SHARE=\"\\\"\${datadir}\\\"\""
1521   fi
1525 emacsdir="\${datadir}/emacs/site-lisp"
1527 LIBRARY_DEFS="$LIBRARY_DEFS -D___SYS_TYPE_CPU=\"\\\"$target_cpu\\\"\""
1528 LIBRARY_DEFS="$LIBRARY_DEFS -D___SYS_TYPE_VENDOR=\"\\\"$target_vendor\\\"\""
1529 LIBRARY_DEFS="$LIBRARY_DEFS -D___SYS_TYPE_OS=\"\\\"$target_os\\\"\"" 
1530 LIBRARY_DEFS="$LIBRARY_DEFS -D___CONFIGURE_COMMAND=\"\\\"$CONFIGURE_COMMAND\\\"\"" 
1532 ###############################################################################
1534 if test "$srcdir" = "."; then
1535   srcdirpfx=""
1536 else
1537   srcdirpfx="\$(srcdir)/"
1540 INSTALL='$(rootfromhere)/install-sh -c'
1541 INSTALL_DATA='$(rootfromhere)/install-sh -c -m 644'
1542 INSTALL_LIB='$(rootfromhere)/install-sh -c -m 644'
1543 INSTALL_PROGRAM='$(rootfromhere)/install-sh -c -m 755'
1545 AC_SUBST(srcdirpfx)
1546 AC_SUBST(exe)
1547 AC_SUBST(obj)
1548 AC_SUBST(bat)
1549 AC_SUBST(SETDLPATH)
1550 AC_SUBST(GSC_CC_O)
1551 AC_SUBST(LIBRARY_DEFS)
1552 AC_SUBST(LIB_PREFIX)
1553 AC_SUBST(LIB_EXTENSION)
1554 AC_SUBST(GAMBCLIB)
1555 AC_SUBST(GAMBCGSCLIB)
1556 AC_SUBST(GAMBCGSILIB)
1557 AC_SUBST(MAKE_LIBRARY)
1558 AC_SUBST(MAKE_LIBRARY_FOR_INSTALL)
1559 AC_SUBST(MAKE_LIBRARY_FOR_INSTALL_LIBS)
1560 AC_SUBST(LINK)
1561 AC_SUBST(LINK_FOR_INSTALL)
1562 AC_SUBST(LINK_FOR_INSTALL_GSI_LIBS)
1563 AC_SUBST(LINK_FOR_INSTALL_GSC_LIBS)
1564 AC_SUBST(INSTALL)
1565 AC_SUBST(INSTALL_DATA)
1566 AC_SUBST(INSTALL_LIB)
1567 AC_SUBST(INSTALL_PROGRAM)
1568 AC_SUBST(LN_S)
1569 AC_SUBST(RANLIB)
1570 AC_SUBST(RC)
1571 AC_SUBST(GIT)
1572 AC_SUBST(HG)
1573 AC_SUBST(FIXLIB)
1575 AC_SUBST(X_FLAGS)
1576 AC_SUBST(X_LIBS)
1578 AC_SUBST(ENABLE_SYMLINKS)
1579 AC_SUBST(ENABLE_INTERPRETER_NAME)
1580 AC_SUBST(ENABLE_COMPILER_NAME)
1581 AC_SUBST(ENABLE_MULTIPLE_VERSIONS)
1582 AC_SUBST(ENABLE_SHARED)
1583 AC_SUBST(ENABLE_ABSOLUTE_SHARED_LIBS)
1584 AC_SUBST(ENABLE_VERSIONNED_LIBS)
1585 AC_SUBST(emacsdir)
1586 AC_SUBST(HELP_BROWSER)
1588 AC_PROG_MAKE_SET
1590 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-doc.bat.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 prebuilt/makefile prebuilt/macosx/makefile prebuilt/macosx/build-phase2 prebuilt/windows/makefile prebuilt/windows/build-phase2)
1592 if test "$ENABLE_SINGLE_HOST" != yes; then
1593   AC_MSG_NOTICE([
1594 **************************************************************************
1595 *** The option "--enable-single-host" was not specified to the         ***
1596 *** configure script.  The Gambit-C system will compile correctly but  ***
1597 *** the code generated by the C compiler will be suboptimal and the    ***
1598 *** executables will run considerably slower than if                   ***
1599 *** "--enable-single-host" is specified.  On the other hand the build  ***
1600 *** process will be faster and require less memory.  If you have lots  ***
1601 *** of RAM memory (>= 500 Mbytes) and you are willing to wait for the  ***
1602 *** longer build try the configure option "--enable-single-host".      ***
1603 **************************************************************************
1607 if test "$C_COMP_GNUC" = yes; then
1609   if test "$ENABLE_GCC_MOVE_LOOP_INVARIANTS" != yes; then
1610     AC_MSG_NOTICE([
1611 **************************************************************************
1612 *** The GCC compiler that is being used has problems compiling Gambit  ***
1613 *** generated code when the normal set of C compiler optimizations are ***
1614 *** enabled and the configure flag "--enable-single-host" is           ***
1615 *** specified.  It can take over 20 GBytes of virtual memory to        ***
1616 *** compile some files.  For this reason the GCC compiler optimization ***
1617 *** which performs loop invariant code motion has been disabled by     ***
1618 *** adding the GCC command line option "-fno-move-loop-invariants".    ***
1619 *** This greatly reduces compile time space requirements and it has a  ***
1620 *** small impact on overall run time performance, but for some tight   ***
1621 *** loops the effect is larger.  If you want to avoid this problem     ***
1622 *** then upgrade your version of GCC to 4.4 (or above hopefully) or    ***
1623 *** downgrade to a version prior to 4.2 .                              ***
1624 **************************************************************************
1626   fi
1628 #  if test "$ENABLE_GCC_OPTS" != yes; then
1629 #    AC_MSG_NOTICE([
1630 #**************************************************************************
1631 #*** The GCC compiler is being used but the option "--enable-gcc-opts"  ***
1632 #*** was not specified to the configure script.  The Gambit-C system    ***
1633 #*** will compile correctly but the code generated by the GCC compiler  ***
1634 #*** will be suboptimal and the executables will run slightly slower    ***
1635 #*** than if "--enable-gcc-opts" is specified.  On the other hand the   ***
1636 #*** build process will be faster and require less memory.  If you have ***
1637 #*** lots of RAM memory (>= 2 Gbytes) and you are willing to wait for   ***
1638 #*** the longer build try the configure option "--enable-gcc-opts".     ***
1639 #**************************************************************************
1641 #  fi