diff options
-rw-r--r-- | Makefile | 12 | ||||
-rw-r--r-- | lua-uniso.c | 7 |
2 files changed, 18 insertions, 1 deletions
@@ -1,5 +1,15 @@ -include config.mk +VERSION = 0.1 +GIT_REV := $(shell test -d .git && git describe --always --dirty || echo exported) + +ifneq ($(GIT_REV), exported) +FULL_VERSION := $(GIT_REV) +FULL_VERSION := $(patsubst v%,%,$(FULL_VERSION)) +else +FULL_VERSION := $(VERSION) +endif + ABI_VERSION := 0 SONAME := libuniso.so.$(ABI_VERSION) @@ -9,7 +19,7 @@ INCLUDES := uniso.h TARGETS = libuniso.a $(progs-y) $(shlibs-y) $(lualibs-y) CFLAGS ?= -g -Wall -Werror -CFLAGS += -fPIC +CFLAGS += -fPIC -I. -DVERSION=\"$(FULL_VERSION)\" CFLAGS += -I. LDFLAGS += -L. diff --git a/lua-uniso.c b/lua-uniso.c index ec1cb91..58559de 100644 --- a/lua-uniso.c +++ b/lua-uniso.c @@ -12,6 +12,10 @@ #define MODULE_NAME "uniso" +#ifndef VERSION +#define VERSION "unknown version" +#endif + struct l_uniso_context { lua_State *L; int callback_ref; @@ -77,6 +81,9 @@ static const luaL_reg methods[] = { LUALIB_API int luaopen_uniso(lua_State *L) { luaL_openlib(L, MODULE_NAME, methods, 0); + lua_pushliteral(L, "version"); + lua_pushliteral(L, VERSION); + lua_settable(L, -3); return 1; } |