summaryrefslogtreecommitdiffstats
path: root/m4.include/mc-glib.m4
blob: ba4901f793b50a9456365036d565f1096244eb0f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
dnl
dnl Check whether the g_module_* family of functions works
dnl on this system.  We need to know that at the compile time to
dnl decide whether to link with X11.
dnl
AC_DEFUN([mc_G_MODULE_SUPPORTED], [

    g_module_supported=""

    found_gmodule=no
    PKG_CHECK_MODULES(GMODULE, [gmodule-no-export-2.0 >= 2.30], [found_gmodule=yes], [:])
    if test x"$found_gmodule" = xyes; then
        g_module_supported="gmodule-no-export-2.0"
    else
        dnl try fallback to the generic gmodule
        PKG_CHECK_MODULES(GMODULE, [gmodule-2.0 >= 2.30], [found_gmodule=yes], [:])
        if test x"$found_gmodule" = xyes; then
            g_module_supported="gmodule-2.0"
        fi
    fi

    case x"$g_module_supported" in
        xgmodule-no-export-2.0|xgmodule-2.0)
            if test x`$PKG_CONFIG --variable=gmodule_supported "$g_module_supported"` = xtrue; then
                AC_DEFINE([HAVE_GMODULE], [1], [Defined if gmodule functionality is supported])
            else
                g_module_supported=""
            fi
            ;;
        *)
            g_module_supported=""
            ;;
    esac

    dnl
    dnl Try to find static libraries for glib and gmodule.
    dnl
    if test x$with_glib_static = xyes; then
        new_GLIB_LIBS=
        for i in $GLIB_LIBS; do
            case x$i in
            x-lglib*)
                lib=glib ;;
            x-lgmodule*)
                lib=gmodule ;;
            *)
                lib=
                add="$i" ;;
            esac

            if test -n "$lib"; then
                lib1=`echo $i | sed 's/^-l//'`
                if test -f "$GLIB_LIBDIR/lib${lib1}.a"; then
                    add="$GLIB_LIBDIR/lib${lib1}.a"
                else
                    if test -f "$GLIB_LIBDIR/lib${lib}.a"; then
                        add="$GLIB_LIBDIR/lib${lib}.a"
                    else
                        AC_MSG_ERROR([Cannot find static $lib])
                    fi
                fi
            fi
            new_GLIB_LIBS="$new_GLIB_LIBS $add"
        done
        GLIB_LIBS="$new_GLIB_LIBS"
    fi

])

AC_DEFUN([mc_CHECK_GLIB], [
    dnl
    dnl First try glib 2.x.
    dnl Keep this check close to the beginning, so that the users
    dnl without any glib won't have their time wasted by other checks.
    dnl

    AC_ARG_WITH([glib_static],
        AS_HELP_STRING([--with-glib-static], [Link glib statically @<:@no@:>@]))

    glib_found=no
    PKG_CHECK_MODULES(GLIB, [glib-2.0 >= 2.30], [glib_found=yes], [:])
    if test x"$glib_found" = xno; then
        AC_MSG_ERROR([glib-2.0 not found or version too old (must be >= 2.30)])
    fi

])