Commit Graph

125 Commits

Author SHA1 Message Date
Emmanuele Bassi
cd7df1b421 build: Fix the release-message target
Generate the SHA256 checksum file during release-upload and then copy it
to the build directory.
2010-10-04 15:47:53 +01:00
Emmanuele Bassi
ba09e9c6df build: Generate a stub announcement email when releasing 2010-10-03 17:21:10 +01:00
Emmanuele Bassi
96db215ed3 build: Automate the release process 2010-10-03 14:54:36 +01:00
Emmanuele Bassi
7aaef8abee modules: Use the stable branch of json-glib 2010-09-29 16:46:36 +01:00
Emmanuele Bassi
e36cc40a49 Merge branch 'wip/non-recursive'
* wip/non-recursive:
  build: Start moving to a non-recursive layout
2010-09-29 15:55:58 +01:00
Emmanuele Bassi
0f22e922e3 modules: Fix up mesa module 2010-09-29 15:44:51 +01:00
Emmanuele Bassi
e072d797b1 modules: Add mesa and wayland to the moduleset 2010-09-29 15:28:26 +01:00
Emmanuele Bassi
8dd8fbdbdf build: Start moving to a non-recursive layout
*** WARNING: THIS COMMIT CHANGES THE BUILD ***

Do not recurse into the backend directories to build private, internal
libraries.

We only recurse from clutter/ into the cogl sub-directory; from there,
we don't recurse any further. All the backend-specific code in Cogl and
Clutter is compiled conditionally depending on the macros defined by the
configure script.

We still recurse from the top-level directory into doc, clutter and
tests, because gtk-doc and tests do not deal nicely with non-recursive
layouts.

This change makes Clutter compile slightly faster, and cleans up the
build system, especially when dealing with introspection data.

Ideally, we also want to make Cogl part of the top-level build, so that
we can finally drop the sed trick to change the shared library from the
GIR before compiling it.

Currently disabled:

  ‣ OSX backend
  ‣ Fruity backend

Currently enabled but untested:

  ‣ EGL backend
  ‣ Windows backend
2010-09-29 14:40:15 +01:00
Emmanuele Bassi
5335689340 Update the uncrustify configuration 2010-09-23 13:36:41 +01:00
Emmanuele Bassi
46357db389 Add uncrustify configuration file
Patch submission should include a pass of uncrustify to conform to the
coding style.

Uncrustify is not perfect - but at least it's a start.
2010-09-23 13:00:06 +01:00
Neil Roberts
f0ab8edac0 clutter.modules: Specify the checkoutdir for the gtk2 module
If no checkoutdir is specified then jhbuild seems to use the name of
the module which in this case would be 'gtk+'. This ends up
overwriting the checkout of the master branch of gtk+ and causes all
kinds of build problems. This patch adds a checkoutdir attribute to
the gtk2 module to force it to checkout into the gtk2 directory.
2010-09-16 11:13:30 +01:00
Emmanuele Bassi
5e57539f3b build: Update introspection.m4 2010-09-07 21:10:40 +01:00
Emmanuele Bassi
287b3ba542 Makefile.am.enums: Forgot an AM_V_GEN 2010-09-07 15:23:35 +01:00
Emmanuele Bassi
368b24b420 build: Fix up rules for enums and marshallers
• Use addprefix instead of manually concatenating $(srcdir)
• Use AM_V_GEN instead of QUIET_GEN, to avoid inter-dependencies
• Do basic checks on GLIB_MKENUMS and GLIB_GENMARSHAL being defined
• Do checks on the required variables being defined
2010-09-07 15:01:50 +01:00
Damien Lespiau
d7e5e9247b build: Make the generated glib-mkenums c file depend on the headers
What happens now if you rename an enum inside a header:

  • glib-mkenums generates the header file
  • a comparison is made with the previous version of the heade is made
    and no difference is found as you don't remove or create enums
  • the compilation of the generated mkenums c file fails because it has
    not been regenerated with the new, renamed, enum.

That's why the generated clutter-enum-types.c needs to depend on the
headers too.

Of course such scenario should not happen in stable releases as enums
are part of the API, but renaming enums happens in the development cycle
and create compilation errors (very annoying when doing git bissects for
instance).
2010-09-07 14:17:18 +01:00
Emmanuele Bassi
50f4bfd7f7 build: Remove dolt remnants
We don't use Dolt any more, since we depend on libtool 2.2.
2010-08-17 12:22:51 +01:00
Emmanuele Bassi
3142b15a9f build: Use maintainer-clean for the ignore files removal
Instead of distclean.
2010-08-15 18:42:54 +01:00
Emmanuele Bassi
94c8635d0f build: Autogenerate more ignore files
The tests/accessibility, tests/micro-bench and the examples directory
in the coobook create a lot of non-installed binaries. Since we know who
they are, and we ignore them, we can auto-generate the ignore files as
well.

The rest of Clutter is covered by the main ignore file.
2010-08-14 08:43:16 +01:00
Emmanuele Bassi
ff9a5a01b4 clutter.modules: Remove deps on gir-repository
Keep it in the moduleset, but don't let Clutter depend on it.
2010-08-13 18:14:10 +01:00
Emmanuele Bassi
a25cf14e97 Revert "clutter.modules: Remove deps on gir-repository"
This reverts commit 0ce9cf730b.

The commit contained unrelated changes
2010-08-13 18:12:43 +01:00
Emmanuele Bassi
0ce9cf730b clutter.modules: Remove deps on gir-repository
Keep it in the moduleset, but don't let Clutter depend on it.
2010-08-13 18:09:28 +01:00
Emmanuele Bassi
175b16a5c8 clutter.modules: Add a gtk2 module for gtk+ 2.x
Mx (and others) depend on gtk+ 2.x, and not on gtk+ 3.x.
2010-08-13 18:00:23 +01:00
Neil Roberts
e016a62ab0 build/mingw/README: Replace with a link to the wiki
The build instructions for MinGW have been moved to the wiki.
2010-08-12 16:57:22 +01:00
Neil Roberts
1f01fd0a4c clutter.modules: cluttersmith depends on gjs and clutter-gtk
This adds dependencies on gjs and clutter-gtk to cluttersmith. There
was no module listed for gjs so this is added from the jhbuild gnome
module list.
2010-08-12 14:59:03 +01:00
Emmanuele Bassi
053a1a9c51 build: Add simple scripts for setting up jhbuild
Use the same script also used by gnome-shell to set up the system
dependencies for building Clutter (and its dependencies) using jhbuild.
2010-08-12 13:46:58 +01:00
Emmanuele Bassi
2bf01dd959 build: Make the introspection generation quiet (again) 2010-08-12 09:03:58 +01:00
Emmanuele Bassi
b646f0cfa9 clutter.modules: Add Cluttersmith 2010-08-09 19:56:00 +01:00
Emmanuele Bassi
966cbd5127 clutter.modules: Mx moved to clutter-project.org 2010-08-09 19:55:42 +01:00
Emmanuele Bassi
786285a245 clutter.modules: Fix UProf id 2010-08-08 13:48:51 +01:00
Emmanuele Bassi
fa8ee94c59 clutter.modules: Fix the uprof repository
UProf has moved.
2010-08-06 19:36:57 +01:00
Emmanuele Bassi
385ac8e181 modules: Bump cairo to 1.9.12
And add poppler.
2010-07-23 12:43:29 +01:00
Emmanuele Bassi
292597a9e1 build: Use AS_ALL_LINGUAS
The AS_ALL_LINGUAS m4 macro allows configure-time generation of the
ALL_LINGUAS variable from the translations inside po/ instead of using
the LINGUAS file.
2010-07-15 11:36:25 +01:00
Emmanuele Bassi
fb79b0c14e moduleset: Update cairo and pixman versions
The gtk+ we use for clutter-gtk depends on a new version of Cairo.
2010-07-06 11:57:16 +01:00
Emmanuele Bassi
aa8ffef543 moduleset: Remove libXft
The system one should be enough.
2010-07-06 11:42:08 +01:00
Emmanuele Bassi
8e4d221821 clutter.modules: Update with the gdk-pixbuf split
Gdk-Pixbuf has been split back into its own module once again. This
means that Clutter doesn't have a build requirement on gtk+ any more.
2010-06-26 15:42:31 +01:00
Emmanuele Bassi
5f6a3d2543 build: Remove shave files from EXTRA_DIST
We don't use Shave any more, and require automake 1.11 instead.
2010-05-24 15:34:43 +01:00
Emmanuele Bassi
755625c758 build: Clean up build dependencies
• Depend on autoconf 2.63
• Depend on automake 1.11
• Depend on gobject-introspection 0.6.7
• Depend on gtk-doc 1.13
• Remove Shave from the build
2010-05-05 11:52:20 +01:00
Neil Roberts
48b8510a06 mingw-cross-compile.sh: Write the build environment to a script
The script now writes out a separate script that can be used to set up
the build environment to $ROOT_DIR/share/env.sh. This can be sourced
in a shell to set up the build environment or it can be given a
command to directly execute in the environment. This makes it easier
to build Clutter from your own source rather than checking it out from
git directly.
2010-04-25 16:20:39 +01:00
Neil Roberts
eb22ab9bf2 mingw-cross-compile.sh: Update the package versions
This updates to the latest binaries from Tor Lillqvist. zlib and iconv
are now taken from the Tor deps instead of the gnuwin32 project. SDL
is no longer downloaded because the SDL backend has been removed from
Clutter. The GL headers are downloaded from the Mesa cgit rather than
downloading the whole Mesa package. glext.h is taken directly from
khronos.org.
2010-04-25 16:09:16 +01:00
Emmanuele Bassi
b13eb77e05 Add uprof to the jhbuild moduleset 2010-04-22 17:51:56 +01:00
Emmanuele Bassi
53cf25ef11 Add jhbuild moduleset
Clutter should provide a moduleset for JHBuild, to allow building the
whole Clutter stack within a separate prefix.
2010-03-31 16:31:10 +01:00
Neil Roberts
fa51ff25d3 Add build/mingw/{README,mingw-cross-compile.sh} to the dist tarball
It's quite difficult to get git working on Windows so it makes sense
to put the build instructions somewhere accessible.
2010-01-18 14:06:11 +00:00
Emmanuele Bassi
a076e0e11d build: Add a script to format gcov report lines
Instead of using echo let's try Perl and the format() built-in.
2010-01-13 17:15:06 +00:00
Emmanuele Bassi
948db40c87 Add gcov support to the build
Using gcov it's possible to get a coverage report, that is a break down
of how much the exposed API is exercised by the conformance test suite.
2010-01-13 17:15:06 +00:00
Emmanuele Bassi
d11343532d build: Generate per-cycle ChangeLog files
We should generate a ChangeLog for each minor version cycle, starting
from the Git import date (since before that we used ChangeLog-style
commit messages that don't really look good with the Git ones).

For this reason we can take Cairo's Makefile.am.changelog file and,
after tweaking it to fit our use case, let it generate the correct
ChangeLogs on dist.
2009-11-18 14:43:46 +00:00
Emmanuele Bassi
18e9d0db6f build: Move ChangeLog rules in a separate file
The ChangeLog creation rules should be moved to their own file, to
make it easier to fix or change them in the future.
2009-11-18 14:43:46 +00:00
Damien Lespiau
ac9f65cb92 build: Make the glib-mkenums generated files depend on their templates
With this, if one changes the underlying template files, we run
glib-mkenums again to generate updated glib_enum_[ch] files.

Reviewed-by: Emmanuele Bassi <ebassi@linux.intel.com>
2009-11-09 16:54:03 +00:00
Robert Bragg
35f11d863c [build] more Makefile.am.{enums,marshal} fixes for out of tree builds
for the marshal files $(srcdir) was getting prefixed twice since my last
commit (2cc88f1140) since it was already being prefixed including
Makefile.am.  The problem with prefixing it in the includer file though is
that the Make variable substitutions like :.list=.h mean we end up
generating into the $(srcdir).  This removes the prefix added in
clutter/Makefile.am

We were also missing a $(srcdir) prefix when setting EXTRA_DIST
2009-10-16 18:46:44 +01:00
Robert Bragg
2cc88f1140 [build] fix Makefile.am.{enums,marshal} to support out of tree builds
Out of tree builds were broken in commit 46b736f42e since we didn't
explicitly use $(srcdir) to find the input files for glib-mkenums and
glib-genmarshal.
2009-10-15 19:53:56 +01:00
Emmanuele Bassi
46b736f42e build: Move marshallers and enum types rules out
The rules to create signal marshallers and enumeration GTypes are
usually copied and pasted all over different projects, though they
are pretty generic and, given a little bit of parametrization, can
be put in separate Makefile.am files and included whenever needed.
2009-10-14 09:07:11 +01:00
Emmanuele Bassi
ecfa0c4f92 [build] Split out the custom silent rules
The silent rules we use for custom targets should be moved into a
separate Makefile.am that gets included from all the others.
2009-09-16 17:47:59 +01:00
Neil Roberts
b3842a6b62 [mingw] Update the README
The README has been updated to say that you can use the script under
MSYS and also to contain a pointer to OAH. It also contains the
updated contents of a blog post¹ about building with MSYS.

1. http://www.busydoingnothing.co.uk/blog/2008/07/13#ClutterWin32
2009-07-29 19:06:36 +01:00
Neil Roberts
8ad446f3e9 [mingw-cross-compile.sh] Fix to use git rather than svn
The script includes a part to automatically checkout the Clutter
source and build it but it was using the old svn repo instead of git.
2009-07-29 18:13:19 +01:00
Neil Roberts
d796d3c88c [mingw-cross-compile.sh] Add a note about MSYS in the comment
The comment previously implied that you could only use the script to
cross compile but it works just as well under MSYS.
2009-07-29 18:07:40 +01:00
Neil Roberts
1e14d3041d [mingw-cross-compile.sh] Update version numbers of all the dependencies
This updates the URLs for the binary dependencies to use the latest
versions.
2009-07-29 18:07:21 +01:00
Emmanuele Bassi
a3c323c52c [docs] Remove mentions of Clutter-Cairo
The mingw README file still mentions Clutter-Cairo as a known issue.
2009-07-29 17:22:18 +01:00
Emmanuele Bassi
0ec6793738 [mingw/win32] Remove clutter-cairo
The Clutter-Cairo library has been removed, so there's no point
in checking it out -- from Subversion, even.
2009-07-29 17:21:13 +01:00
Neil Roberts
c0cf614634 [build/mingw] Update Cairo version to 1.8.6 in mingw-cross-compile.sh
The Pango 1.22 binaries require Cairo 1.8.0 to get
cairo_show_text_glyphs.
2009-07-28 12:13:44 +01:00
Neil Roberts
dbc9c16259 Remove the MSVC build files
These are hopelessly out of date so they just cause more trouble than
they're worth.

Anyone interested in building with MSVC would be better off starting
from the build files available as part of the OAH project which is
located here:

https://launchpad.net/oah
2009-07-28 12:13:42 +01:00
Emmanuele Bassi
8728afa2ee [build] Add as-compiler-flag.m4 to the dist 2009-06-09 12:45:23 +01:00
Emmanuele Bassi
54b5d07682 [build] Add AS_COMPILER_FLAGS
Use the AS_COMPILER_FLAGS to check whether the maintainer compiler flags
we use are supported; this should fail gracefully and only use the ones
that the compiler actually understands.

Fixes bug:

  http://bugzilla.openedhand.com/show_bug.cgi?id=1639
2009-06-08 02:22:26 +01:00
Damien Lespiau
168499742a Update shave
This update fixes a few issues:
  - the use of shave with mingw32 bash on windows,
  - fix the unmangling of libtool names
  - fix build on solaris
  - add an --enable/disable-shave configure option (while still
    defaulting to enabled)
2009-03-11 18:44:33 +00:00
Emmanuele Bassi
21aa09748c Add build machinery for gobject-introspection data
configure.ac: Check for gobject-introspection

build/introspection.m4: Include the file that defines the
GOBJECT_CHECK_INTROSPECTION m4 macro in case we want to disable
the introspection data generation.

clutter/json/Makefile.am: Build the .gir for "ClutterJson"
  (json-glib as part of the Clutter library)

clutter/Makefile.am: Build the .gir for clutter, compile the
  Clutter and ClutterJson girs into typelibs, and install them.
  Also move GCC_FLAGS from $(INCLUDES) to $(AM_CFLAGS) since it includes
  non-preprocessor flag like -Wall.

See also:

  http://bugzilla.openedhand.com/show_bug.cgi?id=1450

Based on a patch by: Owen W. Taylor <otaylor@fishsoup.net>

Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
2009-02-20 14:39:51 +00:00
Emmanuele Bassi
01cf52c44c [build] Update the EXTRA_DIST list
Remove the files we don't ship or have, to avoid distcheck failing.
2009-02-19 17:22:21 +00:00
Damien Lespiau
3794324e8b [build] Fix dist for the newly introduced m4 macro directory 2009-02-19 10:59:50 +00:00
Damien Lespiau
21768fb957 [build] Add dolt
From the homepage (http://dolt.freedesktop.org): Dolt provides a drop-in
replacement for libtool that significantly decreases compile times on
the platforms it supports.
2009-02-18 17:38:34 +00:00
Damien Lespiau
8eec75efde [build] Beautify autotools' output
Use shave (http://git.lespiau.name/cgit/shave) to make compilation more
human friendly.
2009-02-18 17:38:34 +00:00
Emmanuele Bassi
cf80105ab0 [build] Add automatic ChangeLog generation on dist
Since we moved to Git from Subversion we've abandoned the ChangeLog
file in favour of a more detailed commit log.

In order to maintain a ChangeLog for users of the tarballs, we need
to generate a ChangeLog file out of the commit log when distchecking
a Clutter release.

For this reason, we use a simple Perl script that is invoked by the
dist-hook and generates a ChangeLog file starting from the previous
stable release.
2009-01-29 15:38:28 +00:00
Neil Roberts
46d4506478 Bug 1270 - Update to mingw-cross-compile.sh
* build/mingw/mingw-cross-compile.sh: Update to download latest
	binaries. Patch thanks to David Kedves.
2008-11-21 16:38:34 +00:00
Neil Roberts
9faac520e4 * build/mingw/mingw-cross-compile.sh: Avoid using the --strip
option to tar because it isn't supported in the version shipped
	with MSYS.
2008-07-13 17:55:53 +00:00
Neil Roberts
0af3df1217 * build/mingw/mingw-cross-compile.sh: Default to the win32 flavour
instead of the SDL flavour
2008-07-04 12:14:13 +00:00
Neil Roberts
14a48008cd Use the Mesa headers instead of depending on GLee for Win32
builds.

	* configure.ac: No longer check for GLee

	* clutter/cogl/gl/cogl-defines.h.in: Don't bother including GLee.h

	* build/mingw/mingw-cross-compile.sh: No longer downloads libGLee
	but downloads the Mesa library instead and installs the headers
	from that. Fixed the libpng version.
2008-05-16 11:09:59 +00:00
Tomas Frydrych
fa7a114ce8 2008-02-15 Tomas Frydrych <tf@openedhand.com>
* configure.ac:
	* clutter/clutter-version.h.in:
	* build/msvc_2k5/clutter-version.h:
	Removed unused --without-fpu configure option and CLUTTER_NO_FPU
	macro
2008-02-15 13:04:33 +00:00
Tomas Frydrych
e87b45a00f 2008-02-15 Tomas Frydrych <tf@openedhand.com>
* build/mingw/README:
	* build/mingw/mingw-cross-compile.sh:
	Script that automates cross compilation with mingw by Neil Roberts
	<bpeeluk@yahoo.co.uk>
2008-02-15 11:49:33 +00:00
Tomas Frydrych
05789582b4 2007-10-16 Tomas Frydrych <tf@o-hand.com>
* build/msvc_2k5:
        Added MSVC project files.
2007-10-16 10:18:36 +00:00