configure.ac 7.79 KB
Newer Older
Zeeshan Ali's avatar
Zeeshan Ali committed
1 2 3
AC_PREREQ([2.63])

AC_INIT([geoclue],
Zeeshan Ali's avatar
Zeeshan Ali committed
4
        [2.1.1],
Zeeshan Ali's avatar
Zeeshan Ali committed
5 6 7 8 9 10 11 12
        [http://bugs.freedesktop.org/enter_bug.cgi?product=GeoClue],
        [geoclue],
        [http://www.freedesktop.org/wiki/Software/GeoClue])

AC_CONFIG_MACRO_DIR([m4])
AC_CONFIG_HEADERS([config.h])
AC_CONFIG_AUX_DIR([build-aux])

13
AM_INIT_AUTOMAKE([1.11 dist-xz no-dist-gzip tar-ustar foreign -Wall -Werror -Wno-portability])
Zeeshan Ali's avatar
Zeeshan Ali committed
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
AM_MAINTAINER_MODE([enable])

AM_SILENT_RULES([yes])

# Check for programs
AC_PROG_CC
AM_PROG_CC_C_O
AC_PROG_CXX
AM_PROG_AR
AC_CHECK_TOOL([DESKTOP_FILE_VALIDATE], [desktop-file-validate], [/bin/true])

# Initialize libtool
LT_PREREQ([2.2])
LT_INIT([disable-static])

# Pkg-config
PKG_PROG_PKG_CONFIG([0.22])

# i18 support
IT_PROG_INTLTOOL(0.40.0)

GETTEXT_PACKAGE=AC_PACKAGE_NAME
AC_SUBST(GETTEXT_PACKAGE)
AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE",[The name of the gettext domain])

39 40
GLIB_MIN_VERSION=2.34.0
JSON_GLIB_MIN_VERSION=0.14
Zeeshan Ali's avatar
Zeeshan Ali committed
41
GEOIP_MIN_VERSION=1.5.1
42
LIBNM_GLIB_MIN_VERSION=0.9.9.0
Zeeshan Ali's avatar
Zeeshan Ali committed
43
LIBMM_GLIB_MIN_VERSION=1.0
Zeeshan Ali's avatar
Zeeshan Ali committed
44
LIBXML_MIN_VERSION=2.7
45 46

AC_CHECK_LIB([m],[sin])
Zeeshan Ali's avatar
Zeeshan Ali committed
47

48 49 50 51 52
dnl
dnl Documentation
dnl
GTK_DOC_CHECK(1.0)

Zeeshan Ali's avatar
Zeeshan Ali committed
53 54 55 56
PKG_CHECK_MODULES(GEOCLUE, [
  glib-2.0 >= $GLIB_MIN_VERSION
  gio-2.0 >= $GLIB_MIN_VERSION
  gio-unix-2.0 >= $GLIB_MIN_VERSION
57 58
  json-glib-1.0 >= $JSON_GLIB_MIN_VERSION
  libsoup-2.4
Zeeshan Ali's avatar
Zeeshan Ali committed
59
  libxml-2.0 >= $LIBXML_MIN_VERSION
Zeeshan Ali's avatar
Zeeshan Ali committed
60 61
])

Zeeshan Ali's avatar
Zeeshan Ali committed
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 88 89 90 91 92 93 94
# Geoip server
AC_ARG_ENABLE(geoip-server,
              AS_HELP_STRING([--enable-geoip-server=yes|no|auto], [Build geoip server]),
              [enable_geoip_server=$enableval],
              [enable_geoip_server=auto])
case "x$enable_geoip_server" in
  xyes)
    PKG_CHECK_MODULES(GEOIP_SERVER,
		      gio-2.0 >= $GLIB_MIN_VERSION
                      json-glib-1.0 >= $JSON_GLIB_MIN_VERSION
                      libsoup-2.4
                      geoip >= GEOIP_MIN_VERSION)
    build_geoip_server="yes"
    ;;
  xauto)
    PKG_CHECK_MODULES(GEOIP_SERVER,
		      gio-2.0 >= $GLIB_MIN_VERSION
                      json-glib-1.0 >= $JSON_GLIB_MIN_VERSION
                      libsoup-2.4
                      geoip >= GEOIP_MIN_VERSION,
                      [build_geoip_server=yes],
                      [build_geoip_server=no])
    ;;
  xno)
    build_geoip_server="xno"
    ;;
  x*)
    AC_MSG_ERROR([Unknown --enable-geoip-server argument: $enable_geoip_server])
    ;;
esac
if test "x$build_geoip_server" = "xyes"; then
  # Requires for the database update
  PKG_CHECK_MODULES(GEOIP_DBUPDATE,
95 96
		    gio-2.0 >= $GLIB_MIN_VERSION
                    libsoup-2.4)
Zeeshan Ali's avatar
Zeeshan Ali committed
97 98 99 100 101 102 103
  GEOIP_DATABASE_PATH=`$PKG_CONFIG --variable=databasedir geoip`
  AC_SUBST(GEOIP_DATABASE_PATH)
  AC_DEFINE([BUILD_GEOIP_SERVER], [1], [Build geoip server?])
else
  AC_DEFINE([BUILD_GEOIP_SERVER], [0], [Build geoip server?])
fi
AM_CONDITIONAL([BUILD_GEOIP_SERVER], [test "x$build_geoip_server" = "xyes"])
104

105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156
# 3G source
AC_ARG_ENABLE(3g-source,
              AS_HELP_STRING([--disable-3g-source], [Disable 3G backend (requires ModemManager)]),
              [build_3g_source=$enableval], [build_3g_source=yes])
if test "$build_3g_source" = "yes"; then
  build_modem_source=yes
  AC_DEFINE([GCLUE_USE_3G_SOURCE], [1], [Build 3G source?])
else
  AC_DEFINE([GCLUE_USE_3G_SOURCE], [0], [Build 3G source?])
fi
AM_CONDITIONAL([BUILD_3G_SOURCE], [test "$build_3g_source" = "yes"])

# GPS source
AC_ARG_ENABLE(modem-gps-source,
              AS_HELP_STRING([--disable-gps-source], [Disable GPS backend (requires ModemManager)]),
              [build_modem_gps_source=$enableval], [build_modem_gps_source=yes])
if test "$build_modem_gps_source" = "yes"; then
  build_modem_source=yes
  AC_DEFINE([GCLUE_USE_MODEM_GPS_SOURCE], [1], [Build GPS source?])
else
  AC_DEFINE([GCLUE_USE_MODEM_GPS_SOURCE], [0], [Build GPS source?])
fi
AM_CONDITIONAL([BUILD_MODEM_GPS_SOURCE], [test "$build_modem_gps_source" = "yes"])

# Wifi source
AC_ARG_ENABLE(wifi-source,
              AS_HELP_STRING([--disable-wifi-source], [Disable Wifi backend (requires ModemManager)]),
              [build_wifi_source=$enableval], [build_wifi_source=yes])
if test "$build_wifi_source" = "yes"; then
  require_networkmanager=yes
  AC_DEFINE([GCLUE_USE_WIFI_SOURCE], [1], [Build Wifi source?])
else
  AC_DEFINE([GCLUE_USE_WIFI_SOURCE], [0], [Build Wifi source?])
fi
AM_CONDITIONAL([BUILD_WIFI_SOURCE], [test "$build_wifi_source" = "yes"])

# Modem source is used in common by GPS and 3G sources
if test "$build_modem_source" = "yes"; then
  require_modemmanager=yes
fi
AM_CONDITIONAL([BUILD_MODEM_SOURCE], [test "$build_modem_source" = "yes"])

# Check for ModemManager if one of the sources requires it
if test "$require_modemmanager" = "yes"; then
  PKG_CHECK_MODULES(ModemManager, mm-glib >= $LIBMM_GLIB_MIN_VERSION)
fi

# Check for NetworkManager if one of the sources requires it
if test "$require_networkmanager" = "yes"; then
  PKG_CHECK_MODULES(NetworkManager, libnm-glib >= $LIBNM_GLIB_MIN_VERSION)
fi

157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173
# Demo agent
AC_ARG_ENABLE(demo-agent,
              AS_HELP_STRING([--enable-demo-agent=yes|no],
                             [Build demo agent (default=no)]),
              [enable_demo_agent=$enableval],
              [enable_demo_agent=no])
if test "x$enable_demo_agent" = "xyes"; then
    PKG_CHECK_MODULES(DEMO_AGENT, [
                      glib-2.0 >= $GLIB_MIN_VERSION
                      gio-2.0 >= $GLIB_MIN_VERSION
                      gio-unix-2.0 >= $GLIB_MIN_VERSION
                      libnotify])
else
    AC_DEFINE([BUILD_DEMO_AGENT], [0], [Build demo agent?])
fi
AM_CONDITIONAL([BUILD_DEMO_AGENT], [test "x$enable_demo_agent" = "xyes"])

174
GNOME_COMPILE_WARNINGS([maximum])
Zeeshan Ali's avatar
Zeeshan Ali committed
175 176 177 178 179 180 181 182 183

dnl Debugging
AC_ARG_ENABLE(debug,
	AS_HELP_STRING([--enable-debug],[enable debugging]),,
        enable_debug=no)
if test "x$enable_debug" = "xyes"; then
        CFLAGS="$CFLAGS -O0 -ggdb3"
fi

Zeeshan Ali's avatar
Zeeshan Ali committed
184 185 186 187 188 189 190 191 192
# DBus system directory
AC_ARG_WITH(dbus-sys-dir, AS_HELP_STRING([--with-dbus-sys-dir=DIR], [where D-BUS system.d directory is]))
if test -n "$with_dbus_sys_dir" ; then
    DBUS_SYS_DIR="$with_dbus_sys_dir"
else
    DBUS_SYS_DIR="${sysconfdir}/dbus-1/system.d"
fi
AC_SUBST(DBUS_SYS_DIR)

193 194 195 196 197 198 199
AC_ARG_WITH(dbus-service-user,
	    AS_HELP_STRING([--with-dbus-service-user=USER],
                           [The USER (existing) as which the service will run (default: root)]),
	    dbus_srv_user="$with_dbus_service_user",
	    dbus_srv_user="root")
AC_SUBST(dbus_srv_user)

200 201 202 203 204 205 206 207 208 209 210 211 212 213
# gdbus-codegen
if test x$cross_compiling != xyes; then
	GDBUS_CODEGEN=`$PKG_CONFIG --variable gdbus_codegen gio-2.0`
else
	AC_PATH_PROG([GDBUS_CODEGEN],[gdbus-codegen])
fi
AC_SUBST([GDBUS_CODEGEN])

if test "x$GDBUS_CODEGEN" = "x"; then
	ifelse([$2],,[AC_MSG_ERROR([gdbus-codegen not found.])],[$2])
else
	ifelse([$1],,[:],[$1])
fi

214 215 216 217 218 219 220 221 222 223
# systemd
AC_ARG_WITH([systemdsystemunitdir],
            AS_HELP_STRING([--with-systemdsystemunitdir=DIR], [Directory for systemd service files]),
            [],
            [with_systemdsystemunitdir=$($PKG_CONFIG --variable=systemdsystemunitdir systemd)])
if test "x$with_systemdsystemunitdir" != "xno"; then
  AC_SUBST([systemdsystemunitdir], [$with_systemdsystemunitdir])
fi
AM_CONDITIONAL(HAVE_SYSTEMD, [test -n "$systemdsystemunitdir"])

224 225 226
GLIB_MKENUMS=`$PKG_CONFIG --variable=glib_mkenums glib-2.0`
AC_SUBST(GLIB_MKENUMS)

Zeeshan Ali's avatar
Zeeshan Ali committed
227 228 229
AC_CONFIG_FILES([
  Makefile
  src/Makefile
230
  src/geoclue-2.0.pc
231
  src/agent/Makefile
232
  src/geocode-glib/Makefile
Zeeshan Ali's avatar
Zeeshan Ali committed
233
  src/public-api/Makefile
234
  src/geoip-server/Makefile
Zeeshan Ali's avatar
Zeeshan Ali committed
235
  po/Makefile.in
236
  data/org.freedesktop.GeoClue2.conf
Zeeshan Ali's avatar
Zeeshan Ali committed
237 238
  data/Makefile
  demo/Makefile
239 240
  docs/Makefile
  docs/version.xml
Zeeshan Ali's avatar
Zeeshan Ali committed
241 242 243 244 245 246 247 248 249 250 251 252
])

AC_OUTPUT

dnl ==========================================================================
AC_MSG_NOTICE([

        GeoClue $VERSION
        =================

        prefix:                   ${prefix}
        c compiler:               ${CC} ${CFLAGS}
253
        systemdsystemunitdir:     ${systemdsystemunitdir}
254 255 256 257

        3G source:                ${build_3g_source}
        Wifi source:              ${build_wifi_source}
        Modem GPS source:         ${build_modem_gps_source}
Zeeshan Ali's avatar
Zeeshan Ali committed
258
])