Skip to content

Commit e9dddfb

Browse files
committed
do commit hash replacement in Makefile.am and improve fallback
Signed-off-by: Anton Semjonov <anton@semjonov.de>
1 parent 740b346 commit e9dddfb

File tree

3 files changed

+13
-7
lines changed

3 files changed

+13
-7
lines changed

.gitattributes

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
main.c export-subst
1+
Makefile.am export-subst

Makefile.am

+9-3
Original file line numberDiff line numberDiff line change
@@ -66,9 +66,15 @@ libqemu_slirp_a_SOURCES = \
6666

6767
libslirp_a_SOURCES = rd235_libslirp/src/qemu2libslirp.c
6868

69-
VERSION := $(shell [ -d .git ] && echo "-DVERSION=\\\"$$(git describe --always --abbrev)\\\"")
70-
71-
slirp4netns_CFLAGS = $(AM_CFLAGS) $(VERSION)
69+
# define specific version if commit information available or was
70+
# replaced during git-archive creation
71+
VERSION := $(shell V=$Format:%h$ ; \
72+
expr match "$$V" ormat: >/dev/null \
73+
&& ([ -d .git ] && git describe --always --abbrev || echo unknown) \
74+
|| echo "$$V" )
75+
DEFINE_VERSION = -DVERSION="\"$(VERSION)\""
76+
77+
slirp4netns_CFLAGS = $(AM_CFLAGS) $(DEFINE_VERSION)
7278
slirp4netns_SOURCES = main.c slirp4netns.c
7379
slirp4netns_LDADD = libslirp.a libqemu_slirp.a
7480
man1_MANS = slirp4netns.1

main.c

+3-3
Original file line numberDiff line numberDiff line change
@@ -233,8 +233,9 @@ static int parent(int sock, int exit_fd, unsigned int mtu, bool enable_ipv6)
233233
return 0;
234234
}
235235

236+
// fallback if VERSION is undefined
236237
#ifndef VERSION
237-
#define VERSION "$Format:%h$"
238+
#define VERSION "unknown"
238239
#endif
239240

240241
static void usage(const char *argv0)
@@ -246,8 +247,7 @@ static void usage(const char *argv0)
246247
printf("-r, --ready-fd=FD specify the FD to write to when the network is configured\n");
247248
printf("-m, --mtu=MTU specify MTU (default=1500, max=65521)\n");
248249
printf("-6, --enable-ipv6 enable IPv6 (experimental)\n");
249-
printf("\n");
250-
printf("Version: %s\n", VERSION);
250+
printf("\nVersion: %s\n", VERSION);
251251
}
252252

253253
struct options {

0 commit comments

Comments
 (0)