📄 aclocal.m4
字号:
# Currently this macro should have the same name as the autoconf macro# because gettext's gettext.m4 (distributed in the automake package)# still uses it. Otherwise, the use in gettext.m4 makes autoheader# give these diagnostics:# configure.in:556: AC_TRY_COMPILE was called before AC_ISC_POSIX# configure.in:556: AC_TRY_RUN was called before AC_ISC_POSIXundefine([AC_ISC_POSIX])AC_DEFUN([AC_ISC_POSIX], [ dnl This test replaces the obsolescent AC_ISC_POSIX kludge. AC_CHECK_LIB(cposix, strerror, [LIBS="$LIBS -lcposix"]) ])# serial 1# @defmac AC_PROG_CC_STDC# @maindex PROG_CC_STDC# @ovindex CC# If the C compiler in not in ANSI C mode by default, try to add an option# to output variable @code{CC} to make it so. This macro tries various# options that select ANSI C on some system or another. It considers the# compiler to be in ANSI C mode if it handles function prototypes correctly.## If you use this macro, you should check after calling it whether the C# compiler has been set to accept ANSI C; if not, the shell variable# @code{am_cv_prog_cc_stdc} is set to @samp{no}. If you wrote your source# code in ANSI C, you can make an un-ANSIfied copy of it by using the# program @code{ansi2knr}, which comes with Ghostscript.# @end defmacAC_DEFUN([AM_PROG_CC_STDC],[AC_REQUIRE([AC_PROG_CC])AC_BEFORE([$0], [AC_C_INLINE])AC_BEFORE([$0], [AC_C_CONST])dnl Force this before AC_PROG_CPP. Some cpp's, eg on HPUX, requirednl a magic option to avoid problems with ANSI preprocessor commandsdnl like #elif.dnl FIXME: can't do this because then AC_AIX won't work due to adnl circular dependency.dnl AC_BEFORE([$0], [AC_PROG_CPP])AC_MSG_CHECKING(for ${CC-cc} option to accept ANSI C)AC_CACHE_VAL(am_cv_prog_cc_stdc,[am_cv_prog_cc_stdc=noac_save_CC="$CC"# Don't try gcc -ansi; that turns off useful extensions and# breaks some systems' header files.# AIX -qlanglvl=ansi# Ultrix and OSF/1 -std1# HP-UX -Aa -D_HPUX_SOURCE# SVR4 -Xc -D__EXTENSIONS__for ac_arg in "" -qlanglvl=ansi -std1 "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"do CC="$ac_save_CC $ac_arg" AC_TRY_COMPILE([#include <stdarg.h>#include <stdio.h>#include <sys/types.h>#include <sys/stat.h>/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */struct buf { int x; };FILE * (*rcsopen) (struct buf *, struct stat *, int);static char *e (p, i) char **p; int i;{ return p[i];}static char *f (char * (*g) (char **, int), char **p, ...){ char *s; va_list v; va_start (v,p); s = g (p, va_arg (v,int)); va_end (v); return s;}int test (int i, double x);struct s1 {int (*f) (int a);};struct s2 {int (*f) (double a);};int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);int argc;char **argv;], [return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];],[am_cv_prog_cc_stdc="$ac_arg"; break])doneCC="$ac_save_CC"])if test -z "$am_cv_prog_cc_stdc"; then AC_MSG_RESULT([none needed])else AC_MSG_RESULT($am_cv_prog_cc_stdc)ficase "x$am_cv_prog_cc_stdc" in x|xno) ;; *) CC="$CC $am_cv_prog_cc_stdc" ;;esac])dnl GNOME_COMPILE_WARNINGSdnl Turn on many useful compiler warningsdnl For now, only works on GCCAC_DEFUN([GNOME_COMPILE_WARNINGS],[ AC_ARG_ENABLE(compile-warnings, [ --enable-compile-warnings=[no/minimum/yes] Turn on compiler warnings.],,enable_compile_warnings=minimum) AC_MSG_CHECKING(what warning flags to pass to the C compiler) warnCFLAGS= if test "x$GCC" != xyes; then enable_compile_warnings=no fi if test "x$enable_compile_warnings" != "xno"; then if test "x$GCC" = "xyes"; then case " $CFLAGS " in *[\ \ ]-Wall[\ \ ]*) ;; *) warnCFLAGS="-Wall -Wunused" ;; esac ## -W is not all that useful. And it cannot be controlled ## with individual -Wno-xxx flags, unlike -Wall if test "x$enable_compile_warnings" = "xyes"; then warnCFLAGS="$warnCFLAGS -Wmissing-prototypes -Wmissing-declarations" fi fi fi AC_MSG_RESULT($warnCFLAGS) AC_ARG_ENABLE(iso-c, [ --enable-iso-c Try to warn if code is not ISO C ],, enable_iso_c=no) AC_MSG_CHECKING(what language compliance flags to pass to the C compiler) complCFLAGS= if test "x$enable_iso_c" != "xno"; then if test "x$GCC" = "xyes"; then case " $CFLAGS " in *[\ \ ]-ansi[\ \ ]*) ;; *) complCFLAGS="$complCFLAGS -ansi" ;; esac case " $CFLAGS " in *[\ \ ]-pedantic[\ \ ]*) ;; *) complCFLAGS="$complCFLAGS -pedantic" ;; esac fi fi AC_MSG_RESULT($complCFLAGS) if test "x$cflags_set" != "xyes"; then CFLAGS="$CFLAGS $warnCFLAGS $complCFLAGS" cflags_set=yes AC_SUBST(cflags_set) fi])dnl For C++, do basically the same thing.AC_DEFUN([GNOME_CXX_WARNINGS],[ AC_ARG_ENABLE(cxx-warnings, [ --enable-cxx-warnings=[no/minimum/yes] Turn on compiler warnings.],,enable_cxx_warnings=minimum) AC_MSG_CHECKING(what warning flags to pass to the C++ compiler) warnCXXFLAGS= if test "x$GCC" != xyes; then enable_compile_warnings=no fi if test "x$enable_cxx_warnings" != "xno"; then if test "x$GCC" = "xyes"; then case " $CXXFLAGS " in *[\ \ ]-Wall[\ \ ]*) ;; *) warnCXXFLAGS="-Wall -Wno-unused" ;; esac ## -W is not all that useful. And it cannot be controlled ## with individual -Wno-xxx flags, unlike -Wall if test "x$enable_cxx_warnings" = "xyes"; then warnCXXFLAGS="$warnCXXFLAGS -Wmissing-prototypes -Wmissing-declarations -Wshadow -Woverloaded-virtual" fi fi fi AC_MSG_RESULT($warnCXXFLAGS) AC_ARG_ENABLE(iso-cxx, [ --enable-iso-cxx Try to warn if code is not ISO C++ ],, enable_iso_cxx=no) AC_MSG_CHECKING(what language compliance flags to pass to the C++ compiler) complCXXFLAGS= if test "x$enable_iso_cxx" != "xno"; then if test "x$GCC" = "xyes"; then case " $CXXFLAGS " in *[\ \ ]-ansi[\ \ ]*) ;; *) complCXXFLAGS="$complCXXFLAGS -ansi" ;; esac case " $CXXFLAGS " in *[\ \ ]-pedantic[\ \ ]*) ;; *) complCXXFLAGS="$complCXXFLAGS -pedantic" ;; esac fi fi AC_MSG_RESULT($complCXXFLAGS) if test "x$cxxflags_set" != "xyes"; then CXXFLAGS="$CXXFLAGS $warnCXXFLAGS $complCXXFLAGS" cxxflags_set=yes AC_SUBST(cxxflags_set) fi])dnl GNOME_X_CHECKSdnldnl Basic X11 related checks for X11. At the end, the following will bednl defined/changed:dnl GTK_{CFLAGS,LIBS} From AM_PATH_GTKdnl CPPFLAGS Will include $X_CFLAGSdnl GNOME_HAVE_SM `true' or `false' depending on whether sessiondnl management is available. It is available ifdnl both -lSM and X11/SM/SMlib.h exist. (Somednl Solaris boxes have the library but not the header)dnl XPM_LIBS -lXpm if Xpm library is present, otherwise ""dnldnl The following configure cache variables are defined (but not used):dnl gnome_cv_passdown_{x_libs,X_LIBS,X_CFLAGS}dnlAC_DEFUN([GNOME_X_CHECKS],[ AM_PATH_GTK(1.2.0,,AC_MSG_ERROR(GTK not installed, or gtk-config not in path)) dnl Hope that GTK_CFLAGS have only -I and -D. Otherwise, we could dnl test -z "$x_includes" || CPPFLAGS="$CPPFLAGS -I$x_includes" dnl dnl Use CPPFLAGS instead of CFLAGS because AC_CHECK_HEADERS uses dnl CPPFLAGS, not CFLAGS CPPFLAGS="$CPPFLAGS $GTK_CFLAGS" saved_ldflags="$LDFLAGS" LDFLAGS="$LDFLAGS $GTK_LIBS" gnome_cv_passdown_x_libs="$GTK_LIBS" gnome_cv_passdown_X_LIBS="$GTK_LIBS" gnome_cv_passdown_X_CFLAGS="$GTK_CFLAGS" gnome_cv_passdown_GTK_LIBS="$GTK_LIBS" LDFLAGS="$saved_ldflags $GTK_LIBS"dnl We are requiring GTK >= 1.1.1, which means this will be fine anyhow. USE_DEVGTK=truednl AC_MSG_CHECKING([whether to use features from (unstable) GTK+ 1.1.x])dnl AC_EGREP_CPP(answer_affirmatively,dnl [#include <gtk/gtkfeatures.h>dnl #ifdef GTK_HAVE_FEATURES_1_1_0dnl answer_affirmativelydnl #endifdnl ], dev_gtk=yes, dev_gtk=no)dnl if test "$dev_gtk" = "yes"; thendnl USE_DEVGTK=truednl fidnl AC_MSG_RESULT("$dev_gtk") GNOME_HAVE_SM=true case "$GTK_LIBS" in *-lSM*) dnl Already found it. ;; *) dnl Assume that if we have -lSM then we also have -lICE. AC_CHECK_LIB(SM, SmcSaveYourselfDone, [GTK_LIBS="-lSM -lICE $GTK_LIBS"],GNOME_HAVE_SM=false, $x_libs -lICE) ;; esac if test "$GNOME_HAVE_SM" = true; then AC_CHECK_HEADERS(X11/SM/SMlib.h,,GNOME_HAVE_SM=false) fi if test "$GNOME_HAVE_SM" = true; then AC_DEFINE(HAVE_LIBSM) fi XPM_LIBS="" AC_CHECK_LIB(Xpm, XpmFreeXpmImage, [XPM_LIBS="-lXpm"], , $x_libs) AC_SUBST(XPM_LIBS) AC_REQUIRE([GNOME_PTHREAD_CHECK]) LDFLAGS="$saved_ldflags" AC_PROVIDE([GNOME_X_CHECKS])])# Configure paths for GTK+# Owen Taylor 97-11-3dnl AM_PATH_GTK([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND [, MODULES]]]])dnl Test for GTK, and define GTK_CFLAGS and GTK_LIBSdnlAC_DEFUN(AM_PATH_GTK,[dnl dnl Get the cflags and libraries from the gtk-config scriptdnlAC_ARG_WITH(gtk-prefix,[ --with-gtk-prefix=PFX Prefix where GTK is installed (optional)], gtk_config_prefix="$withval", gtk_config_prefix="")AC_ARG_WITH(gtk-exec-prefix,[ --with-gtk-exec-prefix=PFX Exec prefix where GTK is installed (optional)], gtk_config_exec_prefix="$withval", gtk_config_exec_prefix="")AC_ARG_ENABLE(gtktest, [ --disable-gtktest Do not try to compile and run a test GTK program], , enable_gtktest=yes) for module in . $4 do case "$module" in gthread) gtk_config_args="$gtk_config_args gthread" ;; esac done if test x$gtk_config_exec_prefix != x ; then gtk_config_args="$gtk_config_args --exec-prefix=$gtk_config_exec_prefix" if test x${GTK_CONFIG+set} != xset ; then GTK_CONFIG=$gtk_config_exec_prefix/bin/gtk-config fi fi if test x$gtk_config_prefix != x ; then gtk_config_args="$gtk_config_args --prefix=$gtk_config_prefix" if test x${GTK_CONFIG+set} != xset ; then GTK_CONFIG=$gtk_config_prefix/bin/gtk-config fi fi AC_PATH_PROG(GTK_CONFIG, gtk-config, no) min_gtk_version=ifelse([$1], ,0.99.7,$1) AC_MSG_CHECKING(for GTK - version >= $min_gtk_version) no_gtk="" if test "$GTK_CONFIG" = "no" ; then no_gtk=yes else GTK_CFLAGS=`$GTK_CONFIG $gtk_config_args --cflags` GTK_LIBS=`$GTK_CONFIG $gtk_config_args --libs` gtk_config_major_version=`$GTK_CONFIG $gtk_config_args --version | \ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'` gtk_config_minor_version=`$GTK_CONFIG $gtk_config_args --version | \ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'` gtk_config_micro_version=`$GTK_CONFIG $gtk_config_args --version | \ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'` if test "x$enable_gtktest" = "xyes" ; then ac_save_CFLAGS="$CFLAGS" ac_save_LIBS="$LIBS" CFLAGS="$CFLAGS $GTK_CFLAGS" LIBS="$GTK_LIBS $LIBS"dnldnl Now check if the installed GTK is sufficiently new. (Also sanitydnl checks the results of gtk-config to some extentdnl
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -