diff --git a/Makefile b/Makefile
index 3af2582..c37f4c7 100644
--- a/Makefile
+++ b/Makefile
@@ -26,6 +26,8 @@
 	DEFINES += -DSK_RELEASE -DGR_DEBUG=0
 endif
 
+DEFINES += -DGR_IMPLEMENTATION=1
+
 DEFINES += -DSK_SUPPORT_LCDTEXT
 
 ifneq ($(SKIA_PDF_SUPPORT),false)
diff --git a/gpu/include/GrConfig.h b/gpu/include/GrConfig.h
index 7805074..5a08077 100644
--- a/gpu/include/GrConfig.h
+++ b/gpu/include/GrConfig.h
@@ -113,8 +113,9 @@
 ///////////////////////////////////////////////////////////////////////////////
 
 /*
- *  Pull stdint.h in before user-config, to be sure our __STDC... macros are
- *  defined before anyone else might try to include stdint.h
+ *  Include stdint.h with defines that trigger declaration of C99 limit/const
+ *  macros here before anyone else has a chance to include stdint.h without 
+ *  these.
  */
 #define __STDC_LIMIT_MACROS
 #define __STDC_CONSTANT_MACROS
@@ -141,6 +142,33 @@
 ///////////////////////////////////////////////////////////////////////////////
 // postconfig section:
 //
+
+// GR_IMPLEMENTATION should be define to 1 when building Gr and 0 when including
+// it in another dependent build. The Gr makefile/ide-project should define this
+// to 1.
+#if !defined(GR_IMPLEMENTATION)
+    #define GR_IMPLEMENTATION 0
+#endif
+
+// If Gr is built as a shared library then GR_DLL should be defined to 1 (both
+// when building Gr and when including its headers in dependent builds). Only
+// currently supported minimally for Chrome's Win32 Multi-DLL build (TODO:
+// correctly exort all of the public API correctly and support shared lib on
+// other platforms).
+#if !defined(GR_DLL)
+    #define GR_DLL 0
+#endif
+
+#if GR_WIN32_BUILD && GR_DLL
+    #if GR_IMPLEMENTATION
+        #define GR_API __declspec(dllexport)
+    #else
+        #define GR_API __declspec(dllimport)
+    #endif
+#else
+    #define GR_API
+#endif
+
 // By now we must have a GR_..._BUILD symbol set to 1, and a decision about
 // debug -vs- release
 //
diff --git a/gpu/include/GrContext.h b/gpu/include/GrContext.h
index 1f90603..4058c5b 100644
--- a/gpu/include/GrContext.h
+++ b/gpu/include/GrContext.h
@@ -29,7 +29,7 @@
 class GrInOrderDrawBuffer;
 class GrPathRenderer;
 
-class GrContext : public GrRefCnt {
+class GR_API GrContext : public GrRefCnt {
 public:
     /**
      * Creates a GrContext from within a 3D context.
diff --git a/gpu/include/GrGLInterface.h b/gpu/include/GrGLInterface.h
index 7a44f4f..b43bacc 100644
--- a/gpu/include/GrGLInterface.h
+++ b/gpu/include/GrGLInterface.h
@@ -19,6 +19,7 @@
 #define GrGLInterface_DEFINED
 
 #include "GrGLPlatformIncludes.h"
+#include "GrTypes.h"
 
 #if !defined(GR_GL_FUNCTION_TYPE)
     #define GR_GL_FUNCTION_TYPE
@@ -38,8 +39,8 @@
  * Routines managing the global interface used to invoke OpenGL calls.
  */
 struct GrGLInterface;
-extern GrGLInterface* GrGLGetGLInterface();
-extern void GrGLSetGLInterface(GrGLInterface* gl_interface);
+GR_API GrGLInterface* GrGLGetGLInterface();
+GR_API void GrGLSetGLInterface(GrGLInterface* gl_interface);
 
 /*
  * Populates the global GrGLInterface pointer with an instance pointing to the
diff --git a/gpu/include/GrNoncopyable.h b/gpu/include/GrNoncopyable.h
index 888e3b1..ab5d8ec 100644
--- a/gpu/include/GrNoncopyable.h
+++ b/gpu/include/GrNoncopyable.h
@@ -24,7 +24,7 @@
  *  Base for classes that want to disallow copying themselves. It makes its
  *  copy-constructor and assignment operators private (and unimplemented).
  */
-class GrNoncopyable {
+class GR_API GrNoncopyable {
 public:
     GrNoncopyable() {}
 
diff --git a/gpu/include/GrRefCnt.h b/gpu/include/GrRefCnt.h
index 7204aff..a466760 100644
--- a/gpu/include/GrRefCnt.h
+++ b/gpu/include/GrRefCnt.h
@@ -29,7 +29,7 @@
  *  It is an error (though only checked for in the debug build) to call unref()
  *  such that the reference count becomes 0.
  */
-class GrRefCnt : GrNoncopyable {
+class GR_API GrRefCnt : GrNoncopyable {
 public:
             GrRefCnt() : fRefCnt(1) {}
     virtual ~GrRefCnt() {
diff --git a/gpu/src/GrGLInterface.cpp b/gpu/src/GrGLInterface.cpp
index 0bddd98..cc2c7bf 100644
--- a/gpu/src/GrGLInterface.cpp
+++ b/gpu/src/GrGLInterface.cpp
@@ -350,11 +350,11 @@
 
 }  // unnamed namespace
 
-void GrGLSetGLInterface(GrGLInterface* gl_interface) {
+GR_API void GrGLSetGLInterface(GrGLInterface* gl_interface) {
     gGLInterface = gl_interface;
 }
 
-GrGLInterface* GrGLGetGLInterface() {
+GR_API GrGLInterface* GrGLGetGLInterface() {
     return gGLInterface;
 }
 
diff --git a/gyp/skia.gyp b/gyp/skia.gyp
index e50122d..53ea83b 100644
--- a/gyp/skia.gyp
+++ b/gyp/skia.gyp
@@ -300,7 +300,7 @@
             'libraries': [
               '-lfreetype',
             ],
-          },  
+          },
         }],
         [ 'OS == "mac"', {
           'include_dirs': [
@@ -932,6 +932,9 @@
         '../gpu/src/GrTextureCache.cpp',
         '../gpu/src/gr_unittests.cpp',
       ],
+      'defines': [
+        'GR_IMPLEMENTATION=1',
+      ],
       'conditions': [
         [ 'OS == "linux"', {
           'defines': [
@@ -942,7 +945,7 @@
               '-lGL',
               '-lX11',
             ],
-          },  
+          },
         }],
         [ 'OS == "mac"', {
           'defines': [
@@ -952,7 +955,7 @@
             'libraries': [
               '$(SDKROOT)/System/Library/Frameworks/OpenGL.framework',
             ],
-          },  
+          },
           }],
         [ 'OS == "win"', {
           'defines': [
@@ -1015,7 +1018,7 @@
         '../src/animator/SkAnimatorScript.cpp',
         '../src/animator/SkAnimatorScript.h',
         #'../src/animator/SkAnimatorScript2.cpp', fails on windows
-        #'../src/animator/SkAnimatorScript2.h', 
+        #'../src/animator/SkAnimatorScript2.h',
         '../src/animator/SkBase64.cpp',
         '../src/animator/SkBase64.h',
         '../src/animator/SkBoundable.cpp',
diff --git a/include/gpu/SkGpuDevice.h b/include/gpu/SkGpuDevice.h
index 8852803..fbe5929 100644
--- a/include/gpu/SkGpuDevice.h
+++ b/include/gpu/SkGpuDevice.h
@@ -30,7 +30,7 @@
  *  Subclass of SkDevice, which directs all drawing to the GrGpu owned by the
  *  canvas.
  */
-class SkGpuDevice : public SkDevice {
+class SK_API SkGpuDevice : public SkDevice {
 public:
     /**
      * The SkGpuDevice will render to the GrRenderTarget, or if the paremeter is
diff --git a/include/gpu/SkGpuDeviceFactory.h b/include/gpu/SkGpuDeviceFactory.h
index 5dcba6a..a2e67f2 100644
--- a/include/gpu/SkGpuDeviceFactory.h
+++ b/include/gpu/SkGpuDeviceFactory.h
@@ -21,7 +21,7 @@
 
 class GrContext;
 
-class SkGpuDeviceFactory : public SkDeviceFactory {
+class SK_API SkGpuDeviceFactory : public SkDeviceFactory {
 public:
     /**
      *  The constructor will ref() the context, passing it to each device
diff --git a/vs/SampleApp/SampleApp.vcxproj b/vs/SampleApp/SampleApp.vcxproj
index 319d0b9..602fda0 100644
--- a/vs/SampleApp/SampleApp.vcxproj
+++ b/vs/SampleApp/SampleApp.vcxproj
@@ -54,7 +54,7 @@
       <Optimization>Disabled</Optimization>
       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;GR_DEBUG=1;GR_IMPLEMENTATION=1;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <AdditionalIncludeDirectories>..\..\include\core;..\..\include\xml;..\..\include\utils;..\..\include\config;..\..\include\views;..\..\src\core;..\..\include\images;..\..\include\effects;..\..\include\gpu;..\..\include\pdf;..\..\gpu\include;..\..\include\ports</AdditionalIncludeDirectories>
     </ClCompile>
     <Link>
@@ -72,7 +72,7 @@
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
       <FunctionLevelLinking>true</FunctionLevelLinking>
       <IntrinsicFunctions>true</IntrinsicFunctions>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;GR_RELEASE=1;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;GR_RELEASE=1;GR_IMPLEMENTATION=1;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <AdditionalIncludeDirectories>..\..\include\core;..\..\include\xml;..\..\include\utils;..\..\include\config;..\..\include\views;..\..\src\core;..\..\include\images;..\..\include\effects;..\..\include\gpu;..\..\include\pdf;..\..\gpu\include;..\..\include\ports</AdditionalIncludeDirectories>
       <InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
     </ClCompile>
diff --git a/xcode/gpu/gpu.xcodeproj/project.pbxproj b/xcode/gpu/gpu.xcodeproj/project.pbxproj
index e85c7ab..155c246 100644
--- a/xcode/gpu/gpu.xcodeproj/project.pbxproj
+++ b/xcode/gpu/gpu.xcodeproj/project.pbxproj
@@ -540,6 +540,10 @@
 				ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
 				GCC_C_LANGUAGE_STANDARD = gnu99;
 				GCC_OPTIMIZATION_LEVEL = 0;
+				GCC_PREPROCESSOR_DEFINITIONS = (
+					"GR_IMPLEMENTATION=1",
+					"GR_DEBUG=1",
+				);
 				GCC_WARN_ABOUT_RETURN_TYPE = YES;
 				GCC_WARN_UNUSED_VARIABLE = YES;
 				ONLY_ACTIVE_ARCH = YES;
@@ -553,7 +557,10 @@
 			buildSettings = {
 				ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
 				GCC_C_LANGUAGE_STANDARD = gnu99;
-				GCC_PREPROCESSOR_DEFINITIONS = "GR_RELEASE=1";
+				GCC_PREPROCESSOR_DEFINITIONS = (
+					"GR_IMPLMENTATION=1",
+					"GR_RELEASE=1",
+				);
 				GCC_WARN_ABOUT_RETURN_TYPE = YES;
 				GCC_WARN_UNUSED_VARIABLE = YES;
 				PREBINDING = NO;
