From 392bc11a81b5fe8c8a340eae23ffa3c5c06b72e7 Mon Sep 17 00:00:00 2001 From: marha Date: Wed, 27 Jun 2012 09:14:14 +0200 Subject: libXmu is now a dll Exported variables in libX11 and libxcb should be declared with __declspec(dllimport) --- X11/Xlibint.h | 29 ++++++++++++++----------- include/xcb/bigreq.h | 2 +- include/xcb/render.h | 2 +- include/xcb/shape.h | 2 +- include/xcb/xc_misc.h | 2 +- include/xcb/xcb.h | 1 + include/xcb/xcb_windefs.h | 6 ++++++ libX11/include/X11/Xlibint.h | 29 ++++++++++++++----------- libX11/libX11.def | 13 +++++++++++ libX11/modules/im/ximcp/makefile | 2 ++ libX11/modules/lc/Utf8/makefile | 2 ++ libX11/modules/lc/def/makefile | 2 ++ libX11/modules/lc/gen/makefile | 2 ++ libX11/modules/lc/xlocale/makefile | 2 ++ libX11/modules/om/generic/makefile | 2 ++ libX11/src/makefile | 3 ++- libX11/src/xcms/makefile | 3 ++- libX11/src/xkb/Makefile | 2 ++ libX11/src/xlibi18n/makefile | 2 +- libXext/src/makefile | 5 +++++ libXmu/src/libXmu.def | 44 ++++++++++++++++++++++++++++++++++++++ libXmu/src/makefile | 12 ++++++++++- libxcb/src/makefile | 2 +- libxcb/src/xcb.h | 1 + libxcb/src/xcb_windefs.h | 6 ++++++ xorg-server/installer/vcxsrv.nsi | 2 ++ 26 files changed, 145 insertions(+), 35 deletions(-) create mode 100644 libXmu/src/libXmu.def diff --git a/X11/Xlibint.h b/X11/Xlibint.h index 9cc1f0d1b..15b16f9fe 100644 --- a/X11/Xlibint.h +++ b/X11/Xlibint.h @@ -272,29 +272,32 @@ struct _XLockPtrs { ); }; -#if defined(WIN32) && !defined(_XLIBINT_) -#define _XCreateMutex_fn (*_XCreateMutex_fn_p) -#define _XFreeMutex_fn (*_XFreeMutex_fn_p) -#define _XLockMutex_fn (*_XLockMutex_fn_p) -#define _XUnlockMutex_fn (*_XUnlockMutex_fn_p) -#define _Xglobal_lock (*_Xglobal_lock_p) +#ifdef WIN32 +#ifdef LIB11_DLL +#define X11_EXTERN __declspec(dllexport) extern +#else +#define X11_EXTERN __declspec(dllimport) extern #endif +#else +#define X11_EXTERN extern +#endif + /* in XlibInt.c */ -extern void (*_XCreateMutex_fn)( +X11_EXTERN void (*_XCreateMutex_fn)( LockInfoPtr /* lock */ ); -extern void (*_XFreeMutex_fn)( +X11_EXTERN void (*_XFreeMutex_fn)( LockInfoPtr /* lock */ ); -extern void (*_XLockMutex_fn)( +X11_EXTERN void (*_XLockMutex_fn)( LockInfoPtr /* lock */ #if defined(XTHREADS_WARN) || defined(XTHREADS_FILE_LINE) , char * /* file */ , int /* line */ #endif ); -extern void (*_XUnlockMutex_fn)( +X11_EXTERN void (*_XUnlockMutex_fn)( LockInfoPtr /* lock */ #if defined(XTHREADS_WARN) || defined(XTHREADS_FILE_LINE) , char * /* file */ @@ -302,7 +305,7 @@ extern void (*_XUnlockMutex_fn)( #endif ); -extern LockInfoPtr _Xglobal_lock; +X11_EXTERN LockInfoPtr _Xglobal_lock; #if defined(XTHREADS_WARN) || defined(XTHREADS_FILE_LINE) #define LockDisplay(d) if ((d)->lock_fns) (*(d)->lock_fns->lock_display)((d),__FILE__,__LINE__) @@ -872,10 +875,10 @@ extern int _XError( extern int _XIOError( Display* /* dpy */ ) _X_NORETURN; -extern int (*_XIOErrorFunction)( +X11_EXTERN int (*_XIOErrorFunction)( Display* /* dpy */ ); -extern int (*_XErrorFunction)( +X11_EXTERN int (*_XErrorFunction)( Display* /* dpy */, XErrorEvent* /* error_event */ ); diff --git a/include/xcb/bigreq.h b/include/xcb/bigreq.h index a9888331a..208874bb5 100644 --- a/include/xcb/bigreq.h +++ b/include/xcb/bigreq.h @@ -21,7 +21,7 @@ extern "C" { #define XCB_BIGREQUESTS_MAJOR_VERSION 0 #define XCB_BIGREQUESTS_MINOR_VERSION 0 -extern xcb_extension_t xcb_big_requests_id; +XCB_EXTERN xcb_extension_t xcb_big_requests_id; /** * @brief xcb_big_requests_enable_cookie_t diff --git a/include/xcb/render.h b/include/xcb/render.h index 8e05c39d1..3242c11a5 100644 --- a/include/xcb/render.h +++ b/include/xcb/render.h @@ -22,7 +22,7 @@ extern "C" { #define XCB_RENDER_MAJOR_VERSION 0 #define XCB_RENDER_MINOR_VERSION 11 -extern xcb_extension_t xcb_render_id; +XCB_EXTERN xcb_extension_t xcb_render_id; typedef enum xcb_render_pict_type_t { XCB_RENDER_PICT_TYPE_INDEXED, diff --git a/include/xcb/shape.h b/include/xcb/shape.h index 059887a08..cafe42ffb 100644 --- a/include/xcb/shape.h +++ b/include/xcb/shape.h @@ -22,7 +22,7 @@ extern "C" { #define XCB_SHAPE_MAJOR_VERSION 1 #define XCB_SHAPE_MINOR_VERSION 1 -extern xcb_extension_t xcb_shape_id; +XCB_EXTERN xcb_extension_t xcb_shape_id; typedef uint8_t xcb_shape_op_t; diff --git a/include/xcb/xc_misc.h b/include/xcb/xc_misc.h index 69cf64705..319db27a1 100644 --- a/include/xcb/xc_misc.h +++ b/include/xcb/xc_misc.h @@ -21,7 +21,7 @@ extern "C" { #define XCB_XCMISC_MAJOR_VERSION 1 #define XCB_XCMISC_MINOR_VERSION 1 -extern xcb_extension_t xcb_xc_misc_id; +XCB_EXTERN xcb_extension_t xcb_xc_misc_id; /** * @brief xcb_xc_misc_get_version_cookie_t diff --git a/include/xcb/xcb.h b/include/xcb/xcb.h index 44f650ad7..242e50903 100644 --- a/include/xcb/xcb.h +++ b/include/xcb/xcb.h @@ -37,6 +37,7 @@ #ifndef _WIN32 #include +#define XCB_EXTERN extern #else #include "xcb_windefs.h" #endif diff --git a/include/xcb/xcb_windefs.h b/include/xcb/xcb_windefs.h index 9789735f2..5f43c9c96 100644 --- a/include/xcb/xcb_windefs.h +++ b/include/xcb/xcb_windefs.h @@ -49,4 +49,10 @@ typedef int pid_t; #define STDERR_FILENO 2 +#ifdef LIBXCB_DLL +#define XCB_EXTERN __declspec(dllexport) extern +#else +#define XCB_EXTERN __declspec(dllimport) extern +#endif + #endif /* xcb_windefs.h */ diff --git a/libX11/include/X11/Xlibint.h b/libX11/include/X11/Xlibint.h index 80edeec9a..84abd7319 100644 --- a/libX11/include/X11/Xlibint.h +++ b/libX11/include/X11/Xlibint.h @@ -272,29 +272,32 @@ struct _XLockPtrs { ); }; -#if defined(WIN32) && !defined(_XLIBINT_) -#define _XCreateMutex_fn (*_XCreateMutex_fn_p) -#define _XFreeMutex_fn (*_XFreeMutex_fn_p) -#define _XLockMutex_fn (*_XLockMutex_fn_p) -#define _XUnlockMutex_fn (*_XUnlockMutex_fn_p) -#define _Xglobal_lock (*_Xglobal_lock_p) +#ifdef WIN32 +#ifdef LIB11_DLL +#define X11_EXTERN __declspec(dllexport) extern +#else +#define X11_EXTERN __declspec(dllimport) extern #endif +#else +#define X11_EXTERN extern +#endif + /* in XlibInt.c */ -extern void (*_XCreateMutex_fn)( +X11_EXTERN void (*_XCreateMutex_fn)( LockInfoPtr /* lock */ ); -extern void (*_XFreeMutex_fn)( +X11_EXTERN void (*_XFreeMutex_fn)( LockInfoPtr /* lock */ ); -extern void (*_XLockMutex_fn)( +X11_EXTERN void (*_XLockMutex_fn)( LockInfoPtr /* lock */ #if defined(XTHREADS_WARN) || defined(XTHREADS_FILE_LINE) , char * /* file */ , int /* line */ #endif ); -extern void (*_XUnlockMutex_fn)( +X11_EXTERN void (*_XUnlockMutex_fn)( LockInfoPtr /* lock */ #if defined(XTHREADS_WARN) || defined(XTHREADS_FILE_LINE) , char * /* file */ @@ -302,7 +305,7 @@ extern void (*_XUnlockMutex_fn)( #endif ); -extern LockInfoPtr _Xglobal_lock; +X11_EXTERN LockInfoPtr _Xglobal_lock; #if defined(XTHREADS_WARN) || defined(XTHREADS_FILE_LINE) #define LockDisplay(d) if ((d)->lock_fns) (*(d)->lock_fns->lock_display)((d),__FILE__,__LINE__) @@ -872,10 +875,10 @@ extern int _XError( extern int _XIOError( Display* /* dpy */ ) _X_NORETURN; -extern int (*_XIOErrorFunction)( +X11_EXTERN int (*_XIOErrorFunction)( Display* /* dpy */ ); -extern int (*_XErrorFunction)( +X11_EXTERN int (*_XErrorFunction)( Display* /* dpy */, XErrorEvent* /* error_event */ ); diff --git a/libX11/libX11.def b/libX11/libX11.def index cb0e0bedb..8d45bd6b0 100644 --- a/libX11/libX11.def +++ b/libX11/libX11.def @@ -11,8 +11,10 @@ EXPORTS _XGetBitsPerPixel _XGetRequest _XGetScanlinePad + _Xglobal_lock _Xglobal_lock_p _XInitImageFuncPtrs + _XLockMutex_fn _XLockMutex_fn_p _XRead _XReadPad @@ -20,15 +22,18 @@ EXPORTS _XSend _XSetLastRequestRead _Xsetlocale + _XUnlockMutex_fn _XUnlockMutex_fn_p _XVIDtoVisual XAddConnectionWatch XAddExtension XAddHost XAllocColor + XAllocColorCells XAllocIconSize XAllocNamedColor XAllocSizeHints + XAllocStandardColormap XBell XChangeGC XChangeProperty @@ -44,6 +49,7 @@ EXPORTS XCopyArea XCopyPlane XCreateBitmapFromData + XCreateColormap XCreateFontCursor XCreateFontSet XCreateGC @@ -71,6 +77,7 @@ EXPORTS XDisplayName XDisplayOfIM XDisplayOfScreen + XDisplayString XDrawArc XDrawArcs XDrawImageString @@ -110,6 +117,7 @@ EXPORTS XFlush XFontsOfFontSet XFree + XFreeColormap XFreeColors XFreeCursor XFreeFont @@ -133,6 +141,7 @@ EXPORTS XGetInputFocus XGetKeyboardMapping XGetModifierMapping + XGetRGBColormaps XGetSelectionOwner XGetVisualInfo XGetWindowAttributes @@ -276,6 +285,7 @@ EXPORTS XSetClipMask XSetClipOrigin XSetClipRectangles + XSetCloseDownMode XSetCommand XSetDashes XSetErrorHandler @@ -293,6 +303,7 @@ EXPORTS XSetLocaleModifiers XSetPlaneMask XSetRegion + XSetRGBColormaps XSetSelectionOwner XSetStipple XSetSubwindowMode @@ -308,6 +319,7 @@ EXPORTS XSetWMNormalHints XSetWMProperties XSetWMProtocols + XStoreColors XStoreName XStringToKeysym XSubtractRegion @@ -331,6 +343,7 @@ EXPORTS Xutf8TextListToTextProperty Xutf8TextPropertyToTextList XVaCreateNestedList + XVisualIDFromVisual XwcDrawImageString XwcDrawString XwcFreeStringList diff --git a/libX11/modules/im/ximcp/makefile b/libX11/modules/im/ximcp/makefile index ca80ad90e..48ad05749 100644 --- a/libX11/modules/im/ximcp/makefile +++ b/libX11/modules/im/ximcp/makefile @@ -2,6 +2,8 @@ DEFINES += XIM_t TRANS_CLIENT LIBRARY=libximcp +DEFINES += LIB11_DLL + CSRCS = \ imCallbk.c \ imDefFlt.c \ diff --git a/libX11/modules/lc/Utf8/makefile b/libX11/modules/lc/Utf8/makefile index 6f814c760..1dd942816 100644 --- a/libX11/modules/lc/Utf8/makefile +++ b/libX11/modules/lc/Utf8/makefile @@ -1,5 +1,7 @@ LIBRARY = libxlcUTF8Load +DEFINES += LIB11_DLL + CSRCS=lcUTF8Load.c INCLUDES += ..\..\..\include\X11 ..\..\..\src\xlibi18n ..\..\..\src diff --git a/libX11/modules/lc/def/makefile b/libX11/modules/lc/def/makefile index b89ce455d..10a2f3521 100644 --- a/libX11/modules/lc/def/makefile +++ b/libX11/modules/lc/def/makefile @@ -1,5 +1,7 @@ LIBRARY = libxlcDef CSRCS = lcDefConv.c +DEFINES += LIB11_DLL + INCLUDES += ..\..\..\include\X11 ..\..\..\src\xlibi18n ..\..\..\src diff --git a/libX11/modules/lc/gen/makefile b/libX11/modules/lc/gen/makefile index 8fe90a5e6..a06a39b01 100644 --- a/libX11/modules/lc/gen/makefile +++ b/libX11/modules/lc/gen/makefile @@ -1,5 +1,7 @@ LIBRARY = liblcGenConvLoad +DEFINES += LIB11_DLL + CSRCS=lcGenConv.c INCLUDES += ..\..\..\include\X11 ..\..\..\src\xlibi18n ..\..\..\src diff --git a/libX11/modules/lc/xlocale/makefile b/libX11/modules/lc/xlocale/makefile index 9649982bd..42ca76b86 100644 --- a/libX11/modules/lc/xlocale/makefile +++ b/libX11/modules/lc/xlocale/makefile @@ -1,5 +1,7 @@ LIBRARY = libxlocale +DEFINES += LIB11_DLL + CSRCS = \ lcEuc.c \ lcJis.c \ diff --git a/libX11/modules/om/generic/makefile b/libX11/modules/om/generic/makefile index cb8e59dfe..14e7a8119 100644 --- a/libX11/modules/om/generic/makefile +++ b/libX11/modules/om/generic/makefile @@ -1,5 +1,7 @@ LIBRARY = libxomGeneric +DEFINES += LIB11_DLL + CSRCS = \ omDefault.c \ omGeneric.c \ diff --git a/libX11/src/makefile b/libX11/src/makefile index 4d74b854e..456ad4895 100644 --- a/libX11/src/makefile +++ b/libX11/src/makefile @@ -1,6 +1,7 @@ LIBRARY=libx11 -DEFINES += X11_t TRANS_CLIENT +DEFINES += X11_t TRANS_CLIENT LIB11_DLL + CSRCS = \ AllCells.c \ diff --git a/libX11/src/xcms/makefile b/libX11/src/xcms/makefile index 00fab124a..0ba42a246 100644 --- a/libX11/src/xcms/makefile +++ b/libX11/src/xcms/makefile @@ -1,6 +1,7 @@ LIBRARY = libxcms -DEFINES += HAVE_CONFIG_H +DEFINES += HAVE_CONFIG_H LIB11_DLL + CSRCS = \ AddDIC.c \ diff --git a/libX11/src/xkb/Makefile b/libX11/src/xkb/Makefile index 0f6b7e859..56aecc880 100644 --- a/libX11/src/xkb/Makefile +++ b/libX11/src/xkb/Makefile @@ -1,5 +1,7 @@ LIBRARY = libxkb +DEFINES += LIB11_DLL + CSRCS = \ XKB.c \ XKBBind.c \ diff --git a/libX11/src/xlibi18n/makefile b/libX11/src/xlibi18n/makefile index 5be81d350..d5dfcf723 100644 --- a/libX11/src/xlibi18n/makefile +++ b/libX11/src/xlibi18n/makefile @@ -44,7 +44,7 @@ LIBRARY = libi18n # $(IM_LIBS) $(LC_LIBS) $(OM_LIBS) INCLUDES += ..\..\include\X11 -DEFINES += XLOCALELIBDIR="\".\"" +DEFINES += XLOCALELIBDIR="\".\"" LIB11_DLL CSRCS = \ $(XI18N_DL_SOURCES) \ diff --git a/libXext/src/makefile b/libXext/src/makefile index d2b006416..23d2a0946 100644 --- a/libXext/src/makefile +++ b/libXext/src/makefile @@ -5,6 +5,11 @@ INCLUDES := ..\include $(INCLUDES) INCLUDELIBFILES = \ $(MHMAKECONF)\libX11\$(OBJDIR)\libX11.lib +LIBDIRS=$(dir $(INCLUDELIBFILES)) + +load_makefile $(LIBDIRS:%$(OBJDIR)\=%makefile MAKESERVER=0 DEBUG=$(DEBUG);) + + CSRCS = \ DPMS.c \ MITMisc.c \ diff --git a/libXmu/src/libXmu.def b/libXmu/src/libXmu.def new file mode 100644 index 000000000..6e369d6c3 --- /dev/null +++ b/libXmu/src/libXmu.def @@ -0,0 +1,44 @@ +LIBRARY libXmu +EXPORTS + _XA_CHARACTER_POSITION + _XA_COMPOUND_TEXT + _XA_DELETE + _XA_LENGTH + _XA_LIST_LENGTH + _XA_NULL + _XA_SPAN + _XA_TARGETS + _XA_TEXT + _XA_UTF8_STRING + _XEditResCheckMessages + XmuAreaOrXor + XmuCompareISOLatin1 + XmuConvertStandardSelection + XmuCreateStippledPixmap + XmuCvtBackingStoreToString + XmuCvtJustifyToString + XmuCvtOrientationToString + XmuCvtShapeStyleToString + XmuCvtStringToBackingStore + XmuCvtStringToBitmap + XmuCvtStringToColorCursor + XmuCvtStringToCursor + XmuCvtStringToJustify + XmuCvtStringToOrientation + XmuCvtStringToShapeStyle + XmuCvtWidgetToString + XmuDestroyScanlineList + XmuDestroySegmentList + XmuGetHostname + XmuInternAtom + XmuNCopyISOLatin1Lowered + XmuNewArea + XmuNewCvtStringToWidget + XmuNewScanline + XmuOptimizeScanline + XmuPrintDefaultErrorMessage + XmuRegisterExternalAgent + XmuReleaseStippledPixmap + XmuReshapeWidget + XmuScanlineOrSegment + XmuScanlineXor \ No newline at end of file diff --git a/libXmu/src/makefile b/libXmu/src/makefile index be4990997..2b94eed65 100644 --- a/libXmu/src/makefile +++ b/libXmu/src/makefile @@ -1,9 +1,19 @@ -LIBRARY = libXmu +SHAREDLIB = libXmu INCLUDES := ..\include ..\include\X11\Xmu $(INCLUDES) DEFINES += XT_NO_SM BITMAPDIR="""bitmaps""" +INCLUDELIBFILES = \ + $(MHMAKECONF)\libX11\$(OBJDIR)\libX11.lib \ + $(MHMAKECONF)\libXext\src\$(OBJDIR)\libXext.lib \ + $(MHMAKECONF)\libXt\src\$(OBJDIR)\libXt.lib + +LIBDIRS=$(dir $(INCLUDELIBFILES)) + +load_makefile $(LIBDIRS:%$(OBJDIR)\=%makefile MAKESERVER=0 DEBUG=$(DEBUG);) + + CSRCS = \ ClientWin.c \ CursorName.c \ diff --git a/libxcb/src/makefile b/libxcb/src/makefile index 5b63df63a..3dc8d38e5 100644 --- a/libxcb/src/makefile +++ b/libxcb/src/makefile @@ -4,7 +4,7 @@ CSRCS = \ xcb_conn.c xcb_out.c xcb_in.c xcb_ext.c xcb_xid.c \ xcb_list.c xcb_util.c xcb_auth.c -DEFINES += PTW32_STATIC_LIB HAVE_GETADDRINFO +DEFINES += PTW32_STATIC_LIB HAVE_GETADDRINFO LIBXCB_DLL INCLUDELIBFILES = \ $(MHMAKECONF)\libxau\$(OBJDIR)\libXau.lib diff --git a/libxcb/src/xcb.h b/libxcb/src/xcb.h index 44f650ad7..242e50903 100644 --- a/libxcb/src/xcb.h +++ b/libxcb/src/xcb.h @@ -37,6 +37,7 @@ #ifndef _WIN32 #include +#define XCB_EXTERN extern #else #include "xcb_windefs.h" #endif diff --git a/libxcb/src/xcb_windefs.h b/libxcb/src/xcb_windefs.h index 9789735f2..5f43c9c96 100644 --- a/libxcb/src/xcb_windefs.h +++ b/libxcb/src/xcb_windefs.h @@ -49,4 +49,10 @@ typedef int pid_t; #define STDERR_FILENO 2 +#ifdef LIBXCB_DLL +#define XCB_EXTERN __declspec(dllexport) extern +#else +#define XCB_EXTERN __declspec(dllimport) extern +#endif + #endif /* xcb_windefs.h */ diff --git a/xorg-server/installer/vcxsrv.nsi b/xorg-server/installer/vcxsrv.nsi index 90ec5ee5d..188edde48 100644 --- a/xorg-server/installer/vcxsrv.nsi +++ b/xorg-server/installer/vcxsrv.nsi @@ -96,6 +96,7 @@ Section "VcXsrv (required)" File "..\..\libXau\obj\release\libXau.dll" File "..\..\libX11\obj\release\libX11.dll" File "..\..\libXext\src\obj\release\libXext.dll" + File "..\..\libXmu\src\obj\release\libXmu.dll" File "..\..\libxml2\bin\iconv.dll" File "msvcr100.dll" File "msvcp100.dll" @@ -259,6 +260,7 @@ Section "Uninstall" Delete "$INSTDIR\libXau.dll" Delete "$INSTDIR\libX11.dll" Delete "$INSTDIR\libXext.dll" + Delete "$INSTDIR\libXmu.dll" Delete "$INSTDIR\libxml2.dll" Delete "$INSTDIR\zlib1.dll" Delete "$INSTDIR\iconv.dll" -- cgit v1.2.3