Commit Graph

89 Commits

Author SHA1 Message Date
Chun-wei Fan
d559c93f8c Visual C++ support: Re-enable C4819 warnings
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)
2012-08-06 18:51:32 +01:00
Chun-wei Fan
72f992effe Update Visual C++ project files
-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)
2012-08-06 18:51:31 +01:00
Chun-wei Fan
0ac0ef34db Fix up Visual C++ property sheets
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)
2012-08-06 18:51:31 +01:00
Tomeu Vizoso
93d0de1d9a Mass rename CLUTTER_COMPILATION to COGL_COMPILATION
Reviewed-by: Neil Roberts <neil@linux.intel.com>

(cherry picked from commit a99512e5798e48ffa3a9a1a7eb98bc55647ee1b6)
2012-08-06 14:27:45 +01:00
Chun-wei Fan
37fbfffcd0 Visual C++ 2008 support: Add note in README.txt
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)
2012-08-06 14:27:42 +01:00
Chun-wei Fan
23becf67a7 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)
2012-08-06 14:27:42 +01:00
Chun-wei Fan
413862e49e Visual C++ projects Update
Update SDL build configs as there are now SDL-specific public APIs and
new SDL sources.

(cherry picked from commit 006f9f7c44136fc8524649fb790da7f19cd0dc4d)
2012-08-06 14:27:41 +01:00
Chun-wei Fan
596b508653 Fix VS property sheets
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)
2012-03-20 15:39:58 +08:00
Chun-wei Fan
a8f8380644 Update VS property sheets
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.
2012-03-13 23:24:17 +08:00
Chun-wei Fan
b13392dbe2 Update VS property sheets
"Install" the cogl2-compatibility.h header which will only be in 1.10.x
2012-03-13 22:14:47 +08:00
Chun-wei Fan
267480caea Update VS property sheets
Update the "installation" of headers...
2012-03-08 16:41:20 +08:00
Chun-wei Fan
e654e3f699 Update Visual C++ property sheets
Make sure GLib support functions are placed into the cogl.def file so
that they will be exported.
2012-02-10 11:37:54 +08:00
Robert Bragg
99564e7868 Makefile.am.release: Include NEWS in release message
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>
2012-01-17 00:38:18 +00:00
Robert Bragg
050edcee23 mingw: update glib dependency to 2.28
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.
2012-01-16 23:27:36 +00:00
Chun-wei Fan
f075e4c7d7 Update VS property sheets
"Install" the "new" cogl-glib-source.h and cogl-poll.h.
2012-01-06 16:01:51 +08:00
Chun-wei Fan
c7eaf4cd11 Update Visual C++ property sheets
Re-apply the cogl-defines.h as appropriate if one chooses to change
his/her mind on whether he/she wants to build the SDL winsys.
2011-12-20 23:30:41 +08:00
Chun-wei Fan
9c73da59a5 build/win32/vs10/README.txt: Correct wording
Should read "Visual C++ 2010", not "Visual C++ 2008"-sorry for the
oversight.
2011-12-20 22:44:59 +08:00
Chun-wei Fan
e215902110 Bug 666349: Dist files needed by MSVC for SDL winsys
Distribute the new VS2008/2010 project/solution files and the
pre-configured cogl-defines.h(.win32_SDL) needed for the build with MSVC.
2011-12-20 22:41:55 +08:00
Chun-wei Fan
3e4a2e1bb4 Bug 666349: Update MSVC files to compile SDL winsys
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 :)
2011-12-20 22:41:36 +08:00
Chun-wei Fan
eeffa12188 Fix the EOL for the cogl_sdl.sln files
The Visual C++ .sln files must have Windows EOL-somehow GIT insisted that
they are added with UNIX EOL :|
2011-12-20 22:39:02 +08:00
Chun-wei Fan
02a83c8966 Bug 666349: Add/update Visual C++ projects to compile SDL winsys
This includes the SDL+COGL test program...

The corresponding README.txt's have been updated with corresponding info
for this support.
2011-12-20 22:36:34 +08:00
Chun-wei Fan
0e99461f6e Update VS projects
Integrate the COGL/COGL-Pango .rc files into the build so that the built
DLLs reveal the versioning and copyright info
2011-12-15 20:31:30 +08:00
Chun-wei Fan
5335ceb9ea Update Visual C++ property sheets
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.
2011-12-08 16:12:01 +08:00
Chun-wei Fan
d16131a09f VS Property sheets update
Add the CLUTTER_COMPILATION macro for compiling the conformance tests
2011-12-07 17:33:43 +08:00
Chun-wei Fan
4261debc51 VS Support: Install cogl-snippet.h as well
...Due to the newly added header introduced by the snippets API
2011-12-07 16:51:32 +08:00
Chun-wei Fan
2055f6ba91 VS 2008/2010 project files to build Cogl
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>
2011-11-25 13:12:45 +00:00
Neil Roberts
8052e37c70 Add the Cogl3D mailing list to the release message recipients
This just adds the new cogl mailing list to the template release
message from make release-message

Reviewed-by: Robert Bragg <robert@linux.intel.com>
2011-10-17 15:50:00 +01:00
Neil Roberts
dfb7c76567 mingw-fetch-dependencies: Download config.guess and explicitly run it
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>
2011-09-21 12:04:05 +01:00
Neil Roberts
a08c1978cb mingw-fetch-dependencies.sh: Fix a mention of Clutter
The instructions mentioned the Clutter source tree instead of the Cogl
source tree.

Reviewed-by: Robert Bragg <robert@linux.intel.com>
2011-09-21 11:57:21 +01:00
Neil Roberts
c2721664aa mingw-fetch-dependencies.sh: Don't pass -c to wget
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>
2011-09-21 11:56:43 +01:00
Robert Bragg
1570169304 mingw: don't fetch mesa_wgl.h + update summary blurb
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>
2011-09-19 19:19:35 +01:00
Robert Bragg
e4ef536c7a build: fix make release-message find the sha256 file
the sha256 file for the release should be found under the build/
directory not at the top of the repo.
2011-09-05 20:59:00 +01:00
Robert Bragg
fcb8de2cde dist: Don't use elaborate script to gen Changelogs
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.
2011-07-20 16:58:46 +01:00
Neil Roberts
cfe5a0a285 releasing: Fix the check for an even micro version number
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.
2011-07-01 16:47:42 +01:00
Neil Roberts
50287dadff release: Fix the release mail template
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.
2011-07-01 16:47:32 +01:00
Robert Bragg
3729bf2769 Make it clearer that the 2.0 API is experimental
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.
2011-06-14 17:09:55 +01:00
Robert Bragg
250373a0f1 Adds build/autotools/Makefile.am.changelog/release
This adds some convenience rules to help manage releases
2011-06-14 17:09:55 +01:00
Robert Bragg
a7541e0911 Adds mingw dependency fetching script
This adds a script to simplify fetching the dependencies for
cross-compiling Cogl for windows using a mingw gcc compiler.
2011-05-05 21:20:47 +01:00
Robert Bragg
efb570fdae Adds the ability to build Cogl standalone
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.
2011-04-11 17:54:36 +01:00