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