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)
This commit is contained in:
Chun-wei Fan 2012-05-15 11:52:13 +08:00 committed by Robert Bragg
parent e6b75b6cfc
commit 23becf67a7
9 changed files with 74 additions and 21 deletions

View File

@ -39,6 +39,8 @@ copy ..\..\..\config.h.win32 ..\..\..\config.h
:DONE_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 .. cd ..

View File

@ -89,6 +89,7 @@ copy ..\..\..\cogl\WGL_DEFINES ..\..\..\cogl\cogl-defines.h&#x0D;&#x0A;
Value=" Value="
if exist ..\..\..\config.h goto DONE_CONFIG_H&#x0D;&#x0A; if exist ..\..\..\config.h goto DONE_CONFIG_H&#x0D;&#x0A;
copy ..\..\..\config.h.win32 ..\..\..\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; :DONE_CONFIG_H&#x0D;&#x0A;
cd ..&#x0D;&#x0A; cd ..&#x0D;&#x0A;

View File

@ -1,8 +1,8 @@
#include <winver.h> #include <winver.h>
VS_VERSION_INFO VERSIONINFO VS_VERSION_INFO VERSIONINFO
FILEVERSION 1,@COGL_1_MINOR_VERSION@,@COGL_1_MICRO_VERSION@,0 FILEVERSION 1,@COGL_MINOR_VERSION@,@COGL_MICRO_VERSION@,0
PRODUCTVERSION 1,@COGL_1_MINOR_VERSION@,@COGL_1_MICRO_VERSION@,0 PRODUCTVERSION 1,@COGL_MINOR_VERSION@,@COGL_MICRO_VERSION@,0
FILEFLAGSMASK 0 FILEFLAGSMASK 0
FILEFLAGS 0 FILEFLAGS 0
FILEOS VOS__WINDOWS32 FILEOS VOS__WINDOWS32
@ -15,12 +15,12 @@ VS_VERSION_INFO VERSIONINFO
BEGIN BEGIN
VALUE "CompanyName", "Intel Corporation" VALUE "CompanyName", "Intel Corporation"
VALUE "FileDescription", "cogl-pango" VALUE "FileDescription", "cogl-pango"
VALUE "FileVersion", "@COGL_1_VERSION@.0" VALUE "FileVersion", "@COGL_VERSION@.0"
VALUE "InternalName", "libcogl-pango-1.0-@COGL_LT_AGE@" VALUE "InternalName", "libcogl-pango-2.0-@COGL_LT_AGE@"
VALUE "LegalCopyright", "Copyright 1995-2011 © Intel Corporation" 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 "ProductName", "cogl-pango"
VALUE "ProductVersion", "@COGL_1_VERSION@" VALUE "ProductVersion", "@COGL_VERSION@"
END END
END END
BLOCK "VarFileInfo" BLOCK "VarFileInfo"

View File

@ -533,7 +533,7 @@ dist-hook: ../build/win32/vs9/cogl.vcproj ../build/win32/vs10/cogl.vcxproj ../bu
rm cogl.vs10.sourcefiles.filters rm cogl.vs10.sourcefiles.filters
cogl.vsenums_h: 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 \ for F in `echo $(cogl_1_public_h) $(srcdir)/cogl-win32-renderer.h`; do \
case $$F in \ case $$F in \
*xlib*.h|*wayland*.h) ;; \ *xlib*.h|*wayland*.h) ;; \
@ -548,7 +548,7 @@ cogl.vsenums_h:
rm vsenums_h.temp rm vsenums_h.temp
cogl.vsenums_c: 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 \ for F in `echo $(cogl_1_public_h) $(srcdir)/cogl-win32-renderer.h`; do \
case $$F in \ case $$F in \
*xlib*.h|*wayland*.h) ;; \ *xlib*.h|*wayland*.h) ;; \
@ -573,8 +573,11 @@ cogl.vsenums_c:
rm cogl.vsenums_c rm cogl.vsenums_c
EXTRA_DIST += \ EXTRA_DIST += \
cogl-defines.h.win32.in \
cogl-defines.h.win32 \ cogl-defines.h.win32 \
cogl-defines.h.win32_SDL.in \
cogl-defines.h.win32_SDL \ cogl-defines.h.win32_SDL \
cogl-gl-header.h.win32 \
cogl.symbols \ cogl.symbols \
cogl.rc.in \ cogl.rc.in \
cogl.rc cogl.rc

View File

@ -20,7 +20,7 @@
* *
* *
*/ */
#if !defined(__COGL_H_INSIDE__) && !defined(CLUTTER_COMPILATION) #if !defined(__COGL_H_INSIDE__) && !defined(CLUTTER_COMPILATION)
#error "Only <cogl/cogl.h> can be included directly." #error "Only <cogl/cogl.h> can be included directly."
#endif #endif
@ -29,9 +29,6 @@
#define __COGL_DEFINES_H__ #define __COGL_DEFINES_H__
#include <glib.h> #include <glib.h>
#include <windows.h>
#include <GL/GL.h>
#include <GL/glext.h>
G_BEGIN_DECLS G_BEGIN_DECLS
@ -63,6 +60,11 @@ G_BEGIN_DECLS
#define COGL_SYSDEF_POLLHUP 16 #define COGL_SYSDEF_POLLHUP 16
#define COGL_SYSDEF_POLLNVAL 32 #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 G_END_DECLS
#endif #endif

View File

@ -29,9 +29,6 @@
#define __COGL_DEFINES_H__ #define __COGL_DEFINES_H__
#include <glib.h> #include <glib.h>
#include <windows.h>
#include <GL/GL.h>
#include <GL/glext.h>
G_BEGIN_DECLS G_BEGIN_DECLS
@ -64,6 +61,11 @@ G_BEGIN_DECLS
#define COGL_SYSDEF_POLLHUP 16 #define COGL_SYSDEF_POLLHUP 16
#define COGL_SYSDEF_POLLNVAL 32 #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 G_END_DECLS
#endif #endif

View File

@ -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__ */

View File

@ -1,8 +1,8 @@
#include <winver.h> #include <winver.h>
VS_VERSION_INFO VERSIONINFO VS_VERSION_INFO VERSIONINFO
FILEVERSION 1,@COGL_1_MINOR_VERSION@,@COGL_1_MICRO_VERSION@,0 FILEVERSION 1,@COGL_MINOR_VERSION@,@COGL_MICRO_VERSION@,0
PRODUCTVERSION 1,@COGL_1_MINOR_VERSION@,@COGL_1_MICRO_VERSION@,0 PRODUCTVERSION 1,@COGL_MINOR_VERSION@,@COGL_MICRO_VERSION@,0
FILEFLAGSMASK 0 FILEFLAGSMASK 0
FILEFLAGS 0 FILEFLAGS 0
FILEOS VOS__WINDOWS32 FILEOS VOS__WINDOWS32
@ -15,12 +15,12 @@ VS_VERSION_INFO VERSIONINFO
BEGIN BEGIN
VALUE "CompanyName", "Intel Corporation" VALUE "CompanyName", "Intel Corporation"
VALUE "FileDescription", "cogl" VALUE "FileDescription", "cogl"
VALUE "FileVersion", "@COGL_1_VERSION@.0" VALUE "FileVersion", "@COGL_VERSION@.0"
VALUE "InternalName", "libcogl-1.0-@COGL_LT_AGE@" VALUE "InternalName", "libcogl-2.0-@COGL_LT_AGE@"
VALUE "LegalCopyright", "Copyright 1995-2011 © Intel Corporation" 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 "ProductName", "cogl"
VALUE "ProductVersion", "@COGL_1_VERSION@" VALUE "ProductVersion", "@COGL_VERSION@"
END END
END END
BLOCK "VarFileInfo" BLOCK "VarFileInfo"

View File

@ -1147,6 +1147,8 @@ cogl/Makefile
cogl/cogl-1.0.pc cogl/cogl-1.0.pc
cogl/cogl-2.0-experimental.pc cogl/cogl-2.0-experimental.pc
cogl/cogl-defines.h cogl/cogl-defines.h
cogl/cogl-defines.h.win32
cogl/cogl-defines.h.win32_SDL
cogl/cogl-gl-header.h cogl/cogl-gl-header.h
cogl/cogl.rc cogl/cogl.rc
cogl-pango/Makefile cogl-pango/Makefile