Add version information for Windows file/Properties/Details

https://github.com/Hamlib/Hamlib/issues/1168
pull/1215/head
Mike Black W9MDB 2022-12-21 15:44:36 -06:00
rodzic b153bcd1e5
commit cafc094788
3 zmienionych plików z 53 dodań i 4 usunięć

Wyświetl plik

@ -15,6 +15,8 @@ dnl however, the use of '~' should be fine as apt (others?) will treat
dnl it as an earlier version than the actual release. TNX KA6MAL dnl it as an earlier version than the actual release. TNX KA6MAL
dnl PACKAGE_NAME + " " + PACKAGE_VERSION must not exceed 20 chars! dnl PACKAGE_NAME + " " + PACKAGE_VERSION must not exceed 20 chars!
AC_INIT([Hamlib],[4.6~git],[hamlib-developer@lists.sourceforge.net],[hamlib],[http://www.hamlib.org]) AC_INIT([Hamlib],[4.6~git],[hamlib-developer@lists.sourceforge.net],[hamlib],[http://www.hamlib.org])
#AC_INIT([PRODUCT_NAME], [Hamlib])
#AC_DEFINE([Hamlib], [PRODUCT_VERSION_RESOURCE])
AC_CONFIG_SRCDIR([include/hamlib/rig.h]) AC_CONFIG_SRCDIR([include/hamlib/rig.h])
AC_CONFIG_MACRO_DIR([macros]) AC_CONFIG_MACRO_DIR([macros])
@ -260,6 +262,7 @@ LT_PREREQ([2.2.6b])
dnl N.B. LT_INIT([win32-dll]) does not work for older libtool dnl N.B. LT_INIT([win32-dll]) does not work for older libtool
dnl so require new enough version above. dnl so require new enough version above.
LT_INIT([win32-dll]) LT_INIT([win32-dll])
LT_LANG([Windows Resource])
## -------------------------- ## ## -------------------------- ##
@ -282,6 +285,7 @@ AS_CASE(["$host_os"],
[mingw* | pw32* | cygwin*], [ [mingw* | pw32* | cygwin*], [
WINLDFLAGS="-Wl,--output-def,libhamlib.def -Wl,--add-stdcall-alias" WINLDFLAGS="-Wl,--output-def,libhamlib.def -Wl,--add-stdcall-alias"
VERSIONDLL="version_dll.rc"
AC_SUBST([WINLDFLAGS]) AC_SUBST([WINLDFLAGS])
# Enable ld's "auto import" for executables # Enable ld's "auto import" for executables

Wyświetl plik

@ -11,16 +11,16 @@ RIGSRC = hamlibdatetime.h rig.c serial.c serial.h misc.c misc.h register.c regis
network.c network.h cm108.c cm108.h gpio.c gpio.h idx_builtin.h token.h \ network.c network.h cm108.c cm108.h gpio.c gpio.h idx_builtin.h token.h \
par_nt.h microham.c microham.h amplifier.c amp_reg.c amp_conf.c \ par_nt.h microham.c microham.h amplifier.c amp_reg.c amp_conf.c \
amp_conf.h amp_settings.c extamp.c sleep.c sleep.h sprintflst.c \ amp_conf.h amp_settings.c extamp.c sleep.c sleep.h sprintflst.c \
sprintflst.h cache.c cache.h snapshot_data.c snapshot_data.h sprintflst.h cache.c cache.h snapshot_data.c snapshot_data.h $(VERSIONDLL)
lib_LTLIBRARIES = libhamlib.la lib_LTLIBRARIES = libhamlib.la
libhamlib_la_SOURCES = $(RIGSRC) libhamlib_la_SOURCES = $(RIGSRC) $(VERSIONDLL)
libhamlib_la_LDFLAGS = $(WINLDFLAGS) $(OSXLDFLAGS) -no-undefined -version-info $(ABI_VERSION):$(ABI_REVISION):$(ABI_AGE) libhamlib_la_LDFLAGS = $(WINLDFLAGS) $(OSXLDFLAGS) -no-undefined -version-info $(ABI_VERSION):$(ABI_REVISION):$(ABI_AGE)
libhamlib_la_LIBADD = $(top_builddir)/lib/libmisc.la $(top_builddir)/security/libsecurity.la \ libhamlib_la_LIBADD = $(top_builddir)/lib/libmisc.la $(top_builddir)/security/libsecurity.la \
$(BACKENDEPS) $(RIG_BACKENDEPS) $(ROT_BACKENDEPS) $(AMP_BACKENDEPS) $(NET_LIBS) $(MATH_LIBS) $(LIBUSB_LIBS) $(INDI_LIBS) $(BACKENDEPS) $(RIG_BACKENDEPS) $(ROT_BACKENDEPS) $(AMP_BACKENDEPS) $(NET_LIBS) $(MATH_LIBS) $(LIBUSB_LIBS) $(INDI_LIBS)
libhamlib_la_DEPENDENCIES = $(top_builddir)/lib/libmisc.la $(top_builddir)/security/libsecurity.la $(BACKENDEPS) $(RIG_BACKENDEPS) $(ROT_BACKENDEPS) $(AMP_BACKENDEPS) libhamlib_la_DEPENDENCIES = $(top_builddir)/lib/libmisc.la $(top_builddir)/security/libsecurity.la $(BACKENDEPS) $(RIG_BACKENDEPS) $(ROT_BACKENDEPS) $(AMP_BACKENDEPS)
EXTRA_DIST = Android.mk hamlibdatetime.h.in EXTRA_DIST = Android.mk hamlibdatetime.h.in
@ -32,13 +32,29 @@ EXTRA_DIST = Android.mk hamlibdatetime.h.in
hamlibdatetime.h: FORCE hamlibdatetime.h: FORCE
@if test -x $(top_srcdir)/.git ; then \ @if test -x $(top_srcdir)/.git ; then \
echo "/* This date time is from the last non-merge commit to Hamlib. */" > $(builddir)/$(@F).tmp ;\ echo "/* This date time is from the last non-merge commit to Hamlib. */" > $(builddir)/$(@F).tmp ;\
echo "#define HAMLIBDATETIME "\"$$(TZ=UTC git --git-dir=$(top_srcdir)/.git log --no-merges --date='format-local:%a %b %d %H:%M:%S %Y %z SHA=' --format='%cd' -n 1)$$(git --git-dir=$(top_srcdir)/.git log --no-merges | grep commit | head -n 1 | cut -c8-13)\" >> $(builddir)/$(@F).tmp ;\ echo "#define HAMLIBDATETIME "\"$$(TZ=UTC git --git-dir=$(top_srcdir)/.git log --no-merges --date='format-local:%b %d %H:%M:%SZ %Y SHA=' --format='%cd' -n 1)$$(git --git-dir=$(top_srcdir)/.git log --no-merges | grep commit | head -n 1 | cut -c8-13)\" >> $(builddir)/$(@F).tmp ;\
diff -qN $(builddir)/$(@F).tmp $(builddir)/$(@F) ; test $$? -eq 0 || { echo "Generating SCS header \"$(builddir)/$(@F)\"" ; mv -f $(builddir)/$(@F).tmp $(builddir)/$(@F) ; } ;\ diff -qN $(builddir)/$(@F).tmp $(builddir)/$(@F) ; test $$? -eq 0 || { echo "Generating SCS header \"$(builddir)/$(@F)\"" ; mv -f $(builddir)/$(@F).tmp $(builddir)/$(@F) ; } ;\
rm -f $(builddir)/$(@F).tmp ;\ rm -f $(builddir)/$(@F).tmp ;\
else \ else \
test -f $(srcdir)/$(@F) || cp $(srcdir)/$(@F).in $(srcdir)/$(@F) ;\ test -f $(srcdir)/$(@F) || cp $(srcdir)/$(@F).in $(srcdir)/$(@F) ;\
fi fi
RCCOMPILE = $(RC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS)
LTRCCOMPILE = $(LIBTOOL) --mode=compile --tag=RC $(RCCOMPILE)
.rc.lo:
$(LTRCCOMPILE) -i "$<" -o "$@"
.rc.o:
$(RCCOMPILE) -i "$<" -o "$@"
.mc.rc:
$(WINDMC) "$<"
#version.la: version.rc
# windres $(srcdir)/version.rc -o $(builddir)/version.o
FORCE: FORCE:
# If we are making a distribution out-of-source and we have generated # If we are making a distribution out-of-source and we have generated

29
src/version_dll.rc 100755
Wyświetl plik

@ -0,0 +1,29 @@
#include <windows.h>
#include <hamlibdatetime.h>
#define VERSIONINFO_1 1
VERSIONINFO_1 VERSIONINFO
{
BLOCK "StringFileInfo"
{
BLOCK "040904E4"
{
VALUE "CompanyName", "Hamlib Team\000"
VALUE "FileDescription", "Hamlib DLL\000"
VALUE "ProductName", "Hamlib\000"
VALUE "FileVersion", 4,6,0,0
VALUE "ProductVersion", HAMLIBDATETIME
VALUE "InternalName", "sha256"
VALUE "LegalCopyright", "Copyright Hamlib Team 2022\000"
VALUE "OriginalFilename", "libhamlib-4.dll\000"
}
}
BLOCK "VarFileInfo"
{
VALUE "Translation", 0x409, 1252
}
}