Imported Upstream version 0.19.7
[platform/upstream/gettext.git] / gnulib-local / m4 / libglib.m4
1 # libglib.m4 serial 3 (gettext-0.17)
2 dnl Copyright (C) 2006-2007, 2015 Free Software Foundation, Inc.
3 dnl This file is free software; the Free Software Foundation
4 dnl gives unlimited permission to copy and/or distribute it,
5 dnl with or without modifications, as long as this notice is preserved.
6
7 dnl From Bruno Haible.
8
9 AC_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 #ifndef G_BEGIN_DECLS
40 error this glib.h includes a glibconfig.h from a glib version 1.x
41 #endif
42 ],
43         [g_string_new ("foo");],
44         [gl_cv_libglib=yes
45          gl_cv_LIBGLIB="$LIBGLIB_2_0"
46          gl_cv_LTLIBGLIB="$LTLIBGLIB_2_0"
47         ])
48       if test "$gl_cv_libglib" != yes; then
49         gl_save_CPPFLAGS="$CPPFLAGS"
50         CPPFLAGS="$CPPFLAGS $INCGLIB_2_0"
51         AC_TRY_LINK([#include <glib.h>
52 #ifndef G_BEGIN_DECLS
53 error this glib.h includes a glibconfig.h from a glib version 1.x
54 #endif
55 ],
56           [g_string_new ("foo");],
57           [gl_cv_libglib=yes
58            gl_cv_LIBGLIB="$LIBGLIB_2_0"
59            gl_cv_LTLIBGLIB="$LTLIBGLIB_2_0"
60            gl_cv_INCGLIB="$INCGLIB_2_0"
61           ])
62         if test "$gl_cv_libglib" != yes; then
63           dnl Often the include files are installed in /usr/include/glib-2.0
64           dnl and /usr/lib/glib-2.0/include.
65           if test -n "$LIBGLIB_2_0_PREFIX"; then
66             CPPFLAGS="$gl_save_CPPFLAGS -I$LIBGLIB_2_0_PREFIX/include/glib-2.0 -I$LIBGLIB_2_0_PREFIX/$acl_libdirstem/glib-2.0/include"
67             AC_TRY_LINK([#include <glib.h>
68 #ifndef G_BEGIN_DECLS
69 error this glib.h includes a glibconfig.h from a glib version 1.x
70 #endif
71 ],
72               [g_string_new ("foo");],
73               [gl_cv_libglib=yes
74                gl_cv_LIBGLIB="$LIBGLIB_2_0"
75                gl_cv_LTLIBGLIB="$LTLIBGLIB_2_0"
76                gl_cv_INCGLIB="-I$LIBGLIB_2_0_PREFIX/include/glib-2.0 -I$LIBGLIB_2_0_PREFIX/$acl_libdirstem/glib-2.0/include"
77               ])
78           fi
79         fi
80         CPPFLAGS="$gl_save_CPPFLAGS"
81       fi
82       LIBS="$gl_save_LIBS"
83     ])
84     AC_MSG_CHECKING([for glib])
85     AC_MSG_RESULT([$gl_cv_libglib])
86     if test $gl_cv_libglib = yes; then
87       LIBGLIB="$gl_cv_LIBGLIB"
88       LTLIBGLIB="$gl_cv_LTLIBGLIB"
89       INCGLIB="$gl_cv_INCGLIB"
90     else
91       gl_cv_libglib_use_included=yes
92     fi
93   fi
94   AC_SUBST([LIBGLIB])
95   AC_SUBST([LTLIBGLIB])
96   AC_SUBST([INCGLIB])
97   AC_MSG_CHECKING([whether to use the included glib])
98   AC_MSG_RESULT([$gl_cv_libglib_use_included])
99
100   if test "$gl_cv_libglib_use_included" = yes; then
101     LIBGLIB_H=
102     LIBGLIB_H="$LIBGLIB_H glib.h"
103     LIBGLIB_H="$LIBGLIB_H glibconfig.h"
104     LIBGLIB_H="$LIBGLIB_H glib/ghash.h"
105     LIBGLIB_H="$LIBGLIB_H glib/glist.h"
106     LIBGLIB_H="$LIBGLIB_H glib/gprimes.h"
107     LIBGLIB_H="$LIBGLIB_H glib/gstrfuncs.h"
108     LIBGLIB_H="$LIBGLIB_H glib/gstring.h"
109     LIBGLIB_H="$LIBGLIB_H glib/gtypes.h"
110     AC_REQUIRE([AC_GNU_SOURCE])
111     AC_CHECK_HEADERS([unistd.h])
112     dnl Don't bother checking for pthread.h and other multithread facilities.
113   else
114     LIBGLIB_H=
115   fi
116   AC_SUBST([LIBGLIB_H])
117
118   AM_CONDITIONAL([INCLUDED_LIBGLIB],
119     [test "$gl_cv_libglib_use_included" = yes])
120 ])