📄 configure.in
字号:
dnl Process this file with aclocal, autoconf and automake.AC_INIT(src/dillo.c)dnl Detect the canonical host and target build environmentAC_CANONICAL_SYSTEMAM_INIT_AUTOMAKE(dillo, 0.8.2)AM_CONFIG_HEADER(config.h)dnl OptionsAC_ARG_WITH(jpeg-lib, [ --with-jpeg-lib=DIR Specify where to find libjpeg], LIBJPEG_LIBDIR=$withval)AC_ARG_WITH(jpeg-inc, [ --with-jpeg-inc=DIR Specify where to find libjpeg's headers], LIBJPEG_INCDIR=$withval)AC_ARG_ENABLE(efence, [ --enable-efence Try to compile and run with Electric Fence], , enable_fence=no)AC_ARG_ENABLE(gprof, [ --enable-gprof Try to compile and run with profiling enabled], , enable_gprof=no)AC_ARG_ENABLE(insure, [ --enable-insure Try to compile and run with Insure++], , enable_insure=no)AC_ARG_ENABLE(ansi, [ --enable-ansi Try to compile and run with ANSI flags], , enable_ansi=no)AC_ARG_ENABLE(ipv6, [ --enable-ipv6 Build with support for IPv6], , )AC_ARG_ENABLE(rtfl, [ --enable-rtfl Build with rtfl messages], enable_rtfl=yes)AC_ARG_ENABLE(cookies,[ --disable-cookies Don't compile support for cookies], , enable_cookies=yes)AC_ARG_ENABLE(png, [ --disable-png Disable support for PNG images], enable_png=$enableval, enable_png=yes)AC_ARG_ENABLE(jpeg, [ --disable-jpeg Disable support for JPEG images], enable_jpeg=$enableval, enable_jpeg=yes)AC_ARG_ENABLE(gif, [ --disable-gif Disable support for GIF images], enable_gif=$enableval, enable_gif=yes)AC_PROG_CCAM_PROG_CC_STDCAC_PROG_RANLIBAC_PROG_CPPdnl --------------------------------------dnl Check whether to add /usr/local or notdnl (this is somewhat a religious problem)dnl --------------------------------------dnlif test "`$CPP -v < /dev/null 2>&1 | grep '/usr/local/include' 2>&1`" = ""; then CPPFLAGS="$CPPFLAGS -I/usr/local/include" LDFLAGS="$LDFLAGS -L/usr/local/lib"fidnl ------------------------------------dnl Check for socket libs (AIX, Solaris)dnl ------------------------------------dnlAC_CHECK_FUNCS(gethostbyname,, [AC_CHECK_LIB(nsl,gethostbyname,,[AC_CHECK_LIB(socket,gethostbyname)])])AC_CHECK_FUNCS(setsockopt,,[AC_CHECK_LIB(socket,setsockopt)])dnl --------------------dnl Checks for socklen_tdnl --------------------dnlAC_MSG_CHECKING([for socklen_t])ac_cv_socklen_t=""AC_TRY_COMPILE([#include <sys/types.h>#include <sys/socket.h>],[socklen_t a=0;getsockname(0,(struct sockaddr*)0, &a);],ac_cv_socklen_t="socklen_t",AC_TRY_COMPILE([#include <sys/types.h>#include <sys/socket.h>],[int a=0;getsockname(0,(struct sockaddr*)0, &a);],ac_cv_socklen_t="int",ac_cv_socklen_t="size_t"))AC_MSG_RESULT($ac_cv_socklen_t)if test "$ac_cv_socklen_t" != "socklen_t"; then AC_DEFINE_UNQUOTED(socklen_t, $ac_cv_socklen_t, [Define the real type of socklen_t])fidnl -----------------------------------dnl Check for glibdnl -----------------------------------dnlAM_PATH_GLIB(1.2.0, , AC_MSG_ERROR([Unable to find glib with a version >= 1.2.0. Dillo NEEDS glib]))dnl -----------------------------------dnl Check for Gtk+dnl -----------------------------------dnlAM_PATH_GTK(1.2.0, , AC_MSG_ERROR(Unable to find Gtk+ with a version >= 1.2.0. Dillo NEEDS Gtk+))dnl ----------------dnl Test for libjpegdnl ----------------dnlif test "x$enable_jpeg" = "xyes"; then AC_CHECK_HEADER(jpeglib.h, jpeg_ok=yes, jpeg_ok=no) if test "x$jpeg_ok" = "xyes"; then old_libs="$LIBS" AC_CHECK_LIB(jpeg, jpeg_destroy_decompress, jpeg_ok=yes, jpeg_ok=no) LIBS="$old_libs" fi if test "x$jpeg_ok" = "xyes"; then LIBJPEG_LIBS="-ljpeg" if test -n "$LIBJPEG_LIBDIR"; then LIBJPEG_LDFLAGS="-L$LIBJPEG_LIBDIR" fi if test -n "$LIBJPEG_INCDIR"; then LIBJPEG_CPPFLAGS="-I$LIBJPEG_INCDIR" fi else AC_MSG_WARN([*** No libjpeg found. Disabling jpeg images.***]) fifiif test "x$jpeg_ok" = "xyes"; then AC_DEFINE([ENABLE_JPEG], [], [Enable JPEG images])fidnl ------------------------------dnl Test for zlib (libpng uses it)dnl ------------------------------dnlif test "x$enable_png" = "xyes"; then AC_CHECK_HEADER(zlib.h, libz_ok=yes, libz_ok=no) if test "x$libz_ok" = "xyes"; then old_libs="$LIBS" AC_CHECK_LIB(z, zlibVersion, libz_ok=yes, libz_ok=no) LIBS="$old_libs" fi if test "x$libz_ok" = xyes; then LIBZ_LIBS="-lz" else AC_MSG_WARN([*** No libz found. Disabling PNG images ***]) fifidnl ---------------dnl Test for libpngdnl ---------------dnlif test "x$enable_png" = "xyes" && test "x$libz_ok" = "xyes"; then AC_MSG_CHECKING([for libpng-config])dnl Check if the user hasn't set the variable $PNG_CONFIG if test -z "$PNG_CONFIG"; then PNG_CONFIG=`which libpng12-config || which libpng-config || which libpng10-config` fidnl Check if the libpng-config script was found and is executable if test -n "$PNG_CONFIG" && test -x "$PNG_CONFIG"; then AC_MSG_RESULT([$PNG_CONFIG]) png_ok="yes" else AC_MSG_RESULT([missing]) png_ok="no" fi if test "x$png_ok" = "xyes"; thendnl For debugging and to be user friendly AC_MSG_CHECKING([for libpng version]) png_version=`$PNG_CONFIG --version` case $png_version in 1.2.*) AC_MSG_RESULT([$png_version (newer version)]) ;; 1.0.*) AC_MSG_RESULT([$png_version (older version)]) ;; *) AC_MSG_RESULT([ERROR]) ;; esacdnl Try to use options that are supported by all libpng-config versions... LIBPNG_CFLAGS=`$PNG_CONFIG --cflags` LIBPNG_LIBS=`$PNG_CONFIG --ldflags` case $png_version in 1.2.4*) LIBPNG_LIBS="$LIBPNG_LIBS `$PNG_CONFIG --libs`" ;; esac elsednl Try to find libpng even though libpng-config wasn't found AC_CHECK_HEADERS(png.h libpng/png.h, png_ok=yes && break, png_ok=no) if test "x$png_ok" = "xyes"; then old_libs="$LIBS" AC_CHECK_LIB(png, png_check_sig, png_ok=yes, png_ok=no, $LIBZ_LIBS -lm) LIBS="$old_libs" if test "x$png_ok" = "xyes"; then LIBPNG_LIBS="-lpng -lm" fi fi if test "x$png_ok" = "xno"; then AC_MSG_WARN([*** No libpng found. Disabling PNG images ***]) fi fifiif test "x$png_ok" = "xyes"; then AC_DEFINE([ENABLE_PNG], [], [Enable PNG images])fidnl Check if support for GIF images should be compiled inif test "x$enable_gif" = "xyes"; then AC_DEFINE([ENABLE_GIF], [], [Enable GIF images])fidnl ----------------------dnl Test for POSIX threadsdnl ----------------------dnlif test -z "$LIBPTHREAD_LIBS"; thencase $target in *-*-linux*|*-*-solaris*) old_libs="$LIBS" AC_CHECK_LIB(pthread, pthread_create, LIBPTHREAD_LIBS="-lpthread") LIBS="$old_libs" ;; *-*-osf1*) AC_MSG_CHECKING(whether pthreads work) LIBPTHREAD_LIBS="-lpthread -lexc -ldb" AC_MSG_WARN(*** _Untested pthreads_ try setting LIBPTHREAD_LIBS manually if it doesn't work ***) ;; *) AC_MSG_CHECKING(whether threads work with -pthread) LDSAVEFLAGS=$LDFLAGS LDFLAGS="$LDFLAGS -pthread" AC_TRY_LINK_FUNC(pthread_create, pthread_ok=yes, pthread_ok=no) LDFLAGS=$LDSAVEFLAGS if test "x$pthread_ok" = "xyes"; then AC_MSG_RESULT(yes) LIBPTHREAD_LDFLAGS="-pthread" else AC_MSG_RESULT(no. Now we will try some libraries.) AC_SEARCH_LIBS(pthread_create, pthread, LIBPTHREADS_LIBS="-lpthread", AC_SEARCH_LIBS(pthread_create, pthreads, LIBPTHREADS_LIBS="-lpthreads", AC_SEARCH_LIBS(pthread_create, c_r, LIBPTHREADS_LIBS="-lc_r", thread_ok=no))) if test "x$thread_ok" = "xno"; then AC_MSG_WARN(*** No pthreads found. ***) AC_MSG_ERROR(*** Try setting LIBPTHREAD_LIBS manually to point to your pthreads library. ***) exit 1 else AC_MSG_WARN(found a way to link threads, but it may not work...) fi fi ;;esacfidnl ------------------------------------dnl Workaround for nanosleep and solarisdnl ------------------------------------dnlcase $target in *-*-solaris*) AC_MSG_CHECKING(whether SunOS has -lrt ) LDSAVEFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS -lrt" AC_TRY_LINK_FUNC(nanosleep, rt_ok=yes, rt_ok=no) if test "x$rt_ok" = "xyes"; then AC_MSG_RESULT(yes) else AC_MSG_RESULT(no) AC_MSG_CHECKING(whether SunOS has -lposix4 ) LDFLAGS="$LDSAVEFLAGS -lposix4" AC_TRY_LINK_FUNC(nanosleep, posix_ok=yes, posix_ok=no) if test "x$posix_ok" = "xyes"; then AC_MSG_RESULT(yes) else LDFLAGS=$LDSAVEFLAGS AC_MSG_RESULT(no) AC_MSG_WARN(*** Try setting LIBS or LDFLAGS manually to point to the library with nanosleep()***) fi fi ;;esacdnl --------------------dnl Command line optionsdnl --------------------dnlif test "x$enable_cookies" = "xno" ; then CFLAGS="$CFLAGS -DDISABLE_COOKIES"fiif test "x$enable_ipv6" = "xyes" ; then CFLAGS="$CFLAGS -DENABLE_IPV6"fiif test "x$enable_efence" = "xyes" ; then LIBS="-lefence $LIBS"fiif test "x$enable_gprof" = "xyes" ; then CFLAGS="$CFLAGS -pg"fiif test "x$enable_insure" = "xyes" ; then CC="insure -Zoi \"compiler $CC\"" LIBS="$LIBS -lstdc++-2-libc6.1-1-2.9.0"fiif test "x$enable_rtfl" = "xyes" ; then CFLAGS="$CFLAGS -DDBG_RTFL"fidnl -----------------------dnl Checks for header filesdnl -----------------------dnlAC_HEADER_STDCAC_CHECK_HEADERS(fcntl.h unistd.h sys/uio.h)dnl --------------------------dnl Check for compiler optionsdnl --------------------------dnlif eval "test x$GCC = xyes"; then if test "`echo $CFLAGS | grep '\-D_REENTRANT' 2> /dev/null`" = ""; then CFLAGS="$CFLAGS -D_REENTRANT" fi if test "`echo $CFLAGS | grep '\-D_THREAD_SAFE' 2> /dev/null`" = ""; then CFLAGS="$CFLAGS -D_THREAD_SAFE" fi if test "`echo $CFLAGS | grep '\-Wall' 2> /dev/null`" = ""; then CFLAGS="$CFLAGS -Wall" fi if test "`echo $CFLAGS | grep '\-W[^a]' 2> /dev/null`" = ""; then if test "`$CC -v 2>&1 | grep 'version 3'`" != ""; then CFLAGS="$CFLAGS -W -Wno-unused-parameter" fi fi if test "`echo $CFLAGS | grep '\-Waggregate-return' 2> /dev/null`" = ""; then CFLAGS="$CFLAGS -Waggregate-return" fi if eval "test x$enable_ansi = xyes"; then if test "`echo $CFLAGS | grep '\-ansi' 2> /dev/null`" = ""; then CFLAGS="$CFLAGS -ansi" fi if test "`echo $CFLAGS | grep '\-pedantic' 2> /dev/null`" = ""; then CFLAGS="$CFLAGS -pedantic" fi fifiAC_SUBST(LIBJPEG_LIBS)AC_SUBST(LIBJPEG_LDFLAGS)AC_SUBST(LIBJPEG_CPPFLAGS)AC_SUBST(LIBPNG_LIBS)AC_SUBST(LIBPNG_CFLAGS)AC_SUBST(LIBZ_LIBS)AC_SUBST(LIBPTHREAD_LIBS)AC_SUBST(LIBPTHREAD_LDFLAGS)AC_SUBST(datadir)AC_SUBST(src doc bin util lib)AC_OUTPUT(Makefile dpid/Makefile dpi/Makefile doc/Makefile src/Makefile src/IO/Makefile)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -