fltk/configure.in
Michael R Sweet 5d7d40fd35 Dropped use of -fomit-frame-pointer, as I've just discovered that it
prevents the use of libsafe.  Also, the code size savings are negligable
(96 bytes for FLUID)

Added I18N docos to FLUID chapter.  We probably need to expand discussion
a lot more in the 2.0 docos.

The EPM list installed the static FLTK library with execute permission,
which caused EPM to strip the library, making it impossible to link
against... :(


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1097 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2000-04-27 00:17:54 +00:00

285 lines
8.2 KiB
Bash

dnl -*- sh -*-
dnl the "configure" script is made from this by running GNU "autoconf"
dnl
dnl "$Id: configure.in,v 1.33.2.12 2000/04/27 00:17:51 mike Exp $"
dnl
dnl Configuration script for the Fast Light Tool Kit (FLTK).
dnl
dnl Copyright 1998-2000 by Bill Spitzak and others.
dnl
dnl This library is free software; you can redistribute it and/or
dnl modify it under the terms of the GNU Library General Public
dnl License as published by the Free Software Foundation; either
dnl version 2 of the License, or (at your option) any later version.
dnl
dnl This library is distributed in the hope that it will be useful,
dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
dnl Library General Public License for more details.
dnl
dnl You should have received a copy of the GNU Library General Public
dnl License along with this library; if not, write to the Free Software
dnl Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
dnl USA.
dnl
dnl Please report all bugs and problems to "fltk-bugs@easysw.com".
dnl
AC_INIT(src/Fl.cxx)
AC_PROG_RANLIB
LIBNAME="libfltk.a"
if test "$RANLIB" != ":"; then
LIBCOMMAND="ar cr"
else
LIBCOMMAND="ar crs"
fi
DSOCOMMAND="echo"
DSONAME=""
dnl Get the operating system and version number...
uname=`uname`
uversion=`uname -r | sed -e 's/-.*$//g;s/[\.]//g'`
if test "$uname" = "IRIX64"; then
uname="IRIX"
fi
dnl Clear debugging flags and only enable debugging if the user asks for
dnl it.
DEBUGFLAG=""
PICFLAG=0
CFLAGS="${CFLAGS:=}"
CXXFLAGS="${CXXFLAGS:=}"
AC_ARG_ENABLE(debug, [ --enable-debug turn on debugging [default=no]],[if eval "test x$enable_debug = xyes"; then
DEBUGFLAG="-g "
fi])
AC_ARG_ENABLE(shared, [ --enable-shared turn on shared libraries [default=no]],[
if eval "test x$enable_shared = xyes"; then
PICFLAG=1
case $uname in
SunOS* | UNIX_S*)
DSONAME="libfltk.so.1"
DSOCOMMAND="\$(CXX) -Wl,-h,libfltk.so.1 \$(LDLIBS) -G $DEBUGFLAG -o"
;;
HP-UX*)
DSONAME="libfltk.sl.1"
DSOCOMMAND="ld -b -z +h libfltk.sl.1 $DEBUGFLAG -o"
;;
OSF1*)
DSONAME="libfltk.so.1"
DSOCOMMAND="\$(CXX) -Wl,-soname,libfltk.so.1 \$(LDLIBS) -shared $DEBUGFLAG -o"
;;
IRIX*)
DSONAME="libfltk.so.1"
DSOCOMMAND="\$(CXX) -soname libfltk.so.1 \$(LDLIBS) -shared $DEBUGFLAG -o"
;;
FreeBSD* | NetBSD* | OpenBSD*)
DSONAME="libfltk.so.1"
DSOCOMMAND="\$(CXX) -Wl,-soname,\$@ -shared \$(OPTIM) -o"
;;
*)
echo "Warning: shared libraries may not be supported. Trying -shared"
echo " option with compiler."
DSONAME="libfltk.so.1"
DSOCOMMAND="\$(CXX) -Wl,-soname,libfltk.so.1 \$(LDLIBS) -shared $DEBUGFLAG -o"
;;
esac
fi])
AC_PROG_CC
AC_PROG_CXX
dnl AC_PROG_INSTALL
AC_C_BIGENDIAN
AC_CHECK_SIZEOF(short, 2)
AC_CHECK_SIZEOF(int, 4)
AC_CHECK_SIZEOF(long, 4)
if test $ac_cv_sizeof_short -eq 2; then
AC_DEFINE(U16,unsigned short)
fi
if test $ac_cv_sizeof_int -eq 4; then
AC_DEFINE(U32,unsigned)
else
if test $ac_cv_sizeof_long -eq 4; then
AC_DEFINE(U32,unsigned long)
fi
fi
if test $ac_cv_sizeof_int -eq 8; then
AC_DEFINE(U64,unsigned)
else
if test $ac_cv_sizeof_long -eq 8; then
AC_DEFINE(U64,unsigned long)
fi
fi
AC_HEADER_DIRENT
AC_CHECK_HEADER(sys/select.h)
AC_CHECK_FUNC(scandir,
if test "$uname" = "SunOS"; then
echo Not using Solaris scandir BSD emulation function.
else
AC_DEFINE(HAVE_SCANDIR)
fi)
AC_CHECK_FUNC(vsnprintf,
if test "$uname" = "HP-UX" -a "$uversion" = "1020"; then
echo Not using built-in vsnprintf function because you are running HP-UX 10.20.
else
AC_DEFINE(HAVE_VSNPRINTF)
fi)
AC_CHECK_FUNC(snprintf,
if test "$uname" = "HP-UX" -a "$uversion" = "1020"; then
echo Not using built-in snprintf function because you are running HP-UX 10.20.
else
AC_DEFINE(HAVE_SNPRINTF)
fi)
AC_CHECK_FUNCS(vsprintf)
AC_PATH_XTRA
echo "Ignoring libraries \"$X_PRE_LIBS\" requested by configure."
dnl LIBS="$LIBS$X_LIBS$X_PRE_LIBS"
LIBS="$LIBS$X_LIBS"
CFLAGS="$CFLAGS $X_CFLAGS"
CPPFLAGS="$CPPFLAGS $X_CFLAGS"
dnl My test to see if OpenGL is on this machine:
GLLIB=
AC_CHECK_LIB(GL, glXMakeCurrent, AC_DEFINE(HAVE_GL) GLLIB=" -lGLU -lGL", \
AC_CHECK_LIB(MesaGL,glXMakeCurrent, AC_DEFINE(HAVE_GL) GLLIB=" -lMesaGLU -lMesaGL",,\
-lX11 -lXext $X_EXTRA_LIBS -lm), \
-lX11 -lXext $X_EXTRA_LIBS -lm)
AC_SUBST(GLLIB)
AC_CHECK_HEADER(X11/extensions/Xdbe.h, \
if test "$uname" != "SunOS"; then
AC_DEFINE(HAVE_XDBE)
fi)
AC_CACHE_CHECK("for X overlay visuals", ac_cv_have_overlay,
if xprop -root 2>/dev/null | grep -c "SERVER_OVERLAY_VISUALS" >/dev/null; then
ac_cv_have_overlay=yes
else
ac_cv_have_overlay=no
fi)
dnl Note: Overlay support seems to be broken for menus; disable...
dnl
dnl if test "$ac_cv_have_overlay" = yes; then
dnl AC_DEFINE(HAVE_OVERLAY)
dnl fi
MAKEDEPEND="\$(CXX) -M"
dnl add warnings to compiler switches:
dnl do this last so messing with switches does not break tests
if test -n "$GXX"; then
CFLAGS="-Wall $CFLAGS"
CXXFLAGS="-Wall -Wno-return-type $CXXFLAGS"
if test -z "$DEBUGFLAG"; then
CFLAGS="-O2 -fforce-mem -fforce-addr -fcaller-saves $CFLAGS"
CXXFLAGS="-O2 -fforce-mem -fforce-addr -fcaller-saves $CXXFLAGS"
fi
if test $PICFLAG = 1; then
CFLAGS="-fPIC $CFLAGS"
CXXFLAGS="-fPIC $CXXFLAGS"
fi
CFLAGS="-fno-rtti $CFLAGS"
CXXFLAGS="-fno-rtti $CXXFLAGS"
# See if GCC supports -fno-exceptions...
echo "Testing if GCC supports -fno-exceptions..."
OLDCFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -fno-exceptions"
AC_TRY_COMPILE(,,
CXXFLAGS="$CXXFLAGS -fno-exceptions"
echo "Congratulations - your GCC supports exceptions; disabling them for FLTK...",
CFLAGS="$OLDCFLAGS"
echo "GCC does not support exceptions...")
# See if we are running Solaris; if so, try the -fpermissive option...
if test $uname = SunOS; then
echo "Testing if GCC supports -fpermissive..."
OLDCFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -fpermissive"
AC_TRY_COMPILE(,,
CXXFLAGS="$CXXFLAGS -fpermissive"
echo "Enabling -fpermissive to work around X header bugs...",
CFLAGS="$OLDCFLAGS"
echo "The -fpermissive option is not required by your GCC...")
fi
else
case `(uname) 2>/dev/null` in
IRIX*)
# Running some flavor of IRIX; see which version and
# set things up according...
if test "$uversion" -ge 62; then
# We are running IRIX 6.2 or higher; uncomment the following
# lines if you don't have IDO 7.2 or higher:
#
# CXX="CC -n32"
# CC="cc -n32"
# LD="ld -n32"
# MAKEDEPEND="CC -M"
echo "FOR BEST RESULTS BEFORE COMPILING: setenv SGI_ABI -n32"
# -woff 3322 is necessary due to errors in Xlib headers on IRIX
CFLAGS="-fullwarn $CFLAGS"
CXXFLAGS="-fullwarn -woff 1685,3322 $CXXFLAGS"
else
CXXFLAGS="+w +pp $CXXFLAGS"
fi
if test -z "$DEBUGFLAG"; then
CFLAGS="-O2 $CFLAGS"
CXXFLAGS="-O2 $CXXFLAGS"
fi
;;
HP-UX*)
# Running HP-UX; these options should work for the HP compilers.
if test -z "$DEBUGFLAG"; then
CFLAGS="+O2 $CFLAGS"
CXXFLAGS="+O2 +W336,501,736,740,749,829 $CXXFLAGS"
fi
;;
SunOS*)
# Solaris
if test -z "$DEBUGFLAG"; then
CFLAGS="-O"
CXXFLAGS="-O"
fi
if test $PICFLAG = 1; then
CFLAGS="-KPIC $CFLAGS"
CXXFLAGS="-PIC $CXXFLAGS"
fi
;;
*)
# Running some other operating system; inform the user they
# should contribute the necessary options to fltk-bugs@easysw.com...
echo "Building FLTK with default compiler optimizations; contact"
echo "fltk-bugs@easysw.com with uname and compiler options needed"
echo "for your platform, or set the CFLAGS and CXXFLAGS options"
echo "before running configure."
;;
esac
fi
CFLAGS="$DEBUGFLAG $CFLAGS"
CXXFLAGS="$DEBUGFLAG $CXXFLAGS"
AC_SUBST(DSONAME)
AC_SUBST(DSOCOMMAND)
AC_SUBST(LIBNAME)
AC_SUBST(LIBCOMMAND)
AC_SUBST(MAKEDEPEND)
AC_CONFIG_HEADER(config.h:configh.in)
AC_OUTPUT(makeinclude)
dnl
dnl End of "$Id: configure.in,v 1.33.2.12 2000/04/27 00:17:51 mike Exp $".
dnl