loader: Update the reported version from the current git HEAD if available.
diff --git a/loader/.gitignore b/loader/.gitignore
index e3e92e4..677df33 100644
--- a/loader/.gitignore
+++ b/loader/.gitignore
@@ -1,3 +1,5 @@
+/version-stamp
+/version.c
/wine
/wine-glibc
/wine-kthread
diff --git a/loader/Makefile.in b/loader/Makefile.in
index 9cb6ba6..94c2428 100644
--- a/loader/Makefile.in
+++ b/loader/Makefile.in
@@ -11,8 +11,8 @@
preloader.c \
pthread.c
-KTHREAD_OBJS = kthread.o main.o
-PTHREAD_OBJS = pthread.o main.o
+KTHREAD_OBJS = kthread.o main.o version.o
+PTHREAD_OBJS = pthread.o main.o version.o
MAIN_BINARY = @MAIN_BINARY@
EXTRA_BINARIES = @EXTRA_BINARIES@
@@ -58,6 +58,12 @@
$(RM) $(DESTDIR)$(mandir)/man$(prog_manext)/wine.$(prog_manext)
clean::
- $(RM) $(WINE_BINARIES) $(MODULE)
+ $(RM) $(WINE_BINARIES) $(MODULE) version.c version-stamp
+
+version-stamp: dummy
+ (GIT_DIR=$(TOPSRCDIR)/.git git describe 2>/dev/null || echo "wine-@PACKAGE_VERSION@") | sed -e 's/\(.*\)/const char wine_version[] = "\1";/' >$@ || ($(RM) $@ && exit 1)
+
+version.c: version-stamp
+ @cmp -s version-stamp $@ || cp version-stamp $@
@DEPENDENCIES@ # everything below this line is overwritten by make depend
diff --git a/loader/main.c b/loader/main.c
index dd5d769..5e0f330 100644
--- a/loader/main.c
+++ b/loader/main.c
@@ -68,7 +68,7 @@
*/
static void check_command_line( int argc, char *argv[] )
{
- static const char version[] = PACKAGE_STRING;
+ extern const char wine_version[];
static const char usage[] =
"Usage: wine PROGRAM [ARGUMENTS...] Run the specified program\n"
" wine --help Display this help and exit\n"
@@ -86,7 +86,7 @@
}
if (!strcmp( argv[1], "--version" ))
{
- printf( "%s\n", version );
+ printf( "%s\n", wine_version );
exit(0);
}
}