Export the Wine version string in libwine
mike at navi.cx
Sat Jul 24 08:28:45 CDT 2004
OK Alexandre, I know you don't like this idea one bit. However, the
comments Paul Davis made some time ago made me sit up and listen. He
Wine has a bit of a problem with the Mono project and our much
smaller FST project to support VST win32/x86 plugins on
linux. It has previously been a self-contained project that
did not provide libraries, and whose internal API was not
accessed by anyone or anything outside of Wine itself. It now
is being used by (at least) 2 projects as a *library*, and it
can either accept that role - which implies providing (at
least) runtime version info - or reject it, which would be a
While Wine isn't really ready to be used as a library yet, people
*are* using it, today, to get things done. People are already doing
version checks against the date string by running "wine --version"
and scraping the output but it's unreliable and tends to only be used
at compile time. Seeing as we already export this information, it
makes sense IMHO to allow people to access it in a more convenient
fashion rather than simply turning them away.
I think the disclaimer in the patch is enough warning. The symbol is
not versioned as it's not intended to be supported after 1.0.
Is it possible to convince you on this issue?
RCS file: /home/wine/wine/libs/wine/config.c,v
retrieving revision 1.9
diff -u -p -r1.9 config.c
--- libs/wine/config.c 15 Jun 2004 20:31:06 -0000 1.9
+++ libs/wine/config.c 24 Jul 2004 13:19:27 -0000
@@ -35,6 +35,12 @@
+/* Export the wine version timestamp.
+ * This interface is unstable and may change or be removed in future versions.
+ * It should only ever be accessed via dlsym.
+const char wine_version_string = PACKAGE_VERSION;
static const char server_config_dir = "/.wine"; /* config dir relative to $HOME */
static const char server_root_prefix = "/tmp/.wine-"; /* prefix for server root dir */
static const char server_dir_prefix = "/server-"; /* prefix for server dir */
More information about the wine-patches