mirror of
https://gitlab.freedesktop.org/cairo/cairo.git
synced 2025-12-30 19:00:13 +01:00
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 |
||
|---|---|---|
| .. | ||
| .gitignore | ||
| aclocal.cairo.m4 | ||
| aclocal.compare.m4 | ||
| aclocal.enable.m4 | ||
| aclocal.float.m4 | ||
| aclocal.gtk-doc.m4 | ||
| aclocal.makefile.m4 | ||
| aclocal.pkg.m4 | ||
| ax-pthread.m4 | ||
| configure.ac.analysis | ||
| configure.ac.features | ||
| configure.ac.noversion | ||
| configure.ac.system | ||
| configure.ac.tools | ||
| configure.ac.version | ||
| configure.ac.warnings | ||
| Makefile.am.analysis | ||
| Makefile.am.changelog | ||
| Makefile.am.common | ||
| Makefile.am.gtk-doc | ||
| Makefile.am.releasing | ||
| Makefile.win32.common | ||
| Makefile.win32.features | ||
| Makefile.win32.features-h | ||