Commit graph

7 commits

Author SHA1 Message Date
Benjamin Otte
f7fc8569a7 build: Fix C++ issues with automake
This is an attempt to fix the broken situation we've been in where
automake links libcairo.la with c++ because it might potentially maybe
include C++ files.

Those potential files only exist in Chris' throwaway backends (skia, qt)
and the BeOS backend, so for 99.99% of cases, these backends are not
needed and linking with c++ is overkill. Also, no one wants to have
libcairo.so link to libstdc++.

This patch fixes that in mutliple steps:
1) Add build infrastructure to distinguish between C and C++ backends.
   This is done by allowing to specify backend_sources as well as
   backend_cxx_sources variables in Makefile.sources.
2) Optionally build a libcairo_cxx.la noinst library
   This intermediate library is built for C++ backends only and therefor
   linked using c++. It is then linked into the final libcairo.la. This
   does not require c++, so the linking of libcairo.la is done with cc.

This also works around various weirdnesses that the current build system
exposes, where it assumes cisms when in fact using c++ semantics, like
not detecting c++ properly or:
https://bugzilla.redhat.com/show_bug.cgi?id=606523
2010-07-09 12:38:37 +02:00
Chris Wilson
849bdee199 [check] Quieten output during checking headers-standalone
Remove the duplication of the compile line and enable shave to replace it
entirely with a "CHECK $header". This should make errors more obvious.
2009-05-07 15:14:14 +01:00
Chris Wilson
35be087155 [Makefile.am] Only rerun headers-standalone if a header file has changed
Use a stamp to mark the time that the headers were last checked and only
rerun the test if any have been modified since.
2008-09-30 11:11:47 +01:00
Behdad Esfahbod
afb32c7f07 [src/Makefile.am.analysis] Fix out-of-tree build 2008-09-23 03:58:17 -04:00
Behdad Esfahbod
9c36a5f3f1 [src/Makefile.am.analysis] Check that all headers can be compiled standalone
This ensures that each header includes all headers it depends on.
This is now enforced by "make check".
2008-09-19 18:51:03 -04:00
Behdad Esfahbod
840218e0a0 [src/Makefile.am.analysis] Fix typos and improve scripts 2008-09-16 03:58:22 -04:00
Behdad Esfahbod
49c8c62040 [src/Makefile.am.analysis] Split off from src/Makefile.am 2008-09-16 03:58:21 -04:00