mirror of
https://github.com/reactos/reactos.git
synced 2025-01-05 22:12:46 +00:00
Reapply some Win32 specific magic to properly build a Windows DLL of libjpeg. (Samuel Serapion)
svn path=/trunk/; revision=48038
This commit is contained in:
parent
89324d2493
commit
f4769202d7
2 changed files with 121 additions and 2 deletions
|
@ -191,14 +191,63 @@ typedef unsigned int JDIMENSION;
|
|||
* 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.
|
||||
|
|
70
reactos/include/reactos/libs/libjpeg/rosdiff.patch
Normal file
70
reactos/include/reactos/libs/libjpeg/rosdiff.patch
Normal file
|
@ -0,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.
|
Loading…
Reference in a new issue