fix build for linux
partial impl for GPU on linux (need getProcAddress and SkEGLContext)



git-svn-id: http://skia.googlecode.com/svn/trunk@661 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/Makefile b/Makefile
index 0537fe3..b0cfea5 100644
--- a/Makefile
+++ b/Makefile
@@ -81,7 +81,7 @@
 #	CC := gcc-4.0 $(SDK_OPTS)
 
 	C_INCLUDES += -I/opt/local/include
-	LINKER_OPTS += -L/opt/local/lib -framework Carbon  -lpng12
+	LINKER_OPTS += -L/opt/local/lib -framework Carbon -lpng12 -framework OpenGL -framework AGL
 	DEFINES += -DSK_BUILD_FOR_MAC -DSK_ENABLE_LIBPNG
 
 	C_INCLUDES += -Iinclude/utils/mac
@@ -97,8 +97,8 @@
     # support files
 	SRC_LIST += src/images/SkScaledBitmapSampler.cpp
 else
-	LINKER_OPTS += -lpng -lfreetype
-	DEFINES += -DSK_BUILD_FOR_UNIX -DSK_ENABLE_LIBPNG
+	LINKER_OPTS += -lpng -lfreetype -lGL
+	DEFINES += -DSK_BUILD_FOR_UNIX -DSK_ENABLE_LIBPNG -DGR_LINUX_BUILD=1
 
 	# needed for freetype support
 	C_INCLUDES += -I/usr/include/freetype2
@@ -107,6 +107,7 @@
 	SRC_LIST += src/ports/SkFontHost_FreeType.cpp
 	SRC_LIST += src/ports/SkFontHost_FreeType_Subpixel.cpp
 	SRC_LIST += src/utils/SkOSFile.cpp
+	SRC_LIST += src/utils/SkEGLContext_none.cpp
     # these are our registry-based factories
 	SRC_LIST += src/images/SkImageDecoder_Factory.cpp
 	SRC_LIST += src/images/SkImageEncoder_Factory.cpp
@@ -221,7 +222,7 @@
 
 gm: $(GM_OBJS) out/libskia.a
 	@echo "linking gm..."
-	$(HIDE)$(GPP) $(GM_OBJS) out/libskia.a -o out/gm/gm -framework OpenGL -framework AGL $(LINKER_OPTS)
+	$(HIDE)$(GPP) $(GM_OBJS) out/libskia.a -o out/gm/gm $(LINKER_OPTS)
 
 SAMPLEPDF_SRCS := samplepdf.cpp
 
diff --git a/gm/gmmain.cpp b/gm/gmmain.cpp
index 17ed8e4..e406c79 100644
--- a/gm/gmmain.cpp
+++ b/gm/gmmain.cpp
@@ -218,9 +218,11 @@
 	}
 
     // setup a GL context for drawing offscreen
+    GrContext* context = NULL;
     SkEGLContext eglContext;
-    eglContext.init(1024, 1024);
-    GrContext* context = GrContext::CreateGLShaderContext();
+    if (eglContext.init(1024, 1024)) {
+        context = GrContext::CreateGLShaderContext();
+    }
 
     Iter iter;
     GM* gm;
@@ -244,6 +246,9 @@
 			SkCanvas canvas(bitmap);
 
             if (gRec[i].fUseGPU) {
+                if (NULL == context) {
+                    continue;
+                }
                 SkGpuCanvas gc(context);
                 gc.setDevice(gc.createDevice(bitmap.config(), bitmap.width(), bitmap.height(),
                                              bitmap.isOpaque(), false))->unref(); 
diff --git a/gpu/include/GrGLConfig.h b/gpu/include/GrGLConfig.h
index 90763ab..7fab1b5 100644
--- a/gpu/include/GrGLConfig.h
+++ b/gpu/include/GrGLConfig.h
@@ -50,10 +50,12 @@
     #ifndef GL_GLEXT_PROTOTYPES
         #define GL_GLEXT_PROTOTYPES
     #endif
-    #define GR_INCLUDE_GLES1        <GLES/gl.h>
-    #define GR_INCLUDE_GLES1ext     <GLES/glext.h>
-    #define GR_INCLUDE_GLES2        <GLES2/gl2.h>
-    #define GR_INCLUDE_GLES2ext     <GLES2/gl2ext.h>
+    #define GR_INCLUDE_GLDESKTOP    <GL/gl.h>
+    #define GR_INCLUDE_GLDESKTOPext <GL/glext.h>
+//    #define GR_INCLUDE_GLES1        <GLES/gl.h>
+//    #define GR_INCLUDE_GLES1ext     <GLES/glext.h>
+//    #define GR_INCLUDE_GLES2        <GLES2/gl2.h>
+//    #define GR_INCLUDE_GLES2ext     <GLES2/gl2ext.h>
     #define GR_GL_FUNC
 #elif GR_QNX_BUILD
     #ifndef GL_GLEXT_PROTOTYPES
diff --git a/gpu/src/GrGpuGL.cpp b/gpu/src/GrGpuGL.cpp
index 5198dbb..ebd0d03 100644
--- a/gpu/src/GrGpuGL.cpp
+++ b/gpu/src/GrGpuGL.cpp
@@ -1721,9 +1721,9 @@
     *address = eglGetProcAddress(procName);
     GrAssert(NULL != *address);
 #elif GR_LINUX_BUILD
-    GR_STATIC_ASSERT(!"Add environment-dependent implementation here");
+//    GR_STATIC_ASSERT(!"Add environment-dependent implementation here");
     //*address = glXGetProcAddressARB(procName);
-    //*address = eglGetProcAddress(procName);
+    *address = NULL;//eglGetProcAddress(procName);
 #elif GR_QNX_BUILD
     *address = eglGetProcAddress(procName);
     GrAssert(NULL != *address);
diff --git a/src/utils/SkEGLContext_none.cpp b/src/utils/SkEGLContext_none.cpp
new file mode 100644
index 0000000..1c55c95
--- /dev/null
+++ b/src/utils/SkEGLContext_none.cpp
@@ -0,0 +1,11 @@
+#include "SkEGLContext.h"
+
+SkEGLContext::SkEGLContext() : fContext(NULL) {
+}
+
+SkEGLContext::~SkEGLContext() {
+}
+
+bool SkEGLContext::init(int width, int height) {
+    return false;
+}