fltk/configure.in
Michael R Sweet b230781ddc Specify portable architecture options for HP-UX compilers.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1344 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2000-12-06 21:09:59 +00:00

286 lines
8.1 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.21 2000/12/06 21:09:59 easysw 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@fltk.org".
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) -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_CHECK_FUNCS(strcasecmp)
AC_PATH_XTRA
dnl# echo "Ignoring libraries \"$X_PRE_LIBS\" requested by configure."
LIBS="$LIBS$X_LIBS"
CFLAGS="$CFLAGS$X_CFLAGS"
CXXFLAGS="$CXXFLAGS$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)
if test "$ac_cv_have_overlay" = yes; then
AC_DEFINE(HAVE_OVERLAY)
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 $CXXFLAGS"
if test -z "$DEBUGFLAG"; then
# Note: Can't use -fomit-frame-pointer - prevents tools like
# libsafe from working!
# WAS: I removed the -fforce-mem, -fforce-addr, -fcaller-saves
# They all seemed to make either no difference or enlarged
# the code by a few hundred bytes.
CFLAGS="-O2 $CFLAGS"
CXXFLAGS="-O2 $CXXFLAGS"
fi
if test $PICFLAG = 1; then
CFLAGS="-fPIC $CFLAGS"
CXXFLAGS="-fPIC $CXXFLAGS"
fi
# 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"
CFLAGS="-fullwarn $CFLAGS"
CXXFLAGS="-fullwarn $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
CFLAGS="+DAportable $CFLAGS"
CXXFLAGS="+DAportable $CXXFLAGS"
;;
SunOS*)
# Solaris
if test -z "$DEBUGFLAG"; then
CFLAGS="-xO3"
CXXFLAGS="-xO3"
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@fltk.org...
echo "Building FLTK with default compiler optimizations; contact"
echo "fltk-bugs@fltk.org 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.21 2000/12/06 21:09:59 easysw Exp $".
dnl