Update windowing system tests
authorAndy Spencer <andy753421@gmail.com>
Mon, 12 Dec 2011 06:16:19 +0000 (06:16 +0000)
committerAndy Spencer <andy753421@gmail.com>
Sun, 1 Jan 2012 23:29:52 +0000 (23:29 +0000)
- Add support for Mac OS
- Hopefully make things simpler

configure.ac
src/Makefile.am
src/data/Makefile.am
src/gtkgl.c
src/gtkgl.h
src/objects/Makefile.am
src/plugins/Makefile.am

index 2e9ca73..e92d77e 100644 (file)
@@ -36,26 +36,27 @@ AC_CHECK_LIB(glut, glutSolidTeapot, GLUT_LIBS="-lglut")
 AM_CONDITIONAL(HAVE_GLUT, test "$GLUT_LIBS" != "")
 AC_SUBST(GLUT_LIBS)
 
-# Test for Windows vs. Unix
+# Test for windowing system
 case "${host}" in
-       *mingw32*) WIN32="yes" ;;
-       *cygwin*)  WIN32="yes" ;;
-       *)         WIN32="no"  ;;
+       *mingw32*) SYS="WIN" ;;
+       *cygwin*)  SYS="WIN" ;;
+       *apple*)   SYS="MAC" ;;
+       *)         SYS="X11" ;;
 esac
+AM_CONDITIONAL([SYS_WIN], test "$SYS" = "WIN")
+AM_CONDITIONAL([SYS_MAC], test "$SYS" = "MAC")
+AM_CONDITIONAL([SYS_X11], test "$SYS" = "X11")
 if test "$WIN32" = yes; then
        ac_default_prefix="/"
 fi
-AM_CONDITIONAL([WIN32],    test "$WIN32" = "yes")
-AM_CONDITIONAL([NOTWIN32], test "$WIN32" = "no")
 
-# Configure GL flags
-if test "$WIN32" = yes; then
-       GL_CFLAGS=""
-       GL_LIBS="-lglu32 -lopengl32"
-else
-       GL_CFLAGS=""
-       GL_LIBS="-lGL -lGLU"
-fi
+# OpenGL flags
+GL_CFLAGS="-DSYS_$SYS"
+case "$SYS" in
+       "WIN") GL_LIBS="-lglu32 -lopengl32" ;;
+       "MAC") GL_LIBS="-framework OpenGL" ;;
+       "X11") GL_LIBS="-lGL -lGLU" ;;
+esac
 AC_SUBST([GL_CFLAGS])
 AC_SUBST([GL_LIBS])
 
index ed3db86..fd2fceb 100644 (file)
@@ -3,10 +3,18 @@ SUBDIRS = data objects . plugins
 AM_CFLAGS   = -Wall --std=gnu99 -I$(top_srcdir)/src
 AM_CPPFLAGS = $(GLIB_CFLAGS) $(GTK_CFLAGS) $(GL_CFLAGS) $(SOUP_CFLAGS)
 AM_LDADD    = $(GLIB_LIBS) $(GTK_LIBS) $(GL_LIBS) $(SOUP_LIBS)
-AM_LDFLAGS  = -Wl,--as-needed -Wl,--no-undefined
-
-BUILT_SOURCES = grits-marshal.c grits-marshal.h
+AM_LDFLAGS  = 
 
+# System dependant flags
+if SYS_WIN
+AM_LDFLAGS += -mwindows -no-undefined
+endif
+if SYS_MAC
+AM_CFLAGS  += -ObjC
+AM_LDFLAGS += -framework AppKit
+else
+AM_LDFLAGS += -Wl,--as-needed -Wl,--no-undefined
+endif
 
 # Headers
 grits_includedir = $(includedir)/grits
@@ -48,14 +56,6 @@ libgrits_la_LDFLAGS = $(AM_LDFLAGS) \
        -version-info $(LIB_VERSION)
 
 # Demo program
-if WIN32
-AM_CPPFLAGS += -DUSE_WGL
-AM_LDFLAGS  += -mwindows -no-undefined
-dots         = ..
-else
-AM_CPPFLAGS += -DUSE_GLX
-endif
-
 bin_PROGRAMS = grits-demo
 
 grits_demo_SOURCES = grits-demo.c
@@ -70,14 +70,18 @@ grits_test_LDADD   = $(AM_LDADD) libgrits.la
 tile_test_SOURCES = tile-test.c
 tile_test_LDADD   = $(AM_LDADD) libgrits.la
 
-
+# Clean
 MAINTAINERCLEANFILES = Makefile.in
 
+# Generated code 
+BUILT_SOURCES = grits-marshal.c grits-marshal.h
+
 .list.c:
        glib-genmarshal --prefix=grits_cclosure_marshal --body   $< > $@
 .list.h:
        glib-genmarshal --prefix=grits_cclosure_marshal --header $< > $@
 
+# Debugging rules
 test: all .libs/$(GRITS_SUBDIR)
        ./grits-test
 
index ec90c19..5a8c806 100644 (file)
@@ -1,6 +1,7 @@
 AM_CFLAGS  = -Wall --std=gnu99 -I$(top_srcdir)/src
 AM_CFLAGS += $(GLIB_CFLAGS) $(GTK_CFLAGS) $(SOUP_CFLAGS)
-if NOTWIN32
+
+if !SYS_WIN
 AM_CFLAGS += -fPIC
 endif
 
index b495987..052f562 100644 (file)
@@ -20,7 +20,7 @@
 /***************************
  * GtkGlExt implementation *
  ***************************/
-#if defined(USE_GTKGLEXT)
+#if defined(SYS_GTKGLEXT)
 #include <gtk/gtkgl.h>
 void gtk_gl_enable(GtkWidget *widget)
 {
@@ -53,7 +53,7 @@ void gtk_gl_disable(GtkWidget *widget)
 /**********************
  * X11 implementation *
  **********************/
-#elif defined(USE_GLX)
+#elif defined(SYS_X11)
 #include <GL/glx.h>
 #include <gdk/gdkx.h>
 void gtk_gl_enable(GtkWidget *widget)
@@ -116,7 +116,7 @@ void gtk_gl_disable(GtkWidget *widget)
 /************************
  * Win32 implementation *
  ************************/
-#elif defined(USE_WGL)
+#elif defined(SYS_WIN)
 #include <windows.h>
 #include <gdk/gdkwin32.h>
 static void on_realize(GtkWidget *widget, gpointer _)
@@ -190,7 +190,7 @@ void gtk_gl_disable(GtkWidget *widget)
 /**************************
  * Mac OSX implementation *
  **************************/
-#elif defined(USE_CGL)
+#elif defined(SYS_MAC)
 void gtk_gl_enable(GtkWidget *widget)
 {
        CGDisplayCapture( kCGDirectMainDisplay );
index 71ad67a..244bc14 100644 (file)
@@ -21,7 +21,7 @@
 #include <gtk/gtk.h>
 
 /* Platform dependant OpenGL includes */
-#ifdef USE_MAC
+#ifdef SYS_MAC
 #include <OpenGL/gl.h>
 #include <OpenGL/glu.h>
 #else
index ff20786..dc62861 100644 (file)
@@ -1,6 +1,7 @@
 AM_CFLAGS  = -Wall --std=gnu99 -I$(top_srcdir)/src
-AM_CFLAGS += $(GLIB_CFLAGS) $(GTK_CFLAGS) $(CAIRO_CFLAGS)
-if NOTWIN32
+AM_CFLAGS += $(GLIB_CFLAGS) $(GTK_CFLAGS) $(GL_CFLAGS) $(CAIRO_CFLAGS)
+
+if !SYS_WIN
 AM_CFLAGS += -fPIC
 endif
 
index d713c35..2572125 100644 (file)
@@ -1,10 +1,17 @@
 MAINTAINERCLEANFILES = Makefile.in
 
 AM_CFLAGS   = -Wall --std=gnu99 -I$(top_srcdir)/src
-AM_CPPFLAGS = $(GLIB_CFLAGS) $(GTK_CFLAGS) $(SOUP_CFLAGS)
-AM_LDFLAGS  = -shared -module -avoid-version -Wl,--as-needed
+AM_CPPFLAGS = $(GLIB_CFLAGS) $(GTK_CFLAGS) $(GL_CFLAGS) $(SOUP_CFLAGS)
+AM_LDFLAGS  = -shared -module -avoid-version
 LIBS        = $(top_srcdir)/src/libgrits.la
 
+if SYS_WIN
+AM_LDFLAGS += -no-undefined
+endif
+if !SYS_MAC
+AM_LDFLAGS += -Wl,--as-needed
+endif
+
 pluginsdir  = "$(libdir)/$(GRITS_SUBDIR)"
 
 plugins_LTLIBRARIES = sat.la elev.la map.la env.la test.la
@@ -14,10 +21,6 @@ map_la_SOURCES      = map.c  map.h
 env_la_SOURCES      = env.c  env.h
 test_la_SOURCES     = test.c test.h
 
-if WIN32
-AM_LDFLAGS += -no-undefined
-endif
-
 if HAVE_GLUT
 noinst_LTLIBRARIES  = teapot.la
 teapot_la_SOURCES   = \