Skip to content

Commit f04a2ae

Browse files
committed
lv2 version
1 parent be7d88d commit f04a2ae

File tree

3 files changed

+55
-4
lines changed

3 files changed

+55
-4
lines changed

Makefile

+11-4
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ ifeq ($(UNAME),Darwin)
4545
GLUILIBS=-framework Cocoa -framework OpenGL -framework CoreFoundation
4646
BUILDGTK=no
4747
STRIPFLAGS=-u -r -arch all -s $(RW)lv2syms
48+
EXTENDED_RE=-E
4849
else
4950
LV2LDFLAGS=-Wl,-Bstatic -Wl,-Bdynamic
5051
LIB_EXT=.so
@@ -55,6 +56,7 @@ else
5556
GLUILIBS=-lX11
5657
GLUICFLAGS+=`pkg-config --cflags glu`
5758
STRIPFLAGS= -s
59+
EXTENDED_RE=-r
5860
endif
5961

6062
ifneq ($(XWIN),)
@@ -100,6 +102,11 @@ else
100102
PKG_GTK_LIBS=
101103
endif
102104

105+
###############################################################################
106+
# extract versions
107+
LV2VERSION=$(tuna_VERSION)
108+
include git2lv2.mk
109+
103110
###############################################################################
104111
# check for build-dependencies
105112

@@ -265,17 +272,17 @@ $(BUILDDIR)$(LV2NAME).ttl: lv2ttl/$(LV2NAME).ttl.in lv2ttl/$(LV2NAME).lv2.ttl.in
265272
ifneq ($(BUILDOPENGL), no)
266273
sed "s/@LV2NAME@/$(LV2NAME)/g;s/@UI_URI_SUFFIX@/_gl/;s/@UI_TYPE@/$(UI_TYPE)/;s/@UI_REQ@/$(LV2UIREQ)/;s/@URI_SUFFIX@//g" \
267274
lv2ttl/$(LV2NAME).gui.ttl.in >> $(BUILDDIR)$(LV2NAME).ttl
268-
sed "s/@INSTANCE@/one/g;s/@LV2NAME@/$(LV2NAME)/g;s/@URI_SUFFIX@//g;s/@NAME_SUFFIX@//g;s/@UI@/ui_gl/g" \
275+
sed "s/@INSTANCE@/one/g;s/@LV2NAME@/$(LV2NAME)/g;s/@URI_SUFFIX@//g;s/@NAME_SUFFIX@//g;s/@UI@/ui_gl/g;s/@VERSION@/lv2:microVersion $(LV2MIC) ;lv2:minorVersion $(LV2MIN) ;/g" \
269276
lv2ttl/$(LV2NAME).lv2.ttl.in >> $(BUILDDIR)$(LV2NAME).ttl
270-
sed "s/@INSTANCE@/two/g;s/@LV2NAME@/$(LV2NAME)/g;s/@URI_SUFFIX@//g;s/@NAME_SUFFIX@/[Spectrum]/g;s/@UI@/ui_gl/g" \
277+
sed "s/@INSTANCE@/two/g;s/@LV2NAME@/$(LV2NAME)/g;s/@URI_SUFFIX@//g;s/@NAME_SUFFIX@/[Spectrum]/g;s/@UI@/ui_gl/g;s/@VERSION@/lv2:microVersion $(LV2MIC) ;lv2:minorVersion $(LV2MIN) ;/g" \
271278
lv2ttl/$(LV2NAME).lv2.ttl.in >> $(BUILDDIR)$(LV2NAME).ttl
272279
endif
273280
ifneq ($(BUILDGTK), no)
274281
sed "s/@LV2NAME@/$(LV2NAME)/g;s/@UI_URI_SUFFIX@/_gtk/;s/@UI_TYPE@/ui:GtkUI/;s/@UI_REQ@//;s/@URI_SUFFIX@/_gtk/g" \
275282
lv2ttl/$(LV2NAME).gui.ttl.in >> $(BUILDDIR)$(LV2NAME).ttl
276-
sed "s/@INSTANCE@/one/g;s/@LV2NAME@/$(LV2NAME)/g;s/@URI_SUFFIX@/_gtk/g;s/@NAME_SUFFIX@/ GTK/g;s/@UI@/ui_gtk/g" \
283+
sed "s/@INSTANCE@/one/g;s/@LV2NAME@/$(LV2NAME)/g;s/@URI_SUFFIX@/_gtk/g;s/@NAME_SUFFIX@/ GTK/g;s/@UI@/ui_gtk/g;s/@VERSION@/lv2:microVersion $(LV2MIC) ;lv2:minorVersion $(LV2MIN) ;/g" \
277284
lv2ttl/$(LV2NAME).lv2.ttl.in >> $(BUILDDIR)$(LV2NAME).ttl
278-
sed "s/@INSTANCE@/two/g;s/@LV2NAME@/$(LV2NAME)/g;s/@URI_SUFFIX@/_gtk/g;s/@NAME_SUFFIX@/ [Spectrum]GTK/g;s/@UI@/ui_gtk/g" \
285+
sed "s/@INSTANCE@/two/g;s/@LV2NAME@/$(LV2NAME)/g;s/@URI_SUFFIX@/_gtk/g;s/@NAME_SUFFIX@/ [Spectrum]GTK/g;s/@UI@/ui_gtk/g;s/@VERSION@/lv2:microVersion $(LV2MIC) ;lv2:minorVersion $(LV2MIN) ;/g" \
279286
lv2ttl/$(LV2NAME).lv2.ttl.in >> $(BUILDDIR)$(LV2NAME).ttl
280287
endif
281288

git2lv2.mk

+43
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
2+
###############################################################################
3+
# extract versions
4+
GIT_REV_REGEXP="([0-9][0-9]*)\.([0-9][0-9]*)(\.([0-9][0-9]*))?(-([0-9][0-9]*))?(-g([a-f0-9]+))?"
5+
6+
override MAJOR=$(shell echo $(LV2VERSION) | sed $(EXTENDED_RE) -e s/$(GIT_REV_REGEXP)/\\1/)
7+
override MINOR=$(shell echo $(LV2VERSION) | sed $(EXTENDED_RE) -e s/$(GIT_REV_REGEXP)/\\2/)
8+
override MICRO=$(shell echo $(LV2VERSION) | sed $(EXTENDED_RE) -e s/$(GIT_REV_REGEXP)/\\4/)
9+
override GITREV=$(shell echo $(LV2VERSION) | sed $(EXTENDED_RE) -e s/$(GIT_REV_REGEXP)/\\6/)
10+
11+
ifeq ($(MAJOR),)
12+
override MAJOR=0
13+
endif
14+
ifeq ($(MINOR),)
15+
override MINOR=0
16+
endif
17+
ifeq ($(MICRO),)
18+
override MICRO=0
19+
endif
20+
21+
$(info Version: $(LV2VERSION) -> $(MAJOR) $(MINOR) $(MICRO) $(GITREV))
22+
23+
# version requirements, see
24+
# http://lv2plug.in/ns/lv2core/#minorVersion
25+
# http://lv2plug.in/ns/lv2core/#microVersion
26+
ifeq ($(GITREV),)
27+
# even numbers for tagged releases
28+
override LV2MIN = $(shell expr $(MAJOR) \* 65536 + $(MINOR) \* 256 + $(MICRO) \* 2 )
29+
override LV2MIC = 0
30+
else
31+
# odd-numbers for all non tagged git versions
32+
override LV2MIN = $(shell expr $(MAJOR) \* 65536 + $(MINOR) \* 256 + $(MICRO) \* 2 + 1 )
33+
override LV2MIC = $(shell expr $(GITREV) \* 2 + 1)
34+
endif
35+
36+
ifeq ($(LV2MIN),)
37+
$(error "Cannot extract required LV2 minor-version parameter")
38+
endif
39+
ifeq ($(LV2MIC),)
40+
$(error "Cannot extract required LV2 micro-version parameter")
41+
endif
42+
43+
$(info LV2 Version: $(LV2MIN) $(LV2MIC))

lv2ttl/tuna.lv2.ttl.in

+1
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
doap:license <http://usefulinc.com/doap/licenses/gpl> ;
66
doap:maintainer <http://gareus.org/rgareus#me> ;
77
doap:name "Instrument Tuner@NAME_SUFFIX@";
8+
@VERSION@
89
lv2:optionalFeature lv2:hardRTCapable ;
910
lv2:requiredFeature urid:map ;
1011
ui:ui @LV2NAME@:@UI@ ;

0 commit comments

Comments
 (0)