eina gets version thing ala eet.
authorraster <raster>
Sat, 29 May 2010 03:05:04 +0000 (03:05 +0000)
committerraster <raster@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Sat, 29 May 2010 03:05:04 +0000 (03:05 +0000)
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eina@49267 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

configure.ac
src/include/eina_main.h
src/lib/eina_main.c

index 8d4ca53..6efabc8 100644 (file)
@@ -1,7 +1,24 @@
-# get rid of that stupid cache mechanism
-rm -f config.cache
-
-AC_INIT([eina], [0.9.9.063], [enlightenment-devel@lists.sourceforge.net])
+##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
+##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
+m4_define([v_maj], [0])
+m4_define([v_min], [9])
+m4_define([v_mic], [9])
+m4_define([v_rev], m4_esyscmd([svnversion . | awk -F : '{printf("%s", $1);}' | tr 'A-z' ' ' | sed 's/ //g']))
+m4_ifelse(m4_len[v_rev], [0], [m4_undefine([v_rev])])
+##--   When released, remove the dnl on the below line
+dnl m4_undefine([v_rev])
+##--   When doing snapshots - change soname. remove dnl on below line
+m4_define([v_rel], [-release ver-pre-svn-05])
+##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
+m4_ifdef([v_rev], [m4_define([v_ver], [v_maj.v_min.v_mic.v_rev])],
+[m4_define([v_ver], [v_maj.v_min.v_mic])])
+m4_define([lt_rev], m4_eval(v_maj + v_min))
+m4_define([lt_cur], v_mic)
+m4_define([lt_age], v_min)
+##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
+##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
+AC_INIT([eina], [v_ver], [enlightenment-devel@lists.sourceforge.net])
 release="ver-pre-svn-05"
 AC_PREREQ([2.59])
 AC_CONFIG_SRCDIR([configure.ac])
@@ -19,14 +36,22 @@ define([AC_LIBTOOL_LANG_CXX_CONFIG], [:])dnl
 define([AC_LIBTOOL_LANG_F77_CONFIG], [:])dnl
 AC_PROG_LIBTOOL
 
-VMAJ=`echo $PACKAGE_VERSION | awk -F. '{printf("%s", $1);}'`
-VMIN=`echo $PACKAGE_VERSION | awk -F. '{printf("%s", $2);}'`
-VMIC=`echo $PACKAGE_VERSION | awk -F. '{printf("%s", $3);}'`
-SNAP=`echo $PACKAGE_VERSION | awk -F. '{printf("%s", $4);}'`
-version_info=`expr $VMAJ + $VMIN`":$VMIC:$VMIN"
-AC_DEFINE_UNQUOTED(VMAJ, ["$VMAJ"], [Eina major version number])
-AC_SUBST(VMAJ)
+##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
+##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
+m4_ifdef([v_rev], , [m4_define([v_rev], [0])])
+m4_ifdef([v_rel], , [m4_define([v_rel], [])])
+AC_DEFINE_UNQUOTED(VMAJ, [v_maj], [Major version])
+AC_DEFINE_UNQUOTED(VMIN, [v_min], [Minor version])
+AC_DEFINE_UNQUOTED(VMIC, [v_mic], [Micro version])
+AC_DEFINE_UNQUOTED(VREV, [v_rev], [Revison])
+version_info="lt_rev:lt_cur:lt_age"
+release_info="v_rel"
 AC_SUBST(version_info)
+AC_SUBST(release_info)
+##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
+##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
+VMAJ=v_maj
+AC_SUBST(VMAJ)
 
 MODULE_ARCH="$host_os-$host_cpu-$release"
 AC_SUBST(MODULE_ARCH)
@@ -41,11 +66,9 @@ case "$host_os" in
       MODULE_ARCH="$host_os-$host_cpu"
       ;;
    *)
-      release_info="-release $release"
       MODULE_ARCH="$host_os-$host_cpu-$release"
       ;;
 esac
-AC_SUBST(release_info)
 AC_SUBST(MODULE_ARCH)
 AC_DEFINE_UNQUOTED(MODULE_ARCH, "${MODULE_ARCH}", "Module architecture")
 
index eec05e1..29b0bb7 100644 (file)
 
 #include "eina_types.h"
 
+#define EINA_VERSION_MAJOR 0
+#define EINA_VERSION_MINOR 9
+
+typedef struct _Eina_Version
+{
+   int major;
+   int minor;
+   int micro;
+   int revision;
+} Eina_Version;
+
+EAPI extern Eina_Version *eina_version;
+
 /**
  * @addtogroup Eina_Core_Group Core
  *
index 2c19712..41a6af0 100644 (file)
@@ -43,6 +43,9 @@
 #include "eina_rectangle.h"
 #include "eina_safety_checks.h"
 
+static Eina_Version _version = { VMAJ, VMIN, VMIC, VREV };
+EAPI Eina_Version *eina_version = &_version;;
+
 /*============================================================================*
  *                                  Local                                     *
  *============================================================================*/