Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
|
|
|
|
Make it possible to exclude deprecated API from the build.
See #29
|
|
|
|
|
|
Has been a requirement for a long time, but configure.ac
and meson.build had not been updated.
|
|
|
|
This is what Meson does. Cairo does it when built with Autotools.
|
|
* build/ax_boost_base.m4:
* build/ax_boost_unit_test_framework.m4: Newer versions have been fetched
from www.gnu.org/software/autoconf-archive
|
|
|
|
This makes the built DLL and .lib's contain the toolset version if
the build is carried out using Visual Studio 2015 or later, unless
the 'msvc14x-parallel-installable' option is set to be false during
configuration.
The reasoning behind this change is that there may be subtle problems
when, for instance, one tries to link to a Visual Studio 2015-built
cairomm with Visual Studio 2017 or 2019. This is unfortunate as
Microsoft did try hard to make interoperating between binaries built
with Visual Studio 2015, 2017 and 2019 as easy as possible in terms of
ABI and API, but unfortunately this may hit the corner cases where
this compatibility does not work.
As the name suggests, this attempts to make Visual Studio 2015, 2017
and 2019 builds share a single set of underlying C DLLs easier,
while avoiding possible breakages caused by such subtle differences.
|
|
CAIROMM_EXTRA_LIBS has been added to data/cairomm-1.0.pc.in. It's used only
in Meson builds. During an Autotools build it must be replaced by an
empty string.
|
|
This prepares for the transition to NMake Makefiles from the Visual
Studio 2013 project files, which will make the Visual Studio build
system more flexible and easier to maintain.
|
|
* configure.ac: Pass yes to AM_SILENT_RULES, thus enabling silent builds.
* docs/reference/Doxyfile.in: Set QUIET=YES.
Update for doxygen 1.8.11 (not necessary for silent builds).
|
|
|
|
|
|
|
|
|
|
This removes the Visual Studio 2005 and 2008 projects, and updates
the Visual Studio 2010 projects to become 2013 projects, as only
Visual Studio 2013 and later support enough of C++-11 to build
cairomm in its current state.
Also update the README in MSVC_Net2013/ to reflect on this situation.
|
|
|
|
Not using -Wshadow because that breaks the build:
matrix.cc:28:80: error: declaration of 'y0' shadows a member of 'this' [-Werror=shadow]
Matrix::Matrix(double xx, double yx, double xy, double yy, double x0, double y0)
|
|
No code changes were necessary.
|
|
And use the latest version of libsigc++, which also requires C++11.
|
|
|
|
|
|
|
|
|
|
|
|
Also require a newer cairo (1.10.0)
|
|
|
|
* MSVC_Net2008/.cvsignore:
* MSVC_Net2005/examples/png-file/png-file.vcproj:
* MSVC_Net2008/examples/png-file/png-file.vcproj: Removed.
* MSVC_Net2005/README:
* MSVC_Net2005/cairomm.sln:
* MSVC_Net2005/cairomm/cairomm.vcproj:
* MSVC_Net2005/examples/image-surface/image-surface.vcproj:
* MSVC_Net2005/examples/pdf-surface/pdf-surface.vcproj:
* MSVC_Net2005/examples/ps-surface/ps-surface.vcproj:
* MSVC_Net2005/examples/svg-surface/svg-surface.vcproj:
* MSVC_Net2005/examples/text-rotate/text-rotate.vcproj:
* MSVC_Net2005/examples/toy-text/toy-text.vcproj:
* MSVC_Net2005/examples/user-font/user-font.vcproj:
* MSVC_Net2005/gendef/gendef.vcproj:
* MSVC_Net2008/README:
* MSVC_Net2008/cairomm.sln:
* MSVC_Net2008/cairomm/cairomm.vcproj:
* MSVC_Net2008/examples/image-surface/image-surface.vcproj:
* MSVC_Net2008/examples/pdf-surface/pdf-surface.vcproj:
* MSVC_Net2008/examples/ps-surface/ps-surface.vcproj:
* MSVC_Net2008/examples/svg-surface/svg-surface.vcproj:
* MSVC_Net2008/examples/text-rotate/text-rotate.vcproj:
* MSVC_Net2008/examples/toy-text/toy-text.vcproj:
* MSVC_Net2008/examples/user-font/user-font.vcproj:
* MSVC_Net2008/gendef/gendef.vcproj:
* MSVC_Net2010/README:
* MSVC_Net2010/cairomm.sln:
* MSVC_Net2010/cairomm/cairomm.rc.in:
* MSVC_Net2010/cairomm/cairomm.vcxproj:
* MSVC_Net2010/cairomm/cairomm.vcxproj.filters:
* MSVC_Net2010/examples/image-surface/image-surface.vcxproj:
* MSVC_Net2010/examples/image-surface/image-surface.vcxproj.filters:
* MSVC_Net2010/examples/pdf-surface/pdf-surface.vcxproj:
* MSVC_Net2010/examples/pdf-surface/pdf-surface.vcxproj.filters:
* MSVC_Net2010/examples/ps-surface/ps-surface.vcxproj:
* MSVC_Net2010/examples/ps-surface/ps-surface.vcxproj.filters:
* MSVC_Net2010/examples/svg-surface/svg-surface.vcxproj:
* MSVC_Net2010/examples/svg-surface/svg-surface.vcxproj.filters:
* MSVC_Net2010/examples/text-rotate/text-rotate.vcxproj:
* MSVC_Net2010/examples/text-rotate/text-rotate.vcxproj.filters:
* MSVC_Net2010/examples/toy-text/toy-text.vcxproj:
* MSVC_Net2010/examples/toy-text/toy-text.vcxproj.filters:
* MSVC_Net2010/examples/user-font/user-font.vcxproj:
* MSVC_Net2010/examples/user-font/user-font.vcxproj.filters:
* MSVC_Net2010/filelist.am:
* MSVC_Net2010/gendef/gendef.cc:
* MSVC_Net2010/gendef/gendef.vcxproj:
* MSVC_Net2010/gendef/gendef.vcxproj.filters:
* Makefile.am:
* configure.ac: Added support for 64 bit and Visual Studio 2010.
|
|
|
|
|
|
|
|
* configure.ac: Fix a typo in the check for xlib-xrender support in
cairo. Fixes bug #27066.
|
|
* configure.ac (AC_INIT): Specify correct URLs for bug reports and the
project home page.
(AM_SILENT_RULES): Call macro if defined.
(MM_PREREQ): Require mm-common 0.8.
(BOOST_UNIT_TEST_FRAMEWORK_STATIC_LIB): Rewrite the fragile shell code
of the boost check.
|
|
|
|
This was hacked in to ensure that I always built with tests enabled, but the
boost configure detection scripts are broken right now on my setup, so this just
hinders my ability to get things done. remove it.
|
|
* configure.ac: Call MM_CONFIG_DOCTOOL_DIR([docs]) to indicate to
mm-common-prepare that this module cannot depend on the utilities
shipped with glibmm, and needs its own copies.
|
|
* autogen.sh: Pass --enable-maintainer-mode to ./configure since the
automatic rebuild of the reference documentation is only enabled in
maintainer mode. AM_MAINTAINER_MODE is already in configure.ac.
* configure.ac (AC_CONFIG_HEADERS): Prepend build/config.h to the
list of header files, because the first file in the list has its .in
file generated by autoheader, and will thus include every AC_DEFINE
from every Autoconf macro that is used. The macros defined in the
installed cairommconfig.h header should be namespaced and limited to
meta information about the installed cairomm library.
Also move cairommconfig.h to the top-level directory, in order to
avoid the need to add the cairomm/ subdirectory to the include path.
(PKG_CHECK_MODULES): Collapse the checks for optional cairo modules
into a loop, and use PKG_CHECK_EXISTS() instead of the full-blown
PKG_CHECK_MODULES(). Also, be a bit cleverer about the lists of .pc
files and module names generated along the way.
(AC_CONFIG_FILES): List all potentially installed files literally,
instead of creating the list of output files dynamically. This is
much simpler and also gets us free shipping. Remove data/Makefile.
* cairommconfig.h.in: Add file to repository, as it should not be
autogenerated. Of the content, keep only the CAIROMM_ namespaced
macros.
* cairomm/context*.cc: Remove cairomm/ prefix from cairommconfig.h
include statements. This was already wrong before, but moving the
file around made it visible.
* Makefile.am: Clean up a bit.
(DIST_SUBDIRS): Have Automake figure it out automatically.
(cairomm_include_HEADERS): Remove, as cairomm/cairomm.h is already
installed in cairomm/Makefile.am.
(nodist_cairomm_libinclude_HEADERS): Relocate cairommconfig.h to
the top-level directory.
(nodist_pkgconfig_DATA): Use $(CAIROMM_INSTALL_PC) substitution from
configure.ac to install the appropriate pkg-config data files.
* cairomm/Makefile.am: Rewrite without using compile-binding.am, as
it is not really the appropriate tool for the cairomm job.
* cairomm/filelist.am (cairomm_cc): Rename from $(files_extra_cc).
(cairomm_public_h): Rename variable from $(files_extra_h) and remove
cairommconfig.h from the list.
(cairomm_private_h): Rename variable from $(files_extra_ph).
* docs/Makefile.am (doc_input): Adjust variable names.
(dist_noinst_DATA): Add reference/cairomm.css to the list.
(pubdocbase): Define for completeness.
(htmlrefpub): Correct documentation URL.
* docs/Doxyfile.in: Strip trailing whitespace from every line.
(STRIP_FROM_PATH), (STRIP_FROM_INC_PATH), (INCLUDE_PATH): Do not
strip the cairomm/ subdirectory prefix from the displayed filenames.
(EXCLUDE): Remove list of files to exclude, since the list of input
files is specified explicitly with the new build organization.
(EXPAND_AS_DEFINED): Expand version number macros, although at the
moment they are probably not used anywhere in the public headers.
* data/cairomm-*.pc.in: Use @PACKAGE_VERSION@ instead of @VERSION@.
* data/cairomm-1.0.pc.in (htmlrefpub): Correct documentation URL.
(Cflags): Add missing -I${libdir}/@CAIROMM_MODULE_NAME@/include.
* data/Makefile.am: Delete now unused build file.
* docs/reference/Makefile.am: Delete left-over build file.
|
|
* MSVC_Net2005/**/.cvsignore:
* MSVC_Net2008/**/.cvsignore: Remove obsolete .cvsignore files.
* MSVC_Net2005/**/Makefile.am:
* MSVC_Net2008/**/Makefile.am: Remove recursive build files.
* MSVC_Net2005/filelist.am:
* MSVC_Net2008/filelist.am: Recursively list all files that should go
into the distribution.
* configure.ac (AC_CONFIG_FILES): Remove all Makefile outputs to the
MSVC subdirectories.
(AC_CONFIG_COMMANDS): Copy the configuration header files into the
MSVC subdirectories by making config.status execute custom
configuration commands. This is easier than doing it at the Makefile
level, where it was previously implemented.
* Makefile.am: Include the filelist.am files from the MSVC
subdirectories.
(SUBDIRS): Remove MSVC_Net200[58] directories from the list.
(dist_noinst_DATA): Distribute the MSVC project files.
(DISTCLEANFILES): Include the copied configuration header files in a
distclean.
|
|
* .gitignore: Add new generated documentation files.
* Makefile.am: Remove old documentation generation build.
* configure.ac:
* docs/reference/Makefile.am: Remove, with switch to non-recursive
documentation build.
* data/cairomm-1.0.pc.in:
* docs/Makefile.am: Switch to new documentation build infrastructure
from mm-common.
* docs/reference/Doxyfile.in: Modernise and disable several unused
features of the Doxygen output.
|
|
* .gitignore: Add INSTALL, mm-common *.am files and .dirstamp.
* Makefile.am: Change VERSION to PACKAGE_VERSION. Begin transition
to use of new build infrastructure.
* cairomm/Makefile.am: Simplify by moving significant portions to
toplevel Makefile.am.
* cairomm/filelist.am: List of files for libcairomm. Move private
source files to files_extra_cc.
* configure.ac: Use MM_INIT_MODULE and remove example subdirectory
Makefile.am.
* examples/surfaces/Makefile.am:
* examples/text/Makefile.am: Remove.
* examples/Makefile.am: Convert examples tree to non-recursive
build, with single, slimmer Makefile.am.
|
|
* autogen.sh: Replace with a simple wrapper around mm-common-prepare
and autoreconf.
* build/*.m4: Move from m4 directory.
* Makefile.am: Rename m4 directory to build.
* configure.ac: Rename from configure.in, as it is recommended by
Autoconf developers and currently required by mm-common-prepare. Major
update to take advantage of mm-common build infrastructure.
* INSTALL: Remove from repository, using GNU install instructions
instead.
* cairomm/Makefile.am: Remove unnecessary win32 conditionals.
|