Use custom build rules to generate the enumeration sources and the .def
files so that the IDE will regenerate those files upon change and
clean them when a clean up request is requested.
-Make entries of the property sheets more like the property sheets of the
projects in the GTK+/Clutter stack, mainly changing CoglApiVersion to
ApiVersion, for better consistency, and update the corresponding projects
-Add command item in property sheets to build introspection files for Cogl
and Cogl Pango.
-Stop building and installing the cogl-msaa example, as it is something
that isn't really meant for Windows, and causes an internal compiler error
on Visual Studio 2010 x64 builds
Some public headers were added, so these need to be "installed" as well.
Also clean up the preprocessor definitions as they were meant to be
in cogl/cogl-defines.h.
The version of Pango that the script downloads is using G_CONST_RETURN
in the public headers. This won't build if G_DISABLE_DEPRECATED is
enabled so instead the build script now just recommends to pass
--enable-deprecated to cogl's configure script.
Reviewed-by: Robert Bragg <robert@linux.intel.com>
(cherry picked from commit 4715f0f01d4de55a9cf690f52d4da211c243565b)
Cogl now requires at least version 2.32.0 of GLib. There are no
pre-built binaries for this from tml so we have to build glib from
source. This also requires libffi. The binary packages for libffi and
zlib don't install a pc file so the script just manually generates a
fake one.
Reviewed-by: Robert Bragg <robert@linux.intel.com>
(cherry picked from commit 9e47972759a5dda4c9e9bf13df3369510be0e324)
This commit pushes --disable-glib to the extreme of embedding the par of
glib cogl depends on in tree to be able to generate a DSO that does not
depend on an external glib.
To do so, it:
- keeps a lot of glib's configure.ac in as-glibconfig.m4
- pulls the code cogl depends on and the necessary dependencies
Reviewed-by: Robert Bragg <robert@linux.intel.com>
Like the Visual Studio 2010 builds, the install project needs to be split
into two, one for the WGL-only configs and another for the WGL+SDL
configs, so that the Cogl and Cogl-Pango DLLs and LIBs can be correctly
copied during the "install" stage, as the resulting DLLs for all configs
land in {Release|Debug}\{Win32|x64}\bin.
Since commit 7253c5ca (Bug 682071-cogl/cogl-sdl.h: MSVC: Link to SDL when
apps are built), on Visual C++ we link to SDL.lib and SDLmain.lib using
a #pragma comment directive in cogl/cogl-sdl.h, so we no longer need
specific project configs for Cogl programs which build against a Cogl built
with SDL. This removes those unneeded configs.
Also "install" cogl/cogl-sdl.h when Cogl is built with the SDL winsys, as
it is a needed header
-Make "install" parts for VS9 and VS10 more consistent with each other
-Create the .def files in the respective intermediate/.obj folders, so that
it is cleaner duringg the build
-Make up for missed files to "install"
The generated release message and the README have been updated to point
to the reference manuals hosted on developer.gnome.org and state that
documentation for the experimental 2.0 api is not currently available
online since we are migrating services away from clutter-project.org and
may not be able to rely on it for much longer.
clutter-project.org is no longer accessible for uploading releases so
this just removes all mention of it from the release rules.
(cherry picked from commit 66c291a3a4e811bde7f022e756f93d0f224975c3)
The C4819 warnings appear due to a bug on Visual C++ when running on
non-English locales, specifically CJK versions/locales of Windows.
Re-enable this, like what is done in GLib, and add a note in the Visual
C++ README.txt's to tell people about this, so that Cogl will be built
correctly.
(cherry picked from commit a93eafe6596e3b262dbb86f24a456e53b044055a)
-The test program and examples must be linked to SDL too when COGL is
built with the SDL renderer, so add configs accordingly.
-Also use Multibyte character sets (i.e. don't -DUNICODE) for all configs,
like what GLib does, for consistency.
-Fix the VS2010 property sheets that was accidently malformed.
(cherry picked from commit 9ed541b4e35208df87ffaa5fbbb39e11e8c247ef)
The command to copy cogl-gl-header.h from the pre-configured
cogl-gl-header.h.win32 is wrong. Fix that.
Also add -DCOGL_ENABLE_EXPERIMENTAL_API for all creations of the cogl.def
(cherry picked from commit 6df152c411749a610a57ecaab6a983b51d2a7612)
Tell people that they need to get a stdint.h implementation for Visual C++
2008 for use with Cogl-master/1.99.x+, and where they can obtain such an
implementation.
This is not needed for Visual C++ 2010 as it ships with stdint.h by
default.
(cherry picked from commit 938d70b78d672dd07e7124f7573d17d3e3079365)
-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)
Update SDL build configs as there are now SDL-specific public APIs and
new SDL sources.
(cherry picked from commit 006f9f7c44136fc8524649fb790da7f19cd0dc4d)
Fix the situation where glib-mkenums isn't located correctly when COGL
is not built in a root folder of a drive (ex: COGL is not unpacked in
c:\ or D:\, but in c:\blah or d:\blah)
We no longer have COGL_ENABLE_EXPERIMENTAL_API in cogl.symbols as those
APIs are always built into the COGL DLL, so the
-DCOGL_ENABLE_EXPERIMENTAL_API is not needed anymore in the cogl.def
generation process.
This updates the make release-message rule to include the latest NEWS
section at the top of the release message. The release messages
currently contain a lot of boring boilerplate that I imagine very few
people are really be interested in. For someone idly following Cogl
development though it's quite possible they'd like to see a digestible
summary of what has changed in this release which is what the NEWS
section provides.
Reviewed-by: Neil Roberts <neil@linux.intel.com>
Cogl depends on glib 2.28 for g_source_get_time() so this patch updates
the mingw-fetch-dependencies.sh helper script to fetch the 2.28.8-1
win32 glib binaries.
This had to be in another commit as git am did not like a mixture of
file updates with Windows and Unix EOL.
Should deal with the conflicts that Neil talked about in his comments
for the bug :)
Use a pre-generated .bat to create the cogl-enum-types.[ch] files.
This will greatly simplify the maintenance process of the property sheets
when public headers are added/removed.
These are the VS 2008/2010 project files to build Cogl, with a README.txt
to explain the process involved.
Note that the Cogl and Cogl-Pango projects (and filters for VS2010) are
expanded with the correct source file listings during "make dist", which
is done to simplify maintenance of these project files.
-added preconfigured config.h(.win32.in), which is expanded with the
correct versioining info during autogen
-added preconfigued cogl/cogl-defines.h.win32
-added symbols files for cogl and cogl-pango
-Have configure.ac expand the config.h.win32.in into config.h.win32
with the correct versioning info, etc, and to include the Visual C++
project files for distribution
-Added rules in cogl/Makefile.am to expand the cogl VS 2008/2010 projects
and filters from the templates with up-to-date source file listings, to
distribute cogl-enum-types.c, cogl-enum-types.h to ease compilation and
to avoid depending on PERL on Windows installations.
-Added rules in cogl-pango/Makefile.am to expand the cogl-pango VS2008/
2010 projects and filters from the templates with up-to-date source file
listings.
-Added/edited various Makefile.am's in build to distribute the VS2008/2010
project files and associated items required for the build.
-Update .gitignore. There needs to be a pre-configured
config.h(.win32) and its template, config.h.win32.in for Visual C++
builds
https://bugzilla.gnome.org/show_bug.cgi?id=650020
Reviewed-by: Neil Roberts <neil@linux.intel.com>
Previously the instructions were telling the developer to run
./build/config.guess to get the build name to pass to
configure. However that file only exists after running automake so
it's a bit awkward. This patch makes it download config.guess from the
gitweb for automake and just explicitly run it.
Reviewed-by: Robert Bragg <robert@linux.intel.com>