Blame configure.ac

Packit 328d5c
dnl -*- sh -*-
Packit 328d5c
dnl the "configure" script is made from this by running GNU "autoconf"
Packit 328d5c
dnl
Packit 328d5c
dnl "$Id: configure.ac 11997 2016-09-30 20:51:45Z AlbrechtS $"
Packit 328d5c
dnl
Packit 328d5c
dnl Configuration script for the Fast Light Tool Kit (FLTK).
Packit 328d5c
dnl
Packit 328d5c
dnl Copyright 1998-2016 by Bill Spitzak and others.
Packit 328d5c
dnl
Packit 328d5c
dnl This library is free software. Distribution and use rights are outlined in
Packit 328d5c
dnl the file "COPYING" which should have been included with this file.  If this
Packit 328d5c
dnl file is missing or damaged, see the license at:
Packit 328d5c
dnl
Packit 328d5c
dnl     http://www.fltk.org/COPYING.php
Packit 328d5c
dnl
Packit 328d5c
dnl Please report all bugs and problems on the following page:
Packit 328d5c
dnl
Packit 328d5c
dnl      http://www.fltk.org/str.php
Packit 328d5c
dnl
Packit 328d5c
Packit 328d5c
dnl We need at least autoconf 2.50...
Packit 328d5c
AC_PREREQ([2.50])
Packit 328d5c
Packit 328d5c
dnl Required file in package...
Packit 328d5c
AC_INIT
Packit 328d5c
AC_CONFIG_SRCDIR([src/Fl.cxx])
Packit 328d5c
Packit 328d5c
AC_CANONICAL_HOST
Packit 328d5c
Packit 328d5c
dnl Do not automatically add "-g" to compiler options...
Packit 328d5c
dnl This must be _before_ "Find compiler commands..."
Packit 328d5c
ARCHFLAGS="${ARCHFLAGS:=}"
Packit 328d5c
CFLAGS="${CFLAGS:=}"
Packit 328d5c
CPPFLAGS="${CPPFLAGS:=}"
Packit 328d5c
CXXFLAGS="${CXXFLAGS:=}"
Packit 328d5c
DSOFLAGS="${DSOFLAGS:=}"
Packit 328d5c
LDFLAGS="${LDFLAGS:=}"
Packit 328d5c
OPTIM="${OPTIM:=}"
Packit 328d5c
Packit 328d5c
dnl Find compiler commands...
Packit 328d5c
AC_PROG_CC
Packit 328d5c
AC_PROG_CXX
Packit 328d5c
Packit 328d5c
dnl So --with-archflags option is used during "checking size of long"
Packit 328d5c
case $host_os in
Packit 328d5c
    darwin*)
Packit 328d5c
	if test "x$with_archflags" != x ; then
Packit 328d5c
	    CFLAGS="$CFLAGS $with_archflags"
Packit 328d5c
	fi
Packit 328d5c
	;;
Packit 328d5c
esac
Packit 328d5c
Packit 328d5c
dnl FLTK library versions...
Packit 328d5c
FL_MAJOR_VERSION=1
Packit 328d5c
FL_MINOR_VERSION=3
Packit 328d5c
FL_PATCH_VERSION=4
Packit 328d5c
FL_DSO_VERSION=${FL_MAJOR_VERSION}.${FL_MINOR_VERSION}
Packit 328d5c
FL_ABI_VERSION=${FL_MAJOR_VERSION}.${FL_MINOR_VERSION}.0
Packit 328d5c
FL_VERSION=${FL_MAJOR_VERSION}.${FL_MINOR_VERSION}.${FL_PATCH_VERSION}
Packit 328d5c
Packit 328d5c
AC_SUBST(FL_MAJOR_VERSION)
Packit 328d5c
AC_SUBST(FL_MINOR_VERSION)
Packit 328d5c
AC_SUBST(FL_PATCH_VERSION)
Packit 328d5c
AC_SUBST(FL_DSO_VERSION)
Packit 328d5c
AC_SUBST(FL_ABI_VERSION)
Packit 328d5c
AC_SUBST(FL_VERSION)
Packit 328d5c
Packit 328d5c
AC_SUBST(ARCHFLAGS)
Packit 328d5c
AC_SUBST(OPTIM)
Packit 328d5c
Packit 328d5c
dnl FLTK build options to be used in Makefiles (defined in makeinclude)
Packit 328d5c
USEMMFILES="No"
Packit 328d5c
Packit 328d5c
dnl OS-specific pre-tests...
Packit 328d5c
dnl host_os_gui equals $host_os unless we target Cygwin or Darwin in combination with X11.
Packit 328d5c
host_os_gui=$host_os
Packit 328d5c
case $host_os in
Packit 328d5c
    cygwin*)
Packit 328d5c
	# Handle Cygwin option *first*, before all other tests.
Packit 328d5c
	AC_ARG_ENABLE(cygwin, [  --enable-cygwin         use the Cygwin libraries [[default=no]]])
Packit 328d5c
	AC_ARG_ENABLE(x11,    [  --enable-x11            with Cygwin or Mac OS, use X11 [[default=no]]])
Packit 328d5c
	if test x$enable_cygwin = xyes; then
Packit 328d5c
	    # we target Cygwin in combination with X11
Packit 328d5c
	    if test x$enable_x11 = xyes; then
Packit 328d5c
		host_os_gui="X11$host_os"
Packit 328d5c
	    fi
Packit 328d5c
	fi
Packit 328d5c
	;;
Packit 328d5c
    darwin*)
Packit 328d5c
	if test x$enable_x11 = xyes; then
Packit 328d5c
		host_os_gui="X11"
Packit 328d5c
		OPTIM="-U__APPLE__ $OPTIM"
Packit 328d5c
	fi
Packit 328d5c
	;;
Packit 328d5c
   *)
Packit 328d5c
   ;;
Packit 328d5c
esac
Packit 328d5c
Packit 328d5c
dnl Define the libraries and link options we will need.
Packit 328d5c
LINKFLTK="../lib/libfltk.a"
Packit 328d5c
LINKFLTKFORMS="../lib/libfltk_forms.a"
Packit 328d5c
LINKFLTKGL="../lib/libfltk_gl.a"
Packit 328d5c
LINKFLTKIMG="../lib/libfltk_images.a"
Packit 328d5c
GLDEMOS="gldemos"
Packit 328d5c
Packit 328d5c
LIBEXT=".a"
Packit 328d5c
LIBNAME="../lib/libfltk.a"
Packit 328d5c
FLLIBNAME="../lib/libfltk_forms.a"
Packit 328d5c
GLLIBNAME="../lib/libfltk_gl.a"
Packit 328d5c
IMGLIBNAME="../lib/libfltk_images.a"
Packit 328d5c
CAIROLIBNAME="../lib/libfltk_cairo.a"
Packit 328d5c
Packit 328d5c
LIBBASENAME="libfltk.a"
Packit 328d5c
FLLIBBASENAME="libfltk_forms.a"
Packit 328d5c
GLLIBBASENAME="libfltk_gl.a"
Packit 328d5c
IMGLIBBASENAME="libfltk_images.a"
Packit 328d5c
CAIROLIBBASENAME="libfltk_cairo.a"
Packit 328d5c
Packit 328d5c
dnl Check for Cairo library unless disabled...
Packit 328d5c
CAIRODIR=""
Packit 328d5c
CAIROFLAGS=""
Packit 328d5c
LINKFLTKCAIRO=""
Packit 328d5c
FLTKCAIROOPTION=""
Packit 328d5c
CAIROLIBS=""
Packit 328d5c
Packit 328d5c
AC_ARG_ENABLE(cairoext,[  --enable-cairoext       use fltk code instrumentation for cairo extended use [[default=no]]])
Packit 328d5c
AC_ARG_ENABLE(cairo,   [  --enable-cairo          use lib Cairo [[default=no]]])
Packit 328d5c
Packit 328d5c
if test x$enable_cairoext = xyes; then
Packit 328d5c
	  AC_DEFINE(FLTK_USE_CAIRO)
Packit 328d5c
	  AC_DEFINE(FLTK_HAVE_CAIRO)
Packit 328d5c
	  dnl FIXME This part should be fixed so configure do not depend on
Packit 328d5c
	  dnl we do not rely on pkg-config .
Packit 328d5c
	  CAIRODIR="cairo"
Packit 328d5c
	  CAIROFLAGS="`pkg-config --cflags cairo`"
Packit 328d5c
	  CAIROLIBS="-lcairo -lpixman-1"
Packit 328d5c
	  CXXFLAGS="$CAIROFLAGS $CXXFLAGS"
Packit 328d5c
	  LINKFLTKCAIRO="../lib/libfltk_cairo.a"
Packit 328d5c
	  FLTKCAIROOPTION="-L ../cairo -lfltk_cairo$SHAREDSUFFIX"
Packit 328d5c
	  LIBS="$CAIROLIBS $LIBS"
Packit 328d5c
	  dnl $LINKFLTKCAIRO
Packit 328d5c
	  LINKFLTK+=" $LINKFLTKCAIRO"
Packit 328d5c
else
Packit 328d5c
    if test x$enable_cairo = xyes; then
Packit 328d5c
	  AC_DEFINE(FLTK_HAVE_CAIRO)
Packit 328d5c
	  dnl FIXME This part should be fixed so configure do not depend on
Packit 328d5c
	  dnl we do not rely on pkg-config .
Packit 328d5c
	  CAIRODIR="cairo"
Packit 328d5c
	  CAIROFLAGS="`pkg-config --cflags cairo`"
Packit 328d5c
	  CAIROLIBS="-lcairo -lpixman-1"
Packit 328d5c
	  CXXFLAGS="$CAIROFLAGS $CXXFLAGS"
Packit 328d5c
	  LINKFLTKCAIRO="../lib/libfltk_cairo.a"
Packit 328d5c
	  FLTKCAIROOPTION="-L ../cairo -lfltk_cairo$SHAREDSUFFIX"
Packit 328d5c
    fi
Packit 328d5c
fi
Packit 328d5c
Packit 328d5c
AC_SUBST(CAIRODIR)
Packit 328d5c
AC_SUBST(CAIROFLAGS)
Packit 328d5c
AC_SUBST(CAIROLIBS)
Packit 328d5c
AC_SUBST(LINKFLTKCAIRO)
Packit 328d5c
AC_SUBST(FLTKCAIROOPTION)
Packit 328d5c
Packit 328d5c
AC_SUBST(FLLIBNAME)
Packit 328d5c
AC_SUBST(GLDEMOS)
Packit 328d5c
AC_SUBST(GLLIBNAME)
Packit 328d5c
AC_SUBST(IMGLIBNAME)
Packit 328d5c
AC_SUBST(CAIROLIBNAME)
Packit 328d5c
AC_SUBST(LIBEXT)
Packit 328d5c
AC_SUBST(LIBNAME)
Packit 328d5c
AC_SUBST(LINKFLTK)
Packit 328d5c
AC_SUBST(LINKFLTKFORMS)
Packit 328d5c
AC_SUBST(LINKFLTKGL)
Packit 328d5c
AC_SUBST(LINKFLTKIMG)
Packit 328d5c
Packit 328d5c
AC_SUBST(LIBBASENAME)
Packit 328d5c
AC_SUBST(FLLIBBASENAME)
Packit 328d5c
AC_SUBST(GLLIBBASENAME)
Packit 328d5c
AC_SUBST(IMGLIBBASENAME)
Packit 328d5c
AC_SUBST(CAIROLIBBASENAME)
Packit 328d5c
Packit 328d5c
has_abiversion=""
Packit 328d5c
AC_ARG_WITH(abiversion,
Packit 328d5c
[  --with-abiversion       Build with FL_ABI_VERSION, e.g. 10304 for FLTK 1.3.4])
Packit 328d5c
has_abiversion="$with_abiversion"
Packit 328d5c
if test "$has_abiversion" = "yes" ; then
Packit 328d5c
 has_abiversion=""
Packit 328d5c
else
Packit 328d5c
 if test "$has_abiversion" = "no" ; then
Packit 328d5c
  has_abiversion=""
Packit 328d5c
 fi
Packit 328d5c
fi
Packit 328d5c
if test ! "$has_abiversion" = "" ; then
Packit 328d5c
 AC_DEFINE_UNQUOTED(FL_ABI_VERSION, [$has_abiversion], [define to FL_ABI_VERSION])
Packit 328d5c
fi
Packit 328d5c
Packit 328d5c
dnl Handle compile-time options...
Packit 328d5c
AC_ARG_ENABLE(debug, [  --enable-debug          turn on debugging [[default=no]]])
Packit 328d5c
if test x$enable_debug = xyes; then
Packit 328d5c
    DEBUGFLAG="-g "
Packit 328d5c
else
Packit 328d5c
    DEBUGFLAG=""
Packit 328d5c
fi
Packit 328d5c
Packit 328d5c
AC_ARG_ENABLE(cp936, [  --enable-cp936          turn on CP936 [[default=no]]])
Packit 328d5c
if test x$enable_cp936 = xyes; then
Packit 328d5c
    CFLAGS="$CFLAGS -DCP936"
Packit 328d5c
fi
Packit 328d5c
Packit 328d5c
AC_ARG_ENABLE(gl, [  --enable-gl             turn on OpenGL support [[default=yes]]])
Packit 328d5c
Packit 328d5c
AC_ARG_ENABLE(shared, [  --enable-shared         turn on shared libraries [[default=no]]])
Packit 328d5c
if test x$enable_shared = xyes; then
Packit 328d5c
    PICFLAG=1
Packit 328d5c
    SHAREDSUFFIX=""
Packit 328d5c
    FLUID="fluid-shared"
Packit 328d5c
Packit 328d5c
    case $host_os in
Packit 328d5c
	darwin*)
Packit 328d5c
	    DSONAME="libfltk.$FL_DSO_VERSION.dylib"
Packit 328d5c
	    FLDSONAME="libfltk_forms.$FL_DSO_VERSION.dylib"
Packit 328d5c
	    GLDSONAME="libfltk_gl.$FL_DSO_VERSION.dylib"
Packit 328d5c
	    IMGDSONAME="libfltk_images.$FL_DSO_VERSION.dylib"
Packit 328d5c
	    CAIRODSONAME="libfltk_cairo.$FL_DSO_VERSION.dylib"
Packit 328d5c
	    DSOCOMMAND="\$(CXX) \$(ARCHFLAGS) \$(DSOFLAGS) -dynamiclib -lc -o"
Packit 328d5c
	    ;;
Packit 328d5c
Packit 328d5c
	solaris*)
Packit 328d5c
	    DSONAME="libfltk.so.$FL_DSO_VERSION"
Packit 328d5c
	    FLDSONAME="libfltk_forms.so.$FL_DSO_VERSION"
Packit 328d5c
	    GLDSONAME="libfltk_gl.so.$FL_DSO_VERSION"
Packit 328d5c
	    IMGDSONAME="libfltk_images.so.$FL_DSO_VERSION"
Packit 328d5c
	    CAIRODSONAME="libfltk_cairo.so.$FL_DSO_VERSION"
Packit 328d5c
	    DSOCOMMAND="\$(CXX) \$(DSOFLAGS) -h \$@ \$(LDLIBS) -G $DEBUGFLAG -o"
Packit 328d5c
	    if test "x$libdir" != "x/usr/lib"; then
Packit 328d5c
		    DSOLINK="-R$libdir"
Packit 328d5c
	    fi
Packit 328d5c
	    ;;
Packit 328d5c
	hpux*)
Packit 328d5c
	    DSONAME="libfltk.sl.$FL_DSO_VERSION"
Packit 328d5c
	    FLDSONAME="libfltk_forms.sl.$FL_DSO_VERSION"
Packit 328d5c
	    GLDSONAME="libfltk_gl.sl.$FL_DSO_VERSION"
Packit 328d5c
	    IMGDSONAME="libfltk_images.sl.$FL_DSO_VERSION"
Packit 328d5c
	    CAIRODSONAME="libfltk_cairo.sl.$FL_DSO_VERSION"
Packit 328d5c
	    DSOCOMMAND="ld \$(DSOFLAGS) -b -z +h \$@ $DEBUGFLAG -o"
Packit 328d5c
	    if test "x$libdir" != "x/usr/lib"; then
Packit 328d5c
		    DSOLINK="-Wl,-rpath,$libdir"
Packit 328d5c
	    fi
Packit 328d5c
	    ;;
Packit 328d5c
	irix*)
Packit 328d5c
	    DSONAME="libfltk.so.$FL_DSO_VERSION"
Packit 328d5c
	    FLDSONAME="libfltk_forms.so.$FL_DSO_VERSION"
Packit 328d5c
	    GLDSONAME="libfltk_gl.so.$FL_DSO_VERSION"
Packit 328d5c
	    IMGDSONAME="libfltk_images.so.$FL_DSO_VERSION"
Packit 328d5c
	    CAIRODSONAME="libfltk_cairo.so.$FL_DSO_VERSION"
Packit 328d5c
	    DSOCOMMAND="\$(CXX) \$(DSOFLAGS) -Wl,-soname,\$@,-set_version,sgi1.1 \$(LDLIBS) -shared $DEBUGFLAG -o"
Packit 328d5c
	    if test "x$libdir" != "x/usr/lib" -a "x$libdir" != "x/usr/lib32" -a "x$libdir" != "x/usr/lib64"; then
Packit 328d5c
		    DSOLINK="-Wl,-rpath,$libdir"
Packit 328d5c
	    fi
Packit 328d5c
	    ;;
Packit 328d5c
	osf*)
Packit 328d5c
	    DSONAME="libfltk.so.$FL_DSO_VERSION"
Packit 328d5c
	    FLDSONAME="libfltk_forms.so.$FL_DSO_VERSION"
Packit 328d5c
	    GLDSONAME="libfltk_gl.so.$FL_DSO_VERSION"
Packit 328d5c
	    IMGDSONAME="libfltk_images.so.$FL_DSO_VERSION"
Packit 328d5c
	    CAIRODSONAME="libfltk_cairo.so.$FL_DSO_VERSION"
Packit 328d5c
	    DSOCOMMAND="\$(CXX) \$(DSOFLAGS) -Wl,-soname,\$@ \$(LDLIBS) -shared $DEBUGFLAG -o"
Packit 328d5c
	    if test "x$libdir" != "x/usr/lib" -a "x$libdir" != "x/usr/lib32"; then
Packit 328d5c
		    DSOLINK="-Wl,-rpath,$libdir"
Packit 328d5c
	    fi
Packit 328d5c
	    ;;
Packit 328d5c
	linux* | *bsd*)
Packit 328d5c
	    DSONAME="libfltk.so.$FL_DSO_VERSION"
Packit 328d5c
	    FLDSONAME="libfltk_forms.so.$FL_DSO_VERSION"
Packit 328d5c
	    GLDSONAME="libfltk_gl.so.$FL_DSO_VERSION"
Packit 328d5c
	    IMGDSONAME="libfltk_images.so.$FL_DSO_VERSION"
Packit 328d5c
	    CAIRODSONAME="libfltk_cairo.so.$FL_DSO_VERSION"
Packit 328d5c
	    DSOCOMMAND="\$(CXX) \$(DSOFLAGS) -Wl,-soname,\$@ \$(LDLIBS) -shared -fPIC $DEBUGFLAG -o"
Packit 328d5c
Packit 328d5c
	    # See if the compiler supports -fvisibility...
Packit 328d5c
	    AC_CACHE_CHECK([if the compiler supports -fvisibility],
Packit 328d5c
		ac_cv_cxx_fvisibility, [
Packit 328d5c
		    OLDCXXFLAGS="$CXXFLAGS"
Packit 328d5c
		    CXXFLAGS="$CXXFLAGS -fvisibility=hidden"
Packit 328d5c
		    AC_LANG_PUSH([C++])
Packit 328d5c
		    AC_COMPILE_IFELSE(
Packit 328d5c
			[AC_LANG_PROGRAM([[]], [[]])],
Packit 328d5c
			[ac_cv_cxx_fvisibility=yes],
Packit 328d5c
			[ac_cv_cxx_fvisibility=no])
Packit 328d5c
		    CXXFLAGS="$OLDCXXFLAGS"
Packit 328d5c
		    AC_LANG_POP([])
Packit 328d5c
	    ])
Packit 328d5c
	    if test x"$ac_cv_cxx_fvisibility" = xyes; then
Packit 328d5c
		OPTIM="$OPTIM -fvisibility=hidden"
Packit 328d5c
	    fi
Packit 328d5c
Packit 328d5c
	    # See if the compiler supports -fvisibility-inlines-hidden...
Packit 328d5c
	    AC_CACHE_CHECK([if the compiler supports -fvisibility-inlines-hidden],
Packit 328d5c
		ac_cv_cxx_fvisibility_inlines, [
Packit 328d5c
		    OLDCXXFLAGS="$CXXFLAGS"
Packit 328d5c
		    CXXFLAGS="$CXXFLAGS -fvisibility-inlines-hidden"
Packit 328d5c
		    AC_LANG_PUSH([C++])
Packit 328d5c
		    AC_COMPILE_IFELSE(
Packit 328d5c
			[AC_LANG_PROGRAM([[]], [[]])],
Packit 328d5c
			[ac_cv_cxx_fvisibility_inlines=yes],
Packit 328d5c
			[ac_cv_cxx_fvisibility_inlines=no])
Packit 328d5c
		    CXXFLAGS="$OLDCXXFLAGS"
Packit 328d5c
		    AC_LANG_POP([])
Packit 328d5c
	    ])
Packit 328d5c
	    if test x"$ac_cv_cxx_fvisibility_inlines" = xyes; then
Packit 328d5c
		CXXFLAGS="$CXXFLAGS -fvisibility-inlines-hidden"
Packit 328d5c
	    fi
Packit 328d5c
Packit 328d5c
	    if test "x$libdir" != "x/usr/lib" -a "x$libdir" != "x/usr/lib64"; then
Packit 328d5c
		    DSOLINK="-Wl,-rpath,$libdir"
Packit 328d5c
	    fi
Packit 328d5c
	    ;;
Packit 328d5c
	aix*)
Packit 328d5c
	    DSONAME="libfltk_s.a"
Packit 328d5c
	    FLDSONAME="libfltk_forms_s.a"
Packit 328d5c
	    GLDSONAME="libfltk_gl_s.a"
Packit 328d5c
	    IMGDSONAME="libfltk_images_s.a"
Packit 328d5c
	    CAIRODSONAME="libfltk_cairo_s.a"
Packit 328d5c
	    DSOCOMMAND="\$(CXX) \$(DSOFLAGS) -Wl,-bexpall,-bM:SRE,-bnoentry -o"
Packit 328d5c
	    SHAREDSUFFIX="_s"
Packit 328d5c
	    ;;
Packit 328d5c
	cygwin* | mingw*)
Packit 328d5c
	    PICFLAG=0
Packit 328d5c
	    if test x$enable_cygwin != xyes; then
Packit 328d5c
		DSONAME="mgwfltknox-$FL_DSO_VERSION.dll"
Packit 328d5c
		FLDSONAME="mgwfltknox_forms-$FL_DSO_VERSION.dll"
Packit 328d5c
		GLDSONAME="mgwfltknox_gl-$FL_DSO_VERSION.dll"
Packit 328d5c
		IMGDSONAME="mgwfltknox_images-$FL_DSO_VERSION.dll"
Packit 328d5c
		CAIRODSONAME="mgwfltknox_cairo-$FL_DSO_VERSION.dll"
Packit 328d5c
	    else
Packit 328d5c
		if test x$enable_x11 = xyes; then
Packit 328d5c
		    DSONAME="cygfltk-$FL_DSO_VERSION.dll"
Packit 328d5c
		    FLDSONAME="cygfltk_forms-$FL_DSO_VERSION.dll"
Packit 328d5c
		    GLDSONAME="cygfltk_gl-$FL_DSO_VERSION.dll"
Packit 328d5c
		    IMGDSONAME="cygfltk_images-$FL_DSO_VERSION.dll"
Packit 328d5c
		    CAIRODSONAME="cygfltk_cairo-$FL_DSO_VERSION.dll"
Packit 328d5c
		else
Packit 328d5c
		    DSONAME="cygfltknox-$FL_DSO_VERSION.dll"
Packit 328d5c
		    FLDSONAME="cygfltknox_forms-$FL_DSO_VERSION.dll"
Packit 328d5c
		    GLDSONAME="cygfltknox_gl-$FL_DSO_VERSION.dll"
Packit 328d5c
		    IMGDSONAME="cygfltknox_images-$FL_DSO_VERSION.dll"
Packit 328d5c
		    CAIRODSONAME="cygfltknox_cairo-$FL_DSO_VERSION.dll"
Packit 328d5c
		fi
Packit 328d5c
	    fi
Packit 328d5c
	    #-----------------------------------------------------------
Packit 328d5c
	    # -Wl,--enable-runtime-pseudo-reloc: See str 1585
Packit 328d5c
	    # appears to be necessary for older binutils versions < 2.16
Packit 328d5c
	    #-----------------------------------------------------------
Packit 328d5c
	    LDFLAGS="$LDFLAGS -Wl,--enable-auto-import -Wl,--enable-runtime-pseudo-reloc"
Packit 328d5c
	    DSOCOMMAND="\$(CXX) \$(DSOFLAGS) -shared \
Packit 328d5c
		-Wl,--whole-archive -Wl,--export-all-symbols \
Packit 328d5c
		-Wl,--enable-runtime-pseudo-reloc -Wl,--enable-auto-import \
Packit 328d5c
		-Wl,--enable-auto-image-base -o \$@"
Packit 328d5c
	    ;;
Packit 328d5c
	*)
Packit 328d5c
	    AC_MSG_WARN([Shared libraries may not be supported. Trying -shared option with compiler.])
Packit 328d5c
	    DSONAME="libfltk.so.$FL_DSO_VERSION"
Packit 328d5c
	    FLDSONAME="libfltk_forms.so.$FL_DSO_VERSION"
Packit 328d5c
	    GLDSONAME="libfltk_gl.so.$FL_DSO_VERSION"
Packit 328d5c
	    IMGDSONAME="libfltk_images.so.$FL_DSO_VERSION"
Packit 328d5c
	    CAIRODSONAME="libfltk_cairo.so.$FL_DSO_VERSION"
Packit 328d5c
	    DSOCOMMAND="\$(CXX) \$(DSOFLAGS) -Wl,-soname,\$@ \$(LDLIBS) -shared $DEBUGFLAG -o"
Packit 328d5c
	    ;;
Packit 328d5c
    esac
Packit 328d5c
Packit 328d5c
    LINKSHARED="-L../src $FLTKCAIROOPTION -lfltk_images$SHAREDSUFFIX -lfltk_forms$SHAREDSUFFIX -lfltk$SHAREDSUFFIX"
Packit 328d5c
else
Packit 328d5c
    DSOCOMMAND="echo"
Packit 328d5c
    DSOLINK=""
Packit 328d5c
    DSONAME=""
Packit 328d5c
    FLDSONAME=""
Packit 328d5c
    GLDSONAME=""
Packit 328d5c
    IMGDSONAME=""
Packit 328d5c
    CAIRODSONAME=""
Packit 328d5c
    PICFLAG=0
Packit 328d5c
    SHAREDSUFFIX=""
Packit 328d5c
    FLUID="fluid"
Packit 328d5c
    LINKSHARED="$LINKFLTKCAIRO ../lib/libfltk_images.a ../lib/libfltk_forms.a ../lib/libfltk.a"
Packit 328d5c
fi
Packit 328d5c
Packit 328d5c
AC_SUBST(DSOCOMMAND)
Packit 328d5c
AC_SUBST(DSOFLAGS)
Packit 328d5c
AC_SUBST(DSOLINK)
Packit 328d5c
AC_SUBST(DSONAME)
Packit 328d5c
AC_SUBST(FLDSONAME)
Packit 328d5c
AC_SUBST(GLDSONAME)
Packit 328d5c
AC_SUBST(IMGDSONAME)
Packit 328d5c
AC_SUBST(CAIRODSONAME)
Packit 328d5c
AC_SUBST(SHAREDSUFFIX)
Packit 328d5c
AC_SUBST(LINKSHARED)
Packit 328d5c
AC_SUBST(FLUID)
Packit 328d5c
Packit 328d5c
AC_ARG_ENABLE(threads, [  --enable-threads        enable multi-threading support [[default=yes]]])
Packit 328d5c
Packit 328d5c
AC_ARG_WITH(optim, [  --with-optim="flags"    use custom optimization flags])
Packit 328d5c
Packit 328d5c
AC_ARG_WITH(archflags, [  --with-archflags="flags"
Packit 328d5c
			  use custom architecture flags
Packit 328d5c
			  (possible Mac OS X values include -arch i386, -arch x86_64, -arch ppc)],
Packit 328d5c
    ARCHFLAGS="$withval")
Packit 328d5c
Packit 328d5c
dnl Find commands...
Packit 328d5c
AC_PROG_INSTALL
Packit 328d5c
case $host_os in
Packit 328d5c
    osf*)
Packit 328d5c
	INSTALL="`pwd`/install-sh -c"
Packit 328d5c
	;;
Packit 328d5c
esac
Packit 328d5c
if test "$INSTALL" = "$ac_install_sh"; then
Packit 328d5c
    # Use full path to install-sh script...
Packit 328d5c
    INSTALL="`pwd`/install-sh -c"
Packit 328d5c
fi
Packit 328d5c
AC_PATH_PROG(NROFF,nroff)
Packit 328d5c
if test "x$NROFF" = "x:"; then
Packit 328d5c
    # Try groff instead of nroff...
Packit 328d5c
    AC_PATH_PROG(GROFF,groff)
Packit 328d5c
    if test "x$GROFF" = "x:"; then
Packit 328d5c
	NROFF="echo"
Packit 328d5c
    else
Packit 328d5c
	NROFF="$GROFF -T ascii"
Packit 328d5c
    fi
Packit 328d5c
fi
Packit 328d5c
AC_PATH_PROG(DOXYDOC,doxygen)
Packit 328d5c
Packit 328d5c
dnl How do we make libraries?
Packit 328d5c
AC_PROG_RANLIB
Packit 328d5c
AC_PATH_TOOL(AR, ar)
Packit 328d5c
Packit 328d5c
if test "x$AR" = "x:"; then
Packit 328d5c
    AC_MSG_ERROR([Configure could not find the library archiver, aborting.])
Packit 328d5c
fi
Packit 328d5c
Packit 328d5c
if test "x$RANLIB" != "x:"; then
Packit 328d5c
    LIBCOMMAND="$AR cr"
Packit 328d5c
else
Packit 328d5c
    LIBCOMMAND="$AR crs"
Packit 328d5c
fi
Packit 328d5c
Packit 328d5c
AC_SUBST(LIBCOMMAND)
Packit 328d5c
Packit 328d5c
dnl how to compile (Windows) resource files
Packit 328d5c
dnl this will only be used to compile resources for Windows .exe files
Packit 328d5c
AC_PATH_TOOL(RC,windres)
Packit 328d5c
Packit 328d5c
dnl Architecture checks...
Packit 328d5c
AC_CHECK_SIZEOF(short, 2)
Packit 328d5c
AC_CHECK_SIZEOF(int, 4)
Packit 328d5c
AC_CHECK_SIZEOF(long, 4)
Packit 328d5c
if test $ac_cv_sizeof_short -eq 2; then
Packit 328d5c
    AC_DEFINE(U16,unsigned short)
Packit 328d5c
fi
Packit 328d5c
if test $ac_cv_sizeof_int -eq 4; then
Packit 328d5c
    AC_DEFINE(U32,unsigned)
Packit 328d5c
else
Packit 328d5c
    if test $ac_cv_sizeof_long -eq 4; then
Packit 328d5c
	AC_DEFINE(U32,unsigned long)
Packit 328d5c
    fi
Packit 328d5c
fi
Packit 328d5c
case $host_os in
Packit 328d5c
    darwin*)
Packit 328d5c
	;;
Packit 328d5c
    *)
Packit 328d5c
	AC_C_BIGENDIAN
Packit 328d5c
Packit 328d5c
	if test $ac_cv_sizeof_int -eq 8; then
Packit 328d5c
		AC_DEFINE(U64,unsigned)
Packit 328d5c
	else
Packit 328d5c
		if test $ac_cv_sizeof_long -eq 8; then
Packit 328d5c
			AC_DEFINE(U64,unsigned long)
Packit 328d5c
		fi
Packit 328d5c
	fi
Packit 328d5c
	;;
Packit 328d5c
esac
Packit 328d5c
Packit 328d5c
dnl Does the C++ compiler support the bool type?
Packit 328d5c
AC_CACHE_CHECK(whether the compiler recognizes bool as a built-in type,
Packit 328d5c
    ac_cv_cxx_bool,[
Packit 328d5c
	AC_LANG_PUSH([C++])
Packit 328d5c
	AC_COMPILE_IFELSE(
Packit 328d5c
	    [AC_LANG_PROGRAM([[
Packit 328d5c
		int f(int  x){return 1;}
Packit 328d5c
		int f(char x){return 1;}
Packit 328d5c
		int f(bool x){return 1;}
Packit 328d5c
	      ]], [[
Packit 328d5c
		bool b = true;
Packit 328d5c
		return f(b);
Packit 328d5c
	    ]])],
Packit 328d5c
	    [ac_cv_cxx_bool=yes],
Packit 328d5c
	    [ac_cv_cxx_bool=no])
Packit 328d5c
	AC_LANG_POP([])
Packit 328d5c
    ])
Packit 328d5c
Packit 328d5c
if test "$ac_cv_cxx_bool" != yes; then
Packit 328d5c
    CXXFLAGS="-Dbool=char -Dfalse=0 -Dtrue=1 $CXXFLAGS"
Packit 328d5c
fi
Packit 328d5c
Packit 328d5c
dnl Standard headers and functions...
Packit 328d5c
AC_HEADER_DIRENT
Packit 328d5c
AC_CHECK_HEADERS([sys/select.h sys/stdtypes.h])
Packit 328d5c
Packit 328d5c
dnl Do we have the POSIX compatible scandir() prototype?
Packit 328d5c
AC_CACHE_CHECK([whether we have the POSIX compatible scandir() prototype],
Packit 328d5c
    ac_cv_cxx_scandir_posix,[
Packit 328d5c
	AC_LANG_PUSH([C++])
Packit 328d5c
	AC_COMPILE_IFELSE(
Packit 328d5c
	    [AC_LANG_PROGRAM(
Packit 328d5c
		[[#include <dirent.h>
Packit 328d5c
		  int func (const char *d, dirent ***list, void *sort) {
Packit 328d5c
		    int n = scandir(d, list, 0, (int(*)(const dirent **, const dirent **))sort);
Packit 328d5c
		    return n;
Packit 328d5c
		  }
Packit 328d5c
		]], [[
Packit 328d5c
		]])],
Packit 328d5c
	    [ac_cv_cxx_scandir_posix=yes],
Packit 328d5c
	    [ac_cv_cxx_scandir_posix=no])
Packit 328d5c
	AC_LANG_POP([])
Packit 328d5c
    ])
Packit 328d5c
Packit 328d5c
dnl Define both HAVE_SCANDIR... macros, if the POSIX compatible function is
Packit 328d5c
dnl available. Otherwise: check, whether any scandir prototype is available,
Packit 328d5c
dnl but dont use it on SunOS and QNX because of an incompatibility in pre-Y2K
Packit 328d5c
dnl SunOS scandir versions. We assume, though, that the POSIX compatible
Packit 328d5c
dnl version on newer SunOS/Solaris versions works as expected.
Packit 328d5c
if test "$ac_cv_cxx_scandir_posix" = yes; then
Packit 328d5c
    AC_DEFINE(HAVE_SCANDIR)
Packit 328d5c
    AC_DEFINE(HAVE_SCANDIR_POSIX)
Packit 328d5c
else
Packit 328d5c
    AC_CHECK_FUNC(scandir,[
Packit 328d5c
	case $host_os in
Packit 328d5c
	    solaris* | *qnx*)
Packit 328d5c
		AC_MSG_WARN([Not using $host_os scandir emulation function.])
Packit 328d5c
		;;
Packit 328d5c
	    *)
Packit 328d5c
		AC_DEFINE(HAVE_SCANDIR)
Packit 328d5c
		;;
Packit 328d5c
	esac])
Packit 328d5c
fi
Packit 328d5c
Packit 328d5c
AC_CHECK_FUNC(vsnprintf,[
Packit 328d5c
    case $host_os in
Packit 328d5c
	hpux1020)
Packit 328d5c
	    AC_MSG_WARN([Not using built-in vsnprintf function because you are running HP-UX 10.20.])
Packit 328d5c
	    ;;
Packit 328d5c
	osf4)
Packit 328d5c
	    AC_MSG_WARN([Not using built-in vsnprintf function because you are running Tru64 4.0.])
Packit 328d5c
	    ;;
Packit 328d5c
	*)
Packit 328d5c
	    AC_DEFINE(HAVE_VSNPRINTF)
Packit 328d5c
	    ;;
Packit 328d5c
    esac])
Packit 328d5c
AC_CHECK_FUNC(snprintf,[
Packit 328d5c
    case $host_os in
Packit 328d5c
	hpux1020)
Packit 328d5c
	    AC_MSG_WARN([Not using built-in snprintf function because you are running HP-UX 10.20.])
Packit 328d5c
	    ;;
Packit 328d5c
	osf4)
Packit 328d5c
	    AC_MSG_WARN([Not using built-in snprintf function because you are running Tru64 4.0.])
Packit 328d5c
	    ;;
Packit 328d5c
	*)
Packit 328d5c
	    AC_DEFINE(HAVE_SNPRINTF)
Packit 328d5c
	    ;;
Packit 328d5c
    esac])
Packit 328d5c
AC_CHECK_HEADERS(strings.h)
Packit 328d5c
AC_CHECK_FUNCS(strcasecmp strlcat strlcpy)
Packit 328d5c
Packit 328d5c
AC_CHECK_HEADERS(locale.h)
Packit 328d5c
AC_CHECK_FUNCS(localeconv)
Packit 328d5c
Packit 328d5c
dnl FLTK library uses math library functions...
Packit 328d5c
AC_SEARCH_LIBS(pow, m)
Packit 328d5c
Packit 328d5c
dnl Check for largefile support...
Packit 328d5c
AC_SYS_LARGEFILE
Packit 328d5c
Packit 328d5c
dnl Define largefile options as needed...
Packit 328d5c
LARGEFILE=""
Packit 328d5c
if test x$enable_largefile != xno; then
Packit 328d5c
	LARGEFILE="-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE"
Packit 328d5c
Packit 328d5c
	if test x$ac_cv_sys_large_files = x1; then
Packit 328d5c
		LARGEFILE="$LARGEFILE -D_LARGE_FILES"
Packit 328d5c
	fi
Packit 328d5c
Packit 328d5c
	if test x$ac_cv_sys_file_offset_bits = x64; then
Packit 328d5c
		LARGEFILE="$LARGEFILE -D_FILE_OFFSET_BITS=64"
Packit 328d5c
	fi
Packit 328d5c
fi
Packit 328d5c
AC_SUBST(LARGEFILE)
Packit 328d5c
Packit 328d5c
dnl Check for "long long" support...
Packit 328d5c
AC_CACHE_CHECK(for long long int, ac_cv_c_long_long,
Packit 328d5c
	[if test "$GCC" = yes; then
Packit 328d5c
		ac_cv_c_long_long=yes
Packit 328d5c
	else
Packit 328d5c
		AC_COMPILE_IFELSE(
Packit 328d5c
		    [AC_LANG_PROGRAM([[]],
Packit 328d5c
			[[long long int i;]])],
Packit 328d5c
		    [ac_cv_c_long_long=yes],
Packit 328d5c
		    [ac_cv_c_long_long=no])
Packit 328d5c
	fi])
Packit 328d5c
Packit 328d5c
if test $ac_cv_c_long_long = yes; then
Packit 328d5c
	AC_DEFINE(HAVE_LONG_LONG)
Packit 328d5c
fi
Packit 328d5c
Packit 328d5c
dnl Check for dlopen/dlsym...
Packit 328d5c
AC_SEARCH_LIBS(dlsym, dl, AC_DEFINE(HAVE_DLSYM))
Packit 328d5c
AC_CHECK_HEADER(dlfcn.h, AC_DEFINE(HAVE_DLFCN_H))
Packit 328d5c
Packit 328d5c
dnl Check for audio libraries...
Packit 328d5c
AUDIOLIBS=""
Packit 328d5c
Packit 328d5c
case $host_os in
Packit 328d5c
    cygwin* | mingw*)
Packit 328d5c
	dnl Cygwin environment...
Packit 328d5c
	AUDIOLIBS="-lwinmm"
Packit 328d5c
	;;
Packit 328d5c
Packit 328d5c
    darwin*)
Packit 328d5c
	AUDIOLIBS="-framework CoreAudio"
Packit 328d5c
	;;
Packit 328d5c
Packit 328d5c
    *)
Packit 328d5c
	AC_CHECK_HEADER(alsa/asoundlib.h,
Packit 328d5c
	    AC_DEFINE(HAVE_ALSA_ASOUNDLIB_H)
Packit 328d5c
	    AUDIOLIBS="-lasound")
Packit 328d5c
	;;
Packit 328d5c
esac
Packit 328d5c
Packit 328d5c
AC_SUBST(AUDIOLIBS)
Packit 328d5c
Packit 328d5c
dnl Check for image libraries...
Packit 328d5c
SAVELIBS="$LIBS"
Packit 328d5c
IMAGELIBS=""
Packit 328d5c
STATICIMAGELIBS=""
Packit 328d5c
Packit 328d5c
AC_SUBST(IMAGELIBS)
Packit 328d5c
AC_SUBST(STATICIMAGELIBS)
Packit 328d5c
Packit 328d5c
# Handle the JPEG lib linking mode (use fltk local or system lib)
Packit 328d5c
# If --enable-(resp. --disable-)localjpeg parameter is not set by user
Packit 328d5c
# Then we check the JPEG lib usability, with result in sysjpeglib_ok variable
Packit 328d5c
AC_ARG_ENABLE(localjpeg, [  --enable-localjpeg      use local JPEG library [[default=auto]]])
Packit 328d5c
# Check for System lib use if automatic mode or --disable-localjpeg is requested
Packit 328d5c
sysjpeglib_ok=no
Packit 328d5c
sysjpeginc_ok=no
Packit 328d5c
if test x$enable_localjpeg != xyes; then
Packit 328d5c
    AC_CHECK_LIB(jpeg,jpeg_CreateCompress,
Packit 328d5c
	[AC_CHECK_HEADER(jpeglib.h,
Packit 328d5c
	    sysjpeginc_ok=yes)
Packit 328d5c
	    if test x$sysjpeginc_ok = xyes; then
Packit 328d5c
		sysjpeglib_ok=yes
Packit 328d5c
	    fi])
Packit 328d5c
fi
Packit 328d5c
# Now set the jpeg lib and include flags according to the requested mode and availability
Packit 328d5c
if test x$enable_localjpeg = xyes -o x$sysjpeglib_ok = xno; then
Packit 328d5c
    JPEGINC="-I../jpeg"
Packit 328d5c
    JPEG="jpeg"
Packit 328d5c
    IMAGELIBS="-lfltk_jpeg $IMAGELIBS"
Packit 328d5c
    STATICIMAGELIBS="\$libdir/libfltk_jpeg.a $STATICIMAGELIBS"
Packit 328d5c
    AC_DEFINE(HAVE_LIBJPEG)
Packit 328d5c
    #ac_cv_lib_jpeg_jpeg_CreateCompress=no # from ima: should not be necessary
Packit 328d5c
    # Finally, warn user if system lib was requested but not found
Packit 328d5c
    if test x$enable_localjpeg = xno; then
Packit 328d5c
	AC_MSG_WARN([Cannot find system jpeg lib or header: choosing the local lib mode.])
Packit 328d5c
    fi
Packit 328d5c
else
Packit 328d5c
    JPEGINC=""
Packit 328d5c
    JPEG=""
Packit 328d5c
    IMAGELIBS="-ljpeg $IMAGELIBS"
Packit 328d5c
    STATICIMAGELIBS="-ljpeg $STATICIMAGELIBS"
Packit 328d5c
    AC_DEFINE(HAVE_LIBJPEG)
Packit 328d5c
fi
Packit 328d5c
Packit 328d5c
# Handle the ZLIB lib linking mode (use fltk local or system lib)
Packit 328d5c
# If --enable-(resp. --disable-)localzlib parameter is not set by user
Packit 328d5c
# Then we check the ZLIB lib usability, with result in syszlib_ok variable
Packit 328d5c
AC_ARG_ENABLE(localzlib, [  --enable-localzlib      use local ZLIB library [[default=auto]]])
Packit 328d5c
# Check for System lib use if automatic mode or --disable-localzlib is requested
Packit 328d5c
syszlib_ok=no
Packit 328d5c
syszinc_ok=no
Packit 328d5c
if test x$enable_localzlib != xyes; then
Packit 328d5c
    AC_CHECK_LIB(z,gzgets,
Packit 328d5c
	[AC_CHECK_HEADER(zlib.h,
Packit 328d5c
		syszinc_ok=yes)
Packit 328d5c
	if test x$syszinc_ok = xyes; then
Packit 328d5c
	    syszlib_ok=yes
Packit 328d5c
	fi])
Packit 328d5c
fi
Packit 328d5c
# Now set the Z lib and include flags according to the requested mode and availability
Packit 328d5c
if test x$enable_localzlib = xyes -o x$syszlib_ok = xno ; then
Packit 328d5c
    ZLIBINC="-I../zlib"
Packit 328d5c
    ZLIB="zlib"
Packit 328d5c
    LIBS="-lfltk_z $LIBS"
Packit 328d5c
    IMAGELIBS="-lfltk_z $IMAGELIBS"
Packit 328d5c
    STATICIMAGELIBS="\$libdir/libfltk_z.a $STATICIMAGELIBS"
Packit 328d5c
    AC_DEFINE(HAVE_LIBZ)
Packit 328d5c
    ac_cv_lib_z_gzgets=no # fc: is still necessary ?
Packit 328d5c
    # Finally, warn user if system lib was requested but not found
Packit 328d5c
    if test x$enable_localzlib = xno; then
Packit 328d5c
	AC_MSG_WARN([Cannot find system z lib or header: choosing the local lib mode.])
Packit 328d5c
    fi
Packit 328d5c
else
Packit 328d5c
    ZLIBINC=""
Packit 328d5c
    ZLIB=""
Packit 328d5c
    LIBS="-lz $LIBS"
Packit 328d5c
    IMAGELIBS="-lz $IMAGELIBS"
Packit 328d5c
    STATICIMAGELIBS="-lz $STATICIMAGELIBS"
Packit 328d5c
    AC_DEFINE(HAVE_LIBZ)
Packit 328d5c
fi
Packit 328d5c
Packit 328d5c
# Handle the PNG lib linking mode (use fltk local or system lib)
Packit 328d5c
# If --enable-(resp. --disable-)localpng parameter is not set by user
Packit 328d5c
# Then we check the png lib usability with result in syspng_lib variable
Packit 328d5c
AC_ARG_ENABLE(localpng, [  --enable-localpng       use local PNG library  [[default=auto]]])
Packit 328d5c
Packit 328d5c
# Now check if system lib is usable, we check Lib AND include availability with inc variant,
Packit 328d5c
# but only, if the builtin lib is not requested
Packit 328d5c
syspnglib_ok=no
Packit 328d5c
syspnginc_ok=no
Packit 328d5c
if test x$enable_localpng != xyes; then
Packit 328d5c
  AC_CHECK_LIB(png, png_read_info,
Packit 328d5c
    [AC_CHECK_HEADER(png.h,
Packit 328d5c
	AC_DEFINE(HAVE_PNG_H)
Packit 328d5c
	syspnginc_ok=yes)
Packit 328d5c
    AC_CHECK_HEADER(libpng/png.h,
Packit 328d5c
	AC_DEFINE(HAVE_LIBPNG_PNG_H)
Packit 328d5c
	syspnginc_ok=yes)
Packit 328d5c
    if test x$syspnginc_ok = xyes; then
Packit 328d5c
	syspnglib_ok=yes
Packit 328d5c
    fi])
Packit 328d5c
fi
Packit 328d5c
Packit 328d5c
# The following is executed if the lib was not found usable or if local lib is required explicitly
Packit 328d5c
if test x$enable_localpng = xyes -o x$syspnglib_ok = xno ; then
Packit 328d5c
    PNGINC="-I../png"
Packit 328d5c
    PNG="png"
Packit 328d5c
    IMAGELIBS="-lfltk_png $IMAGELIBS"
Packit 328d5c
    STATICIMAGELIBS="\$libdir/libfltk_png.a $STATICIMAGELIBS"
Packit 328d5c
    AC_DEFINE(HAVE_LIBPNG)
Packit 328d5c
    AC_DEFINE(HAVE_PNG_H)
Packit 328d5c
    AC_DEFINE(HAVE_PNG_GET_VALID)
Packit 328d5c
    AC_DEFINE(HAVE_PNG_SET_TRNS_TO_ALPHA)
Packit 328d5c
    # Finally, warn user if system lib was requested but not found
Packit 328d5c
    if test x$enable_localpng = xno; then
Packit 328d5c
	AC_MSG_WARN([Cannot find system png lib or header: choosing the local lib mode.])
Packit 328d5c
    fi
Packit 328d5c
else
Packit 328d5c
    PNGINC=""
Packit 328d5c
    PNG=""
Packit 328d5c
    IMAGELIBS="-lpng $IMAGELIBS"
Packit 328d5c
    STATICIMAGELIBS="-lpng $STATICIMAGELIBS"
Packit 328d5c
    AC_DEFINE(HAVE_LIBPNG)
Packit 328d5c
    AC_CHECK_LIB(png,png_get_valid, AC_DEFINE(HAVE_PNG_GET_VALID))
Packit 328d5c
    AC_CHECK_LIB(png,png_set_tRNS_to_alpha, AC_DEFINE(HAVE_PNG_SET_TRNS_TO_ALPHA))
Packit 328d5c
fi
Packit 328d5c
Packit 328d5c
AC_SUBST(JPEG)
Packit 328d5c
AC_SUBST(JPEGINC)
Packit 328d5c
AC_SUBST(PNG)
Packit 328d5c
AC_SUBST(PNGINC)
Packit 328d5c
AC_SUBST(ZLIB)
Packit 328d5c
AC_SUBST(ZLIBINC)
Packit 328d5c
Packit 328d5c
dnl Restore original LIBS settings...
Packit 328d5c
LIBS="$SAVELIBS"
Packit 328d5c
Packit 328d5c
dnl See if we need a .exe extension on executables...
Packit 328d5c
AC_EXEEXT
Packit 328d5c
Packit 328d5c
dnl Check for pthreads for multi-threaded apps...
Packit 328d5c
have_pthread=no
Packit 328d5c
PTHREAD_FLAGS=""
Packit 328d5c
Packit 328d5c
dnl Test whether we want to check for pthreads. We must not do it on Windows
Packit 328d5c
dnl unless we run under Cygwin with --enable-cygwin, since we always use
Packit 328d5c
dnl native threads on Windows (even if libpthread is available)
Packit 328d5c
check_pthread=yes
Packit 328d5c
case $host_os in
Packit 328d5c
    mingw*)
Packit 328d5c
	check_pthread=no
Packit 328d5c
	;;
Packit 328d5c
    cygwin*)
Packit 328d5c
	if test "x$enable_cygwin" != xyes; then
Packit 328d5c
	    check_pthread=no
Packit 328d5c
	fi
Packit 328d5c
	;;
Packit 328d5c
    *)
Packit 328d5c
	;;
Packit 328d5c
esac
Packit 328d5c
Packit 328d5c
if test "x$enable_threads" != xno -a x$check_pthread = xyes; then
Packit 328d5c
    AC_CHECK_HEADERS(pthread.h)
Packit 328d5c
Packit 328d5c
    if test x$ac_cv_header_pthread_h = xyes; then
Packit 328d5c
	dnl Check various threading options for the platforms we support
Packit 328d5c
	for flag in -lpthreads -lpthread -pthread; do
Packit 328d5c
	    AC_MSG_CHECKING([for pthread_create using $flag])
Packit 328d5c
	    SAVELIBS="$LIBS"
Packit 328d5c
	    LIBS="$flag $LIBS"
Packit 328d5c
	    AC_LINK_IFELSE(
Packit 328d5c
		[AC_LANG_PROGRAM(
Packit 328d5c
		    [[#include <pthread.h>]],
Packit 328d5c
		    [[pthread_create(0, 0, 0, 0);]])],
Packit 328d5c
		[have_pthread=yes],
Packit 328d5c
		[LIBS="$SAVELIBS"])
Packit 328d5c
	    AC_MSG_RESULT([$have_pthread])
Packit 328d5c
Packit 328d5c
	    if test $have_pthread = yes; then
Packit 328d5c
		AC_DEFINE(HAVE_PTHREAD)
Packit 328d5c
		PTHREAD_FLAGS="-D_THREAD_SAFE -D_REENTRANT"
Packit 328d5c
Packit 328d5c
		# Solaris requires -D_POSIX_PTHREAD_SEMANTICS to
Packit 328d5c
		# be POSIX-compliant... :(
Packit 328d5c
		case $host_os in
Packit 328d5c
		    solaris*)
Packit 328d5c
			PTHREAD_FLAGS="$PTHREAD_FLAGS -D_POSIX_PTHREAD_SEMANTICS"
Packit 328d5c
			;;
Packit 328d5c
		esac
Packit 328d5c
		break
Packit 328d5c
	    fi
Packit 328d5c
	done
Packit 328d5c
    fi
Packit 328d5c
fi
Packit 328d5c
Packit 328d5c
AC_SUBST(PTHREAD_FLAGS)
Packit 328d5c
Packit 328d5c
dnl Define OS-specific stuff...
Packit 328d5c
HLINKS=
Packit 328d5c
OSX_ONLY=:
Packit 328d5c
THREADS=
Packit 328d5c
Packit 328d5c
AC_ARG_WITH(links, [  --with-links            make header links for common misspellings [[default=no]]])
Packit 328d5c
Packit 328d5c
INSTALL_DESKTOP=""
Packit 328d5c
UNINSTALL_DESKTOP=""
Packit 328d5c
Packit 328d5c
case $host_os_gui in
Packit 328d5c
    cygwin* | mingw*)
Packit 328d5c
	dnl Cygwin environment, using windows GDI ...
Packit 328d5c
	# Recent versions of Cygwin are seriously broken and the size
Packit 328d5c
	# checks don't work because the shell puts out \r\n instead of
Packit 328d5c
	# \n.  Here we just force U32 to be defined to "unsigned"...
Packit 328d5c
	AC_DEFINE(U32,unsigned)
Packit 328d5c
	CFLAGS="-mwindows -DWIN32 -DUSE_OPENGL32 $CFLAGS"
Packit 328d5c
	CXXFLAGS="-mwindows -DWIN32 -DUSE_OPENGL32 $CXXFLAGS"
Packit 328d5c
	LDFLAGS="-mwindows $LDFLAGS"
Packit 328d5c
	DSOFLAGS="-mwindows $DSOFLAGS"
Packit 328d5c
	LIBS="$LIBS -lole32 -luuid -lcomctl32"
Packit 328d5c
	if test "x$with_optim" = x; then
Packit 328d5c
	    dnl Avoid -Os optimization on Cygwin/MinGW
Packit 328d5c
	    with_optim="-O3"
Packit 328d5c
	fi
Packit 328d5c
Packit 328d5c
	if test x$enable_gl != xno; then
Packit 328d5c
	    AC_CHECK_HEADER(GL/gl.h,
Packit 328d5c
		AC_DEFINE(HAVE_GL)
Packit 328d5c
		GLLIB="-lopengl32")
Packit 328d5c
	    AC_CHECK_HEADER(GL/glu.h,
Packit 328d5c
		AC_DEFINE(HAVE_GL_GLU_H)
Packit 328d5c
		GLLIB="-lglu32 $GLLIB")
Packit 328d5c
	else
Packit 328d5c
	    LINKFLTKGL=""
Packit 328d5c
	    GLLIBNAME=""
Packit 328d5c
	    GLDSONAME=""
Packit 328d5c
	    GLDEMOS=""
Packit 328d5c
	fi
Packit 328d5c
Packit 328d5c
	if test "x$enable_threads" != xno; then
Packit 328d5c
	    if test x$have_pthread = xyes; then
Packit 328d5c
		AC_DEFINE(HAVE_PTHREAD)
Packit 328d5c
	    fi
Packit 328d5c
	fi
Packit 328d5c
Packit 328d5c
	THREADS="threads$EXEEXT"
Packit 328d5c
Packit 328d5c
	# Don't make symlinks since Windows is not case sensitive.
Packit 328d5c
	if test "x$with_links" != xyes; then
Packit 328d5c
		HLINKS="#"
Packit 328d5c
	fi
Packit 328d5c
	;;
Packit 328d5c
Packit 328d5c
    darwin*)
Packit 328d5c
	AC_DEFINE(__APPLE_QUARTZ__)
Packit 328d5c
Packit 328d5c
	USEMMFILES="Yes"
Packit 328d5c
Packit 328d5c
	# MacOS X uses Cocoa for graphics.
Packit 328d5c
	LIBS="$LIBS -framework Cocoa"
Packit 328d5c
Packit 328d5c
	if test x$have_pthread = xyes; then
Packit 328d5c
	    AC_DEFINE(HAVE_PTHREAD)
Packit 328d5c
	    THREADS="threads$EXEEXT"
Packit 328d5c
	fi
Packit 328d5c
Packit 328d5c
	if test x$enable_gl != xno; then
Packit 328d5c
	    AC_DEFINE(HAVE_GL)
Packit 328d5c
	    AC_DEFINE(HAVE_GL_GLU_H)
Packit 328d5c
	    GLLIB="-framework OpenGL"
Packit 328d5c
	else
Packit 328d5c
	    LINKFLTKGL=""
Packit 328d5c
	    GLLIBNAME=""
Packit 328d5c
	    GLDSONAME=""
Packit 328d5c
	    GLDEMOS=""
Packit 328d5c
	fi
Packit 328d5c
Packit 328d5c
	# Don't make symlinks because HFS+ is not case sensitive...
Packit 328d5c
	if test "x$with_links" != xyes; then
Packit 328d5c
		HLINKS="#"
Packit 328d5c
	fi
Packit 328d5c
Packit 328d5c
	# Some steps are only done for OS X package management
Packit 328d5c
	OSX_ONLY=
Packit 328d5c
Packit 328d5c
	# Install/Uninstall FLUID application
Packit 328d5c
	INSTALL_DESKTOP="install-osx"
Packit 328d5c
	UNINSTALL_DESKTOP="uninstall-osx"
Packit 328d5c
	;;
Packit 328d5c
Packit 328d5c
    *)
Packit 328d5c
	# All others are UNIX/X11...
Packit 328d5c
	# This includes Cygwin target combined with X11
Packit 328d5c
	if test x$have_pthread = xyes; then
Packit 328d5c
	    AC_DEFINE(HAVE_PTHREAD)
Packit 328d5c
	    THREADS="threads$EXEEXT"
Packit 328d5c
	fi
Packit 328d5c
Packit 328d5c
	dnl Check for X11...
Packit 328d5c
	AC_PATH_XTRA
Packit 328d5c
Packit 328d5c
	if test x$no_x = xyes; then
Packit 328d5c
	    AC_MSG_ERROR([Configure could not find required X11 libraries, aborting.])
Packit 328d5c
	fi
Packit 328d5c
Packit 328d5c
	if test "x$X_PRE_LIBS" != x; then
Packit 328d5c
	    AC_MSG_WARN([Ignoring libraries "$X_PRE_LIBS" requested by configure.])
Packit 328d5c
	fi
Packit 328d5c
Packit 328d5c
	LIBS="$LIBS -lX11 $X_EXTRA_LIBS"
Packit 328d5c
	CFLAGS="$CFLAGS $X_CFLAGS"
Packit 328d5c
	CXXFLAGS="$CXXFLAGS $X_CFLAGS"
Packit 328d5c
	LDFLAGS="$X_LIBS $LDFLAGS"
Packit 328d5c
	DSOFLAGS="$X_LIBS $DSOFLAGS"
Packit 328d5c
	AC_DEFINE(USE_X11)
Packit 328d5c
	if test "x$x_includes" != x; then
Packit 328d5c
	    ac_cpp="$ac_cpp -I$x_includes"
Packit 328d5c
	fi
Packit 328d5c
Packit 328d5c
	dnl Check for OpenGL unless disabled...
Packit 328d5c
	GLLIB=
Packit 328d5c
Packit 328d5c
	if test x$enable_gl != xno; then
Packit 328d5c
	    AC_SEARCH_LIBS(dlopen, dl)
Packit 328d5c
	    AC_CHECK_HEADER(GL/gl.h,
Packit 328d5c
		AC_CHECK_LIB(GL, glXMakeCurrent,
Packit 328d5c
		    [AC_DEFINE(HAVE_GL)
Packit 328d5c
		     GLLIB="-lGL"],
Packit 328d5c
		    AC_CHECK_LIB(MesaGL, glXMakeCurrent,
Packit 328d5c
			[AC_DEFINE(HAVE_GL)
Packit 328d5c
			 GLLIB="-lMesaGL"],,
Packit 328d5c
			[-lm]),
Packit 328d5c
		    [-lm])
Packit 328d5c
		AC_CHECK_LIB(GL, glXGetProcAddressARB,
Packit 328d5c
		    AC_DEFINE(HAVE_GLXGETPROCADDRESSARB),, [-lm])
Packit 328d5c
	    )
Packit 328d5c
	    AC_CHECK_HEADER(GL/glu.h,
Packit 328d5c
		AC_DEFINE(HAVE_GL_GLU_H)
Packit 328d5c
		if test x$ac_cv_lib_GL_glXMakeCurrent = xyes; then
Packit 328d5c
		    GLLIB="-lGLU $GLLIB"
Packit 328d5c
		fi
Packit 328d5c
		if test x$ac_cv_lib_MesaGL_glXMakeCurrent = xyes; then
Packit 328d5c
		    GLLIB="-lMesaGLU $GLLIB"
Packit 328d5c
		fi
Packit 328d5c
	    )
Packit 328d5c
Packit 328d5c
	    if test x$ac_cv_lib_GL_glXMakeCurrent != xyes -a x$ac_cv_lib_MesaGL_glXMakeCurrent != xyes; then
Packit 328d5c
		LINKFLTKGL=""
Packit 328d5c
		GLLIBNAME=""
Packit 328d5c
		GLDSONAME=""
Packit 328d5c
		GLDEMOS=""
Packit 328d5c
	    fi
Packit 328d5c
	else
Packit 328d5c
	    LINKFLTKGL=""
Packit 328d5c
	    GLLIBNAME=""
Packit 328d5c
	    GLDSONAME=""
Packit 328d5c
	    GLDEMOS=""
Packit 328d5c
	fi
Packit 328d5c
Packit 328d5c
	dnl Check for Xinerama support unless disabled...
Packit 328d5c
	AC_ARG_ENABLE(xinerama, [  --enable-xinerama       turn on Xinerama support [[default=yes]]])
Packit 328d5c
Packit 328d5c
	xinerama_found=no
Packit 328d5c
	if test x$enable_xinerama != xno; then
Packit 328d5c
	    AC_CHECK_LIB(Xinerama, XineramaIsActive,
Packit 328d5c
		[AC_DEFINE(HAVE_XINERAMA)
Packit 328d5c
		 LIBS="-lXinerama $LIBS"
Packit 328d5c
		 xinerama_found=yes])
Packit 328d5c
	fi
Packit 328d5c
Packit 328d5c
	dnl Check for the Xft library unless disabled...
Packit 328d5c
	AC_ARG_ENABLE(xft, [  --enable-xft            turn on Xft support [[default=yes]]])
Packit 328d5c
Packit 328d5c
	xft_found=no
Packit 328d5c
	if test x$enable_xft != xno; then
Packit 328d5c
	    AC_PATH_PROG(FTCONFIG, freetype-config)
Packit 328d5c
Packit 328d5c
	    if test "x$FTCONFIG" != x; then
Packit 328d5c
		CPPFLAGS="`$FTCONFIG --cflags` $CPPFLAGS"
Packit 328d5c
		CFLAGS="`$FTCONFIG --cflags` $CFLAGS"
Packit 328d5c
		CXXFLAGS="`$FTCONFIG --cflags` $CXXFLAGS"
Packit 328d5c
Packit 328d5c
		AC_CHECK_LIB(fontconfig, FcPatternCreate)
Packit 328d5c
		AC_CHECK_HEADER(X11/Xft/Xft.h,
Packit 328d5c
		    AC_CHECK_LIB(Xft, XftDrawCreate,
Packit 328d5c
			[AC_DEFINE(USE_XFT)
Packit 328d5c
			 LIBS="-lXft $LIBS"
Packit 328d5c
			 xft_found=yes] ))
Packit 328d5c
	    fi
Packit 328d5c
	fi
Packit 328d5c
Packit 328d5c
	dnl Issue a warning message if Xft was not found, abort configure
Packit 328d5c
	dnl if Xft was requested explicitly (but not found)
Packit 328d5c
	if test x$enable_xft != xno -a x$xft_found != xyes; then
Packit 328d5c
	    AC_MSG_WARN([could not find the required Xft headers and/or libraries.])
Packit 328d5c
	    AC_MSG_NOTICE([please install Xft headers and libraries or use 'configure --disable-xft'.])
Packit 328d5c
	    if test x$enable_xft = xyes; then
Packit 328d5c
		AC_MSG_ERROR([Aborting.])
Packit 328d5c
	    fi
Packit 328d5c
	fi
Packit 328d5c
Packit 328d5c
	dnl Check for the Xdbe extension unless disabled...
Packit 328d5c
	AC_ARG_ENABLE(xdbe, [  --enable-xdbe           turn on Xdbe support [[default=yes]]])
Packit 328d5c
Packit 328d5c
	xdbe_found=no
Packit 328d5c
	if test x$enable_xdbe != xno; then
Packit 328d5c
	    AC_CHECK_HEADER(
Packit 328d5c
		[X11/extensions/Xdbe.h],
Packit 328d5c
		[AC_CHECK_LIB(Xext, XdbeQueryExtension,
Packit 328d5c
		    [AC_DEFINE(HAVE_XDBE)
Packit 328d5c
		     LIBS="-lXext $LIBS"
Packit 328d5c
		     xdbe_found=yes])],
Packit 328d5c
		[],
Packit 328d5c
		[#include <X11/Xlib.h>])
Packit 328d5c
	fi
Packit 328d5c
Packit 328d5c
	dnl Check for the Xfixes extension unless disabled...
Packit 328d5c
	AC_ARG_ENABLE(xfixes, [  --enable-xfixes         turn on Xfixes support [[default=yes]]])
Packit 328d5c
Packit 328d5c
	xfixes_found=no
Packit 328d5c
	if test x$enable_xfixes != xno; then
Packit 328d5c
	    AC_CHECK_HEADER(
Packit 328d5c
		[X11/extensions/Xfixes.h],
Packit 328d5c
		[AC_CHECK_LIB(Xfixes, XFixesQueryExtension,
Packit 328d5c
		    [AC_DEFINE(HAVE_XFIXES)
Packit 328d5c
		     LIBS="-lXfixes $LIBS"
Packit 328d5c
		     xfixes_found=yes])],
Packit 328d5c
		[],
Packit 328d5c
		[#include <X11/Xlib.h>])
Packit 328d5c
	fi
Packit 328d5c
Packit 328d5c
	dnl Check for the Xcursor library unless disabled...
Packit 328d5c
	AC_ARG_ENABLE(xcursor, [  --enable-xcursor        turn on Xcursor support [[default=yes]]])
Packit 328d5c
Packit 328d5c
	xcursor_found=no
Packit 328d5c
	if test x$enable_xcursor != xno; then
Packit 328d5c
	    AC_CHECK_HEADER(
Packit 328d5c
		[X11/Xcursor/Xcursor.h],
Packit 328d5c
		[AC_CHECK_LIB(Xcursor, XcursorImageCreate,
Packit 328d5c
		    [AC_DEFINE(HAVE_XCURSOR)
Packit 328d5c
		     LIBS="-lXcursor $LIBS"
Packit 328d5c
		     xcursor_found=yes])],
Packit 328d5c
		[],
Packit 328d5c
		[#include <X11/Xlib.h>])
Packit 328d5c
	fi
Packit 328d5c
Packit 328d5c
	dnl Check for the Xrender library unless disabled...
Packit 328d5c
	AC_ARG_ENABLE(xrender, [  --enable-xrender        turn on Xrender support [[default=yes]]])
Packit 328d5c
Packit 328d5c
	xrender_found=no
Packit 328d5c
	if test x$enable_xrender != xno; then
Packit 328d5c
	    AC_CHECK_HEADER(
Packit 328d5c
		[X11/extensions/Xrender.h],
Packit 328d5c
		[AC_CHECK_LIB(Xrender, XRenderQueryVersion,
Packit 328d5c
		    [AC_DEFINE(HAVE_XRENDER)
Packit 328d5c
		     LIBS="-lXrender $LIBS"
Packit 328d5c
		     xrender_found=yes])],
Packit 328d5c
		[],
Packit 328d5c
		[#include <X11/Xlib.h>])
Packit 328d5c
	fi
Packit 328d5c
Packit 328d5c
	dnl Check for the X11/Xregion.h header file...
Packit 328d5c
	AC_CHECK_HEADER(X11/Xregion.h, AC_DEFINE(HAVE_X11_XREGION_H),,
Packit 328d5c
	    [#include <X11/Xlib.h>])
Packit 328d5c
Packit 328d5c
	dnl Check for overlay visuals...
Packit 328d5c
	AC_PATH_PROG(XPROP, xprop)
Packit 328d5c
	AC_CACHE_CHECK(for X overlay visuals, ac_cv_have_overlay,
Packit 328d5c
	    if test "x$XPROP" != x; then
Packit 328d5c
		if $XPROP -root 2>/dev/null | grep -c "SERVER_OVERLAY_VISUALS" >/dev/null; then
Packit 328d5c
		    ac_cv_have_overlay=yes
Packit 328d5c
		else
Packit 328d5c
		    ac_cv_have_overlay=no
Packit 328d5c
		fi
Packit 328d5c
	    else
Packit 328d5c
		ac_cv_have_overlay=no
Packit 328d5c
	    fi)
Packit 328d5c
Packit 328d5c
	if test x$ac_cv_have_overlay = xyes; then
Packit 328d5c
	    AC_DEFINE(HAVE_OVERLAY)
Packit 328d5c
	fi
Packit 328d5c
Packit 328d5c
	# Make symlinks since UNIX/Linux is case sensitive,
Packit 328d5c
	# but Cygwin in general not.
Packit 328d5c
	case $host_os in
Packit 328d5c
	    cygwin*)
Packit 328d5c
		HLINKS="#"
Packit 328d5c
	    ;;
Packit 328d5c
	    *)
Packit 328d5c
	    ;;
Packit 328d5c
	esac
Packit 328d5c
	# Make symlinks since UNIX/Linux is case sensitive,
Packit 328d5c
	# but only if explicitly configured (default=no)
Packit 328d5c
	if test "x$with_links" != xyes; then
Packit 328d5c
		HLINKS="#"
Packit 328d5c
	fi
Packit 328d5c
Packit 328d5c
	# Install/Uninstall FLUID application support files
Packit 328d5c
	INSTALL_DESKTOP="install-linux"
Packit 328d5c
	UNINSTALL_DESKTOP="uninstall-linux"
Packit 328d5c
	;;
Packit 328d5c
esac
Packit 328d5c
Packit 328d5c
AC_SUBST(GLDEMOS)
Packit 328d5c
AC_SUBST(GLLIB)
Packit 328d5c
AC_SUBST(HLINKS)
Packit 328d5c
AC_SUBST(OSX_ONLY)
Packit 328d5c
AC_SUBST(THREADS)
Packit 328d5c
Packit 328d5c
AC_SUBST(INSTALL_DESKTOP)
Packit 328d5c
AC_SUBST(UNINSTALL_DESKTOP)
Packit 328d5c
Packit 328d5c
AC_SUBST(USEMMFILES)
Packit 328d5c
Packit 328d5c
dnl Figure out the appropriate formatted man page extension...
Packit 328d5c
case "$host_os" in
Packit 328d5c
    *bsd* | darwin*)
Packit 328d5c
	# *BSD
Packit 328d5c
	CAT1EXT=0
Packit 328d5c
	CAT3EXT=0
Packit 328d5c
	CAT6EXT=0
Packit 328d5c
	;;
Packit 328d5c
    irix*)
Packit 328d5c
	# SGI IRIX
Packit 328d5c
	CAT1EXT=z
Packit 328d5c
	CAT3EXT=z
Packit 328d5c
	CAT6EXT=z
Packit 328d5c
	;;
Packit 328d5c
    *)
Packit 328d5c
	# All others
Packit 328d5c
	CAT1EXT=1
Packit 328d5c
	CAT3EXT=3
Packit 328d5c
	CAT6EXT=6
Packit 328d5c
	;;
Packit 328d5c
esac
Packit 328d5c
Packit 328d5c
AC_SUBST(CAT1EXT)
Packit 328d5c
AC_SUBST(CAT3EXT)
Packit 328d5c
AC_SUBST(CAT6EXT)
Packit 328d5c
Packit 328d5c
dnl Fix "mandir" variable...
Packit 328d5c
if test "$mandir" = "\${prefix}/man" -a "$prefix" = "/usr"; then
Packit 328d5c
    case "$host_os" in
Packit 328d5c
	*bsd* | darwin* | linux*)
Packit 328d5c
	    # *BSD, Darwin, and Linux
Packit 328d5c
	    mandir="\${prefix}/share/man"
Packit 328d5c
	    ;;
Packit 328d5c
	irix*)
Packit 328d5c
	    # SGI IRIX
Packit 328d5c
	    mandir="\${prefix}/share/catman"
Packit 328d5c
	    ;;
Packit 328d5c
    esac
Packit 328d5c
fi
Packit 328d5c
Packit 328d5c
dnl Fix "libdir" variable...
Packit 328d5c
if test "$prefix" = NONE; then
Packit 328d5c
    prefix=/usr/local
Packit 328d5c
fi
Packit 328d5c
Packit 328d5c
if test "$exec_prefix" = NONE; then
Packit 328d5c
    exec_prefix="\${prefix}"
Packit 328d5c
fi
Packit 328d5c
Packit 328d5c
case $host_os in
Packit 328d5c
    irix[1-5]*)
Packit 328d5c
	;;
Packit 328d5c
    irix*)
Packit 328d5c
	if test "$libdir" = "\${exec_prefix}/lib" -a "$exec_prefix" = "\${prefix}" -a "$prefix" = "/usr"; then
Packit 328d5c
	    libdir="/usr/lib32"
Packit 328d5c
	fi
Packit 328d5c
	;;
Packit 328d5c
esac
Packit 328d5c
Packit 328d5c
dnl Define the command used to update the dependencies (this option
Packit 328d5c
dnl mainly for FLTK core developers - not necessary for users)
Packit 328d5c
MAKEDEPEND="\$(CXX) -M"
Packit 328d5c
AC_SUBST(MAKEDEPEND)
Packit 328d5c
Packit 328d5c
dnl Add warnings to compiler switches:
Packit 328d5c
dnl do this last so messing with switches does not break tests
Packit 328d5c
Packit 328d5c
if test -n "$GCC"; then
Packit 328d5c
    # Show all standard warnings + unused variables, conversion errors,
Packit 328d5c
    # and inlining problems when compiling...
Packit 328d5c
    OPTIM="-Wall -Wunused -Wno-format-y2k $OPTIM"
Packit 328d5c
Packit 328d5c
    # The following additional warnings are useful for tracking down problems...
Packit 328d5c
    #OPTIM="-Wshadow -Wconversion $OPTIM"
Packit 328d5c
Packit 328d5c
    # We know that Carbon is deprecated on OS X 10.4. To avoid hundreds of warnings
Packit 328d5c
    # we will temporarily disable 'deprecated' warnings on OS X.
Packit 328d5c
    case $host_os in
Packit 328d5c
	darwin[1-7])
Packit 328d5c
	    ;;
Packit 328d5c
	darwin*)
Packit 328d5c
	    OPTIM="-Wno-deprecated-declarations $OPTIM"
Packit 328d5c
	    ;;
Packit 328d5c
    esac
Packit 328d5c
Packit 328d5c
    # Set the default compiler optimizations...
Packit 328d5c
    if test -z "$DEBUGFLAG"; then
Packit 328d5c
	#
Packit 328d5c
	# Note: Can't use -fomit-frame-pointer - prevents tools like
Packit 328d5c
	#       libsafe from working!
Packit 328d5c
	#
Packit 328d5c
	#       Don't use -fforce-mem, -fforce-addr, or -fcaller-saves.
Packit 328d5c
	#       They all seem to make either no difference or enlarge
Packit 328d5c
	#       the code by a few hundred bytes.
Packit 328d5c
	#
Packit 328d5c
	#       "-Os" seems to be the best compromise between speed and
Packit 328d5c
	#       code size.  "-O3" and higher seem to make no effective
Packit 328d5c
	#       difference in the speed of the code, but does bloat the
Packit 328d5c
	#       library 10+%.
Packit 328d5c
	#
Packit 328d5c
Packit 328d5c
	if test "x$with_optim" != x; then
Packit 328d5c
	    OPTIM="$with_optim $OPTIM"
Packit 328d5c
	else
Packit 328d5c
	    OPTIM="-Os $OPTIM"
Packit 328d5c
	fi
Packit 328d5c
    fi
Packit 328d5c
Packit 328d5c
    # Generate position-independent code when needed...
Packit 328d5c
    if test $PICFLAG = 1; then
Packit 328d5c
	OPTIM="$OPTIM -fPIC"
Packit 328d5c
    fi
Packit 328d5c
Packit 328d5c
    # See if GCC supports -fno-exceptions...
Packit 328d5c
    AC_MSG_CHECKING([if GCC supports -fno-exceptions])
Packit 328d5c
    OLDCFLAGS="$CFLAGS"
Packit 328d5c
    CFLAGS="$CFLAGS -fno-exceptions"
Packit 328d5c
    AC_COMPILE_IFELSE(
Packit 328d5c
	[AC_LANG_PROGRAM([[]], [[]])],
Packit 328d5c
	[OPTIM="$OPTIM -fno-exceptions"
Packit 328d5c
	 AC_MSG_RESULT(yes)],
Packit 328d5c
	[AC_MSG_RESULT(no)])
Packit 328d5c
    CFLAGS="$OLDCFLAGS"
Packit 328d5c
Packit 328d5c
    # See if GCC supports -fno-strict-aliasing...
Packit 328d5c
    AC_MSG_CHECKING([if GCC supports -fno-strict-aliasing])
Packit 328d5c
    OLDCFLAGS="$CFLAGS"
Packit 328d5c
    CFLAGS="$CFLAGS -fno-strict-aliasing"
Packit 328d5c
    AC_COMPILE_IFELSE(
Packit 328d5c
	[AC_LANG_PROGRAM([[]], [[]])],
Packit 328d5c
	[OPTIM="$OPTIM -fno-strict-aliasing"
Packit 328d5c
	 AC_MSG_RESULT(yes)],
Packit 328d5c
	[AC_MSG_RESULT(no)])
Packit 328d5c
    CFLAGS="$OLDCFLAGS"
Packit 328d5c
Packit 328d5c
dnl Make sure that shared libraries don't have undefined references
Packit 328d5c
    # See if ld supports -no-undefined...
Packit 328d5c
    AC_MSG_CHECKING([if ld supports -no-undefined])
Packit 328d5c
    OLDLDFLAGS="$LDFLAGS"
Packit 328d5c
    LDFLAGS="$LDFLAGS -Wl,-no-undefined"
Packit 328d5c
    AC_LINK_IFELSE(
Packit 328d5c
	[AC_LANG_PROGRAM([[]], [[]])],
Packit 328d5c
	[DSOFLAGS="$DSOFLAGS -Wl,-no-undefined"
Packit 328d5c
	 AC_MSG_RESULT(yes)],
Packit 328d5c
	[AC_MSG_RESULT(no)])
Packit 328d5c
    LDFLAGS="$OLDLDFLAGS"
Packit 328d5c
Packit 328d5c
    # See if ld supports -Bsymbolic-functions...
Packit 328d5c
    AC_MSG_CHECKING([if ld supports -Bsymbolic-functions])
Packit 328d5c
    OLDLDFLAGS="$LDFLAGS"
Packit 328d5c
    LDFLAGS="$LDFLAGS -Wl,-Bsymbolic-functions"
Packit 328d5c
    AC_LINK_IFELSE(
Packit 328d5c
	[AC_LANG_PROGRAM([[]], [[]])],
Packit 328d5c
	[DSOFLAGS="$DSOFLAGS -Wl,-Bsymbolic-functions"
Packit 328d5c
	 AC_MSG_RESULT(yes)],
Packit 328d5c
	[AC_MSG_RESULT(no)])
Packit 328d5c
    LDFLAGS="$OLDLDFLAGS"
Packit 328d5c
Packit 328d5c
    # See if toolchain supports a sectioned build...
Packit 328d5c
    AC_MSG_CHECKING([if toolchain supports sections])
Packit 328d5c
    OLDLDFLAGS="$LDFLAGS"
Packit 328d5c
    OLDCFLAGS="$CFLAGS"
Packit 328d5c
    LDFLAGS="$LDFLAGS -Wl,-gc-sections"
Packit 328d5c
    CFLAGS="$CFLAGS -ffunction-sections -fdata-sections"
Packit 328d5c
    AC_LINK_IFELSE(
Packit 328d5c
	[AC_LANG_PROGRAM([[]], [[]])],
Packit 328d5c
	[DSOFLAGS="$DSOFLAGS -Wl,-gc-sections"
Packit 328d5c
	 OPTIM="$OPTIM -ffunction-sections -fdata-sections"
Packit 328d5c
	 AC_MSG_RESULT(yes)],
Packit 328d5c
	[AC_MSG_RESULT(no)])
Packit 328d5c
    LDFLAGS="$OLDLDFLAGS"
Packit 328d5c
    CFLAGS="$OLDCFLAGS"
Packit 328d5c
Packit 328d5c
    # See if we are running Solaris; if so, try the -fpermissive option...
Packit 328d5c
    # This option is required on some versions of Solaris to work around
Packit 328d5c
    # bugs in the X headers up through Solaris 7.
Packit 328d5c
    #
Packit 328d5c
    # Unlike the other compiler/optimization settings, this one is placed
Packit 328d5c
    # in CFLAGS and CXXFLAGS so that fltk-config will provide the option
Packit 328d5c
    # to clients - otherwise client apps will not compile properly...
Packit 328d5c
    case $host_os in
Packit 328d5c
	solaris*)
Packit 328d5c
	    AC_MSG_CHECKING([if GCC supports -fpermissive])
Packit 328d5c
Packit 328d5c
	    OLDCFLAGS="$CFLAGS"
Packit 328d5c
	    CFLAGS="$CFLAGS -fpermissive"
Packit 328d5c
	    AC_COMPILE_IFELSE(
Packit 328d5c
		[AC_LANG_PROGRAM([[]], [[]])],
Packit 328d5c
		[CXXFLAGS="$CXXFLAGS -fpermissive"
Packit 328d5c
		 AC_MSG_RESULT(yes)],
Packit 328d5c
		[CFLAGS="$OLDCFLAGS"
Packit 328d5c
		 AC_MSG_RESULT(no)])
Packit 328d5c
	    ;;
Packit 328d5c
    esac
Packit 328d5c
else
Packit 328d5c
    case "$host_os" in
Packit 328d5c
	irix*)
Packit 328d5c
	    # Running some flavor of IRIX; see which version and
Packit 328d5c
	    # set things up according...
Packit 328d5c
	    if test "$uversion" -ge 62; then
Packit 328d5c
		# We are running IRIX 6.2 or higher; uncomment the following
Packit 328d5c
		# lines if you don't have IDO 7.2 or higher:
Packit 328d5c
		#
Packit 328d5c
		#     CXX="CC -n32 -mips3"
Packit 328d5c
		#     CC="cc -n32 -mips3"
Packit 328d5c
		#     LD="ld -n32 -mips3"
Packit 328d5c
		#     MAKEDEPEND="CC -M"
Packit 328d5c
Packit 328d5c
		if test "x`grep abi=n32 /etc/compiler.defaults`" = x; then
Packit 328d5c
			AC_MSG_WARN([FOR BEST RESULTS BEFORE COMPILING: setenv SGI_ABI "-n32 -mips3"])
Packit 328d5c
		fi
Packit 328d5c
Packit 328d5c
		OPTIM="-fullwarn $OPTIM"
Packit 328d5c
	    fi
Packit 328d5c
	    if test -z "$DEBUGFLAG"; then
Packit 328d5c
		if test "x$with_optim" != x; then
Packit 328d5c
		    OPTIM="$with_optim $OPTIM"
Packit 328d5c
		else
Packit 328d5c
		    OPTIM="-O2 $OPTIM"
Packit 328d5c
		    if test $uversion -gt 62; then
Packit 328d5c
			OPTIM="-OPT:Olimit=4000 $OPTIM"
Packit 328d5c
		    fi
Packit 328d5c
		fi
Packit 328d5c
	    fi
Packit 328d5c
	    ;;
Packit 328d5c
	hpux*)
Packit 328d5c
	    # Running HP-UX; these options should work for the HP compilers.
Packit 328d5c
	    if test -z "$DEBUGFLAG"; then
Packit 328d5c
		if test "x$with_optim" != x; then
Packit 328d5c
		    OPTIM="$with_optim $OPTIM"
Packit 328d5c
		else
Packit 328d5c
		    OPTIM="+O2 $OPTIM"
Packit 328d5c
		fi
Packit 328d5c
	    fi
Packit 328d5c
Packit 328d5c
	    if test $PICFLAG = 1; then
Packit 328d5c
		OPTIM="+z $OPTIM"
Packit 328d5c
	    fi
Packit 328d5c
Packit 328d5c
	    CXXFLAGS="$CXXFLAGS +W336,501,736,740,749,829"
Packit 328d5c
	    ;;
Packit 328d5c
	OSF1*)
Packit 328d5c
	    # Running Digital/Tru64 UNIX; these options should work for the
Packit 328d5c
	    # Digital/Compaq/NewHP compilers.
Packit 328d5c
	    if test -z "$DEBUGFLAG"; then
Packit 328d5c
		if test "x$with_optim" != x; then
Packit 328d5c
		    OPTIM="$with_optim $OPTIM"
Packit 328d5c
		else
Packit 328d5c
		    OPTIM="-O2 $OPTIM"
Packit 328d5c
		fi
Packit 328d5c
	    fi
Packit 328d5c
	    ;;
Packit 328d5c
	solaris*)
Packit 328d5c
	    # Solaris
Packit 328d5c
	    if test -z "$DEBUGFLAG"; then
Packit 328d5c
		if test "x$with_optim" != x; then
Packit 328d5c
		    OPTIM="$with_optim $OPTIM"
Packit 328d5c
		else
Packit 328d5c
		    OPTIM="-xO3 $OPTIM"
Packit 328d5c
		fi
Packit 328d5c
	    fi
Packit 328d5c
Packit 328d5c
	    if test $PICFLAG = 1; then
Packit 328d5c
		OPTIM="-KPIC $OPTIM"
Packit 328d5c
	    fi
Packit 328d5c
	    ;;
Packit 328d5c
	aix*)
Packit 328d5c
	    if test -z "$DEBUGFLAG"; then
Packit 328d5c
		if test "x$with_optim" != x; then
Packit 328d5c
		    OPTIM="$with_optim $OPTIM"
Packit 328d5c
		else
Packit 328d5c
		    OPTIM="-O2 $OPTIM"
Packit 328d5c
		fi
Packit 328d5c
	    fi
Packit 328d5c
Packit 328d5c
	    AC_MSG_WARN([The AIX C and C++ compilers are known not to correctly compile the FLTK library.])
Packit 328d5c
	    ;;
Packit 328d5c
	*)
Packit 328d5c
	    # Running some other operating system; inform the user they
Packit 328d5c
	    # should contribute the necessary options via the STR form..
Packit 328d5c
	    AC_MSG_WARN([Building FLTK with default compiler optimizations])
Packit 328d5c
	    AC_MSG_WARN([Send the FLTK developers your uname and compiler options via http://www.fltk.org/str.php])
Packit 328d5c
	    ;;
Packit 328d5c
    esac
Packit 328d5c
fi
Packit 328d5c
Packit 328d5c
OPTIM="$DEBUGFLAG $OPTIM"
Packit 328d5c
Packit 328d5c
dnl Take archflags away from CFLAGS (makefiles use ARCHFLAGS explicitly)
Packit 328d5c
case $host_os in
Packit 328d5c
    darwin*)
Packit 328d5c
	if test "x$with_archflags" != x ; then
Packit 328d5c
	    CFLAGS="`echo $CFLAGS | sed -e "s/$with_archflags//g"`"
Packit 328d5c
	fi
Packit 328d5c
	;;
Packit 328d5c
esac
Packit 328d5c
Packit 328d5c
dnl Define the FLTK documentation directory...
Packit 328d5c
case $host_os in
Packit 328d5c
  mingw*)
Packit 328d5c
     # Determine the path where MSys has /usr installed
Packit 328d5c
	msyspath=`mount | grep '\/usr ' | cut -d ' ' -f -1 | sed -e 's/\\\/\// g'`
Packit 328d5c
     # Then substitute that in the WIN32 path instead of /usr
Packit 328d5c
	AC_DEFINE_UNQUOTED(FLTK_DOCDIR, "$msyspath/local/share/doc/fltk")
Packit 328d5c
    ;;
Packit 328d5c
  *)
Packit 328d5c
    if test x$prefix = xNONE; then
Packit 328d5c
	AC_DEFINE_UNQUOTED(FLTK_DOCDIR, "/usr/local/share/doc/fltk")
Packit 328d5c
    else
Packit 328d5c
	AC_DEFINE_UNQUOTED(FLTK_DOCDIR, "$prefix/share/doc/fltk")
Packit 328d5c
    fi
Packit 328d5c
    ;;
Packit 328d5c
esac
Packit 328d5c
Packit 328d5c
dnl Define the FLTK data directory...
Packit 328d5c
if test x$prefix = xNONE; then
Packit 328d5c
    AC_DEFINE_UNQUOTED(FLTK_DATADIR, "/usr/local/share/fltk")
Packit 328d5c
else
Packit 328d5c
    AC_DEFINE_UNQUOTED(FLTK_DATADIR, "$prefix/share/fltk")
Packit 328d5c
fi
Packit 328d5c
Packit 328d5c
dnl Summarize results of configure tests...
Packit 328d5c
echo ""
Packit 328d5c
echo "Configuration Summary"
Packit 328d5c
echo "-------------------------------------------------------------------------"
Packit 328d5c
Packit 328d5c
case $host_os_gui in
Packit 328d5c
    cygwin* | mingw*)
Packit 328d5c
	graphics="GDI"
Packit 328d5c
	;;
Packit 328d5c
    darwin*)
Packit 328d5c
	graphics="Quartz"
Packit 328d5c
	;;
Packit 328d5c
    *)
Packit 328d5c
	graphics="X11"
Packit 328d5c
	if test x$xft_found = xyes; then
Packit 328d5c
	    graphics="$graphics + Xft"
Packit 328d5c
	fi
Packit 328d5c
	if test x$xdbe_found = xyes; then
Packit 328d5c
	    graphics="$graphics + Xdbe"
Packit 328d5c
	fi
Packit 328d5c
	if test x$xfixes_found = xyes; then
Packit 328d5c
	    graphics="$graphics + Xfixes"
Packit 328d5c
	fi
Packit 328d5c
	if test x$xinerama_found = xyes; then
Packit 328d5c
	    graphics="$graphics + Xinerama"
Packit 328d5c
	fi
Packit 328d5c
	if test x$xcursor_found = xyes; then
Packit 328d5c
	    graphics="$graphics + Xcursor"
Packit 328d5c
	fi
Packit 328d5c
	if test x$xrender_found = xyes; then
Packit 328d5c
	    graphics="$graphics + Xrender"
Packit 328d5c
	fi
Packit 328d5c
	;;
Packit 328d5c
esac
Packit 328d5c
Packit 328d5c
echo "    Directories: prefix=$prefix"
Packit 328d5c
echo "                 bindir=$bindir"
Packit 328d5c
echo "                 datadir=$datadir"
Packit 328d5c
echo "                 datarootdir=$datarootdir"
Packit 328d5c
echo "                 exec_prefix=$exec_prefix"
Packit 328d5c
echo "                 includedir=$includedir"
Packit 328d5c
echo "                 libdir=$libdir"
Packit 328d5c
echo "                 mandir=$mandir"
Packit 328d5c
case $host_os in
Packit 328d5c
  mingw*)
Packit 328d5c
    echo "                 MSys docpath=$msyspath/local/share/doc/fltk"
Packit 328d5c
  ;;
Packit 328d5c
esac
Packit 328d5c
echo "       Graphics: $graphics"
Packit 328d5c
Packit 328d5c
if test x$JPEG = x; then
Packit 328d5c
    echo "Image Libraries: JPEG=System"
Packit 328d5c
else
Packit 328d5c
    echo "Image Libraries: JPEG=Builtin"
Packit 328d5c
fi
Packit 328d5c
if test x$PNG = x; then
Packit 328d5c
    echo "                 PNG=System"
Packit 328d5c
else
Packit 328d5c
    echo "                 PNG=Builtin"
Packit 328d5c
fi
Packit 328d5c
if test x$ZLIB = x; then
Packit 328d5c
    echo "                 ZLIB=System"
Packit 328d5c
else
Packit 328d5c
    echo "                 ZLIB=Builtin"
Packit 328d5c
fi
Packit 328d5c
if test x$enable_cairo = xyes; then
Packit 328d5c
    echo "                 CAIRO=lib"
Packit 328d5c
fi
Packit 328d5c
if test x$enable_cairoext = xyes; then
Packit 328d5c
    echo "                 CAIRO=internal_use"
Packit 328d5c
fi
Packit 328d5c
Packit 328d5c
if test x$enable_largefile != xno; then
Packit 328d5c
    echo "    Large Files: YES"
Packit 328d5c
else
Packit 328d5c
    echo "    Large Files: NO"
Packit 328d5c
fi
Packit 328d5c
Packit 328d5c
if test x$GLDEMOS = x; then
Packit 328d5c
    echo "         OpenGL: NO"
Packit 328d5c
else
Packit 328d5c
    echo "         OpenGL: YES"
Packit 328d5c
fi
Packit 328d5c
Packit 328d5c
if test x$THREADS = x; then
Packit 328d5c
    echo "        Threads: NO"
Packit 328d5c
else
Packit 328d5c
    echo "        Threads: YES"
Packit 328d5c
fi
Packit 328d5c
Packit 328d5c
dnl Set empty BINARY_DIR variable for fltk-config.in (CMake compatibility)
Packit 328d5c
BINARY_DIR=
Packit 328d5c
AC_SUBST(BINARY_DIR)
Packit 328d5c
Packit 328d5c
dnl Write all of the files...
Packit 328d5c
AC_CONFIG_HEADER(config.h:configh.in)
Packit 328d5c
AC_CONFIG_HEADER(FL/abi-version.h:abi-version.in)
Packit 328d5c
AC_CONFIG_FILES([makeinclude fltk.list fltk-config fltk.spec FL/Makefile])
Packit 328d5c
AC_OUTPUT
Packit 328d5c
Packit 328d5c
dnl Make sure the fltk-config script is executable...
Packit 328d5c
chmod +x fltk-config
Packit 328d5c
Packit 328d5c
dnl
Packit 328d5c
dnl End of "$Id: configure.ac 11997 2016-09-30 20:51:45Z AlbrechtS $".
Packit 328d5c
dnl