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>
The -c option for wget and -C - option to curl are used to make it
continue the download if the file already exists. The idea was that it
wouldn't waste time downloading the files again if the file already
exists. However this causes problems if the remote file gets larger
because the download will continue from the size of the old file so it
will get corrupt. Instead let's just explicitly check if the file
already exists and avoid calling wget or curl altogether.
Reviewed-by: Robert Bragg <robert@linux.intel.com>
mesa_wgl.h can no longer be fetched from upstream and since it's no
longer used anyway we don't fetch this any more. This also updates
the blurb printed after fetching dependencies to show how to run
./configure so we pass --enable-wgl not --enable-stub-winsys and
to also pass the -I path for the cogl-cross/include directory which has
the latest gl.h we fetched so the build doesn't try and use the headers
shipped with the mingw toolchain which may be out-of-date.
Reviewed-by: Neil Roberts <neil@linux.intel.com>
The changelog generation scripts used for releases are overly elaborate
and fragile. A Changelog is also no substitute for the Git log so now we
simply ship a static Changelog that points to the Git log instead.
The check for the version number was checking against the 2.0.0 micro
version number which isn't expected to change for a long time so the
test was useless.
The release template had the wrong version number and download URL and
the subject was slightly different from what we used in the previous
release. Also the parts split out from the README were including the
-- separator. These have been removed using tail -n +1. The
documentation section is updated to match the message used for the
1.7.0 release. There is now a note about the release being a
development snapshot that only gets added depending on
COGL_RELEASE_STATUS.
This explicitly renames the cogl-2.0 reference manual to
cogl-2.0-experimental and renames the cogl-2.0 pkg-config file to
cogl-2.0-experimental.pc. Hopefully this should avoid
miss-understandings.
This adds an autogen.sh, configure.ac and build/autotool files etc under
clutter/cogl and makes some corresponding Makefile.am changes that make
it possible to build and install Cogl as a standalone library.
Some notable things about this are:
A standalone installation of Cogl installs 3 pkg-config files;
cogl-1.0.pc, cogl-gl-1.0.pc and cogl-2.0.pc. The second is only for
compatibility with what clutter installed though I'm not sure that
anything uses it so maybe we could remove it. cogl-1.0.pc is what
Clutter would use if it were updated to build against a standalone cogl
library. cogl-2.0.pc is what you would use if you were writing a
standalone Cogl application.
A standalone installation results in two libraries currently, libcogl.so
and libcogl-pango.so. Notably we don't include a major number in the
sonames because libcogl supports two major API versions; 1.x as used by
Clutter and the experimental 2.x API for standalone applications.
Parallel installation of later versions e.g. 3.x and beyond will be
supportable either with new sonames or if we can maintain ABI then we'll
continue to share libcogl.so.
The headers are similarly not installed into a directory with a major
version number since the same headers are shared to export the 1.x and
2.x APIs (The only difference is that cogl-2.0.pc ensures that
-DCOGL_ENABLE_EXPERIMENTAL_2_0_API is used). Parallel installation of
later versions is not precluded though since we can either continue
sharing or later add a major version suffix.