Commit 730ed5f1 authored by Niels De Graef's avatar Niels De Graef

Remove support for building with Autotools

Maintaining Autotools as a build system is very, very heavy on
maintenance. Let's drop this for the next big release so we can focus on
the bugs that truly matter.

!13
parent e153d439
ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS}
SUBDIRS = \
folks \
backends \
tools \
po \
$(NULL)
if ENABLE_BUILD_TESTS
SUBDIRS += tests
endif
if HAVE_VALADOC
SUBDIRS += docs
endif
DIST_SUBDIRS = \
folks \
backends \
tools \
tests \
docs \
po \
$(NULL)
DISTCHECK_CONFIGURE_FLAGS = \
--enable-docs \
--enable-tests \
--enable-eds-backend \
--enable-telepathy-backend \
--enable-libsocialweb-backend \
--enable-tracker-backend \
--enable-zeitgeist \
--disable-vala \
--disable-fatal-warnings \
$(NULL)
EXTRA_DIST = \
autogen.sh \
check.mk \
lcov.mk \
valgrind.mk \
$(NULL)
MAINTAINERCLEANFILES = \
$(GITIGNORE_MAINTAINERCLEANFILES_M4_LIBTOOL) \
$(GITIGNORE_MAINTAINERCLEANFILES_M4_GETTEXT) \
$(GITIGNORE_MAINTAINERCLEANFILES_MAKEFILE_IN) \
$(GITIGNORE_MAINTAINERCLEANFILES_TOPLEVEL) \
ABOUT-NLS \
$(top_builddir)/lcov.info \
$(srcdir)/INSTALL \
$(srcdir)/config.h.in \
$(srcdir)/config.rpath \
$(srcdir)/ChangeLog \
$(NULL)
maintainer-clean-local: maintainer-clean-local-lcov
maintainer-clean-local-lcov:
rm -rf $(top_builddir)/lcov.html
.PHONY: maintainer-clean-local-lcov
GITIGNOREFILES = \
$(top_builddir)/lcov.html/* \
$(NULL)
distclean-local:
if test "x$(srcdir)" = "x."; then :; else \
rm -f ChangeLog; \
fi
distcleancheck_listfiles = \
find . -type f -exec sh -c 'test -f $(srcdir)/$$1 || echo $$1' \
sh '{}' ';'
maintainer-upload-release:
$(MAKE) -C docs maintainer-upload-release
ChangeLog:
@echo Creating $@
@if test -d "$(srcdir)/.git"; then \
(GIT_DIR=$(top_srcdir)/.git ./missing --run git log --stat) | fmt --split-only > $@.tmp \
&& mv -f $@.tmp $@ \
|| ($(RM) $@.tmp; \
echo Failed to generate ChangeLog, your ChangeLog may be outdated >&2; \
(test -f $@ || echo git-log is required to generate this file >> $@)); \
else \
test -f $@ || \
(echo A git checkout and git-log is required to generate ChangeLog >&2 && \
echo A git checkout and git-log is required to generate this file >> $@); \
fi
.PHONY: ChangeLog
# Code coverage support
include lcov.mk
-include $(top_srcdir)/git.mk
#!/bin/sh
# Run this to generate all the initial makefiles, etc.
test -n "$srcdir" || srcdir=$(dirname "$0")
test -n "$srcdir" || srcdir=.
olddir=$(pwd)
cd $srcdir
(test -f configure.ac) || {
echo "*** ERROR: Directory '$srcdir' does not look like the top-level project directory ***"
exit 1
}
# shellcheck disable=SC2016
PKG_NAME=$(autoconf --trace 'AC_INIT:$1' configure.ac)
if [ "$#" = 0 -a "x$NOCONFIGURE" = "x" ]; then
echo "*** WARNING: I am going to run 'configure' with no arguments." >&2
echo "*** If you wish to pass any to it, please specify them on the" >&2
echo "*** '$0' command line." >&2
echo "" >&2
fi
aclocal --install || exit 1
autoreconf --verbose --force --install || exit 1
cd "$olddir"
if [ "$NOCONFIGURE" = "" ]; then
$srcdir/configure "$@" || exit 1
if [ "$1" = "--help" ]; then exit 0 else
echo "Now type 'make' to compile $PKG_NAME" || exit 1
fi
else
echo "Skipping configure process."
fi
SUBDIRS = \
dummy \
key-file \
$(NULL)
if ENABLE_TELEPATHY
SUBDIRS += telepathy
endif
if ENABLE_LIBSOCIALWEB
SUBDIRS += libsocialweb
endif
if ENABLE_TRACKER
SUBDIRS += tracker
endif
if ENABLE_EDS
SUBDIRS += eds
endif
if ENABLE_OFONO
SUBDIRS += ofono
endif
if ENABLE_BLUEZ
SUBDIRS += bluez
endif
DIST_SUBDIRS = \
bluez \
eds \
key-file \
libsocialweb \
ofono \
telepathy \
tracker \
dummy \
$(NULL)
EXTRA_DIST = \
backend.mk \
backend-library.mk \
$(NULL)
-include $(top_srcdir)/git.mk
#
# Common build variable values for folks backend libraries.
#
# Required variables:
# - BACKEND_NAME = name-of-backend
# (this must be the same as the source directory and the backend's type ID)
# - BACKEND_NAME_C = NameOfBackend
# (BACKEND_NAME in CamelCase for the GIR filename)
# - BACKEND_API_VERSION = $(FOLKS_something_API_VERSION)
# - BACKEND_LT_VERSION = $(FOLKS_something_LT_VERSION)
# (from configure.ac)
# - BACKEND_SYMBOLS_REGEX = something
# (regex to pass to -export-symbols-regex to determine the backend’s public
# symbols)
# - BACKEND_NAMESPACE = Something
# (Vala namespace used in the backend code)
# Required targets:
# - libfolks-$(BACKEND_NAME).la
# Derived helper variables (these may be overridden for weird backends):
# - BACKEND_LIBRARY_NAME
# - BACKEND_LA_FILE
# - BACKEND_PC_FILE
# - BACKEND_GIR_FILE
# - BACKEND_VAPI_FILE
# - BACKEND_DEPS_FILE
# - BACKEND_HEADER_FILE
# Defined backend library variables (these must be included in the
# backend-specific variables):
# - backend_library_sources
# - backend_library_valaflags
# - backend_library_cppflags
# - backend_library_cflags
# - backend_library_libadd
# - backend_library_ldflags
# in addition, most of these have *_generic variants which don’t include
# backend-specific flags (for use in helper and utility libraries).
# The defined variables include flags for the standard dependencies:
# - folks
# - GIO
# - GLib
# - libgee
# and also include the relevant $(AM_*) variables.
#
# Additional rules are included for generating and installing the following:
# - pkg-config
# - VAPI and deps files
# - C header file
# - GIR and typelib files
# Derived (but still overrideable) variables
BACKEND_LIBRARY_NAME = folks-$(BACKEND_NAME)
BACKEND_LA_FILE = lib$(BACKEND_LIBRARY_NAME).la
BACKEND_PC_FILE = $(BACKEND_LIBRARY_NAME).pc.in
BACKEND_GIR_FILE = Folks$(BACKEND_NAME_C)-$(BACKEND_API_VERSION).gir
BACKEND_VAPI_FILE = $(BACKEND_LIBRARY_NAME).vapi
BACKEND_DEPS_FILE = $(BACKEND_LIBRARY_NAME).deps
BACKEND_HEADER_FILE = folks/$(BACKEND_LIBRARY_NAME).h
# Added in case it's needed in the future.
backend_library_sources = \
namespace.vala \
$(NULL)
backend_library_cppflags_generic = \
$(AM_CPPFLAGS) \
-I$(top_srcdir) \
-I$(top_srcdir)/folks \
-include $(CONFIG_HEADER) \
-include $(top_srcdir)/folks/warnings.h \
-DPACKAGE_DATADIR=\"$(pkgdatadir)\" \
$(NULL)
backend_library_cppflags = \
$(backend_library_cppflags_generic) \
-DBACKEND_NAME=\"$(BACKEND_NAME)\" \
-DG_LOG_DOMAIN=\"$(BACKEND_NAME)\" \
$(NULL)
backend_library_valaflags_generic = \
$(AM_VALAFLAGS) \
$(TARGET_VALAFLAGS) \
$(ERROR_VALAFLAGS) \
--vapidir=. \
--vapidir=$(top_srcdir)/folks \
--vapidir=$(top_builddir)/folks \
--pkg build-conf \
--pkg folks \
--pkg folks-internal \
--pkg folks-generics \
--pkg gee-0.8 \
--pkg gio-2.0 \
--pkg gobject-2.0 \
$(NULL)
backend_library_valaflags = \
$(backend_library_valaflags_generic) \
--includedir folks \
--gir $(BACKEND_GIR_FILE) \
--library $(BACKEND_LIBRARY_NAME) \
--vapi $(BACKEND_VAPI_FILE) \
-H $(BACKEND_HEADER_FILE) \
$(NULL)
backend_library_cflags_generic = \
$(AM_CFLAGS) \
$(ERROR_CFLAGS) \
$(CODE_COVERAGE_CFLAGS) \
$(GIO_CFLAGS) \
$(GLIB_CFLAGS) \
$(GEE_CFLAGS) \
$(NULL)
backend_library_cflags = $(backend_library_cflags_generic)
backend_library_libadd_generic = \
$(AM_LIBADD) \
$(top_builddir)/folks/libfolks.la \
$(GIO_LIBS) \
$(GLIB_LIBS) \
$(GEE_LIBS) \
$(NULL)
backend_library_libadd = \
$(backend_library_libadd_generic) \
$(NULL)
backend_library_ldflags_generic = \
$(AM_LDFLAGS) \
$(CODE_COVERAGE_LDFLAGS) \
-no-undefined \
$(NULL)
backend_library_ldflags = \
$(backend_library_ldflags_generic) \
-version-info $(BACKEND_LT_VERSION) \
-export-symbols-regex $(BACKEND_SYMBOLS_REGEX) \
$(NULL)
# Namespace Vala file
#
# FIXME: This can be removed once the backend namespaces have been sanitised.
# https://bugzilla.gnome.org/show_bug.cgi?id=711544
#
# This file sets namespace and version attributes for GIR.
namespace.vala:
$(AM_V_GEN)echo -e "[CCode (gir_namespace = \"Folks$(BACKEND_NAME_C)\", gir_version = \"$(BACKEND_API_VERSION)\")]\nnamespace $(BACKEND_NAMESPACE) {}" > $(srcdir)/$@
MAINTAINERCLEANFILES += namespace.vala
# Installed headers
folks_includedir = $(includedir)/folks
folks_include_HEADERS = $(BACKEND_HEADER_FILE)
vapidir = $(datadir)/vala/vapi
dist_vapi_DATA = \
$(BACKEND_VAPI_FILE) \
$(BACKEND_DEPS_FILE) \
$(NULL)
# pkg-config
pkgconfig_in = $(BACKEND_PC_FILE)
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = $(pkgconfig_in:.in=)
EXTRA_DIST += $(pkgconfig_in)
# Introspection
-include $(INTROSPECTION_MAKEFILE)
INTROSPECTION_SCANNER_ARGS = \
$(ERROR_INTROSPECTION_SCANNER_ARGS) \
--add-include-path=$(srcdir) \
--add-include-path=$(builddir) \
--add-include-path=$(abs_top_srcdir)/folks \
--add-include-path=$(abs_top_builddir)/folks \
--warn-all \
$(NULL)
# Set PKG_CONFIG_PATH so we can find the backend's uninstalled pkg-config file.
INTROSPECTION_SCANNER_ENV = \
PKG_CONFIG_PATH=$(top_builddir)/folks:$${PKG_CONFIG_PATH}
INTROSPECTION_COMPILER_ARGS = \
--includedir=$(srcdir) \
--includedir=$(builddir) \
--includedir=$(abs_top_srcdir)/folks \
--includedir=$(abs_top_builddir)/folks \
$(NULL)
if HAVE_INTROSPECTION
$(BACKEND_GIR_FILE): $(BACKEND_LA_FILE)
GIRS = $(BACKEND_GIR_FILE)
girdir = $(datadir)/gir-1.0
dist_gir_DATA = $(GIRS)
MAINTAINERCLEANFILES += $(dist_gir_DATA)
typelibdir = $(libdir)/girepository-1.0
nodist_typelib_DATA = $(GIRS:.gir=.typelib)
CLEANFILES += $(nodist_typelib_DATA)
endif
#
# Common build variable values for folks backends.
#
# Required variables:
# - BACKEND_NAME = "name-of-backend"
# (this must be the same as the source directory and the backend's type ID)
# Required targets:
# - $(BACKEND_NAME).la
# Defined variables (these must be included in the backend-specific variables):
# - backend_sources
# - backend_valaflags
# - backend_cppflags
# - backend_cflags
# - backend_libadd
# - backend_ldflags
# The defined variables include flags for the standard dependencies:
# - folks
# - GIO
# - GLib
# - libgee
# and also include the relevant $(AM_*) variables.
#
# Note: It is suggested that Makefile.ams include the flags
# '-module -avoid-version' in their *_LDFLAGS variable, as well as in
# $(backend_ldflags). This shuts up automake's warnings about the library name
# not being prefixed by 'lib'.
# Added in case it's needed in the future.
backend_sources = \
$(NULL)
backend_valaflags = \
$(AM_VALAFLAGS) \
$(TARGET_VALAFLAGS) \
$(ERROR_VALAFLAGS) \
--vapidir=. \
--vapidir=$(top_srcdir)/folks \
--vapidir=$(top_builddir)/folks \
--pkg folks \
--pkg folks-internal \
--pkg folks-generics \
--pkg gee-0.8 \
--pkg gio-2.0 \
--pkg gobject-2.0 \
$(NULL)
backend_cppflags = \
$(AM_CPPFLAGS) \
-I$(top_srcdir) \
-I$(top_srcdir)/folks \
-include $(CONFIG_HEADER) \
-include $(top_srcdir)/folks/warnings.h \
-DPACKAGE_DATADIR=\"$(pkgdatadir)\" \
-DBACKEND_NAME=\"$(BACKEND_NAME)\" \
-DG_LOG_DOMAIN=\"$(BACKEND_NAME)\" \
$(NULL)
backend_cflags = \
$(AM_CFLAGS) \
$(ERROR_CFLAGS) \
$(CODE_COVERAGE_CFLAGS) \
$(GIO_CFLAGS) \
$(GLIB_CFLAGS) \
$(GEE_CFLAGS) \
$(NULL)
backend_libadd = \
$(AM_LIBADD) \
$(top_builddir)/folks/libfolks.la \
$(GIO_LIBS) \
$(GLIB_LIBS) \
$(GEE_LIBS) \
$(NULL)
backend_ldflags = \
$(AM_LDFLAGS) \
$(CODE_COVERAGE_LDFLAGS) \
-shared \
-fPIC \
-module \
-avoid-version \
-no-undefined \
$(NULL)
include $(top_srcdir)/backends/backend.mk
BACKEND_NAME = "bluez"
backenddir = $(BACKEND_DIR)/bluez
backend_LTLIBRARIES = bluez.la
bluez_la_VALAFLAGS = \
$(backend_valaflags) \
--pkg libebook-1.2 \
--pkg folks-generics \
$(NULL)
bluez_la_SOURCES = \
$(backend_sources) \
bluez-backend.vala \
bluez-backend-factory.vala \
bluez-persona.vala \
bluez-persona-store.vala \
org-bluez-obex-client.vala \
org-bluez.vala \
$(NULL)
bluez_la_CPPFLAGS = \
$(backend_cppflags) \
$(NULL)
bluez_la_CFLAGS = \
$(backend_cflags) \
$(EBOOK_CFLAGS) \
$(NULL)
bluez_la_LIBADD = \
$(backend_libadd) \
$(EBOOK_LIBS) \
$(LIBM) \
$(NULL)
bluez_la_LDFLAGS = \
-module -avoid-version \
$(backend_ldflags) \
$(NULL)
-include $(top_srcdir)/git.mk
SUBDIRS = lib .
BACKEND_NAME = "dummy"
backenddir = $(BACKEND_DIR)/dummy
backend_LTLIBRARIES = dummy.la
dummy_la_VALAFLAGS = \
$(backend_valaflags) \
--vapidir=$(top_builddir)/backends/dummy/lib \
--pkg folks-dummy \
$(NULL)
dummy_la_SOURCES = \
$(backend_sources) \
dummy-backend-factory.vala \
$(NULL)
dummy_la_CPPFLAGS = \
$(backend_cppflags) \
-I$(top_srcdir)/backends/dummy/lib \
-I$(top_srcdir)/backends/dummy/lib/folks \
$(NULL)
dummy_la_CFLAGS = \
$(backend_cflags) \
$(NULL)
dummy_la_LIBADD = \
$(backend_libadd) \
$(top_builddir)/backends/dummy/lib/libfolks-dummy.la \
$(NULL)
dummy_la_LDFLAGS = \
-module -avoid-version \
$(backend_ldflags) \
$(NULL)
-include $(top_srcdir)/backends/backend.mk
-include $(top_srcdir)/git.mk
CLEANFILES =
MAINTAINERCLEANFILES =
EXTRA_DIST =
include $(top_srcdir)/backends/backend-library.mk
BACKEND_NAME = dummy
BACKEND_NAME_C = Dummy
BACKEND_LT_VERSION = $(FOLKS_DUMMY_LT_VERSION)
BACKEND_API_VERSION = $(FOLKS_DUMMY_API_VERSION)
BACKEND_SYMBOLS_REGEX = "^(FOLKS_DUMMY|folks_dummy)_.*|"
BACKEND_NAMESPACE = Dummy
lib_LTLIBRARIES = libfolks-dummy.la
# Deliberately don't include $(backend_library_sources) to avoid namespace.vala
libfolks_dummy_la_SOURCES = \
dummy-backend.vala \
dummy-persona.vala \
dummy-persona-store.vala \
dummy-full-persona.vala \
$(NULL)
libfolks_dummy_la_VALAFLAGS = \
$(backend_library_valaflags) \
$(NULL)
libfolks_dummy_la_CPPFLAGS = \
$(backend_library_cppflags) \
-include folks/redeclare-internal-api.h \
$(NULL)
libfolks_dummy_la_CFLAGS = \
$(backend_library_cflags) \
$(NULL)
libfolks_dummy_la_LIBADD = \
$(backend_library_libadd) \
$(NULL)
libfolks_dummy_la_LDFLAGS = \
$(backend_library_ldflags) \
$(NULL)
-include $(top_srcdir)/git.mk
prefix=
exec_prefix=
abs_top_srcdir=@abs_top_srcdir@
abs_top_builddir=@abs_top_builddir@
vapidir=@abs_top_srcdir@/folks
Name: Folks dummy support library (uninstalled copy)
Description: Dummy support library for the Folks meta-contacts library
Version: @VERSION@
Requires: folks glib-2.0 gobject-2.0 gee-0.8
Libs: ${abs_top_builddir}/backends/dummy/libfolks-dummy.la
Cflags: -I${abs_top_srcdir} -I${abs_top_srcdir}/backends/dummy -I${abs_top_builddir}
prefix=@prefix@
exec_prefix=@exec_prefix@
libdir=@libdir@
bindir=@bindir@
includedir=@includedir@
datarootdir=@datarootdir@
datadir=@datadir@
vapidir=@datadir@/vala/vapi
Name: Folks dummy support library
Description: Dummy support library for the Folks meta-contacts library
Version: @VERSION@
Requires: folks glib-2.0 gobject-2.0 gee-0.8
Libs: -L${libdir} -lfolks-dummy
Cflags: -I${includedir}
SUBDIRS = lib .
include $(top_srcdir)/backends/backend.mk
BACKEND_NAME = "eds"
backenddir = $(BACKEND_DIR)/eds
backend_LTLIBRARIES = eds.la
eds_la_VALAFLAGS = \
$(backend_valaflags) \
--vapidir=$(top_builddir)/backends/eds/lib \
--pkg folks-eds \
--pkg libebook-1.2 \
--pkg libedataserver-1.2 \
--pkg libxml-2.0 \
$(NULL)
eds_la_SOURCES = \
$(backend_sources) \
eds-backend.vala \
eds-backend-factory.vala \
$(NULL)
eds_la_CPPFLAGS = \
$(backend_cppflags) \
-I$(top_srcdir)/backends/eds/lib \
-I$(top_srcdir)/backends/eds/lib/folks \
$(NULL)
eds_la_CFLAGS = \
$(backend_cflags) \
$(EBOOK_CFLAGS) \
$(EDATASERVER_CFLAGS) \
$(LIBXML_CFLAGS) \
$(NULL)
eds_la_LIBADD = \
$(backend_libadd) \
$(top_builddir)/backends/eds/lib/libfolks-eds.la \
$(EBOOK_LIBS) \
$(EDATASERVER_LIBS) \
$(LIBXML_LIBS) \
$(NULL)
eds_la_LDFLAGS = \
-module -avoid-version \
$(backend_ldflags) \
$(NULL)
-include $(top_srcdir)/git.mk
CLEANFILES =
MAINTAINERCLEANFILES =
EXTRA_DIST =
include $(top_srcdir)/backends/backend-library.mk
BACKEND_NAME = eds
BACKEND_NAME_C = Eds
BACKEND_LT_VERSION = $(FOLKS_EDS_LT_VERSION)
BACKEND_API_VERSION = $(FOLKS_EDS_API_VERSION)
BACKEND_SYMBOLS_REGEX = "^(EDSF|edsf)_.*|"
BACKEND_NAMESPACE = Edsf
lib_LTLIBRARIES = libfolks-eds.la
libfolks_eds_la_SOURCES = \
$(backend_library_sources) \
edsf-persona.vala \
edsf-persona-store.vala \
$(NULL)
libfolks_eds_la_VALAFLAGS = \
$(backend_library_valaflags) \
--pkg libebook-1.2 \
--pkg libebook-contacts-1.2 \
--pkg libedataserver-1.2 \
--pkg libxml-2.0 \
$(NULL)
libfolks_eds_la_CPPFLAGS = \
$(backend_library_cppflags) \
-include folks/redeclare-internal-api.h \
$(NULL)
libfolks_eds_la_CFLAGS = \
$(backend_library_cflags) \
$(EBOOK_CFLAGS) \
$(EDATASERVER_CFLAGS) \
$(LIBXML_CFLAGS) \
$(NULL)
libfolks_eds_la_LIBADD = \
$(backend_library_libadd) \
$(EBOOK_LIBS) \
$(EDATASERVER_LIBS) \
$(LIBXML_LIBS) \
$(NULL)
libfolks_eds_la_LDFLAGS = \
$(backend_library_ldflags) \
$(NULL)
-include $(top_srcdir)/git.mk
prefix=
exec_prefix=
abs_top_srcdir=@abs_top_srcdir@
abs_top_builddir=@abs_top_builddir@
vapidir=@abs_top_srcdir@/folks
Name: Folks e-d-s support library (uninstalled copy)
Description: Evolution Data Server support library for the Folks meta-contacts library
Version: @VERSION@