1dnl Process this file with autoconf to produce a configure script. 2 3AC_PREREQ(2.61) 4 5AC_INIT([engrampa], [1.26.0], [https://github.com/mate-desktop/engrampa/issues], [engrampa], [https://mate-desktop.org]) 6AM_INIT_AUTOMAKE([1.9 foreign dist-xz no-dist-gzip check-news]) 7m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) 8 9AC_CONFIG_SRCDIR([config.h.in]) 10AC_CONFIG_HEADER([config.h]) 11AC_CONFIG_MACRO_DIR([m4]) 12 13MATE_COMMON_INIT 14MATE_DEBUG_CHECK([no]) 15MATE_COMPILE_WARNINGS 16 17AC_PROG_CC 18AM_DISABLE_STATIC 19AC_PROG_LIBTOOL 20PKG_PROG_PKG_CONFIG 21GLIB_GSETTINGS 22 23AC_PATH_PROG(GLIB_GENMARSHAL, glib-genmarshal) 24AC_PATH_PROG(GLIB_MKENUMS, glib-mkenums) 25AC_PATH_PROG(GLIB_COMPILE_RESOURCES, glib-compile-resources) 26 27dnl ========================================================================== 28dnl 29dnl If you add a version number here, you *must* add an AC_SUBST line for 30dnl it too, or it will never make it into the spec file! 31dnl 32dnl ========================================================================== 33 34GLIB_REQUIRED=2.50.0 35GIO_REQUIRED=2.50.0 36GTK_REQUIRED=3.22.0 37CAJA_REQUIRED=1.17.1 38JSON_GLIB_REQUIRED=0.14.0 39SM_REQUIRED=1.0.0 40ICE_REQUIRED=1.0.0 41 42AC_SUBST(GLIB_REQUIRED) 43AC_SUBST(GIO_REQUIRED) 44AC_SUBST(GTK_REQUIRED) 45AC_SUBST(CAJA_REQUIRED) 46 47dnl =========================================================================== 48 49PKG_CHECK_MODULES(LIBEGG, [glib-2.0 >= $GLIB_REQUIRED 50 gtk+-3.0 >= $GTK_REQUIRED 51 sm >= $SM_REQUIRED 52 ice >= $ICE_REQUIRED]) 53AC_SUBST([LIBEGG_CFLAGS]) 54AC_SUBST([LIBEGG_LIBS]) 55 56dnl =========================================================================== 57 58AC_ARG_ENABLE(run_in_place, 59 AS_HELP_STRING([--enable-run-in-place], 60 [load ui data and extensions from the source tree]),, 61 [enable_run_in_place=no]) 62AM_CONDITIONAL(RUN_IN_PLACE, test "x$enable_run_in_place" != xno) 63 64dnl =========================================================================== 65 66PKG_CHECK_MODULES(FR, \ 67 glib-2.0 >= $GLIB_REQUIRED \ 68 gthread-2.0 \ 69 gio-unix-2.0 >= $GIO_REQUIRED \ 70 gtk+-3.0 >= $GTK_REQUIRED) 71AC_SUBST(FR_CFLAGS) 72AC_SUBST(FR_LIBS) 73 74dnl ****************************** 75 76AC_ARG_ENABLE([caja_actions], 77 [AS_HELP_STRING([--disable-caja-actions], 78 [do not build the caja context menu actions])],, 79 [enable_caja_actions=yes]) 80 81if test x"$enable_caja_actions" != x"no" ; then 82 PKG_CHECK_MODULES(CAJA, \ 83 libcaja-extension >= $CAJA_REQUIRED \ 84 glib-2.0 \ 85 gio-2.0) 86 AC_SUBST(CAJA_CFLAGS) 87 AC_SUBST(CAJA_LIBS) 88 89fi 90AM_CONDITIONAL(ENABLE_CAJA_ACTIONS, test "x$enable_caja_actions" = xyes) 91 92AC_ARG_WITH(cajadir, 93 AS_HELP_STRING([--with-cajadir=DIR],[Installation path for Caja extension @<:@auto@:>@]), 94 [ac_with_cajadir=$withval], 95 [ac_with_cajadir=""]) 96if test "${ac_with_cajadir}" = ""; then 97 ac_with_cajadir=`$PKG_CONFIG --variable=extensiondir libcaja-extension` 98fi 99 100AC_MSG_NOTICE([installing caja plugin in ${ac_with_cajadir}]) 101AC_SUBST([CAJA_EXTENSION_DIR],[${ac_with_cajadir}]) 102 103dnl ****************************** 104 105PKG_CHECK_MODULES(JSON_GLIB, 106 [json-glib-1.0 >= $JSON_GLIB_REQUIRED 107 glib-2.0], 108 [enable_json_glib=yes], 109 [enable_json_glib=no]) 110 111if test x$enable_json_glib = xyes ; then 112 AC_DEFINE(HAVE_JSON_GLIB, 1, [Define to 1 if json-glib support is included]) 113fi 114 115AC_SUBST(JSON_GLIB_CFLAGS) 116AC_SUBST(JSON_GLIB_LIBS) 117 118AM_CONDITIONAL(ENABLE_JSON_GLIB, test x"$enable_json_glib" != x"no") 119 120dnl ****************************** 121 122AC_CHECK_LIB(m, floor) 123 124dnl ========================================================================== 125 126AC_ARG_ENABLE(packagekit, 127 [AC_HELP_STRING([--disable-packagekit],[build without PackageKit support])],, 128 [enable_packagekit=yes]) 129if test "x$enable_packagekit" != "xno"; then 130 AC_DEFINE(ENABLE_PACKAGEKIT, 1, [define to enable PackageKit installer]) 131fi 132AM_CONDITIONAL(ENABLE_PACKAGEKIT, test x"$enable_packagekit" != x"no") 133 134dnl ****************************** 135 136GETTEXT_PACKAGE=AC_PACKAGE_NAME 137AC_SUBST(GETTEXT_PACKAGE) 138AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE", [GetText Package]) 139 140AM_GNU_GETTEXT([external]) 141AM_GNU_GETTEXT_VERSION([0.19.8]) 142AM_GNU_GETTEXT_REQUIRE_VERSION([0.19.8]) 143AM_CONDITIONAL([USE_NLS], [test "x${USE_NLS}" = "xyes"]) 144 145dnl ****************************** 146 147AC_ARG_ENABLE([magic], 148 AS_HELP_STRING([--enable-magic], [use libmagic to detect file type]),, 149 [enable_magic=no]) 150 151zstd_mime_type="application/zstd" 152if test x"$enable_magic" = x"yes" ; then 153 save_LIBS="$LIBS" 154 LIBS="$LIBS -lmagic" 155 AC_MSG_CHECKING([whether libmagic works]) 156 AC_LINK_IFELSE([AC_LANG_SOURCE([ 157#include <magic.h> 158int main () { magic_t m = magic_open(MAGIC_NONE); } 159])], 160 [AC_MSG_RESULT([yes])], 161 [AC_MSG_RESULT([no]) 162 AC_MSG_ERROR([libmagic is needed for magic])]) 163 164 dnl ******************************************* 165 dnl This check can be removed with file >= 5.38 166 dnl ******************************************* 167 AC_MSG_CHECKING([for zstd mime type]) 168 AC_RUN_IFELSE([AC_LANG_PROGRAM([[#include <stdio.h> 169#include <string.h> 170#include <magic.h>]], 171 [[ 172 FILE *fptr; 173 char *test_file = "test.zst"; 174 char *default_mime_type = "application/zstd"; 175 int status = 0; 176 if ((fptr = fopen (test_file,"wb")) == NULL) { 177 status = 1; 178 } else { 179 const unsigned char data[5] = "\x28\xb5\x2f\xfd\0"; 180 int i; 181 for (i = 0; i < strlen (data); i++) 182 fwrite (&data[i], 1, 1, fptr); 183 fclose (fptr); 184 magic_t magic_cookie = magic_open (MAGIC_MIME_TYPE); 185 if (magic_cookie == NULL) { 186 status = 1; 187 } else { 188 if (magic_load (magic_cookie, NULL) != 0) { 189 status = 1; 190 } else { 191 const char *mime = magic_file (magic_cookie, test_file); 192 status = (strcmp (default_mime_type, mime) == 0); 193 } 194 magic_close(magic_cookie); 195 } 196 remove (test_file); 197 } 198 return status;]])], 199 [zstd_mime_type="application/x-zstd"], 200 [zstd_mime_type="application/zstd"] 201 ) 202 AC_MSG_RESULT($zstd_mime_type) 203 dnl ******************************************* 204 205 LIBS="$save_LIBS" 206 207 MAGIC_CFLAGS= 208 MAGIC_LIBS=-lmagic 209 210 AC_SUBST(MAGIC_CFLAGS) 211 AC_SUBST(MAGIC_LIBS) 212 213 AC_DEFINE(ENABLE_MAGIC, 1, [define to enable magic]) 214fi 215 216AM_CONDITIONAL(ENABLE_MAGIC, test x"$enable_magic" != x"no") 217ZSTD_MIME_TYPE="$zstd_mime_type" 218AC_SUBST(ZSTD_MIME_TYPE) 219AC_DEFINE_UNQUOTED(ZSTD_MIME_TYPE, "$zstd_mime_type", [define zstd mime type]) 220 221AC_ARG_VAR([CPIO], [Path to the `cpio` command]) 222AC_PATH_PROGS(CPIO, gcpio cpio, cpio) 223AC_DEFINE_UNQUOTED(CPIO_PATH, "${CPIO}", [Path to cpio]) 224 225dnl ****************************** 226 227YELP_HELP_INIT 228 229dnl ****************************** 230 231AC_CONFIG_FILES([Makefile 232 data/Makefile 233 data/engrampa.appdata.xml.in 234 data/engrampa.desktop.in 235 data/org.mate.engrampa.gschema.xml 236 data/icons/Makefile 237 mate-submodules/Makefile 238 mate-submodules/libegg/Makefile 239 src/Makefile 240 src/sh/Makefile 241 src/ui/Makefile 242 caja/Makefile 243 caja/libcaja-engrampa.caja-extension.desktop.in 244 help/Makefile 245 po/Makefile.in]) 246AC_OUTPUT 247 248echo " 249Configure summary: 250 251 ${PACKAGE_STRING} 252 `echo $PACKAGE_STRING | sed "s/./=/g"` 253 254 Source code location: ${srcdir} 255 Compiler: ${CC} 256 Compiler flags: ${CFLAGS} 257 Warning flags: ${WARN_CFLAGS} 258 Linker flags: ${LDFLAGS} 259 Caja support: ${enable_caja_actions} 260 PackageKit support: ${enable_packagekit} 261 Run in place ${enable_run_in_place} 262 Use libmagic: ${enable_magic} 263 JSON support: ${enable_json_glib} 264 Native Language support: ${USE_NLS} 265" 266