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