1--- a/sdk/include/reactos/libs/libjpeg/jmorecfg.h
2+++ b/sdk/include/reactos/libs/libjpeg/jmorecfg.h
3@@ -238,14 +238,62 @@ typedef unsigned int JDIMENSION;
4  * or code profilers that require it.
5  */
6
7+#ifdef _WIN32
8+#  if defined(ALL_STATIC)
9+#    if defined(JPEG_DLL)
10+#      undef JPEG_DLL
11+#    endif
12+#    if !defined(JPEG_STATIC)
13+#      define JPEG_STATIC
14+#    endif
15+#  endif
16+#  if defined(JPEG_DLL)
17+#    if defined(JPEG_STATIC)
18+#      undef JPEG_STATIC
19+#    endif
20+#  endif
21+#  if defined(JPEG_DLL)
22+/* building a DLL */
23+#    define JPEG_IMPEXP __declspec(dllexport)
24+#  elif defined(JPEG_STATIC)
25+/* building or linking to a static library */
26+#    define JPEG_IMPEXP
27+#  else
28+/* linking to the DLL */
29+#    define JPEG_IMPEXP __declspec(dllimport)
30+#  endif
31+#  if !defined(JPEG_API)
32+#    define JPEG_API __cdecl
33+#  endif
34+/* The only remaining magic that is necessary for cygwin */
35+#elif defined(__CYGWIN__)
36+#  if !defined(JPEG_IMPEXP)
37+#    define JPEG_IMPEXP
38+#  endif
39+#  if !defined(JPEG_API)
40+#    define JPEG_API __cdecl
41+#  endif
42+#endif
43+
44+/* Ensure our magic doesn't hurt other platforms */
45+#if !defined(JPEG_IMPEXP)
46+#  define JPEG_IMPEXP
47+#endif
48+#if !defined(JPEG_API)
49+#  define JPEG_API
50+#endif
51+
52 /* a function called through method pointers: */
53 #define METHODDEF(type)		static type
54 /* a function used only in its module: */
55 #define LOCAL(type)		static type
56 /* a function referenced thru EXTERNs: */
57-#define GLOBAL(type)		type
58+#define GLOBAL(type)		type JPEG_API
59 /* a reference to a GLOBAL function: */
60-#define EXTERN(type)		extern type
61+#ifndef EXTERN
62+# define EXTERN(type)		extern JPEG_IMPEXP type JPEG_API
63+/* a reference to a "GLOBAL" function exported by sourcefiles of utility progs */
64+#endif /* EXTERN */
65
66
67 /* This macro is used to declare a "method", that is, a function pointer.
68