ddf259f2bb
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@1614 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
466 lines
12 KiB
Bash
466 lines
12 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.31.2.8 2001/09/29 15:57:32 easysw Exp $"
|
|
dnl
|
|
dnl Configuration script for the Fast Light Tool Kit (FLTK).
|
|
dnl
|
|
dnl Copyright 1998-2001 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
|
|
|
|
LINKFLTK="-lfltk"
|
|
LINKFLTKGL="-lfltk_gl"
|
|
GLDEMOS="gldemos"
|
|
|
|
LIBNAME="../lib/libfltk.a"
|
|
GLLIBNAME="../lib/libfltk_gl.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(gl, [ --enable-gl turn on OpenGL support [default=yes]])
|
|
AC_ARG_ENABLE(shared, [ --enable-shared turn on shared libraries [default=no]],[
|
|
DSOLINK=""
|
|
AC_SUBST(DSOLINK)
|
|
if eval "test x$enable_shared = xyes"; then
|
|
PICFLAG=1
|
|
case $uname in
|
|
SunOS* | UNIX_S*)
|
|
DSONAME="libfltk.so.1.1"
|
|
GLDSONAME="libfltk_gl.so.1.1"
|
|
DSOCOMMAND="\$(CXX) -h \$@ \$(LDLIBS) -G $DEBUGFLAG -o"
|
|
if test "$libdir" != "/usr/lib"; then
|
|
DSOLINK="-R$libdir"
|
|
fi
|
|
;;
|
|
HP-UX*)
|
|
DSONAME="libfltk.sl.1.1"
|
|
GLDSONAME="libfltk_gl.sl.1.1"
|
|
DSOCOMMAND="ld -b -z +h \$@ $DEBUGFLAG -o"
|
|
if test "$libdir" != "/usr/lib"; then
|
|
DSOLINK="-Wl,-rpath,$libdir"
|
|
fi
|
|
;;
|
|
IRIX* | OSF1*)
|
|
DSONAME="libfltk.so.1.1"
|
|
GLDSONAME="libfltk_gl.so.1.1"
|
|
DSOCOMMAND="\$(CXX) -Wl,-soname,\$@ \$(LDLIBS) -shared $DEBUGFLAG -o"
|
|
if test "$libdir" != "/usr/lib" - a "$libdir" != "/usr/lib32"; then
|
|
DSOLINK="-Wl,-rpath,$libdir"
|
|
fi
|
|
;;
|
|
FreeBSD* | NetBSD* | OpenBSD* | Linux*)
|
|
DSONAME="libfltk.so.1.1"
|
|
GLDSONAME="libfltk_gl.so.1.1"
|
|
DSOCOMMAND="\$(CXX) -Wl,-soname,\$@ \$(LDLIBS) -shared -fPIC $DEBUGFLAG -o"
|
|
if test "$libdir" != "/usr/lib"; then
|
|
DSOLINK="-Wl,-rpath,$libdir"
|
|
fi
|
|
;;
|
|
AIX*)
|
|
DSONAME="libfltk_s.a"
|
|
GLDSONAME="libfltk_gl_s.a"
|
|
DSOCOMMAND="\$(CXX) -Wl,-bexpall,-bM:SRE,-bnoentry -o"
|
|
;;
|
|
*)
|
|
echo "Warning: shared libraries may not be supported. Trying -shared"
|
|
echo " option with compiler."
|
|
DSONAME="libfltk.so.1.1"
|
|
GLDSONAME="libfltk_gl.so.1.1"
|
|
DSOCOMMAND="\$(CXX) -Wl,-soname,\$@ \$(LDLIBS) -shared $DEBUGFLAG -o"
|
|
;;
|
|
esac
|
|
fi])
|
|
|
|
AC_PROG_CC
|
|
AC_PROG_CXX
|
|
dnl AC_PROG_INSTALL
|
|
AC_PATH_PROG(NROFF,nroff)
|
|
if test "$NROFF" = ""; then
|
|
AC_PATH_PROG(GROFF,groff)
|
|
if test "$GROFF" = ""; then
|
|
NROFF="echo"
|
|
else
|
|
NROFF="$GROFF -T ascii"
|
|
fi
|
|
fi
|
|
AC_PATH_PROG(HTMLDOC,htmldoc)
|
|
|
|
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_DEFINE(HAVE_SYS_SELECT_H))
|
|
AC_CHECK_HEADER(sys/stdtypes.h,AC_DEFINE(HAVE_SYS_SELECT_H))
|
|
AC_CHECK_FUNC(scandir,
|
|
if test "$uname" = SunOS -o "$uname" = QNX; then
|
|
echo Not using $uname scandir 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_HEADER(strings.h,AC_DEFINE(HAVE_STRINGS_H))
|
|
AC_CHECK_FUNCS(strcasecmp)
|
|
|
|
dnl Check for image libraries...
|
|
SAVELIBS="$LIBS"
|
|
IMAGELIBS=""
|
|
|
|
AC_SUBST(IMAGELIBS)
|
|
|
|
AC_CHECK_HEADER(jpeglib.h,
|
|
AC_CHECK_LIB(jpeg, jpeg_destroy_decompress,
|
|
AC_DEFINE(HAVE_LIBJPEG)
|
|
IMAGELIBS="$IMAGELIBS -ljpeg"))
|
|
|
|
AC_CHECK_HEADER(zlib.h,
|
|
AC_CHECK_LIB(z, gzopen,
|
|
AC_DEFINE(HAVE_LIBZ)
|
|
IMAGELIBS="$IMAGELIBS -lz"
|
|
LIBS="$LIBS -lz"))
|
|
|
|
dnl PNG library uses math library functions...
|
|
AC_CHECK_LIB(m, pow)
|
|
|
|
AC_CHECK_HEADER(png.h,
|
|
AC_CHECK_LIB(png, png_read_rows,
|
|
AC_DEFINE(HAVE_LIBPNG)
|
|
IMAGELIBS="-lpng -lm$IMAGELIBS"
|
|
LIBS="-lpng -lm $LIBS"
|
|
AC_CHECK_FUNCS(png_get_valid)))
|
|
|
|
dnl Restore original LIBS settings...
|
|
LIBS="$SAVELIBS"
|
|
|
|
dnl Check for X11...
|
|
AC_PATH_XTRA
|
|
|
|
if test x$no_x = xyes; then
|
|
AC_MSG_ERROR(Configure could not find required X11 libraries, aborting.)
|
|
fi
|
|
|
|
if test "x$X_PRE_LIBS" != x; then
|
|
AC_MSG_WARN(Ignoring libraries \"$X_PRE_LIBS\" requested by configure.)
|
|
fi
|
|
|
|
LIBS="$LIBS$X_LIBS"
|
|
CFLAGS="$CFLAGS$X_CFLAGS"
|
|
CXXFLAGS="$CXXFLAGS$X_CFLAGS"
|
|
ac_cpp="$ac_cpp -I$x_includes"
|
|
|
|
dnl Check for OpenGL unless disabled...
|
|
GLLIB=
|
|
|
|
if test x$enable_gl != xno; then
|
|
AC_CHECK_HEADER(GL/gl.h,
|
|
AC_CHECK_LIB(GL, glXMakeCurrent, AC_DEFINE(HAVE_GL) GLLIB="-lGL", \
|
|
AC_CHECK_LIB(MesaGL,glXMakeCurrent, AC_DEFINE(HAVE_GL) GLLIB=" -lMesaGL",,\
|
|
-lX11 -lXext $X_EXTRA_LIBS -lm), \
|
|
-lX11 -lXext $X_EXTRA_LIBS -lm)
|
|
)
|
|
AC_CHECK_HEADER(GL/glu.h,
|
|
AC_DEFINE(HAVE_GL_GLU_H)
|
|
if test x$ac_cv_lib_GL_glXMakeCurrent = xyes; then
|
|
GLLIB="-lGLU $GLLIB"
|
|
fi
|
|
if test x$ac_cv_lib_MesaGL_glXMakeCurrent = xyes; then
|
|
GLLIB="-lMesaGLU $GLLIB"
|
|
fi
|
|
)
|
|
|
|
if test x$ac_cv_lib_GL_glXMakeCurrent = xno; then
|
|
LINKFLTKGL=""
|
|
GLLIBNAME=""
|
|
GLDSONAME=""
|
|
GLDEMOS=""
|
|
fi
|
|
else
|
|
LINKFLTKGL=""
|
|
GLLIBNAME=""
|
|
GLDSONAME=""
|
|
GLDEMOS=""
|
|
fi
|
|
|
|
AC_SUBST(GLDEMOS)
|
|
AC_SUBST(GLLIB)
|
|
|
|
dnl Check for the Xdbe extension...
|
|
AC_CHECK_HEADER(X11/extensions/Xdbe.h, \
|
|
if test "$uname" != "SunOS"; then
|
|
AC_DEFINE(HAVE_XDBE)
|
|
fi)
|
|
|
|
dnl Check for overlay visuals...
|
|
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 x$ac_cv_have_overlay = xyes; then
|
|
AC_DEFINE(HAVE_OVERLAY)
|
|
fi
|
|
|
|
dnl Figure out the appropriate formatted man page extension...
|
|
case "$uname" in
|
|
FreeBSD* | NetBSD* | OpenBSD*)
|
|
# *BSD
|
|
CAT1EXT=0
|
|
CAT3EXT=0
|
|
;;
|
|
IRIX*)
|
|
# SGI IRIX
|
|
CAT1EXT=z
|
|
CAT3EXT=z
|
|
;;
|
|
*)
|
|
# All others
|
|
CAT1EXT=1
|
|
CAT3EXT=3
|
|
;;
|
|
esac
|
|
|
|
AC_SUBST(CAT1EXT)
|
|
AC_SUBST(CAT3EXT)
|
|
|
|
dnl Fix "mandir" variable...
|
|
if test "$mandir" = "\${prefix}/man" -a "$prefix" = "/usr"; then
|
|
case "$uname" in
|
|
FreeBSD* | NetBSD* | OpenBSD*)
|
|
# *BSD
|
|
mandir="/usr/share/man"
|
|
;;
|
|
IRIX*)
|
|
# SGI IRIX
|
|
mandir="/usr/share/catman"
|
|
;;
|
|
*)
|
|
# All others
|
|
mandir="/usr/man"
|
|
;;
|
|
esac
|
|
fi
|
|
|
|
dnl Add warnings to compiler switches:
|
|
dnl do this last so messing with switches does not break tests
|
|
MAKEDEPEND="\$(CXX) -M"
|
|
|
|
if test -n "$GXX"; then
|
|
# Use gcc instead of c++ or g++, since we don't need the C++
|
|
# library to depend on... Note that this doesn't work with
|
|
# GCC 3.0, but then again not much *does* work with GCC 3.0...
|
|
CXX="$CC"
|
|
CFLAGS="-Wall $CFLAGS"
|
|
CXXFLAGS="-Wall $CXXFLAGS"
|
|
if test -z "$DEBUGFLAG"; then
|
|
#
|
|
# Note: Can't use -fomit-frame-pointer - prevents tools like
|
|
# libsafe from working!
|
|
#
|
|
# Don't use -fforce-mem, -fforce-addr, or -fcaller-saves.
|
|
# They all seem to make either no difference or enlarge
|
|
# 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...
|
|
AC_MSG_CHECKING(Testing if GCC supports -fno-exceptions...)
|
|
OLDCFLAGS="$CFLAGS"
|
|
CFLAGS="$CFLAGS -fno-exceptions"
|
|
AC_TRY_COMPILE(,,
|
|
CXXFLAGS="$CXXFLAGS -fno-exceptions"
|
|
AC_MSG_RESULT(yes; disabling them for FLTK...),
|
|
CFLAGS="$OLDCFLAGS"
|
|
AC_MSG_RESULT(no))
|
|
|
|
# See if we are running Solaris; if so, try the -fpermissive option...
|
|
if test $uname = SunOS; then
|
|
AC_MSG_CHECKING(Testing if GCC supports -fpermissive...)
|
|
|
|
OLDCFLAGS="$CFLAGS"
|
|
CFLAGS="$CFLAGS -fpermissive"
|
|
AC_TRY_COMPILE(,,
|
|
CXXFLAGS="$CXXFLAGS -fpermissive"
|
|
AC_MSG_RESULT(yes),
|
|
CFLAGS="$OLDCFLAGS"
|
|
AC_MSG_RESULT(no))
|
|
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 -mips3"
|
|
# CC="cc -n32 -mips3"
|
|
# LD="ld -n32 -mips3"
|
|
# MAKEDEPEND="CC -M"
|
|
|
|
if test "x`grep abi=n32 /etc/compiler.defaults`" = x; then
|
|
AC_MSG_WARN(FOR BEST RESULTS BEFORE COMPILING: setenv SGI_ABI \"-n32 -mips3\")
|
|
fi
|
|
|
|
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
|
|
;;
|
|
AIX*)
|
|
if test -z "$DEBUGFLAG"; then
|
|
CFLAGS="-O2 $CFLAGS"
|
|
CXXFLAGS="-O2 $CXXFLAGS"
|
|
fi
|
|
echo "WARNING: The AIX C and C++ compilers are known not to correctly"
|
|
echo " compile the FLTK library. We recommend using GCC 2.95.2"
|
|
echo " under AIX."
|
|
;;
|
|
*)
|
|
# 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(DSOCOMMAND)
|
|
AC_SUBST(DSONAME)
|
|
AC_SUBST(GLDSONAME)
|
|
AC_SUBST(GLLIBNAME)
|
|
AC_SUBST(LIBCOMMAND)
|
|
AC_SUBST(LIBNAME)
|
|
AC_SUBST(LINKFLTKGL)
|
|
AC_SUBST(LINKFLTK)
|
|
AC_SUBST(MAKEDEPEND)
|
|
|
|
if test x$prefix = xNONE; then
|
|
AC_DEFINE_UNQUOTED(FLTK_DOCDIR, "/usr/local/share/doc/fltk")
|
|
else
|
|
AC_DEFINE_UNQUOTED(FLTK_DOCDIR, "$prefix/share/doc/fltk")
|
|
fi
|
|
|
|
AC_CONFIG_HEADER(config.h:configh.in)
|
|
AC_OUTPUT(makeinclude fltk-config)
|
|
|
|
chmod +x fltk-config
|
|
|
|
dnl
|
|
dnl End of "$Id: configure.in,v 1.33.2.31.2.8 2001/09/29 15:57:32 easysw Exp $".
|
|
dnl
|