diff options
author | Chun-wei Fan <fanchunwei@src.gnome.org> | 2012-05-15 11:52:13 +0800 |
---|---|---|
committer | Robert Bragg <robert@linux.intel.com> | 2012-08-06 14:27:42 +0100 |
commit | 23becf67a7ef07fcb7f45b3b21e904cd8ad0658d (patch) | |
tree | f84b60c046c150a4585aad0546a5f72760e6f144 | |
parent | e6b75b6cfc5f7d9e05daf4b794f6e579fd38d91e (diff) | |
download | cogl-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.props | 2 | ||||
-rw-r--r-- | build/win32/vs9/cogl.vsprops | 1 | ||||
-rw-r--r-- | cogl-pango/cogl-pango.rc.in | 12 | ||||
-rw-r--r-- | cogl/Makefile.am | 7 | ||||
-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.win32 | 41 | ||||
-rw-r--r-- | cogl/cogl.rc.in | 12 | ||||
-rw-r--r-- | configure.ac | 2 |
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
 Value="
if exist ..\..\..\config.h goto DONE_CONFIG_H

copy ..\..\..\config.h.win32 ..\..\..\config.h

+if not exist ..\..\..\cogl\cogl-gl-header.h copy ..\..\..\cogl\cogl-gl-header.h.win32 copy ..\..\..\cogl\cogl-gl-header.h

:DONE_CONFIG_H

cd ..

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 |