• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1dnl
2dnl Support for packaging CUPS in different kinds of containers.
3dnl
4dnl Copyright © 2021 by OpenPrinting
5dnl
6dnl Licensed under Apache License v2.0.  See the file "LICENSE" for more
7dnl information.
8dnl
9
10dnl Specify a container mode
11CONTAINER="none"
12
13AC_ARG_WITH([container], AS_HELP_STRING([--with-container=...], [configure to use in container (none, snap)]), [
14    CONTAINER="$withval"
15])
16
17AS_CASE(["$CONTAINER"], [none], [
18    # No container in use
19], [snap], [
20    # Building as a snap
21    AC_DEFINE([CUPS_SNAP], [1], [Building as a snap (snapcraft.io)?])
22], [*], [
23    AC_MSG_ERROR([Unsupported container '$CONTAINER' specified.])
24])
25
26
27dnl Supporting libraries for different containers...
28APPARMORLIBS=""
29SNAPDGLIBLIBS=""
30AC_SUBST([APPARMORLIBS])
31AC_SUBST([SNAPDGLIBLIBS])
32
33AS_IF([test "x$PKGCONFIG" != x], [
34    AC_MSG_CHECKING([for libapparmor])
35    AS_IF([$PKGCONFIG --exists libapparmor], [
36	AC_MSG_RESULT([yes])
37
38	CFLAGS="$CFLAGS $($PKGCONFIG --cflags libapparmor)"
39	APPARMORLIBS="$($PKGCONFIG --libs libapparmor)"
40	AC_DEFINE([HAVE_LIBAPPARMOR], [1], [Have the apparmor library?])
41
42	AC_MSG_CHECKING([for libsnapd-glib-2])
43	AS_IF([$PKGCONFIG --exists snapd-glib-2 glib-2.0 gio-2.0], [
44	    AC_MSG_RESULT([yes])
45	    CFLAGS="$CFLAGS $($PKGCONFIG --cflags snapd-glib-2 glib-2.0 gio-2.0)"
46	    SNAPDGLIBLIBS="$($PKGCONFIG --libs snapd-glib-2 glib-2.0 gio-2.0)"
47	    AC_DEFINE([HAVE_LIBSNAPDGLIB], [1], [Have the snapd-glib-2 library?])
48	    SAVELIBS="$LIBS"
49	    LIBS="$SNAPDGLIBLIBS $LIBS"
50	    AC_CHECK_FUNC([snapd_client_run_snapctl2_sync], [
51		AC_DEFINE([HAVE_SNAPD_CLIENT_RUN_SNAPCTL2_SYNC], [1], [Have the snapd_client_run_snapctl2_sync function?])
52	    ])
53	    LIBS="$SAVELIBS"
54	], [
55	    AC_MSG_CHECKING([for libsnapd-glib])
56	    AS_IF([$PKGCONFIG --exists snapd-glib glib-2.0 gio-2.0], [
57		AC_MSG_RESULT([yes])
58		CFLAGS="$CFLAGS $($PKGCONFIG --cflags snapd-glib glib-2.0 gio-2.0)"
59		SNAPDGLIBLIBS="$($PKGCONFIG --libs snapd-glib glib-2.0 gio-2.0)"
60		AC_DEFINE([HAVE_LIBSNAPDGLIB], [1], [Have the snapd-glib library?])
61		SAVELIBS="$LIBS"
62		LIBS="$SNAPDGLIBLIBS $LIBS"
63		AC_CHECK_FUNC([snapd_client_run_snapctl2_sync], [
64		    AC_DEFINE([HAVE_SNAPD_CLIENT_RUN_SNAPCTL2_SYNC], [1], [Have the snapd_client_run_snapctl2_sync function?])
65		])
66		LIBS="$SAVELIBS"
67	    ], [
68		AC_MSG_RESULT([no])
69	    ])
70	])
71    ])
72])
73