Commit Graph

86 Commits

Author SHA1 Message Date
Chun-wei Fan
2e0989bbaf Visual Studio Builds: Avoid Implicit Link to SDL
Cogl, when built with the SDL winsys, includes the SDL headers in its
headers, which causes main() to be defined to SDL's main() wrapper on
Windows, which means that SDL2.lib and SDL2main.lib need to be linked to
every single program that links to Cogl with the SDL winsys.

Avoid this behavior by defining SDL_MAIN_HANDLED in the CFLAGS of the
sample and test programs, and let people know that this is the case.
2014-04-17 10:33:55 +08:00
Chun-wei Fan
3e494a13f8 Visual Studio Builds: Update .def Files Generation
Define COGL_HAS_GTYPE_SUPPORT during the preprocessing of the .symbols
files so that the _get_gtype symbols can be exported.
2014-04-07 12:39:31 +08:00
Chun-wei Fan
39d30a35a7 Visual Studio Builds: Update README.txt's
Let people know that for Visual Studio builds GLib is a hard requirement,
and let the people also know that SDL-2.x is now used for builds supporting
the SDL winsys.  Also let people know that current situation regarding
building and linking Cogl applications with the SDL winsys built in.
2014-04-07 10:30:19 +08:00
Neil Roberts
94002eaf7c mingw: Try adding a -w64 suffix when searching for a suitable compiler
On 64-bit fedora the 32-bit MinGW compiler is called
i686-w64-mingw32-gcc which wasn't being picked up by the
mingw-fetch-depdencies script.

Reviewed-by: Robert Bragg <robert.bragg@intel.com>
(cherry picked from commit f5f0342315e524523c50549e91eb9ff1683ab558)
2014-03-21 17:38:32 +00:00
Chun-wei Fan
c1286307a3 build/win32/vs9/Makefile.am: Remove Non-Existing Entry
A project file was removed, which was not updated in Makefile.am, so make
up for that.
2014-03-12 15:41:09 +08:00
Chun-wei Fan
4730782a20 Visual Studio 2010 Projects: Add a PlatformToolset Tag
This adds a PlatformToolset tag in order to make upgrading the projects to
Visual Studio 2012/2013 formats easier, especially when done with a script.
The script, for example, can change the value inside these tags
apporpriately to do the upgrade job quite easily.
2014-03-06 19:14:38 +08:00
Chun-wei Fan
efbd121f10 Visual Studio 2010 Builds: Fix Header Installation
Some headers were deprecated and therefore moved, so update for that.
2014-03-04 15:34:33 +08:00
Chun-wei Fan
0b96d15315 Visual C++ 2008 Builds: Fix Installation of Binaries
The *.dll, *.exe and *.lib files weren't being copied in the *_SDL configs
as the project looked for them in the wrong place.  Correct that problem.
2014-03-04 15:28:52 +08:00
Chun-wei Fan
206ea0de6b Update the Visual Studio 2010 Projects
This updates the Visual Studio 2010 Projects in the following ways,
similar to the recent changes to the Visual Studio 2008 projects:

-Make all the copying of the pre-configured header files custom build
 rules, so that it is cleaner when people clean their builds, and the files
 can be re-copied when updated.
-Split up the property sheets, so to ease future maintenance
-Make the cogl-path library built as a DLL
-Build and link against SDL-2.x for SDL builds
-Make everything except the .sln file and the README.txt file use UNIX line
 endings, for easier maintenance.
-Merge cogl_sdl.sln and install-sdl.vcxproj into cogl.sln and
 install.vcxproj respectively.
-Update build of the conformance test to not use COGL_COMPILATION, and make
 it link to cogl-path.
2014-03-03 17:48:31 +08:00
Chun-wei Fan
b616877516 build/win32/vs9/cogl.sln: Update
Make the install project depend on cogl-path, so that we are certain that
the cogl-path DLL gets "installed".
2014-03-03 16:59:03 +08:00
Chun-wei Fan
4b40a8fe83 MSVC 2008 Builds: Split Up the Property Sheets
Split up the property sheets, so that it is easier to maintain, and update
the project files accordingly.  Also clean up the project files by
finishing up the merge of the *_sdl.vcproj items into their regular
counterparts, and dropping all the *_sdl.* files.

Make use of UNIX line endings for all the MSVC 2008 build files, except the
.sln file and the README.txt files, for easier maintenance.
2014-03-03 15:18:54 +08:00
Chun-wei Fan
ab16d26e8f MSVC 2008 Builds: Link Conformance Test to cogl-path
We need to link the conformance test executable to cogl-path, so make that
project depend on the cogl-path project, so that it will link to it as
well.
2014-03-03 13:52:45 +08:00
Chun-wei Fan
2568182506 MSVC 2008 Builds: Build the SDL-2.x example
...instead of the SDL-1.x example.  The SDL-1.x example is not going to run
well against Cogl built against SDL-2.x.
2014-03-03 11:10:46 +08:00
Chun-wei Fan
e69dd84004 build/win32/vs9/cogl.vsprops: Update Header Installation
Update the headers "installation" as some headers have been made
deprecated.
2014-02-27 18:43:12 +08:00
Chun-wei Fan
a4bf3c6f88 MSVC 2008 Projects: Build cogl-path as a DLL
So that it will be like what is done in the autotools builds now.  Also
clean up the cogl-path and cogl-pango projects.
2014-02-27 18:29:39 +08:00
Chun-wei Fan
6109c47189 Fix Conformance Test MSVC 2008 Project
Don't define COGL_COMPILATION when we build the conformance tests.
2014-02-27 18:07:56 +08:00
Chun-wei Fan
521f12847e build/win32/vs9/cogl.vcprojin: Use SDL 2.x for SDL Support
As SDL-2.x has been officially released for a while, update the Visual
Studio 2008 projects to build and link against the SDL-2.x libraries.
2014-02-27 17:51:01 +08:00
Chun-wei Fan
7c12086f9a Update Visual Studio 2008 Solution File
Combine the parts to build Cogl with SDL support into a single solution
file, so to ease future maintenance.
2014-02-27 17:47:46 +08:00
Chun-wei Fan
8b9f545e4c MSVC 2008 Projects: Use Custom Build Rules
...for all of the copying of the pre-configured headers for Cogl.  This
makes it much easier for people using the projects for building Cogl to
clean up files that are "generated", and this commit is the last bit for
it.  Also clean up the property sheets as a result.

Also fix the Cogl project that it does indeed look for headers in
cogl/deprecated, so that the build is fixed.

Similar updates to the Visual Studio 2010 Projects will follow.
2014-02-27 17:43:59 +08:00
Neil Roberts
7c1d5a1d69 mingw-fetch-dependencies: Add the -L option when using curl
The -L option makes curl follow redirections. This is needed for
downloading glext.h because khronos.org is using a redirect.

Reviewed-by: Robert Bragg <robert@linux.intel.com>
(cherry picked from commit 85baaef4a4f4fd3a03c7c9f05002eae483ddd6b3)
2014-01-20 16:41:13 +00:00
Neil Roberts
922241a2ac Build a .xz file on release instead of a .bzip2 file
Previously when we released a .bzip2 file the Gnome release scripts
will just convert this to a .xz file and generate its own checksum.
The .bzip2 is never actually available on the FTP server. This isn't
ideal because we were listing the checksum of the .bzip2 file in the
release message but that is useless information. This patch changes it
to generate a .xz file instead which is also what Clutter does.

Reviewed-by: Robert Bragg <robert@linux.intel.com>
(cherry picked from commit cd20c869f303a3526335e77b1913c0555e226a3f)
2013-09-23 18:22:32 +01:00
Chun-wei Fan
f70bbf8c7b Update Visual Studio Project Files
The solution files which are updated due to the split of Cogl-Path need
to be pushed as well, which were forgotten.  Sorry about this, and fix
.def file generation on Cogl with SDL on Visual Studio 2010 builds.
2013-09-03 12:48:11 +08:00
Chun-wei Fan
08fecbaa84 Add Autotools Items to Complete the Cogl-Path MSVC Projects
This adds a centralized autotools Makefile to be used in the completion
of the project files for Cogl-Path for now, which can be used also in
Cogl, Cogl-Pango and possibly Cogl-Gst so that we could have less clutter
in the autotools files.

This patch set will also allow the Cogl-Path project files to be filled in
during 'make dist' and make them distributed during a tarball release.

Reviewed-by: Neil Roberts <neil@linux.intel.com>
(cherry picked from commit 491020592b240ca5f2885dee104c88bf431858ae)

Conflicts:
	cogl-path/Makefile.am
2013-09-02 16:22:08 +01:00
Chun-wei Fan
1f5f931e6f MSVC builds: Update "Installation" of Headers
Some of the headers for Cogl was moved/split out to Cogl-Path, so update
the installation of the headers accordingly
2013-08-28 09:50:43 +08:00
Chun-wei Fan
db73744a1e MSVC Projects: Add project templates for cogl-path
This adds template project files that is used to build cogl-path, where the
source files can be filled in using autotools.  Note that although
cogl-path is built as a static library, items to build DLLs for this
is intentionally left in there as this is intended to be a shared library
later.
2013-08-27 15:43:55 +08:00
Chun-wei Fan
f2d785e22b Visual Studio Projects: Use Custom Build Rules
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.
2013-08-26 18:39:02 +08:00
Chun-wei Fan
8d7a9d606a Update Visual Studio Property Sheets
-Add items to generate the enumeration sources
-Add items to build the CoglPath library, which was split out
2013-08-26 18:18:17 +08:00
Chun-wei Fan
887d2ebf2e Update Visual Studio Property Sheets
"Install" the newly-introduced public headers that are needed.
2013-07-25 13:32:17 +08:00
Chun-wei Fan
13fe92cbbd Visual Studio Builds: Update Conformance Test Projects
We need to include the headers and built the sources in test-fixtures to
build the conformance tests properly.
2013-07-25 13:30:04 +08:00
Robert Bragg
c281b6dd93 release: update documentation links for release notes
The release notes now link to http://cogl3d.org/cogl2-reference/
for the experimental 2.0 api reference
2013-07-09 23:19:51 +01:00
Chun-wei Fan
72b25bd098 Update Visual Studio Project Files
-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
2013-03-07 11:37:32 +08:00
Chun-wei Fan
f0f44793b1 Update Visual Studio property sheets
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.
2013-03-01 16:00:44 +08:00
Chun-wei Fan
1ddf5e30c1 Fix Cogl Visual Studio Projects
Some GL driver sources were moved and added, so these sources and paths
must be added/changed in the Cogl projects
2013-03-01 15:58:46 +08:00
Neil Roberts
1871045b45 mingw: Add --enable-deprecated to the recommended build flags
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)
2013-02-21 15:20:55 +00:00
Neil Roberts
43d3383611 mingw: Update to the latest version of glib.
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)
2013-02-21 15:20:55 +00:00
Damien Lespiau
d2c41502a4 build: Allow to build cogl without an external glib dependency
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>
2013-01-22 17:47:58 +00:00
Chun-wei Fan
9cc076b14c Update Visual C++ property sheets
Remove unneeded items.
2012-12-24 12:23:27 +08:00
Chun-wei Fan
12010882e6 Fix Visual C++ 2008 "install" process
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.
2012-12-14 11:08:07 +08:00
Chun-wei Fan
6c438e0df5 Update Visual Studio 2010 solution files
Cosmetic change to the solution files headers so that they will be
consistent across the board
2012-12-13 17:42:01 +08:00
Chun-wei Fan
8106b054a2 build/win32/vs*/cogl_sdl.sln: Fix line endings
The .sln files need to have Windows/DOS line endings to work in the best
way.
2012-12-13 17:40:50 +08:00
Chun-wei Fan
5bec5005d4 build/win32/vs*/cogl_sdl.sln: Temporary commit to fix line endings 2012-12-13 17:39:05 +08:00
Chun-wei Fan
cfdc1c95eb Clean up Visual C++ projects
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
2012-09-28 18:45:41 +08:00
Chun-wei Fan
c0e9d9235a Update Visual C++ projects
-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"
2012-09-28 17:14:28 +08:00
Robert Bragg
1084e2fbb7 docs: Update pointers to documentation
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.
2012-09-03 15:55:14 +01:00
Chun-wei Fan
615e319384 cogl-crate.vcproj: Don't link to SDL for non-SDL x64 builds
The x64 Release (non-SDL) build was linking to SDL.
Remove that dependency.
2012-08-17 10:01:57 +08:00
Chun-wei Fan
e6bd6128a2 Fix cogl.vcproj
x64 release builds with the SDL winsys need to link to the SDL libraries as
well, which was missed.  Make up for that.
2012-08-17 00:04:32 +08:00
Neil Roberts
683545b1ff build: Remove clutter-project.org from the release rules
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)
2012-08-06 18:51:34 +01:00
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