[gxml] * add better version logic to configure.ac, also add some voodoo from libfolks
- From: Richard Hans Schwarting <rschwart src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gxml] * add better version logic to configure.ac, also add some voodoo from libfolks
- Date: Wed, 22 Aug 2012 07:37:45 +0000 (UTC)
commit c3743bfa020385c9b7233544380975718e098f28
Author: Richard Schwarting <aquarichy gmail com>
Date: Wed Aug 22 03:29:17 2012 -0400
* add better version logic to configure.ac, also add some voodoo from libfolks
configure.ac | 146 +++++++++++++++++++++++++++++++++++++++++++++------------
1 files changed, 115 insertions(+), 31 deletions(-)
---
diff --git a/configure.ac b/configure.ac
index b1b36c9..8680c89 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,23 +1,76 @@
-dnl Process this file with autoconf to produce a configure script.
+# this file with autoconf to produce a configure script.
-AC_CONFIG_MACRO_DIR([m4])
-m4_include(m4/introspection.m4)
+# Sections
+# Version numbers
+# Setup
+# Dependencies
+# Output
-AC_INIT(gxml, 0.3)
-AC_CONFIG_HEADERS([config.h])
+### Version numbers
-AM_INIT_AUTOMAKE([1.11])
+# Release Version
+m4_define([project_major_version], [0])
+m4_define([project_minor_version], [3])
+m4_define([project_micro_version], [0])
+m4_define([project_nano_version], [0])
-AM_SILENT_RULES([yes])
+# LT_VERSION
+# If library source has changed since last release, increment revision
+# If public symbols have been added, removed or changed since last release,
+# increment current and set revision to 0
+# If public symbols have been added since last release, increment age
+# If public symbols have been removed since last release, set age to 0
+m4_define([project_lt_current], [2])
+m4_define([project_lt_revision], [0])
+m4_define([project_lt_age], [0])
-AC_PROG_CC
+# Combine numbers to various version variables (different uses)
+# Display the nano_version only if it's not '0'
+m4_define([project_base_version],
+ project_major_version.project_minor_version.project_micro_version)
+m4_define([project_full_version],
+ [m4_if(project_nano_version, [0],
+ project_base_version, project_base_version.project_nano_version)])
+
+m4_define([project_maybe_datestamp],
+ m4_if(project_released, [1],
+ [], [m4_esyscmd([date +.%Y%m%d | tr -d '\n\r'])]))
+
+m4_define([project_version], project_full_version[]project_maybe_datestamp)
+m4_define([project_major_minor_version], project_major_version.project_minor_version)
+m4_define([project_module_version], project_lt_current)
+
+
+
+### Setup
+
+# Initialise autoconf with project details, version
+AC_INIT([gxml], project_version,
+ [https://bugzilla.gnome.org/browse.cgi?product=gxml], [gxml],
+ [http://live.gnome.org/GXml])
+m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
+AC_PREREQ([2.65])
+AC_COPYRIGHT([Copyright (C) 2012 Richard Schwarting])
+# Configure various files and settings for autoconf/automake
+AC_CONFIG_MACRO_DIR([m4])
+AC_CONFIG_SRCDIR([Makefile.am])
+AC_CONFIG_HEADERS([config.h])
+AC_CONFIG_SRCDIR([configure.ac])
+AM_INIT_AUTOMAKE([1.11 dist-bzip2 no-define
+ no-dist-gzip tar-ustar -Wno-portability])
+AM_MAINTAINER_MODE([enable])
+
+AC_PROG_CC
+AM_PROG_CC_C_O
+AC_DISABLE_STATIC
+
+# Introspection
+m4_include(m4/introspection.m4)
-dnl ***************************************************************************
-dnl Internationalization
-dnl ***************************************************************************
+# Internationalization
IT_PROG_INTLTOOL([0.35.0])
GETTEXT_PACKAGE=gxml
@@ -25,22 +78,51 @@ AC_SUBST(GETTEXT_PACKAGE)
AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE", [GETTEXT package name])
AM_GLIB_GNU_GETTEXT
-
+# Initialise libtools (handles library creation) with stuff from above
LT_INIT
-dnl ***************************************************************************
-dnl Dependencies
-dnl ***************************************************************************
+PKG_PROG_PKG_CONFIG([0.21])
+GLIB_SETTINGS
+
+AC_SUBST([CFLAGS])
+AC_SUBST([CPPFLAGS])
+AC_SUBST([LDFLAGS])
+
+LT_CURRENT=project_lt_current
+LT_REVISION=project_lt_revision
+LT_AGE=project_lt_age
+AC_SUBST([LT_CURRENT])
+AC_SUBST([LT_REVISION])
+AC_SUBST([LT_AGE])
+
+PROJECT_MAJOR_MINOR_VERSION=project_major_minor_version
+AC_SUBST([PROJECT_MAJOR_MINOR_VERSION])
+
+API_VERSION=0.3
+AC_SUBST([API_VERSION])
+
+
+
+
+
+### Dependencies
+
GLIB_REQUIRED=2.16.0
+VALA_REQUIRED=0.15.2
+VALA_MODULES="libvala-0.16 >= 0.16"
+GEE_REQUIRED=0.6.1
+LIBXML_REQUIRED=2.7
+GIO_MODULES="gio-2.0 >= 2.16"
VALADOC_REQUIRED=0.3.1
-PKG_CHECK_MODULES(GLIB, glib-2.0 >= $GLIB_REQUIRED gobject-2.0 >= $GLIB_REQUIRED)
+# Check glib
+PKG_CHECK_MODULES([GLIB],
+ [glib-2.0 >= $GLIB_REQUIRED
+ gobject-2.0 >= $GLIB_REQUIRED])
AC_SUBST(GLIB_CFLAGS)
AC_SUBST(GLIB_LIBS)
-dnl Check for vala
-VALA_MODULES="libvala-0.16 >= 0.16"
-
+# Check for vala
PKG_CHECK_MODULES(VALA, $VALA_MODULES)
AC_SUBST(VALA_CFLAGS)
AC_SUBST(VALA_LIBS)
@@ -53,27 +135,22 @@ AM_CONDITIONAL(HAVE_VAPIGEN, test x$VALA_VAPIGEN != x"")
VALA_VAPIDIR=`pkg-config $VALA_MODULES --variable=vapidir`
AC_SUBST(VALA_VAPIDIR)
-dnl Check for libgee
-GEE_REQUIRED="0.6.1"
-
+# Check for libgee
PKG_CHECK_MODULES(GEE, gee-0.8 >= $GEE_REQUIRED)
AC_SUBST(GEE_CFLAGS)
AC_SUBST(GEE_LIBS)
-dnl Check for libxml2
-LIBXML_REQUIRED="2.7"
-
+# Check for libxml2
PKG_CHECK_MODULES(LIBXML, libxml-2.0 >= $LIBXML_REQUIRED)
AC_SUBST(LIBXML_CFLAGS)
AC_SUBST(LIBXML_LIBS)
-dnl Check for GIO
-GIO_MODULES="gio-2.0 >= 2.16"
+# Check for GIO
PKG_CHECK_MODULES(GIO, $GIO_MODULES)
AC_SUBST(GIO_CFLAGS)
AC_SUBST(GIO_LIBS)
-dnl Documentation
+# Documentation with Valadoc
AC_ARG_ENABLE([docs],
AS_HELP_STRING([--enable-docs],[Enable documentation generation]),
[enable_docs=$enableval], [enable_docs=no])
@@ -92,7 +169,7 @@ if test "x$enable_docs" = "xyes" -a "x$have_valadoc" != "xyes"; then
AC_MSG_ERROR([Doc building requested for valadoc but not installed.])
fi
-dnl Check for GObject Introspection
+# Check for GObject Introspection
GOBJECT_INTROSPECTION_CHECK([0.6.7])
AC_ARG_ENABLE([gi-system-install],
@@ -100,15 +177,22 @@ AC_ARG_ENABLE([gi-system-install],
[enable_gi_system_install=$enableval],[enable_gi_system_install=yes])
AM_CONDITIONAL(ENABLE_GI_SYSTEM_INSTALL, [test x"$enable_gi_system_install" = "xyes"])
+
+
+# TODO: should libgxml.pc have no version number in it?
+
+### Autoconf generating Makefiles
AC_OUTPUT([
Makefile
-gxml/libgxml.pc
+gxml/gxml.pc
gxml/Makefile
test/Makefile
docs/Makefile
po/Makefile.in])
-dnl Print configuration summary
+
+
+# Print configuration summary
echo ""
echo " Configuration summary for GXml"
echo " Installation prefix: $prefix"
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]