Updated visual studio 2005 project files

"Christophe Gisquet" <[email protected]> Wed, 17 Dec 2008 20:43:17 +0100
Newsgroups gmane.comp.internationalization.fribidi
Message-ID <[email protected]>
Hi,

these allow to build fribidi 0.19.1 with VS2005 (and I expect further
versions) at least in their Express (free as in beer) version as a
shared lib (ie .dll + .lib, equivalent to a .so and a .a) for windows.
The archive should extract to a visual/ folder.

On the topic of shared lib, fribidi-common.h tries to handle dynamic
libraries in the windows environment. Unfortunately, this is
insufficient:
- it forces dynamic lib and not static lib
- it is normally only valid for building the code, not linking

A proper solution (like curl, the closest example I had at hand) would
be the attached patch. I haven't tried to modify the autotools files
to account for this possibility and the new macro defs
FRIBIDI_STATICLIB and BUILDING_FRIBIDI.

Bye,
Christophe

_______________________________________________
fribidi mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/fribidi
fribidi-0.19.1.zip (application/zip, 3.1 KB) - not displayed
winstatic.diff (text/x-patch, 569 B)
--- lib/fribidi-common.h.old	2007-04-05 16:13:24 +0000
+++ lib/fribidi-common.h	2008-12-17 19:38:37 +0000
@@ -53,8 +53,12 @@
 
 /* FRIBIDI_ENTRY is a macro used to declare library entry points. */
 #ifndef FRIBIDI_ENTRY
-# if (defined(WIN32)) || (defined(_WIN32_WCE))
+# if (defined(WIN32)) || (defined(_WIN32_WCE)) && !defined(FRIBIDI_STATICLIB)
+#  ifdef BUILDING_FRIBIDI
+#   define FRIBIDI_ENTRY __declspec(dllexport)
+#  else
 #  define FRIBIDI_ENTRY __declspec(dllimport)
+#  endif
 # else /* !WIN32 */
 #  define FRIBIDI_ENTRY		/* empty */
 # endif	/* !WIN32 */