⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 configure.in

📁 SRI international 发布的OAA框架软件
💻 IN
📖 第 1 页 / 共 2 页
字号:
dnl -*- sh -*-
dnl the "configure" script is made from this by running GNU "autoconf"
dnl
dnl "$Id: configure.in,v 1.1.1.1 2003/06/03 22:25:27 agno Exp $"
dnl
dnl Configuration script for the Fast Light Tool Kit (FLTK).
dnl
dnl Copyright 1998-2003 by Bill Spitzak and others.
dnl
dnl This library is free software; you can redistribute it and/or
dnl modify it under the terms of the GNU Library General Public
dnl License as published by the Free Software Foundation; either
dnl version 2 of the License, or (at your option) any later version.
dnl
dnl This library is distributed in the hope that it will be useful,
dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
dnl Library General Public License for more details.
dnl
dnl You should have received a copy of the GNU Library General Public
dnl License along with this library; if not, write to the Free Software
dnl Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
dnl USA.
dnl
dnl Please report all bugs and problems to "fltk-bugs@fltk.org".
dnl

dnl We need at least autoconf 2.13...
AC_PREREQ(2.13)

dnl Required file in package...
AC_INIT(src/Fl.cxx)

dnl FLTK library versions...
FL_MAJOR_VERSION=1
FL_MINOR_VERSION=1
FL_PATCH_VERSION=3
FL_RELEASE_VERSION=
FL_API_VERSION=${FL_MAJOR_VERSION}.${FL_MINOR_VERSION}

AC_SUBST(FL_MAJOR_VERSION)
AC_SUBST(FL_MINOR_VERSION)
AC_SUBST(FL_PATCH_VERSION)
AC_SUBST(FL_RELEASE_VERSION)
AC_SUBST(FL_API_VERSION)

dnl Get the operating system and version number...
uname=`uname`
uversion=`uname -r | sed -e '1,$s/[[^0-9]]//g'`
if test x$uname = xIRIX64; then
    uname="IRIX"
fi
if test x$uname = x; then
    # MingW doesn't provide any output when uname is run, even with "-s"...
    uname="CYGWIN"
fi

dnl Don't automatically add "-g" to compiler options...
CFLAGS="${CFLAGS:=}"
CPPFLAGS="${CPPFLAGS:=}"
CXXFLAGS="${CXXFLAGS:=}"
OPTIM="${OPTIM:=}"

AC_SUBST(OPTIM)

dnl OS-specific pre-tests...
case $uname in
    CYGWIN* | MINGW*)
        # Handle Cygwin option *first*, before all other tests.
	AC_ARG_ENABLE(cygwin, [  --enable-cygwin         use the CygWin libraries [default=no]])
	if test x$enable_cygwin != xyes; then
	    CFLAGS="$CFLAGS -mno-cygwin"
	    CPPFLAGS="$CPPFLAGS -mno-cygwin"
	    CXXFLAGS="$CXXFLAGS -mno-cygwin"
	fi
	;;
esac

dnl Define the libraries and link options we'll need.
LINKFLTK="-lfltk"
LINKFLTKGL="-lfltk_gl"
LINKFLTKIMG="-lfltk_images"
GLDEMOS="gldemos"

LIBNAME="../lib/libfltk.a"
FLLIBNAME="../lib/libfltk_forms.a"
GLLIBNAME="../lib/libfltk_gl.a"
IMGLIBNAME="../lib/libfltk_images.a"

AC_SUBST(FLLIBNAME)
AC_SUBST(GLDEMOS)
AC_SUBST(GLLIBNAME)
AC_SUBST(IMGLIBNAME)
AC_SUBST(LIBNAME)
AC_SUBST(LINKFLTK)
AC_SUBST(LINKFLTKGL)
AC_SUBST(LINKFLTKIMG)

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(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 $uname in
	Darwin*)
            DSONAME="libfltk.$FL_API_VERSION.dylib"
            FLDSONAME="libfltk_forms.$FL_API_VERSION.dylib"
            GLDSONAME="libfltk_gl.$FL_API_VERSION.dylib"
            IMGDSONAME="libfltk_images.$FL_API_VERSION.dylib"
	    DSOCOMMAND="ld $DSOFLAGS -dylib /usr/lib/dylib1.o -lc"
	    if test "$libdir" != "/usr/lib"; then
		    DSOLINK="-Wl,-rpath,$libdir"
            fi
	    ;;

	SunOS* | UNIX_S*)
            DSONAME="libfltk.so.$FL_API_VERSION"
            FLDSONAME="libfltk_forms.so.$FL_API_VERSION"
            GLDSONAME="libfltk_gl.so.$FL_API_VERSION"
            IMGDSONAME="libfltk_images.so.$FL_API_VERSION"
	    DSOCOMMAND="\$(CXX) -h \$@ \$(LDLIBS) -G $DEBUGFLAG -o"
	    if test "$libdir" != "/usr/lib"; then
		    DSOLINK="-R$libdir"
            fi
	    ;;
	HP-UX*)
            DSONAME="libfltk.sl.$FL_API_VERSION"
            FLDSONAME="libfltk_forms.sl.$FL_API_VERSION"
            GLDSONAME="libfltk_gl.sl.$FL_API_VERSION"
            IMGDSONAME="libfltk_images.sl.$FL_API_VERSION"
	    DSOCOMMAND="ld -b -z +h \$@ $DEBUGFLAG -o"
	    if test "$libdir" != "/usr/lib"; then
		    DSOLINK="-Wl,-rpath,$libdir"
            fi
	    ;;
	IRIX*)
            DSONAME="libfltk.so.$FL_API_VERSION"
            FLDSONAME="libfltk_forms.so.$FL_API_VERSION"
            GLDSONAME="libfltk_gl.so.$FL_API_VERSION"
            IMGDSONAME="libfltk_images.so.$FL_API_VERSION"
            DSOCOMMAND="\$(CXX) -Wl,-soname,\$@,-set_version,sgi1.1 \$(LDLIBS) -shared $DEBUGFLAG -o"
	    if test "$libdir" != "/usr/lib" - a "$libdir" != "/usr/lib32"; then
		    DSOLINK="-Wl,-rpath,$libdir"
            fi
	    ;;
	OSF1*)
            DSONAME="libfltk.so.$FL_API_VERSION"
            FLDSONAME="libfltk_forms.so.$FL_API_VERSION"
            GLDSONAME="libfltk_gl.so.$FL_API_VERSION"
            IMGDSONAME="libfltk_images.so.$FL_API_VERSION"
            DSOCOMMAND="\$(CXX) -Wl,-soname,\$@ \$(LDLIBS) -shared $DEBUGFLAG -o"
	    if test "$libdir" != "/usr/lib" - a "$libdir" != "/usr/lib32"; then
		    DSOLINK="-Wl,-rpath,$libdir"
            fi
	    ;;
	Linux* | *BSD*)
            DSONAME="libfltk.so.$FL_API_VERSION"
            FLDSONAME="libfltk_forms.so.$FL_API_VERSION"
            GLDSONAME="libfltk_gl.so.$FL_API_VERSION"
            IMGDSONAME="libfltk_images.so.$FL_API_VERSION"
            DSOCOMMAND="\$(CXX) -Wl,-soname,\$@ \$(LDLIBS) -shared -fPIC $DEBUGFLAG -o"
	    if test "$libdir" != "/usr/lib"; then
		    DSOLINK="-Wl,-rpath,$libdir"
            fi
	    ;;
	AIX*)
            DSONAME="libfltk_s.a"
            FLDSONAME="libfltk_forms_s.a"
            GLDSONAME="libfltk_gl_s.a"
            IMGDSONAME="libfltk_images_s.a"
            DSOCOMMAND="\$(CXX) -Wl,-bexpall,-bM:SRE,-bnoentry -o"
            SHAREDSUFFIX="_s"
            ;;
        CYGWIN* | MINGW*)
            AC_MSG_WARN(Shared libraries are not supported under CygWin.)
	    ;;
	*)
            AC_MSG_WARN(Shared libraries may not be supported.  Trying -shared option with compiler.)
            DSONAME="libfltk.so.$FL_API_VERSION"
            FLDSONAME="libfltk_forms.so.$FL_API_VERSION"
            GLDSONAME="libfltk_gl.so.$FL_API_VERSION"
            IMGDSONAME="libfltk_images.so.$FL_API_VERSION"
            DSOCOMMAND="\$(CXX) -Wl,-soname,\$@ \$(LDLIBS) -shared $DEBUGFLAG -o"
	    ;;
    esac

    LINKSHARED="-L../src -lfltk_images$SHAREDSUFFIX -lfltk_forms$SHAREDSUFFIX -lfltk$SHAREDSUFFIX"
else
    DSOCOMMAND="echo"
    DSOLINK=""
    DSONAME=""
    FLDSONAME=""
    GLDSONAME=""
    IMGDSONAME=""
    PICFLAG=0
    SHAREDSUFFIX=""
    FLUID="fluid"
    LINKSHARED="-L../lib -lfltk_images -lfltk_forms -lfltk"
fi

AC_SUBST(DSOCOMMAND)
AC_SUBST(DSOLINK)
AC_SUBST(DSONAME)
AC_SUBST(FLDSONAME)
AC_SUBST(GLDSONAME)
AC_SUBST(IMGDSONAME)
AC_SUBST(SHAREDSUFFIX)
AC_SUBST(LINKSHARED)
AC_SUBST(FLUID)

AC_ARG_ENABLE(threads, [  --enable-threads        enable multi-threading support])

AC_ARG_WITH(optim, [  --with-optim="flags"    use custom optimization flags])

dnl Find commands...
AC_PROG_CC
AC_PROG_CXX
dnl AC_PROG_INSTALL
AC_PATH_PROG(NROFF,nroff)
if test "$NROFF" = ""; then
    AC_PATH_PROG(GROFF,groff)
    if test "$GROFF" = ""; then
        NROFF="echo"
    else
        NROFF="$GROFF -T ascii"
    fi
fi
AC_PATH_PROG(HTMLDOC,htmldoc)

dnl How do we make libraries?
AC_PROG_RANLIB
AC_PATH_PROG(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 Architecture checks...
AC_C_BIGENDIAN

AC_CHECK_SIZEOF(short, 2)
AC_CHECK_SIZEOF(int, 4)
AC_CHECK_SIZEOF(long, 4)
if test $ac_cv_sizeof_short -eq 2; then
    AC_DEFINE(U16,unsigned short)
fi
if test $ac_cv_sizeof_int -eq 4; then
    AC_DEFINE(U32,unsigned)
else
    if test $ac_cv_sizeof_long -eq 4; then
        AC_DEFINE(U32,unsigned long)
    fi
fi
if test $ac_cv_sizeof_int -eq 8; then
    AC_DEFINE(U64,unsigned)
else
    if test $ac_cv_sizeof_long -eq 8; then
        AC_DEFINE(U64,unsigned long)
    fi
fi

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))
AC_CHECK_FUNC(scandir,
    if test "$uname" = SunOS -o "$uname" = QNX; then
        AC_MSG_WARN(Not using $uname scandir emulation function.)
    else
        AC_DEFINE(HAVE_SCANDIR)
    fi)
AC_CHECK_FUNC(vsnprintf,[
    case $uname in
    	HP-UX*)
	    if test "$uversion" = "1020"; then
	        AC_MSG_WARN(Not using built-in vsnprintf function because you are running HP-UX 10.20.)
	    else
        	AC_DEFINE(HAVE_VSNPRINTF)
	    fi
	    ;;

    	OSF1*)
	    if test "$uversion" = "40"; then
                AC_MSG_WARN(Not using built-in vsnprintf function because you are running Tru64 4.0.)
	    else
        	AC_DEFINE(HAVE_VSNPRINTF)
	    fi
	    ;;

        *)
            AC_DEFINE(HAVE_VSNPRINTF)
	    ;;
    esac])
AC_CHECK_FUNC(snprintf,[
    case $uname in
    	HP-UX*)
	    if test "$uversion" = "1020"; then
	        AC_MSG_WARN(Not using built-in snprintf function because you are running HP-UX 10.20.)
	    else
        	AC_DEFINE(HAVE_SNPRINTF)
	    fi
	    ;;

    	OSF1*)
	    if test "$uversion" = "40"; then
                AC_MSG_WARN(Not using built-in snprintf function because you are running Tru64 4.0.)
	    else
        	AC_DEFINE(HAVE_SNPRINTF)
	    fi
	    ;;

        *)
            AC_DEFINE(HAVE_SNPRINTF)
	    ;;
    esac])
AC_CHECK_HEADER(strings.h, AC_DEFINE(HAVE_STRINGS_H))
AC_CHECK_FUNCS(strcasecmp strlcat strlcpy)

dnl FLTK library uses math library functions...
AC_SEARCH_LIBS(pow, m)

dnl Check for image libraries...
SAVELIBS="$LIBS"
IMAGELIBS=""

AC_SUBST(IMAGELIBS)

AC_CHECK_HEADER(jpeglib.h,
    AC_CHECK_LIB(jpeg, jpeg_destroy_decompress,
	AC_DEFINE(HAVE_LIBJPEG)
	IMAGELIBS="$IMAGELIBS -ljpeg"))

AC_CHECK_HEADER(zlib.h,
    AC_CHECK_LIB(z, gzopen,
	AC_DEFINE(HAVE_LIBZ)
	IMAGELIBS="$IMAGELIBS -lz"
	LIBS="$LIBS -lz"))

AC_CHECK_HEADER(png.h, AC_DEFINE(HAVE_PNG_H))
AC_CHECK_HEADER(libpng/png.h, AC_DEFINE(HAVE_LIBPNG_PNG_H))

if test x$ac_cv_header_png_h = xyes -o x$ac_cv_header_libpng_png_h = xyes; then
    AC_CHECK_LIB(png, png_read_rows,
	AC_DEFINE(HAVE_LIBPNG)
	IMAGELIBS="-lpng $IMAGELIBS"
	LIBS="-lpng $LIBS"
	AC_CHECK_FUNCS(png_get_valid png_set_tRNS_to_alpha))
fi

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

if test x"$enable_threads" = xyes; then
    AC_CHECK_HEADER(pthread.h, AC_DEFINE(HAVE_PTHREAD_H))
    AC_CHECK_LIB(pthread, pthread_create)

    if test x"$ac_cv_lib_pthread_pthread_create" = xyes -a x$ac_cv_header_pthread_h = xyes; then
        have_pthread=yes
    else
        dnl *BSD uses -pthread option...
        AC_MSG_CHECKING([for pthread_create using -pthread])
	SAVELIBS="$LIBS"
	LIBS="-pthread $LIBS"
        AC_TRY_LINK([#include <pthread.h>],
	    [pthread_create(0, 0, 0, 0);],
            LIBS="-pthread $SAVELIBS"
            have_pthread=yes,
	    LIBS="$SAVELIBS")
        AC_MSG_RESULT([$have_pthread])
    fi
fi

dnl Define OS-specific stuff...
HLINKS=
POSTBUILD=:
THREADS=

case $uname in
    CYGWIN* | MINGW*)
	dnl Cygwin environment...
	CFLAGS="-mwindows -DWIN32 $CFLAGS"
	CXXFLAGS="-mwindows -DWIN32 $CXXFLAGS"

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -