aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon Busch <morphis@gravedo.de>2012-04-10 14:11:49 +0200
committerSimon Busch <morphis@gravedo.de>2012-04-10 14:11:49 +0200
commite2bc897828464cb02a350156650632d4bdc860ef (patch)
tree68c25c868489897a3fe30ac5b887ac838c34b6a4
parent2194cdc2276825402390bdd1d03b5a1dcfe357eb (diff)
downloadcornucopia-e2bc897828464cb02a350156650632d4bdc860ef.tar.gz
cornucopia-e2bc897828464cb02a350156650632d4bdc860ef.tar.bz2
cornucopia-e2bc897828464cb02a350156650632d4bdc860ef.zip
libfsoresource: restructure autoconf/automake configuration to be ready for a release
-rw-r--r--libfsoresource/configure.ac65
-rw-r--r--libfsoresource/fsoresource/Makefile.am61
-rw-r--r--libfsoresource/tests/Makefile.am51
3 files changed, 100 insertions, 77 deletions
diff --git a/libfsoresource/configure.ac b/libfsoresource/configure.ac
index 3fca96f7..0c66d53a 100644
--- a/libfsoresource/configure.ac
+++ b/libfsoresource/configure.ac
@@ -1,31 +1,61 @@
-AC_INIT([libfsoresource], [0.10.0], [smartphones-userland@linuxtogo.org], [libfsoresource])
+m4_define([fsoresource_released], [0])
+m4_define([fsoresource_base_version], [0.10.0])
+m4_define([fsoresource_maybe_gitrev], m4_if(fsoresource_released, [1], [], [m4_esyscmd([git show-ref --hash=5 HEAD | tr -d '\n\r'])]))
+m4_define([fsoresource_version], m4_if(fsoresource_released, [1], [fsoresource_base_version], [fsoresource_base_version-fsoresource_maybe_gitrev]))
+
+AC_INIT([libfsoresource], fsoresource_version, [smartphones-userland@linuxtogo.org], [libfsoresource])
+m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
+
+AC_PREREQ([2.65])
AC_CONFIG_SRCDIR([Makefile.am])
AC_CONFIG_HEADERS(config.h)
-AM_INIT_AUTOMAKE([dist-bzip2])
-m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
+AM_INIT_AUTOMAKE([dist-bzip2 no-dist-gzip])
+AM_MAINTAINER_MODE([enable])
AC_PROG_CC
AM_PROG_CC_C_O
AC_GNU_SOURCE
+AC_DISABLE_STATIC
AC_PROG_LIBTOOL
+PKG_PROG_PKG_CONFIG([0.21])
AC_SUBST(CFLAGS)
AC_SUBST(CPPFLAGS)
AC_SUBST(LDFLAGS)
-# pkg-config requirements
-PKG_PROG_PKG_CONFIG
+#########################################################################################
+# Vala building options -- allows tarball builds without installing vala
+#########################################################################################
VALA_REQUIRED=0.14.2
+
+AC_ARG_ENABLE([vala], AS_HELP_STRING([--enable-vala],[Enable building from Vala sources]),
+ [enable_vala=$enableval], [enable_vala=no])
+
+# Force Vala for non-release builds
+m4_if(fsosystem_released, [1], [],
+ [
+ enable_vala=yes
+ echo "Vala compiler required for non-release builds; requiring Vala..."
+ ])
+
+if test "x$enable_vala" = "xyes" ; then
+ AM_PROG_VALAC([$VALA_REQUIRED])
+ if test "x$VALAC" = "x" ; then
+ AC_MSG_ERROR([Vala requested but valac is not installed])
+ fi
+fi
+
+AM_CONDITIONAL([HAVE_VALA], [test "x$enable_vala" = "xyes"])
+
+#########################################################################################
+# Check for various dependencies
+#########################################################################################
+
GLIB_REQUIRED=2.26.0
FSO_REQUIRED=0.10.0
FSO_GLIB_REQUIRED=2012.02.14.1
-# vala
-AC_PATH_PROG(VALAC, valac, valac)
-AC_SUBST(VALAC)
-m4_ifdef([AM_PROG_VALAC], [AM_PROG_VALAC([$VALA_REQUIRED])])
-
# glib and friends
PKG_CHECK_MODULES(GLIB,
glib-2.0 >= $GLIB_REQUIRED
@@ -37,14 +67,20 @@ PKG_CHECK_MODULES(GLIB,
AC_SUBST(GLIB_CFLAGS)
AC_SUBST(GLIB_LIBS)
+#########################################################################################
# check for debugging
+#########################################################################################
+
AC_ARG_ENABLE(debug,
[ --enable-debug Enable debug build (default=disabled)],
[debug=$enableval],
[debug="no"])
AM_CONDITIONAL( [WANT_DEBUG], [test x"$debug" = x"yes"])
+#########################################################################################
# output
+#########################################################################################
+
AC_CONFIG_FILES([Makefile
fsoresource-2.0.pc
fsoresource/Makefile
@@ -52,9 +88,10 @@ AC_CONFIG_FILES([Makefile
AC_OUTPUT
+#########################################################################################
# info
-echo
-echo
+#########################################################################################
+
echo
echo "------------------------------------------------------------------------"
echo "$PACKAGE_NAME $PACKAGE_VERSION"
@@ -62,6 +99,10 @@ echo "------------------------------------------------------------------------"
echo
echo "Configuration Options:"
echo
+echo " Vala....................: $enable_vala"
+echo
+echo " Vala Compiler...........: ${VALAC}"
+echo
echo " debug build.............: $debug"
echo
echo " prefix..................: $prefix"
diff --git a/libfsoresource/fsoresource/Makefile.am b/libfsoresource/fsoresource/Makefile.am
index 227bf46f..9892b7d5 100644
--- a/libfsoresource/fsoresource/Makefile.am
+++ b/libfsoresource/fsoresource/Makefile.am
@@ -4,11 +4,24 @@ NULL =
AM_CPPFLAGS = \
-I$(top_srcdir) \
- $(GLIB_CFLAGS) \
-DG_LOG_DOMAIN=\"fsoresource\" \
$(NULL)
-VALAC_ARGS = \
+AM_VALAFLAGS = \
+ $(NULL)
+
+if WANT_DEBUG
+AM_VALAFLAGS += -g -D DEBUG
+AM_CPPFLAGS += -ggdb -O0
+endif
+
+lib_LTLIBRARIES = libfsoresource.la
+
+libfsoresource_la_SOURCES = \
+ dbusresource.vala \
+ $(NULL)
+
+libfsoresource_la_VALAFLAGS = \
--basedir $(top_srcdir) \
--vapidir $(top_srcdir)/vapi \
--pkg glib-2.0 \
@@ -18,57 +31,31 @@ VALAC_ARGS = \
--pkg fso-glib-1.0 \
--header fsoresource.h \
--library fsoresource-2.0
-
-if WANT_DEBUG
-VALAC_ARGS += -g -D DEBUG
-AM_CFLAGS = -ggdb -O0
-endif
-
-BUILT_SOURCES = .vala.stamp
-
-lib_LTLIBRARIES = \
- libfsoresource.la
$(NULL)
-libfsoresource_la_VALASOURCES = \
- dbusresource.vala \
+libfsoresource_la_CFLAGS = \
+ $(GLIB_CFLAGS) \
$(NULL)
-libfsoresource_la_SOURCES = \
- $(BUILT_SOURCES) \
- $(libfsoresource_la_VALASOURCES:.vala=.c) \
+libfsoresource_la_LIBADD = \
+ $(GLIB_LIBS) \
$(NULL)
fsoresourceincludedir = $(includedir)/fsoframework-2.0
-
fsoresourceinclude_HEADERS = fsoresource.h
-fsoresource-2.0.vapi .vala.stamp: $(libfsoresource_la_VALASOURCES)
- $(VALAC) -C $(VALAC_ARGS) $^
- touch $@
-
-libfsoresource_la_LIBADD = \
- $(GLIB_LIBS) \
- $(NULL)
-
vapidir = $(datadir)/vala/vapi
-
dist_vapi_DATA = \
fsoresource-2.0.vapi \
fsoresource-2.0.deps \
$(NULL)
-EXTRA_DIST += \
- $(libfsoresource_la_VALASOURCES) \
+BUILT_SOURCES = \
+ fsoresource.h \
fsoresource-2.0.vapi \
- $(BUILT_SOURCES) \
$(NULL)
-CLEANFILES = \
- $(BUILT_SOURCES) \
- $(libfsoresource_la_SOURCES) \
- $(NULL)
-
+CLEANFILES =
MAINTAINERCLEANFILES = \
- $(CLEANFILES) \
- Makefile.in
+ $(BUILT_SOURCES) \
+ $(NULL)
diff --git a/libfsoresource/tests/Makefile.am b/libfsoresource/tests/Makefile.am
index 0a53c675..f9945c1b 100644
--- a/libfsoresource/tests/Makefile.am
+++ b/libfsoresource/tests/Makefile.am
@@ -3,45 +3,40 @@ include $(top_srcdir)/Makefile.decl
NULL =
AM_CPPFLAGS = \
- -I$(top_srcdir) \
$(GLIB_CFLAGS) \
- $(DBUS_CFLAGS) \
- -I../fsoresource \
+ -I$(top_srcdir) \
+ -I$(top_srcdir)/fsoresource \
$(NULL)
-noinst_PROGRAMS = $(TEST_PROGS)
-
-progs_ldadd = $(GLIB_LIBS) $(DBUS_LIBS) ../fsoresource/libfsoresource.la
+LDADD = \
+ $(top_builddir)/fsoresource/libfsoresource.la \
+ $(GLIB_LIBS)
+ $(NULL)
-VALAC_ARGS = \
- -C \
+AM_VALAFLAGS = \
--basedir $(top_srcdir) \
--vapidir $(top_srcdir)/fsoresource \
--pkg posix \
--pkg glib-2.0 \
--pkg gio-2.0 \
--pkg fsoframework-2.0 \
- --pkg fsoresource-2.0
-
-#
-# resource test
-#
-TEST_PROGS += testresource
-testresource_VALASOURCES = testresource.vala
-testresource_SOURCES = testresource.c
-$(testresource_SOURCES): $(testresource_VALASOURCES)
- $(VALAC) $(VALAC_ARGS) $^
- touch $@
-testresource_LDADD = $(progs_ldadd)
-EXTRA_DIST += $(testresource_VALASOURCES)
+ --pkg fsoresource-2.0 \
+ $(NULL)
+
+noinst_PROGRAMS = testresource
+TEST_PROGS += $(noinst_PROGAMS)
+
+testresource_SOURCES = testresource.vala
CLEANFILES = \
- $(TEST_PROGS) \
- *.? \
- $(NULL)
+ $(TEST_PROGS) \
+ $(NULL)
MAINTAINERCLEANFILES = \
- Makefile.in \
- *.la \
- *.lo \
- $(NULL)
+ $(addsuffix .c,$(noinst_PROGAMS)) \
+ testresource_vala.stamp \
+ $(NULL)
+
+EXTRA_DIST += \
+ $(MAINTAINERCLEANFILES) \
+ $(NULL)