1# libglib.m4 serial 2 (gettext-0.17) 2dnl Copyright (C) 2006 Free Software Foundation, Inc. 3dnl This file is free software; the Free Software Foundation 4dnl gives unlimited permission to copy and/or distribute it, 5dnl with or without modifications, as long as this notice is preserved. 6 7dnl From Bruno Haible. 8 9AC_DEFUN([gl_LIBGLIB], 10[ 11 AC_MSG_CHECKING([whether included glib is requested]) 12 AC_ARG_WITH([included-glib], 13 [ --with-included-glib use the glib2 included here], 14 [gl_cv_libglib_force_included=$withval], 15 [gl_cv_libglib_force_included=no]) 16 AC_MSG_RESULT([$gl_cv_libglib_force_included]) 17 18 gl_cv_libglib_use_included="$gl_cv_libglib_force_included" 19 LIBGLIB= 20 LTLIBGLIB= 21 INCGLIB= 22 if test "$gl_cv_libglib_use_included" != yes; then 23 dnl Figure out whether we can use a preinstalled libglib-2.0, or have to use 24 dnl the included one. 25 AC_CACHE_VAL([gl_cv_libglib], [ 26 gl_cv_libglib=no 27 gl_cv_LIBGLIB= 28 gl_cv_LTLIBGLIB= 29 gl_cv_INCGLIB= 30 gl_save_LIBS="$LIBS" 31 dnl Search for libglib2 and define LIBGLIB_2_0, LTLIBGLIB_2_0 and 32 dnl INCGLIB_2_0 accordingly. 33 dnl Don't use glib-config nor pkg-config, since it doesn't work when 34 dnl cross-compiling or when the C compiler in use is different from the 35 dnl one that built the library. 36 AC_LIB_LINKFLAGS_BODY([glib-2.0]) 37 LIBS="$gl_save_LIBS $LIBGLIB_2_0" 38 AC_TRY_LINK([#include <glib.h>], 39 [g_string_new ("foo");], 40 [gl_cv_libglib=yes 41 gl_cv_LIBGLIB="$LIBGLIB_2_0" 42 gl_cv_LTLIBGLIB="$LTLIBGLIB_2_0" 43 ]) 44 if test "$gl_cv_libglib" != yes; then 45 gl_save_CPPFLAGS="$CPPFLAGS" 46 CPPFLAGS="$CPPFLAGS $INCGLIB_2_0" 47 AC_TRY_LINK([#include <glib.h>], 48 [g_string_new ("foo");], 49 [gl_cv_libglib=yes 50 gl_cv_LIBGLIB="$LIBGLIB_2_0" 51 gl_cv_LTLIBGLIB="$LTLIBGLIB_2_0" 52 gl_cv_INCGLIB="$INCGLIB_2_0" 53 ]) 54 if test "$gl_cv_libglib" != yes; then 55 dnl Often the include files are installed in /usr/include/glib-2.0 56 dnl and /usr/lib/glib-2.0/include. 57 if test -n "$LIBGLIB_2_0_PREFIX"; then 58 CPPFLAGS="$gl_save_CPPFLAGS -I$LIBGLIB_2_0_PREFIX/include/glib-2.0 -I$LIBGLIB_2_0_PREFIX/$acl_libdirstem/glib-2.0/include" 59 AC_TRY_LINK([#include <glib.h>], 60 [g_string_new ("foo");], 61 [gl_cv_libglib=yes 62 gl_cv_LIBGLIB="$LIBGLIB_2_0" 63 gl_cv_LTLIBGLIB="$LTLIBGLIB_2_0" 64 gl_cv_INCGLIB="-I$LIBGLIB_2_0_PREFIX/include/glib-2.0 -I$LIBGLIB_2_0_PREFIX/$acl_libdirstem/glib-2.0/include" 65 ]) 66 fi 67 fi 68 CPPFLAGS="$gl_save_CPPFLAGS" 69 fi 70 LIBS="$gl_save_LIBS" 71 ]) 72 AC_MSG_CHECKING([for glib]) 73 AC_MSG_RESULT([$gl_cv_libglib]) 74 if test $gl_cv_libglib = yes; then 75 LIBGLIB="$gl_cv_LIBGLIB" 76 LTLIBGLIB="$gl_cv_LTLIBGLIB" 77 INCGLIB="$gl_cv_INCGLIB" 78 else 79 gl_cv_libglib_use_included=yes 80 fi 81 fi 82 AC_SUBST([LIBGLIB]) 83 AC_SUBST([LTLIBGLIB]) 84 AC_SUBST([INCGLIB]) 85 AC_MSG_CHECKING([whether to use the included glib]) 86 AC_MSG_RESULT([$gl_cv_libglib_use_included]) 87 88 if test "$gl_cv_libglib_use_included" = yes; then 89 LIBGLIB_H= 90 LIBGLIB_H="$LIBGLIB_H glib.h" 91 LIBGLIB_H="$LIBGLIB_H glibconfig.h" 92 LIBGLIB_H="$LIBGLIB_H glib/ghash.h" 93 LIBGLIB_H="$LIBGLIB_H glib/glist.h" 94 LIBGLIB_H="$LIBGLIB_H glib/gprimes.h" 95 LIBGLIB_H="$LIBGLIB_H glib/gstrfuncs.h" 96 LIBGLIB_H="$LIBGLIB_H glib/gstring.h" 97 LIBGLIB_H="$LIBGLIB_H glib/gtypes.h" 98 AC_REQUIRE([AC_GNU_SOURCE]) 99 AC_CHECK_HEADERS([unistd.h]) 100 dnl Don't bother checking for pthread.h and other multithread facilities. 101 else 102 LIBGLIB_H= 103 fi 104 AC_SUBST([LIBGLIB_H]) 105 106 AM_CONDITIONAL([INCLUDED_LIBGLIB], 107 [test "$gl_cv_libglib_use_included" = yes]) 108]) 109