doc/make.texi (Loaded Object Example): Add a note about building
authorEli Zaretskii <eliz@gnu.org>
Mon, 6 May 2013 17:16:40 +0000 (20:16 +0300)
committerEli Zaretskii <eliz@gnu.org>
Mon, 6 May 2013 17:16:40 +0000 (20:16 +0300)
 shared objects on MS-Windows.

ChangeLog
doc/make.texi

index 75672b5..0427aa9 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2013-05-06  Eli Zaretskii  <eliz@gnu.org>
+
+       * doc/make.texi (Loaded Object Example): Add a note about building
+       shared objects on MS-Windows.
+
 2013-05-05  Paul Smith  <psmith@gnu.org>
 
        * makeint.h (OUTPUT_SYNC_LINE, OUTPUT_SYNC_RECURSE): Rename
index a75cf4f..69de5b7 100644 (file)
@@ -11221,6 +11221,20 @@ mk_temp.so: mk_temp.c
 @end group
 @end example
 
+On MS-Windows, due to peculiarities of how shared objects are
+produced, the compiler needs to scan the @dfn{import library} produced
+when building @code{make}, typically called
+@file{libgnumake-@var{version}.dll.a}, where @var{version} is the
+version of the load object API.  So the recipe to produce a shared
+object will look on Windows like this (assuming the API version is 1):
+
+@example
+@group
+mk_temp.dll: mk_temp.c
+        $(CC) -shared -o $@ $< -lgnumake-1
+@end group
+@end example
+
 Now when you run @code{make} you'll see something like:
 
 @example