Author: dreimer Date: Wed Jul 14 14:53:35 2010 New Revision: 48038
URL: http://svn.reactos.org/svn/reactos?rev=48038&view=rev Log: Reapply some Win32 specific magic to properly build a Windows DLL of libjpeg. (Samuel Serapion)
Added: trunk/reactos/include/reactos/libs/libjpeg/rosdiff.patch (with props) Modified: trunk/reactos/include/reactos/libs/libjpeg/jmorecfg.h
Modified: trunk/reactos/include/reactos/libs/libjpeg/jmorecfg.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/include/reactos/libs/libjpe... ============================================================================== --- trunk/reactos/include/reactos/libs/libjpeg/jmorecfg.h [iso-8859-1] (original) +++ trunk/reactos/include/reactos/libs/libjpeg/jmorecfg.h [iso-8859-1] Wed Jul 14 14:53:35 2010 @@ -191,14 +191,63 @@ * or code profilers that require it. */
+#ifdef _WIN32 +# if defined(ALL_STATIC) +# if defined(JPEG_DLL) +# undef JPEG_DLL +# endif +# if !defined(JPEG_STATIC) +# define JPEG_STATIC +# endif +# endif +# if defined(JPEG_DLL) +# if defined(JPEG_STATIC) +# undef JPEG_STATIC +# endif +# endif +# if defined(JPEG_DLL) +/* building a DLL */ +# define JPEG_IMPEXP __declspec(dllexport) +# elif defined(JPEG_STATIC) +/* building or linking to a static library */ +# define JPEG_IMPEXP +# else +/* linking to the DLL */ +# define JPEG_IMPEXP __declspec(dllimport) +# endif +# if !defined(JPEG_API) +# define JPEG_API __cdecl +# endif +/* The only remaining magic that is necessary for cygwin */ +#elif defined(__CYGWIN__) +# if !defined(JPEG_IMPEXP) +# define JPEG_IMPEXP +# endif +# if !defined(JPEG_API) +# define JPEG_API __cdecl +# endif +#endif + +/* Ensure our magic doesn't hurt other platforms */ +#if !defined(JPEG_IMPEXP) +# define JPEG_IMPEXP +#endif +#if !defined(JPEG_API) +# define JPEG_API +#endif + /* a function called through method pointers: */ #define METHODDEF(type) static type /* a function used only in its module: */ #define LOCAL(type) static type /* a function referenced thru EXTERNs: */ -#define GLOBAL(type) type +#define GLOBAL(type) type JPEG_API /* a reference to a GLOBAL function: */ -#define EXTERN(type) extern type +#ifndef EXTERN +# define EXTERN(type) extern JPEG_IMPEXP type JPEG_API +/* a reference to a "GLOBAL" function exported by sourcefiles of utility progs */ +#endif /* EXTERN */ +#define EXTERN_1(type) extern type JPEG_API
/* This macro is used to declare a "method", that is, a function pointer.
Added: trunk/reactos/include/reactos/libs/libjpeg/rosdiff.patch URL: http://svn.reactos.org/svn/reactos/trunk/reactos/include/reactos/libs/libjpe... ============================================================================== --- trunk/reactos/include/reactos/libs/libjpeg/rosdiff.patch (added) +++ trunk/reactos/include/reactos/libs/libjpeg/rosdiff.patch [iso-8859-1] Wed Jul 14 14:53:35 2010 @@ -1,0 +1,70 @@ +Index: libs/libjpeg/jmorecfg.h +=================================================================== +--- libs/libjpeg/jmorecfg.h (revision 48026) ++++ libs/libjpeg/jmorecfg.h (working copy) +@@ -191,14 +191,63 @@ + * or code profilers that require it. + */ + ++#ifdef _WIN32 ++# if defined(ALL_STATIC) ++# if defined(JPEG_DLL) ++# undef JPEG_DLL ++# endif ++# if !defined(JPEG_STATIC) ++# define JPEG_STATIC ++# endif ++# endif ++# if defined(JPEG_DLL) ++# if defined(JPEG_STATIC) ++# undef JPEG_STATIC ++# endif ++# endif ++# if defined(JPEG_DLL) ++/* building a DLL */ ++# define JPEG_IMPEXP __declspec(dllexport) ++# elif defined(JPEG_STATIC) ++/* building or linking to a static library */ ++# define JPEG_IMPEXP ++# else ++/* linking to the DLL */ ++# define JPEG_IMPEXP __declspec(dllimport) ++# endif ++# if !defined(JPEG_API) ++# define JPEG_API __cdecl ++# endif ++/* The only remaining magic that is necessary for cygwin */ ++#elif defined(__CYGWIN__) ++# if !defined(JPEG_IMPEXP) ++# define JPEG_IMPEXP ++# endif ++# if !defined(JPEG_API) ++# define JPEG_API __cdecl ++# endif ++#endif ++ ++/* Ensure our magic doesn't hurt other platforms */ ++#if !defined(JPEG_IMPEXP) ++# define JPEG_IMPEXP ++#endif ++#if !defined(JPEG_API) ++# define JPEG_API ++#endif ++ + /* a function called through method pointers: */ + #define METHODDEF(type) static type + /* a function used only in its module: */ + #define LOCAL(type) static type + /* a function referenced thru EXTERNs: */ +-#define GLOBAL(type) type ++#define GLOBAL(type) type JPEG_API + /* a reference to a GLOBAL function: */ +-#define EXTERN(type) extern type ++#ifndef EXTERN ++# define EXTERN(type) extern JPEG_IMPEXP type JPEG_API ++/* a reference to a "GLOBAL" function exported by sourcefiles of utility progs */ ++#endif /* EXTERN */ ++#define EXTERN_1(type) extern type JPEG_API + + + /* This macro is used to declare a "method", that is, a function pointer.
Propchange: trunk/reactos/include/reactos/libs/libjpeg/rosdiff.patch ------------------------------------------------------------------------------ svn:eol-style = native