Commit 3da0cfe
so version Append a version number for libbirdfont, beginning with 0 in version 0.22.
Changed files (4)
Diff
@@ -18,8 +18,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. import os import glob import subprocess+import scripts.version from optparse import OptionParser- from doit.tools import run_once from doit.action import CmdAction from scripts.bavala import Vala@@ -81,11 +81,12 @@ valac_options = [ '--target-glib=2.34', # see bug 0000004 '--define=LINUX' ]-libbird = Vala(src='libbirdfont', build='build', library='birdfont', pkg_libs=LIBS)+libbird = Vala(src='libbirdfont', build='build', library='birdfont', so_version=version.SO_VERSION, pkg_libs=LIBS) def task_libbirdfont(): yield libbird.gen_c(valac_options) yield libbird.gen_o(['-fPIC', """-D 'GETTEXT_PACKAGE="birdfont"'"""]) yield libbird.gen_so()+ yield libbird.gen_ln() def task_birdfont ():@@ -4,6 +4,7 @@ import subprocess import glob from optparse import OptionParser from scripts import config+from scripts import version def install (file, dir): f = dest + prefix + dir + '/'@@ -27,12 +28,18 @@ if not os.path.exists ("build/installed"): parser = OptionParser() parser.add_option ("-d", "--dest", dest="dest", help="install to this directory", metavar="DEST")+parser.add_option ("-m", "--bsd-manpages", dest="nogzip", help="don't gzip manpages") (options, args) = parser.parse_args() if not options.dest: options.dest = "" +if not options.nogzip:+ bsd_manpages = True+else:+ bsd_manpages = False+ prefix = config.PREFIX dest = options.dest @@ -52,10 +59,16 @@ install ('resources/linux/birdfont.png', '/share/icons/hicolor/48x48/apps') install ('build/bin/birdfont', '/bin') install ('build/bin/birdfont-export', '/bin')+install ('build/libbirdfont.so.' + version.SO_VERSION, '/lib') install ('build/libbirdfont.so', '/lib') -install ('build/birdfont.1.gz', '/share/man/man1')-install ('build/birdfont-export.1.gz', '/share/man/man1')+if not bsd_manpages:+ install ('build/birdfont.1.gz', '/share/man/man1')+ install ('build/birdfont-export.1.gz', '/share/man/man1')+else:+ install ('resources/linux/birdfont.1', '/man/man1')+ install ('resources/linux/birdfont-export.1', '/man/man1')+ # translations for lang_dir in glob.glob('build/locale/*'):@@ -25,7 +25,6 @@ from doit.action import CmdAction import config import fnmatch - def cmd(name, *args): """create string for command line""" parts = [name]@@ -65,13 +64,13 @@ def get_sources_name (folder, pattern): class Vala(object): """helper to generate tasks to compile vala code""" - def __init__(self, src, build, pkg_libs, library=None, vala_deps=None):+ def __init__(self, src, build, pkg_libs, library=None, vala_deps=None, so_version=None): self.src = src self.build = build- self.library = library self.pkg_libs = pkg_libs self.vala_deps = vala_deps or []-+ self.library = library+ self.vala = get_sources_path (src, '*.vala') self.c = get_sources_path (src, '*.c') # copy regular c sources self.cc = [join(build + '/' + src, f) for f in get_sources_name (src, '*.c') ]@@ -82,7 +81,10 @@ class Vala(object): if library: self.header = join(build, library) + '.h' self.vapi = join(build, library) + '.vapi'- self.so = join(build, src) + '.so'+ self.so = join(build, src) + '.so.' + so_version+ self.so_link = join(build, src) + '.so'+ self.so_link_name = src + '.so'+ self.so_version = so_version def gen_c(self, opts): """translate code from vala to C and create .vapi"""@@ -158,6 +160,17 @@ class Vala(object): 'targets': [ self.so ], } + def gen_ln(self):+ """generate a symbilic link to the generated ".so" file"""+ so_file = self.so.rsplit('/')[-1]+ create_link = "ln -s -T " + so_file + " " + self.so_link_name + " "+ create_link += "&& mv " + self.so_link_name + " " + self.build + "/" + return {+ 'name': self.so_link_name,+ 'actions': [ create_link],+ 'file_dep': [ self.so ],+ 'targets': [ self.so_link ],+ } def gen_bin(self, opts): """generate binary"""@@ -175,7 +188,7 @@ class Vala(object): 'name': "bin", 'actions': [ 'mkdir -p %s' % bin_path, action ], 'getargs': { 'conf': ('pkg_flags', 'out') },- 'file_dep': self.cc + [ d.so for d in self.vala_deps ],+ 'file_dep': self.cc + [ d.so_link for d in self.vala_deps ], 'targets': [ target ], } @@ -17,3 +17,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. """ VERSION = '0.22'+SO_VERSION = '0'