Skip to content
Browse files

Make configure script output a message which helps avoid LLVM GCC (us…

…eful on Mac OS X)
  • Loading branch information...
1 parent 8f40765 commit 3ff5d229880263b4d37df9b578c79e116716427b @feeley committed Oct 17, 2011
Showing with 33 additions and 0 deletions.
  1. +33 −0 configure.ac
View
33 configure.ac
@@ -145,9 +145,11 @@ if test "$ENABLE_GUIDE" = yes; then
ENABLE_GUIDE=no
AC_MSG_NOTICE([
************************************************************************
+*** ***
*** The Gambit Universal IDE requires that the system be built using ***
*** the Qt GUI library version 3.3. Version $qt_version of Qt is currently ***
*** installed. ***
+*** ***
************************************************************************
])
@@ -158,9 +160,11 @@ if test "$ENABLE_GUIDE" = yes; then
ENABLE_GUIDE=no
AC_MSG_NOTICE([
************************************************************************
+*** ***
*** The Gambit Universal IDE requires that the system be built using ***
*** the Qt GUI library. This library could not be located. Make ***
*** sure that the program qmake is in your PATH. ***
+*** ***
************************************************************************
])
@@ -171,9 +175,11 @@ if test "$ENABLE_GUIDE" = yes; then
ENABLE_GUIDE=no
AC_MSG_NOTICE([
************************************************************************
+*** ***
*** The Gambit Universal IDE requires that the system be built using ***
*** a C++ compiler. You must specify both "--enable-cplusplus" and ***
*** "--enable-guide" to include the Gambit Universal IDE. ***
+*** ***
************************************************************************
])
@@ -535,6 +541,7 @@ fi
])])
AC_CHECK_C_COMPILER_DEF(__GNUC__,C_COMP_GNUC)
+AC_CHECK_C_COMPILER_DEF(__llvm__,C_COMP_LLVM)
AC_CHECK_C_COMPILER_DEF(_MSC_VER,C_COMP_VISUALC)
#AC_CHECK_C_COMPILER_DEF(__WATCOMC__,C_COMP_WATCOMC)
#AC_CHECK_C_COMPILER_DEF(__BORLANDC__,C_COMP_BORLANDC)
@@ -1354,13 +1361,15 @@ else
AC_MSG_NOTICE([
*********************************************************************
+*** ***
*** The GCC compiler is not being used and the operating system ***
*** is not one that has been tested with the Gambit-C system. ***
*** The configure script will use certain compiler options that ***
*** may not be correct or sufficient for compiling the system. ***
*** Please report success or failure to gambit@iro.umontreal.ca. ***
*** This will help us support this operating system in the ***
*** future. ***
+*** ***
*********************************************************************
])
@@ -1990,6 +1999,7 @@ AC_OUTPUT(makefile include/makefile include/gambit.h lib/makefile lib/guide/guid
if test "$ENABLE_SINGLE_HOST" != yes; then
AC_MSG_NOTICE([
**************************************************************************
+*** ***
*** The option "--enable-single-host" was not specified to the ***
*** configure script. The Gambit-C system will compile correctly but ***
*** the code generated by the C compiler will be suboptimal and the ***
@@ -1998,6 +2008,7 @@ if test "$ENABLE_SINGLE_HOST" != yes; then
*** process will be faster and require less memory. If you have lots ***
*** of RAM memory (>= 500 Mbytes) and you are willing to wait for the ***
*** longer build try the configure option "--enable-single-host". ***
+*** ***
**************************************************************************
])
fi
@@ -2007,6 +2018,7 @@ if test "$C_COMP_GNUC" = yes; then
if test "$ENABLE_GCC_MOVE_LOOP_INVARIANTS" != yes; then
AC_MSG_NOTICE([
**************************************************************************
+*** ***
*** The GCC compiler that is being used has problems compiling Gambit ***
*** generated code when the normal set of C compiler optimizations are ***
*** enabled and the configure flag "--enable-single-host" is ***
@@ -2019,6 +2031,27 @@ if test "$C_COMP_GNUC" = yes; then
*** loops the effect is larger. If you want to avoid this problem ***
*** then upgrade your version of GCC to 4.4 (or above hopefully) or ***
*** downgrade to a version prior to 4.2 . ***
+*** ***
+**************************************************************************
+])
+ fi
+
+ if test "$C_COMP_LLVM" = yes ; then
+
+ AC_MSG_NOTICE([
+**************************************************************************
+*** ***
+*** The LLVM GCC compiler that is being used has a bug in the ***
+*** compilation of label values (i.e. &&label). For this reason the ***
+*** use of computed gotos in the generated code has been disabled. ***
+*** This greatly reduces the run time performance. The system runs ***
+*** 5 times slower than when it is compiled with GNU GCC. It is ***
+*** highly recommended that you use the GNU GCC if possible. For ***
+*** example, on a Mac OS X computer with Xcode 4.0, you can select ***
+*** GNU GCC by configuring Gambit with the command: ***
+*** ***
+*** CC=i686-apple-darwin11-gcc-4.2.1 ./configure --enable-single-host ***
+*** ***
**************************************************************************
])
fi

0 comments on commit 3ff5d22

Please sign in to comment.
Something went wrong with that request. Please try again.