s4-waf: get the version number right on private libraries
authorAndrew Tridgell <tridge@samba.org>
Wed, 8 Dec 2010 00:25:28 +0000 (11:25 +1100)
committerAndrew Tridgell <tridge@samba.org>
Wed, 8 Dec 2010 04:26:06 +0000 (05:26 +0100)
use the first digit of the version number for the library version

Pair-Programmed-With: Jelmer Vernooij <jelmer@samba.org>

buildtools/wafsamba/samba_version.py
buildtools/wafsamba/wafsamba.py
source4/wscript
source4/wscript_build

index 4f99b2c08774865811444e53a6f982ebb7a08eb8..5804afbe4bb408ff878631fcab3ed1ea8d36d7e6 100644 (file)
@@ -1,5 +1,6 @@
 import os
 import Utils
+import samba_utils
 
 def bzr_version_summary(path):
     try:
@@ -246,3 +247,15 @@ def samba_version_file(version_file, path, env=None):
             raise
 
     return SambaVersion(version_dict, path, env=env)
+
+
+
+def load_version(env=None):
+    '''load samba versions either from ./VERSION or git
+    return a version object for detailed breakdown'''
+    if not env:
+        env = samba_utils.LOAD_ENVIRONMENT()
+
+    version = samba_version_file("./VERSION", "..", env)
+    Utils.g_module.VERSION = version.STRING
+    return version
index 1d3ced13cebc855fd0904be9f7de9dff2caa0d8a..10b7dfe0f4863e4f704fbecdab68df8e77e99985 100644 (file)
@@ -192,7 +192,7 @@ def SAMBA_LIBRARY(bld, libname, source,
         if vnum:
             Logs.error("vnum is invalid for private libraries")
             sys.exit(1)
-        vnum = Utils.g_module.VERSION
+        vnum = Utils.g_module.VERSION[0]
 
     features = 'cc cshlib symlink_lib install_lib'
     if target_type == 'PYTHON':
index 48f340cf09bf82163c6ead046429796b8c308771..145f6b8af886933e02e6d54e388f7c9296135a8a 100644 (file)
@@ -8,19 +8,7 @@ VERSION=None
 
 import sys, os
 sys.path.insert(0, srcdir+"/buildtools/wafsamba")
-import wafsamba, Options, samba_dist, Scripting, Utils
-
-
-def load_version(env=None):
-    '''load samba versions either from ./VERSION or git
-    return a version object for detailed breakdown'''
-    import samba_utils, Utils
-    if not env:
-        env = samba_utils.LOAD_ENVIRONMENT()
-
-    version = wafsamba.samba_version_file("./VERSION", "..", env)
-    Utils.g_module.VERSION = version.STRING
-    return version
+import wafsamba, Options, samba_dist, Scripting, Utils, samba_version
 
 
 samba_dist.DIST_DIRS('.')
@@ -61,7 +49,7 @@ def set_options(opt):
 
 
 def configure(conf):
-    version = load_version(env=conf.env)
+    version = samba_version.load_version(env=conf.env)
 
     conf.DEFINE('CONFIG_H_IS_FROM_SAMBA', 1)
     conf.DEFINE('_SAMBA_BUILD_', version.MAJOR, add_to_cflags=True)
@@ -152,7 +140,7 @@ def ctags(ctx):
 # of commands in --help
 def build(bld):
     '''build all targets'''
-    load_version(env=bld.env)
+    samba_version.load_version(env=bld.env)
     pass
 
 
@@ -178,12 +166,12 @@ def wafdocs(ctx):
 
 def dist():
     '''makes a tarball for distribution'''
-    load_version(env=None)
+    samba_version.load_version(env=None)
     samba_dist.dist()
 
 def distcheck():
     '''test that distribution tarball builds and installs'''
-    load_version(env=None)
+    samba_version.load_version(env=None)
     import Scripting
     d = Scripting.distcheck
     d(subdir='source4')
index 474aca686c4e2c6846dd401abeffa296bbc2c080..27c69328e0e4388f2ba32c207ef5e3ff76884632 100644 (file)
@@ -5,11 +5,14 @@
 import os
 srcdir = ".."
 
+import samba_version
+
 # create separate build groups for building the asn1 and et compiler, then
 # building the C from ASN1 and IDL, and finally the main build process
 bld.SETUP_BUILD_GROUPS()
 bld.AUTOCLEANUP_STALE_FILES()
 
+samba_version.load_version(bld.env)
 bld.SAMBA_MKVERSION('version.h')
 
 # bld.ENABLE_MAGIC_ORDERING()