Commit graph

85 commits

Author SHA1 Message Date
Behdad Esfahbod
5a3f03623c [Makefile.win32] Add comments about where to edit for customization 2008-09-23 04:11:48 -04:00
Behdad Esfahbod
fba0211ed6 [Makefile.win32] Add makefile rules to generate cairo-features.h 2008-09-22 23:41:07 -04:00
Behdad Esfahbod
0bedbe78fe [Makefile.win32] Misc cleanup 2008-09-22 22:46:05 -04:00
Behdad Esfahbod
ebb5eb57b7 Generate build/Makefile.win32.features 2008-09-22 22:24:38 -04:00
Behdad Esfahbod
fd5cef50a7 [aclocal] Add support for automake-only or win32-only makefiles 2008-09-22 20:48:14 -04:00
Behdad Esfahbod
42e4103015 [aclocal] Don't do automake conditionals for builtin features 2008-09-22 20:33:23 -04:00
Behdad Esfahbod
79bc967a0d [build] Make including Makefile.win32.features files more robust
By using top_srcdir if available.  Make's include is relative to
current dir, not the Makefile being processed.  That makes it hard
to include Makefile's relatively.
2008-09-22 20:20:02 -04:00
Behdad Esfahbod
e686a00da8 [build] Add CAIRO_CONFIG_MAKEFILE_PRIVATE 2008-09-22 20:11:39 -04:00
Behdad Esfahbod
0ac7a242f8 [build] Add Makefile.win32.common 2008-09-22 20:11:38 -04:00
Behdad Esfahbod
984320dff1 [build] Don't define feature variables in Makefile.win32.features
This is not the right place to do that as one also needs to adjust
cairo-features.h.  Working on a proper fix.
2008-09-22 20:11:32 -04:00
Behdad Esfahbod
eb9ce58059 [build] Don't generate Makefile conditionals for default=always features 2008-09-22 19:23:41 -04:00
Behdad Esfahbod
caa3dbd61b [build] Make Makefile.*.features files more readable
By inserting a new line before each feature entry.
2008-09-22 19:15:05 -04:00
Behdad Esfahbod
23b9767bb3 Rename Makefile.*.config to Makefile.*.features as they should not be modified
The .config naming was giving people the impression that they can modify it.
That's not the case.
2008-09-22 17:34:36 -04:00
Behdad Esfahbod
9c27323959 [aclocal] In generated Makefile.win32.config, don't overwrite feature vars
When I designed this first I thought people can define make vars on the
command line to override default features.  That works.  However, it's
natural to want to define the list of features in the toplevel Makefile
and not on command line.  So, we don't override user's var now.  They
can set a make feature var to 0 to disable it.
2008-09-20 18:26:19 -04:00
Behdad Esfahbod
8ae8189327 [configure.ac.warnings] Add -Wp,-D_FORTIFY_SOURCE=2 to warning flags
It enables various checks in glibc and gcc preprocessor.
2008-09-19 18:43:43 -04:00
Behdad Esfahbod
54b60dadb9 [Makefile.am.common] Remove gcc precompiled headers in "make clean"
Stale gcc precompiled headers can cause bugs very tricky to pin down.
2008-09-19 18:42:54 -04:00
Behdad Esfahbod
d84752605a Make sure (and check) that all private headers include some cairo header first
The macros CAIRO_BEGIN_DECLS and CAIRO_END_DECLS are declared in two
places: config.h and cairo.h.  On Win32 build there is no config.h.  So,
we can't rely on pulling CAIRO_BEGIN_DECLS from there.  Hence, we now:

  * Not add those declarations to config.h anymore,

  * Test that every cairo private header includes some other cairo
    header before any other includes.

These two are fairly enough to ensure that cairo.h is seen from all
private headers.  There's still the case of headers not including
any header file at all.  I'll fix that later.
2008-09-19 17:19:10 -04:00
Behdad Esfahbod
eb89bf049a Check for _MSC_VER in mutex implementation code
Previously I made the mutex implementation code to use Windows mutexes
conditional on HAVE_WINDOWS_H.  This was suppposed to be a more wine-friendly
version of checking for a Windows platform.  However, it also meant that
when compiling without config.h, one had to stuff a #define for HAVE_WINDOWS_H
somewhere.  Traditionally it was put in cairo-features-win32.h, and that
practice was carried over even after my build system rewrite.

Somewhere along the road I also decided that the mutex implementation header
does not need to include anything other than config.h.  So the hacked up
HAVE_WINDOWS_H in cairo-features-win32.h was not being seen by its lone
user.

We now condition on any of HAVE_WINDOWS_H and _MSC_VER.  So the hack can be
removed altogether.
2008-09-19 16:57:42 -04:00
Behdad Esfahbod
b9c432862a [Makefile.am.releasing] Make release-publish work with parallel build
Carl had this confusing problem today making the snapshot, which was
"make release-publish" erring.  This commit reworks the release-publish
machinery to enforce serialization of some of the tasks such that it
works with make -j.  Don't expect any speedup though as "make distcheck"
is inherently sequential.
2008-09-18 19:35:28 -04:00
Behdad Esfahbod
9eee0e9358 [Makefile.am] Move sticky-bit clearing to dist-hook
It's a more natural place.  It also means that we just change permissions
on the dist directory, not the user's source directory.
2008-09-18 18:33:56 -04:00
Behdad Esfahbod
567be443a2 [configure.ac] Make sure version information do not end up in config.h
By introducing $(top_srcdir)/cairo-version.h I tried to make it
unnecessary to rebuild the entire library when the version changes.
That comes handy around releases and when bisecting.

However this was not working as the version info was also ending
up in config.h and hence forcing a full rebuild upon change.
I now undefine the PACKAGE_VERSION* macros that autoconf defines,
so config.h does not change when cairo-version.h changes.
2008-09-18 16:27:02 -04:00
Behdad Esfahbod
24c51ee177 [acinclude.m4] Add compat macros for autoconf 2.59 2008-09-18 03:12:03 -04:00
Chris Wilson
998310ef4d [gcov] Use --coverage instead.
--coverage is a synonym for "--fprofile-arcs --ftest-coverage" during
compilation *and* "--lgcov" during linking. One might think this would
be a perfect workaround for the broken debian libtool which stopped the
linker seeing -lgcov - but they strip CFLAGS as well. Oh well.
2008-09-17 22:24:17 +01:00
Chris Wilson
85a4f0dcee Workaround undefined functions required by rsvg & poppler.
If the native windowing system is disable (e.g. --disable-xlib) then the
test suite fails to build since the vector converters typically depend
upon gdk-pixbuf-2.0, which in turn depends upon a native gdk which
requires cairo to be built with support for the native windowing system. A
mess that should be resolved by separating rsvg and poppler into core and
higher-level libraries, but which we can workaround by simply ignoring
errors from undefined functions at link time.
2008-09-17 15:25:18 -04:00
Behdad Esfahbod
9e2ef481aa [configure.ac] Clean up report syntax 2008-09-16 19:45:02 -04:00
Behdad Esfahbod
2161cb5baf [configure.ac] Warn if no native surface backend is enabled, err if no native font 2008-09-16 19:45:02 -04:00
Behdad Esfahbod
88a3998a1d [aclocal] Fix pkgconfig file collection 2008-09-16 03:58:21 -04:00
Behdad Esfahbod
6892daf77c Create cairo-features-win32.h 2008-09-16 03:58:20 -04:00
Behdad Esfahbod
20daa425d8 [configure.ac] Generate boilerplate/Makefile.am.config
Same scheme as in src/
2008-09-16 03:58:19 -04:00
Behdad Esfahbod
eb092eadbb [configure] Add non-pkgconfig cflags/libs before substitution 2008-09-15 21:45:25 -04:00
Behdad Esfahbod
09d7eb6c35 [configure.ac.version] Quote m4_define arguments 2008-09-15 21:31:37 -04:00
Behdad Esfahbod
fb0bf16595 [aclocal] Don't use m4_defn
Apparently autoconf 2.59 on msys is not quite happy it
2008-09-15 19:21:03 -04:00
Behdad Esfahbod
879b5c7057 [aclocal] Move CAIRO_PARSE_VERSION to acinclude.m4
It belongs there as it includes other files.  It was breaking build
on older autoconf it seems.
2008-09-15 19:18:06 -04:00
Behdad Esfahbod
656b0e3ea7 [configure.ac] Avoid sed -i (#17563) 2008-09-15 19:17:27 -04:00
Behdad Esfahbod
bdb6f609d8 [configure.ac] Build -uninstalled.pc files 2008-09-15 18:03:50 -04:00
Behdad Esfahbod
93325a3f08 [configure.ac.enable] Cleanup Makefile.*.config generation 2008-09-11 19:12:31 -04:00
Behdad Esfahbod
66d6cb642c [Makefile.am.common] Unify more common rules 2008-09-11 18:06:57 -04:00
Behdad Esfahbod
694fee9e7c Update gtk-doc makefile fragment
Also move it to build/.

We still do not call gtkdocize from autogen.sh.
2008-09-11 16:38:12 -04:00
Behdad Esfahbod
de5b8bce37 Makefile.am cleanup
Use a common build/Makefile.am.common file.
2008-09-11 15:49:09 -04:00
Behdad Esfahbod
66f0d56a8a [aclocal.enable.m4] Escape shell arguments 2008-09-11 15:31:28 -04:00
Behdad Esfahbod
2b4a26f097 [configure.ac] Add CAIRO_BEGINEND_DECLS 2008-09-11 04:21:29 -04:00
Behdad Esfahbod
b7a838261b Move m4 macros into build/aclocal.*.m4 files 2008-09-11 04:17:43 -04:00
Behdad Esfahbod
ac6e4b83e7 [configure.ac.enable] Use AS_CASE 2008-09-11 03:45:51 -04:00
Behdad Esfahbod
7c4fdafc8c [configure.ac.enable] Add some dnl's 2008-09-11 03:30:25 -04:00
Behdad Esfahbod
c358abfb15 [configure.ac.enable] Implement accumulators 2008-09-11 03:08:15 -04:00
Behdad Esfahbod
1efb5e0810 [configure.ac.enable] Don't collect .pc files for builtin features 2008-09-11 01:15:01 -04:00
Behdad Esfahbod
391bef58fc Add support for always-builtin features in the build system
Like image surface and user fonts.
2008-09-11 00:38:30 -04:00
Behdad Esfahbod
4a01b1d9c9 Build -uninstalled.pc files 2008-09-11 00:38:30 -04:00
Behdad Esfahbod
a18c75c3e9 [configure.ac.enable] More fixes for private features
Don't expect pkgconfig files for them.  Also, don't give them a chance
to install public headers.
2008-09-11 00:38:30 -04:00
Behdad Esfahbod
771ff1a06e [configure.ac.enable] Don't collect .pc files in win32 Makefile
We only generate them using autotools.  No point.
2008-09-11 00:38:30 -04:00