summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChun-wei Fan <fanchunwei@src.gnome.org>2012-05-15 11:52:13 +0800
committerRobert Bragg <robert@linux.intel.com>2012-08-06 14:27:42 +0100
commit23becf67a7ef07fcb7f45b3b21e904cd8ad0658d (patch)
treef84b60c046c150a4585aad0546a5f72760e6f144
parente6b75b6cfc5f7d9e05daf4b794f6e579fd38d91e (diff)
downloadcogl-23becf67a7ef07fcb7f45b3b21e904cd8ad0658d.tar.gz
Fix Visual C++ build
-Create a pre-defined cogl/cogl-gl-header.h(.win32) that is to be used on any Windows builds, and adapt the MSVC build process to set up and use that file. -Fix up glib-mkenums code generation .bat file that is generated during "make"/"make dist", like the autotools-based builds. -Since cogl/cogl-defines.h now contain versionioning info, and it no longer directly includes the GL headers, update the pre-configured cogl-defines.h[.win32|.win32_SDL] and use autotools to fill in the versioning info during "make"/"make dist". -Fix up cogl/cogl-pango.rc.in so that they reflect the cogl-2.x versioning stuff correctly and versioning info can be filled in correctly during "make"/"make dist" Reviewed-by: Robert Bragg <robert@linux.intel.com> (cherry picked from commit 7ff42bb1c5280b0f53370f8d94ef5f10c9f39e2f)
-rw-r--r--build/win32/vs10/cogl.props2
-rw-r--r--build/win32/vs9/cogl.vsprops1
-rw-r--r--cogl-pango/cogl-pango.rc.in12
-rw-r--r--cogl/Makefile.am7
-rw-r--r--cogl/cogl-defines.h.win32.in (renamed from cogl/cogl-defines.h.win32)10
-rw-r--r--cogl/cogl-defines.h.win32_SDL.in (renamed from cogl/cogl-defines.h.win32_SDL)8
-rw-r--r--cogl/cogl-gl-header.h.win3241
-rw-r--r--cogl/cogl.rc.in12
-rw-r--r--configure.ac2
9 files changed, 74 insertions, 21 deletions
diff --git a/build/win32/vs10/cogl.props b/build/win32/vs10/cogl.props
index 981f5487..3b32e1ed 100644
--- a/build/win32/vs10/cogl.props
+++ b/build/win32/vs10/cogl.props
@@ -39,6 +39,8 @@ copy ..\..\..\config.h.win32 ..\..\..\config.h
:DONE_CONFIG_H
+if not exist ..\..\..\cogl\cogl-gl-header.h copy ..\..\..\cogl\cogl-gl-header.h.win32 copy ..\..\..\cogl\cogl-gl-header.h
+
cd ..
diff --git a/build/win32/vs9/cogl.vsprops b/build/win32/vs9/cogl.vsprops
index bc6aa632..4a77ec3e 100644
--- a/build/win32/vs9/cogl.vsprops
+++ b/build/win32/vs9/cogl.vsprops
@@ -89,6 +89,7 @@ copy ..\..\..\cogl\WGL_DEFINES ..\..\..\cogl\cogl-defines.h&#x0D;&#x0A;
Value="
if exist ..\..\..\config.h goto DONE_CONFIG_H&#x0D;&#x0A;
copy ..\..\..\config.h.win32 ..\..\..\config.h&#x0D;&#x0A;
+if not exist ..\..\..\cogl\cogl-gl-header.h copy ..\..\..\cogl\cogl-gl-header.h.win32 copy ..\..\..\cogl\cogl-gl-header.h&#x0D;&#x0A;
:DONE_CONFIG_H&#x0D;&#x0A;
cd ..&#x0D;&#x0A;
diff --git a/cogl-pango/cogl-pango.rc.in b/cogl-pango/cogl-pango.rc.in
index ab8ff2dd..64242e45 100644
--- a/cogl-pango/cogl-pango.rc.in
+++ b/cogl-pango/cogl-pango.rc.in
@@ -1,8 +1,8 @@
#include <winver.h>
VS_VERSION_INFO VERSIONINFO
- FILEVERSION 1,@COGL_1_MINOR_VERSION@,@COGL_1_MICRO_VERSION@,0
- PRODUCTVERSION 1,@COGL_1_MINOR_VERSION@,@COGL_1_MICRO_VERSION@,0
+ FILEVERSION 1,@COGL_MINOR_VERSION@,@COGL_MICRO_VERSION@,0
+ PRODUCTVERSION 1,@COGL_MINOR_VERSION@,@COGL_MICRO_VERSION@,0
FILEFLAGSMASK 0
FILEFLAGS 0
FILEOS VOS__WINDOWS32
@@ -15,12 +15,12 @@ VS_VERSION_INFO VERSIONINFO
BEGIN
VALUE "CompanyName", "Intel Corporation"
VALUE "FileDescription", "cogl-pango"
- VALUE "FileVersion", "@COGL_1_VERSION@.0"
- VALUE "InternalName", "libcogl-pango-1.0-@COGL_LT_AGE@"
+ VALUE "FileVersion", "@COGL_VERSION@.0"
+ VALUE "InternalName", "libcogl-pango-2.0-@COGL_LT_AGE@"
VALUE "LegalCopyright", "Copyright 1995-2011 © Intel Corporation"
- VALUE "OriginalFilename", "libcogl-pango-1.0-@COGL_LT_AGE@.dll"
+ VALUE "OriginalFilename", "libcogl-pango-2.0-@COGL_LT_AGE@.dll"
VALUE "ProductName", "cogl-pango"
- VALUE "ProductVersion", "@COGL_1_VERSION@"
+ VALUE "ProductVersion", "@COGL_VERSION@"
END
END
BLOCK "VarFileInfo"
diff --git a/cogl/Makefile.am b/cogl/Makefile.am
index 8add9769..91075d6a 100644
--- a/cogl/Makefile.am
+++ b/cogl/Makefile.am
@@ -533,7 +533,7 @@ dist-hook: ../build/win32/vs9/cogl.vcproj ../build/win32/vs10/cogl.vcxproj ../bu
rm cogl.vs10.sourcefiles.filters
cogl.vsenums_h:
- echo 'perl %1\bin\glib-mkenums --template ../../cogl/cogl-enum-types.h.in ' >vsenums_h.temp1
+ echo 'perl %1\bin\glib-mkenums --symbol-prefix cogl_gtype --template ../../cogl/cogl-enum-types.h.in ' >vsenums_h.temp1
for F in `echo $(cogl_1_public_h) $(srcdir)/cogl-win32-renderer.h`; do \
case $$F in \
*xlib*.h|*wayland*.h) ;; \
@@ -548,7 +548,7 @@ cogl.vsenums_h:
rm vsenums_h.temp
cogl.vsenums_c:
- echo 'perl %1\bin\glib-mkenums --template ../../cogl/cogl-enum-types.c.in ' >vsenums_c.temp1
+ echo 'perl %1\bin\glib-mkenums --symbol-prefix cogl_gtype --template ../../cogl/cogl-enum-types.c.in ' >vsenums_c.temp1
for F in `echo $(cogl_1_public_h) $(srcdir)/cogl-win32-renderer.h`; do \
case $$F in \
*xlib*.h|*wayland*.h) ;; \
@@ -573,8 +573,11 @@ cogl.vsenums_c:
rm cogl.vsenums_c
EXTRA_DIST += \
+ cogl-defines.h.win32.in \
cogl-defines.h.win32 \
+ cogl-defines.h.win32_SDL.in \
cogl-defines.h.win32_SDL \
+ cogl-gl-header.h.win32 \
cogl.symbols \
cogl.rc.in \
cogl.rc
diff --git a/cogl/cogl-defines.h.win32 b/cogl/cogl-defines.h.win32.in
index 75a70bac..b6e6d046 100644
--- a/cogl/cogl-defines.h.win32
+++ b/cogl/cogl-defines.h.win32.in
@@ -20,7 +20,7 @@
*
*
*/
-
+
#if !defined(__COGL_H_INSIDE__) && !defined(CLUTTER_COMPILATION)
#error "Only <cogl/cogl.h> can be included directly."
#endif
@@ -29,9 +29,6 @@
#define __COGL_DEFINES_H__
#include <glib.h>
-#include <windows.h>
-#include <GL/GL.h>
-#include <GL/glext.h>
G_BEGIN_DECLS
@@ -63,6 +60,11 @@ G_BEGIN_DECLS
#define COGL_SYSDEF_POLLHUP 16
#define COGL_SYSDEF_POLLNVAL 32
+#define COGL_VERSION_MAJOR_INTERNAL @COGL_MAJOR_VERSION@
+#define COGL_VERSION_MINOR_INTERNAL @COGL_MINOR_VERSION@
+#define COGL_VERSION_MICRO_INTERNAL @COGL_MICRO_VERSION@
+#define COGL_VERSION_STRING_INTERNAL "@COGL_VERSION@"
+
G_END_DECLS
#endif
diff --git a/cogl/cogl-defines.h.win32_SDL b/cogl/cogl-defines.h.win32_SDL.in
index 5141857a..0cc9f9d0 100644
--- a/cogl/cogl-defines.h.win32_SDL
+++ b/cogl/cogl-defines.h.win32_SDL.in
@@ -29,9 +29,6 @@
#define __COGL_DEFINES_H__
#include <glib.h>
-#include <windows.h>
-#include <GL/GL.h>
-#include <GL/glext.h>
G_BEGIN_DECLS
@@ -64,6 +61,11 @@ G_BEGIN_DECLS
#define COGL_SYSDEF_POLLHUP 16
#define COGL_SYSDEF_POLLNVAL 32
+#define COGL_VERSION_MAJOR_INTERNAL @COGL_MAJOR_VERSION@
+#define COGL_VERSION_MINOR_INTERNAL @COGL_MINOR_VERSION@
+#define COGL_VERSION_MICRO_INTERNAL @COGL_MICRO_VERSION@
+#define COGL_VERSION_STRING_INTERNAL "@COGL_VERSION@"
+
G_END_DECLS
#endif
diff --git a/cogl/cogl-gl-header.h.win32 b/cogl/cogl-gl-header.h.win32
new file mode 100644
index 00000000..710d1fab
--- /dev/null
+++ b/cogl/cogl-gl-header.h.win32
@@ -0,0 +1,41 @@
+/*
+ * Cogl
+ *
+ * An object oriented GL/GLES Abstraction/Utility Layer
+ *
+ * Copyright (C) 2012 Intel Corporation.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
+ *
+ *
+ */
+
+#if !defined(CLUTTER_COMPILATION)
+#error "cogl-gl-header.h should only be included when compiling Cogl"
+#endif
+
+#ifndef __COGL_GL_HEADER_H__
+#define __COGL_GL_HEADER_H__
+
+#include "cogl-defines.h"
+
+#include <windows.h>
+#include <GL/GL.h>
+#include <GL/glext.h>
+
+#ifndef GL_OES_EGL_image
+#define GLeglImageOES void *
+#endif
+
+#endif /* __COGL_GL_HEADER_H__ */
diff --git a/cogl/cogl.rc.in b/cogl/cogl.rc.in
index 09115594..976c8550 100644
--- a/cogl/cogl.rc.in
+++ b/cogl/cogl.rc.in
@@ -1,8 +1,8 @@
#include <winver.h>
VS_VERSION_INFO VERSIONINFO
- FILEVERSION 1,@COGL_1_MINOR_VERSION@,@COGL_1_MICRO_VERSION@,0
- PRODUCTVERSION 1,@COGL_1_MINOR_VERSION@,@COGL_1_MICRO_VERSION@,0
+ FILEVERSION 1,@COGL_MINOR_VERSION@,@COGL_MICRO_VERSION@,0
+ PRODUCTVERSION 1,@COGL_MINOR_VERSION@,@COGL_MICRO_VERSION@,0
FILEFLAGSMASK 0
FILEFLAGS 0
FILEOS VOS__WINDOWS32
@@ -15,12 +15,12 @@ VS_VERSION_INFO VERSIONINFO
BEGIN
VALUE "CompanyName", "Intel Corporation"
VALUE "FileDescription", "cogl"
- VALUE "FileVersion", "@COGL_1_VERSION@.0"
- VALUE "InternalName", "libcogl-1.0-@COGL_LT_AGE@"
+ VALUE "FileVersion", "@COGL_VERSION@.0"
+ VALUE "InternalName", "libcogl-2.0-@COGL_LT_AGE@"
VALUE "LegalCopyright", "Copyright 1995-2011 © Intel Corporation"
- VALUE "OriginalFilename", "libcogl-1.0-@COGL_LT_AGE@.dll"
+ VALUE "OriginalFilename", "libcogl-2.0-@COGL_LT_AGE@.dll"
VALUE "ProductName", "cogl"
- VALUE "ProductVersion", "@COGL_1_VERSION@"
+ VALUE "ProductVersion", "@COGL_VERSION@"
END
END
BLOCK "VarFileInfo"
diff --git a/configure.ac b/configure.ac
index 79b4a7ef..077772c1 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1147,6 +1147,8 @@ cogl/Makefile
cogl/cogl-1.0.pc
cogl/cogl-2.0-experimental.pc
cogl/cogl-defines.h
+cogl/cogl-defines.h.win32
+cogl/cogl-defines.h.win32_SDL
cogl/cogl-gl-header.h
cogl/cogl.rc
cogl-pango/Makefile