summaryrefslogtreecommitdiff
path: root/libusb/libusb-1.0.rc
diff options
context:
space:
mode:
authorPeter Stuge <peter@stuge.se>2011-05-09 08:12:24 +0200
committerPeter Stuge <peter@stuge.se>2011-06-13 22:06:30 +0200
commit85a14f43e0ce27cd47f84fdaeacbaa81cebdb886 (patch)
treeef39f336c38dc9c82e432d20572ec02fbd65a6f1 /libusb/libusb-1.0.rc
parent3481f52b014110f6c291e5a15e79ba774dcdfacf (diff)
downloadlibusb-85a14f43e0ce27cd47f84fdaeacbaa81cebdb886.tar.gz
Move library version number from configure.ac to libusb/version.h
This is neccessary to support native MS builds. The Windows resource file libusb/libusb-1.0.rc must include the release version, which was previously only available after configure had run and had substituted the numbers into a generated libusb/libusb-1.0.rc file. The version atoms are now stored as CPP style #defines in libusb/version.h so that the .rc no longer needs to be generated but can simply include the header file and access the version information directly. The m4 macro LU_DEFINE_VERSION_ATOM() was added to configure.ac to get version atoms from libusb/version.h for use in AC_INIT(). The macro handles C and C++ style comments in version.h, but can easily be made to fail by obscuring the file. Please don't do that. Tested with MinGW using autoconf, and manual compile of libusb-1.0.rc using RC.EXE Version 5.2.3690.0 from Visual C++ 2005 Express Edition.
Diffstat (limited to 'libusb/libusb-1.0.rc')
-rw-r--r--libusb/libusb-1.0.rc60
1 files changed, 60 insertions, 0 deletions
diff --git a/libusb/libusb-1.0.rc b/libusb/libusb-1.0.rc
new file mode 100644
index 0000000..58933b5
--- /dev/null
+++ b/libusb/libusb-1.0.rc
@@ -0,0 +1,60 @@
+/*
+ * For Windows: input this file to the Resoure Compiler to produce a binary
+ * .res file. This is then embedded in the resultant library (like any other
+ * compilation object).
+ * The information can then be queried using standard APIs and can also be
+ * viewed with utilities such as Windows Explorer.
+ */
+#include "winresrc.h"
+
+#include "version.h"
+#ifndef LIBUSB_VERSIONSTRING
+#define LU_STR(s) #s
+#define LU_XSTR(s) LU_STR(s)
+#if LIBUSB_NANO > 0
+#define LIBUSB_VERSIONSTRING \
+ LU_XSTR(LIBUSB_MAJOR) "." LU_XSTR(LIBUSB_MINOR) "." \
+ LU_XSTR(LIBUSB_MICRO) "." LU_XSTR(LIBUSB_NANO) "\0"
+#else
+#define LIBUSB_VERSIONSTRING \
+ LU_XSTR(LIBUSB_MAJOR) "." LU_XSTR(LIBUSB_MINOR) "." \
+ LU_XSTR(LIBUSB_MICRO) "\0"
+#endif
+#endif
+
+VS_VERSION_INFO VERSIONINFO
+ FILEVERSION LIBUSB_MAJOR,LIBUSB_MINOR,LIBUSB_MICRO,LIBUSB_NANO
+ PRODUCTVERSION LIBUSB_MAJOR,LIBUSB_MINOR,LIBUSB_MICRO,LIBUSB_NANO
+ FILEFLAGSMASK 0x3fL
+#ifdef _DEBUG
+ FILEFLAGS 0x1L
+#else
+ FILEFLAGS 0x0L
+#endif
+ FILEOS 0x40004L
+ FILETYPE 0x2L
+ FILESUBTYPE 0x0L
+BEGIN
+ BLOCK "StringFileInfo"
+ BEGIN
+ BLOCK "040904b0"
+ BEGIN
+ VALUE "Comments", "\0"
+ VALUE "CompanyName", "libusb.org\0"
+ VALUE "FileDescription", "C library for writing portable USB drivers in userspace\0"
+ VALUE "FileVersion", LIBUSB_VERSIONSTRING
+ VALUE "InternalName", "libusb\0"
+ VALUE "LegalCopyright", "See individual source files, GNU LGPL v2.1 or later.\0"
+ VALUE "LegalTrademarks", "http://www.gnu.org/licenses/lgpl-2.1.html\0"
+ VALUE "OriginalFilename", "libusb-1.0.dll\0"
+ VALUE "PrivateBuild", "\0"
+ VALUE "ProductName", "libusb-1.0\0"
+ VALUE "ProductVersion", LIBUSB_VERSIONSTRING
+ VALUE "SpecialBuild", "\0"
+ END
+ END
+ BLOCK "VarFileInfo"
+ BEGIN
+ VALUE "Translation", 0x409, 1200
+ END
+END