head 1.27; access; symbols RELEASE_1_0_2:1.26 BRANCH_1_0:1.26.0.2 RELEASE_1_0_0:1.24 BRANCH_SCALED_GLYPH:1.20.0.2 RELEASE_0_9_2:1.18 RELEASE_0_9_0:1.13 SNAPSHOT_0_6_0:1.12 SNAPSHOT_0_5_2:1.11 SNAPSHOT_0_5_1:1.11 SNAPSHOT_0_5_0:1.10 SNAPSHOT_0_4_0:1.10 SNAPSHOT_0_3_0:1.9 SNAPSHOT_0_2_0:1.6 LGPL_CHANGE_AFTER:1.3 LGPL_CHANGE_BEFORE:1.3 SNAPSHOT_0_1_23:1.3 SNAPSHOT_0_1_22:1.3 SNAPSHOT_0_1_21:1.3 SNAPSHOT_0_1_20:1.3 SNAPSHOT_0_1_16:1.3; locks; strict; comment @# @; 1.27 date 2005.10.13.14.30.16; author cworth; state Exp; branches; next 1.26; commitid 348a434e6f764567; 1.26 date 2005.08.25.09.59.40; author tml; state Exp; branches; next 1.25; commitid 2520430d967d4567; 1.25 date 2005.08.25.00.44.16; author inte; state Exp; branches; next 1.24; commitid 7af9430d14214567; 1.24 date 2005.08.24.12.28.28; author cworth; state Exp; branches; next 1.23; commitid 2ba7430c67e94567; 1.23 date 2005.08.23.16.10.45; author cworth; state Exp; branches; next 1.22; commitid 499c430b4a834567; 1.22 date 2005.08.22.22.49.04; author tml; state Exp; branches; next 1.21; commitid e68430a563a4567; 1.21 date 2005.08.18.15.22.29; author cworth; state Exp; branches; next 1.20; commitid 33e74304a7b34567; 1.20 date 2005.08.13.15.12.18; author otaylor; state Exp; branches; next 1.19; commitid 322642fe0dcd4567; 1.19 date 2005.08.13.12.33.21; author cworth; state Exp; branches; next 1.18; commitid 6e1842fde88f4567; 1.18 date 2005.08.13.07.20.45; author behdad; state Exp; branches; next 1.17; commitid 68e742fd9f434567; 1.17 date 2005.08.13.06.50.17; author cworth; state Exp; branches; next 1.16; commitid 5d5542fd98274567; 1.16 date 2005.08.13.04.35.31; author behdad; state Exp; branches; next 1.15; commitid 333642fd78854567; 1.15 date 2005.08.10.19.36.51; author cworth; state Exp; branches; next 1.14; commitid 16b242fa57504567; 1.14 date 2005.08.10.18.30.45; author cworth; state Exp; branches; next 1.13; commitid 793642fa47d34567; 1.13 date 2005.08.01.20.33.47; author cworth; state Exp; branches; next 1.12; commitid 59b442ee87274567; 1.12 date 2005.07.28.17.43.27; author otaylor; state Exp; branches; next 1.11; commitid 160742e9193a4567; 1.11 date 2005.06.21.00.01.36; author cworth; state Exp; branches; next 1.10; commitid 1b6d42b758de4567; 1.10 date 2005.01.27.19.35.25; author otaylor; state Exp; branches; next 1.9; 1.9 date 2005.01.21.19.20.55; author cworth; state Exp; branches; next 1.8; 1.8 date 2004.11.04.22.23.50; author cworth; state Exp; branches; next 1.7; 1.7 date 2004.10.28.15.36.42; author cworth; state Exp; branches; next 1.6; 1.6 date 2004.10.27.18.59.56; author cworth; state Exp; branches; next 1.5; 1.5 date 2004.10.26.21.38.43; author cworth; state Exp; branches; next 1.4; 1.4 date 2004.10.21.15.51.52; author cworth; state Exp; branches; next 1.3; 1.3 date 2003.07.18.18.34.19; author cworth; state Exp; branches; next 1.2; 1.2 date 2003.05.08.21.21.48; author nlevitt; state Exp; branches; next 1.1; 1.1 date 2003.04.21.19.41.30; author cworth; state Exp; branches; next ; desc @@ 1.27 log @ 2005-10-13 Carl Worth Reviewed by: otaylor * configure.in: Increment libtool versioning to 5:0:3 in anticipation of 1.2.0 which will add interfaces. The motivation for this is to make the 1.1.1 release install a library which will be considered newer than 1.0.2. * Makefile.am: Add a release-verify-soname-major check to verify that the soname major number is always 2 as part of the release-publish target. @ text @DIST_SUBDIRS = pixman src test doc SUBDIRS = pixman src doc # libpng is required for our test programs if CAIRO_HAS_PNG_FUNCTIONS SUBDIRS += test endif EXTRA_DIST = \ COPYING \ COPYING-LGPL-2.1 \ COPYING-MPL-1.1 \ cairo.pc.in pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = cairo.pc check-valgrind: all $(MAKE) -C test check-valgrind DISTCHECK_CONFIGURE_FLAGS=--enable-gtk-doc # Some custom targets to make it easier to release things. # Use either: # make release-check # or make release-publish RELEASE_UPLOAD_HOST = cairographics.org RELEASE_UPLOAD_BASE = /srv/cairo.freedesktop.org/www RELEASE_UPLOAD_DIR = $(RELEASE_UPLOAD_BASE)/releases RELEASE_URL_BASE = http://cairographics.org/releases RELEASE_ANNOUNCE_LIST = cairo-announce@@cairographics.org (and CC gnome-announce-list@@gnome.org) MANUAL_DATED = cairo-manual-`date +%Y%m%d` MANUAL_TAR_FILE = $(MANUAL_DATED).tar.gz MANUAL_UPLOAD_DIR = $(RELEASE_UPLOAD_BASE) tar_file = $(PACKAGE)-$(VERSION).tar.gz sha1_file = $(tar_file).sha1 gpg_file = $(sha1_file).asc $(sha1_file): $(tar_file) sha1sum $^ > $@@ $(gpg_file): $(sha1_file) @@echo "Please enter your GPG password to sign the checksum." gpg --armor --sign $^ # Win32 package zipfiles runtime_zip_file = /tmp/$(PACKAGE)-$(VERSION).zip developer_zip_file = /tmp/$(PACKAGE)-dev-$(VERSION).zip $(runtime_zip_file): install -rm $@@ cd $(prefix); \ zip $@@ bin/libcairo-$(LT_CURRENT_MINUS_AGE).dll $(developer_zip_file): install -rm $@@ cd $(prefix); \ zip -r $@@ include/cairo lib/libcairo.dll.a lib/cairo.lib lib/pkgconfig/cairo.pc share/gtk-doc/html/cairo zips: $(runtime_zip_file) $(developer_zip_file) release-verify-soname-major: @@echo -n "Checking that the cairo soname major number is 2..." @@test "$(LT_CURRENT_MINUS_AGE)" = "2" \ || (echo "Ouch." && echo "The soname major number is $(LT_CURRENT_MINUS_AGE) instead of 2." \ && echo "The libtool shared library version numbers in configure.in must be incremented properly." \ && false) @@echo "Good." release-verify-even-micro: @@echo -n "Checking that $(VERSION) has an even micro component..." @@test "$(CAIRO_VERSION_MICRO)" = "`echo $(CAIRO_VERSION_MICRO)/2*2 | bc`" \ || (echo "Ouch." && echo "The version micro component '$(CAIRO_VERSION_MICRO)' is not an even number." \ && echo "The version in configure.in must be incremented before a new release." \ && false) @@echo "Good." release-verify-newer: @@echo -n "Checking that no $(VERSION) release already exists..." @@ssh $(RELEASE_UPLOAD_HOST) test ! -e $(RELEASE_UPLOAD_DIR)/$(tar_file) \ || (echo "Ouch." && echo "Found: $(RELEASE_UPLOAD_HOST):$(RELEASE_UPLOAD_DIR)/$(tar_file)" \ && echo "Are you sure you have an updated CVS checkout?" \ && echo "This should never happen." \ && false) @@echo "Good." release-remove-old: rm -f $(tar_file) $(sha1_file) $(gpg_file) # Maybe it's just my system, but somehow group sticky bits keep # getting set and this causes failures in un-tarring on some systems. # Until I figure out where the sticky bit is coming from, just clean # these up before building a release. release-cleanup-group-sticky: find . -type f | xargs chmod g-s release-check: release-verify-soname-major release-verify-even-micro release-verify-newer release-remove-old release-cleanup-group-sticky distcheck release-upload: release-check $(tar_file) $(sha1_file) $(gpg_file) mkdir -p releases scp $(tar_file) $(sha1_file) $(gpg_file) $(RELEASE_UPLOAD_HOST):$(RELEASE_UPLOAD_DIR) mv $(tar_file) $(sha1_file) $(gpg_file) releases ssh $(RELEASE_UPLOAD_HOST) "rm -f $(RELEASE_UPLOAD_DIR)/LATEST-$(PACKAGE)-[0-9]* && ln -s $(tar_file) $(RELEASE_UPLOAD_DIR)/LATEST-$(PACKAGE)-$(VERSION)" $(CVS) tag RELEASE_$(CAIRO_VERSION_MAJOR)_$(CAIRO_VERSION_MINOR)_$(CAIRO_VERSION_MICRO) release-publish: release-upload releases/$(sha1_file) @@echo "" @@echo "Please send an announcement to $(RELEASE_ANNOUNCE_LIST)" @@echo "including the following:" @@echo "" @@echo "Subject: $(PACKAGE) release $(VERSION) now available" @@echo "" @@echo "============================== CUT HERE ==============================" @@echo "A new $(PACKAGE) release $(VERSION) is now available from:" @@echo "" @@echo " $(RELEASE_URL_BASE)/$(tar_file)" @@echo "" @@echo " which can be verified with:" @@echo "" @@echo " $(RELEASE_URL_BASE)/$(sha1_file)" @@echo -n " " @@cat releases/$(sha1_file) @@echo "" @@echo " $(RELEASE_URL_BASE)/$(gpg_file)" @@echo " (signed by `getent passwd "$$USER" | cut -d: -f 5 | cut -d, -f 1`)" @@echo "" @@echo "============================== CUT HERE ==============================" @@echo "Also, please include the new entries from the NEWS file." @@echo "" @@echo "Last but not least, do not forget to bump up the micro" @@echo "version component to the next (odd) number and commit." # XXX: Depending on all here is rather overkill. We don't really need # the library built in order to create the documentation. docs-publish: all cp -a doc/public/html $(MANUAL_DATED) tar czf $(MANUAL_TAR_FILE) $(MANUAL_DATED) scp $(MANUAL_TAR_FILE) $(RELEASE_UPLOAD_HOST):$(MANUAL_UPLOAD_DIR) ssh $(RELEASE_UPLOAD_HOST) "cd $(MANUAL_UPLOAD_DIR) && tar xzf $(MANUAL_TAR_FILE) && rm -f manual && ln -s $(MANUAL_DATED) manual && ln -sf $(MANUAL_TAR_FILE) cairo-manual.tar.gz" .PHONY: release-verify-even-micro release-verify-newer release-remove-old release-cleanup-group-sticky release-check release-upload release-publish docs-publish @ 1.26 log @2005-08-25 Tor Lillqvist * Makefile.am (developer_zip_file): Include the documentation, too. @ text @d65 8 d100 1 a100 1 release-check: release-verify-even-micro release-verify-newer release-remove-old release-cleanup-group-sticky distcheck @ 1.25 log @2005-08-25 Bertram Felgenhauer * Makefile.am (.PHONY): add docs-publish as a phony target @ text @d61 1 a61 1 zip -r $@@ include/cairo lib/libcairo.dll.a lib/cairo.lib lib/pkgconfig/cairo.pc @ 1.24 log @ 2005-08-24 Carl Worth * Makefile.am: * RELEASING: Change upload directory from snapshots to releases now thatwe're doing stable releases of cairo. @ text @d136 1 a136 1 .PHONY: release-verify-even-micro release-verify-newer release-remove-old release-cleanup-group-sticky release-check release-upload release-publish @ 1.23 log @ 2005-08-23 Carl Worth * Makefile.am: Add docs-publish target to build and push documentation, (since our nightly server-side cron job is not working right now). @ text @d30 2 a31 2 RELEASE_UPLOAD_DIR = $(RELEASE_UPLOAD_BASE)/snapshots RELEASE_URL_BASE = http://cairographics.org/snapshots @ 1.22 log @2005-08-22 Tor Lillqvist * configure.in: Calculate LT_CURRENT_MINUS_AGE (which forms part of the DLL name on Win32), and AC_SUBST it. * Makefile.am: Add target "zips" to create zip file based distribution for Win32. * src/Makefile.am: Produce a cairo.def file for distribution by preprocessing the relevant header files and grepping for declarations of functions that start with cairo_. Works for now, will have to modify later if necessary. Use the .def file when linking on Win32. @ text @d29 2 a30 1 RELEASE_UPLOAD_DIR = /srv/cairo.freedesktop.org/www/snapshots d34 3 a36 1 CVS=cvs d128 8 @ 1.21 log @ 2005-08-18 Carl Worth * Makefile.am: Clear setgid bit on regular files prior to tarring up a release. @ text @d46 16 @ 1.20 log @2005-08-13 Owen Taylor * Makefile.am (DIST_SUBDIRS): Change docREEL back to doc. (Found by Kjartan Maraas) @ text @a45 5 release-remove-old: rm -f $(tar_file) $(sha1_file) $(gpg_file) release-check: release-verify-even-micro release-verify-newer release-remove-old distcheck d63 12 d109 1 a109 1 .PHONY: release-check release-remove-old release-verify-even-micro release-verify-newer release-check release-publish release-upload @ 1.19 log @ 2005-08-13 Carl Worth * configure.in: Increment CAIRO_VERSION to 0.9.3 after tagging RELEASE_0_9_2. * Makefile.am (release-publish): Slight rewording of announcement email. @ text @d1 1 a1 1 DIST_SUBDIRS = pixman src test docREEL @ 1.18 log @2005-08-13 Behdad Esfahbod * RELEASING: * Makefile.am: Generate sh1sum instead of md5sum. Use gpg to sign it. You need gpg set up. @ text @d1 1 a1 1 DIST_SUBDIRS = pixman src test doc d31 1 a31 1 RELEASE_ANNOUNCE_LIST = cairo-announce@@cairographics.org d86 3 d92 1 @ 1.17 log @ 2005-08-12 Carl Worth * RELEASING: * Makefile.am: Move tag from an instruction in RELEASING to an automated step at the end of release-publish. @ text @d33 2 d36 5 a40 1 md5_file = $(tar_file).md5 d42 3 a44 2 $(md5_file): $(tar_file) md5sum $^ > $@@ d47 1 a47 1 rm -f $(tar_file) $(md5_file) d49 1 a49 1 release-check: release-remove-old distcheck $(md5_file) d54 1 a54 1 || (echo "Ouch." && echo "'$(CAIRO_VERSION_MICRO)' is not an even number." \ d68 1 a68 2 CVS=cvs release-publish: release-verify-even-micro release-verify-newer release-check d70 3 a72 3 scp $(tar_file) $(md5_file) $(RELEASE_UPLOAD_HOST):$(RELEASE_UPLOAD_DIR) mv $(tar_file) $(md5_file) releases ssh $(RELEASE_UPLOAD_HOST) "rm -f $(RELEASE_UPLOAD_DIR)/LATEST-$(PACKAGE)-[0-9]* && touch $(RELEASE_UPLOAD_DIR)/LATEST-$(PACKAGE)-$(VERSION)" d74 2 d82 1 d86 1 a86 1 @@echo " $(RELEASE_URL_BASE)/$(md5_file)" d88 3 a90 1 @@cat releases/$(md5_file) d92 1 d97 2 @ 1.16 log @2005-08-13 Behdad Esfahbod * Makefile.am (release-publish): Check that the micro component of the version number is even. * RELEASING: Fixed the pattern to find all public header files. @ text @d61 1 d67 1 @ 1.15 log @ 2005-08-10 Carl Worth From Keith Packard , Build pixman internally as a private part of cairo, with suitable name changes to avoid any visible pixman symbols in the cairo library: * Makefile.am: Descend into pixman. * cairo.pc.in: Drop libpixman from Requires. * configure.in: Don't check for libpixman. Check version of pkg-config and use Requires.private instead of Requires in cairo.pc if possible. Generate pixman Makefiles. * pixman/Makefile.am: Rip out release-publish target and installation of libpixman.pc. * pixman/src/Makefile.am: Add pixman-remap.h. Drop libpixman.la target. * pixman/src/icint.h: Fix to include config.h rather than ../config.h * pixman/src/pixman-remap.h: This is the cpp magic to rename all pixman functions from the various fb, Fb, INT_pixman, pixman, Render, _Render, or no prefix to _cairo_pixman_ prefixes. * pixman/src/pixman.h: Include pixman-remap.h to get all the cairo-internalized names. * src/Makefile.am: * test/Makefile.am: Add -Ipixman/src to get at pixman-remap.h. @ text @d44 8 d56 2 a57 1 && echo "The version in configure.in must be incremented before a new release." \ d61 1 a61 1 release-publish: release-verify-newer release-check d80 3 @ 1.14 log @ 2005-08-10 Carl Worth * Makefile.am: * RELEASING: Change release instructions to indicate new odd-micro version for in-progress development, and even-micro for released versions. Do a bit of snapshot->release renaming. @ text @d1 2 a2 2 DIST_SUBDIRS = src test doc SUBDIRS = src doc @ 1.13 log @ 2005-08-01 Carl Worth * src/cairo-debug.h: New public header file. * src/cairo-debug.c: (cairo_debug_reset_static_data): New function to reset all static data (eg. caches) to their initial state. * Makefile.am: Fix check-valgrind target to depend on the 'all' target. * configure.in: Add check for a new, proposed, XrmFinalize function. * src/Makefile.am: Add cairo-debug.c. * src/cairo.h: * src/cairo-features.h.in: Move the definition of CAIRO_BEGIN_DECLS to cairo-features.h so that it can be shared between public header files, and so that it doesn't clutter cairo.h * src/cairoint.h: * src/cairo-font.c: (_get_global_simple_cache), (_get_outer_font_cache), (_get_inner_font_cache), (_cairo_unlock_global_image_glyph_cache), (_cairo_font_reset_static_data): * src/cairo-ft-font.c: (_cairo_ft_font_reset_static_data): * src/cairo-xlib-screen.c: (_cairo_xlib_close_display), (_cairo_xlib_screen_info_reset), (_cairo_xlib_screen_reset_static_data): * src/cairo-xlib-surface.c: (_unlock_xlib_glyphset_caches), (_destroy_glyphset_cache_recurse), (_cairo_xlib_surface_reset_static_data): Implement reset_static_data in all modules as required. * test/xlib-surface.c: (main): * test/cairo-test.h: * test/cairo-test.c: (cairo_test_for_target), (cairo_test_expecting): Call cairo_debug_reset_static_data and FcFini so that we can have all tests be valgrind-clean with respect to memory leaks and still-reachable data. @ text @d61 1 a61 1 @@echo "Subject: $(PACKAGE) snapshot $(VERSION) now available" d63 1 a63 1 @@echo "A new $(PACKAGE) snapshot $(VERSION) is now available from:" @ 1.12 log @2005-07-28 Owen Taylor * configure.in Makefile.am: Skip tests/ directory if libpng was disabled. (#3423, reported by Steve Chaplin) @ text @d18 3 @ 1.11 log @ * Makefile.am: Force distcheck to enable gtk-doc. @ text @d1 7 a7 1 SUBDIRS = src test doc @ 1.10 log @2005-01-27 Owen Taylor * configure.in Makefile.am docs/Makefile.am docs/public/*: Add framework for doing docs via gtk-doc. * src/cairo.[ch] src/cairo-matrix.c: Add some inline docs for arcs and matrices. * gtk-doc.m4 acinclude.m4: Check in files from gtk-doc to make the dependency on gtk-doc optional. * autogen.sh (LANG): Add --enable-gtk-doc to the default args. @ text @d12 2 @ 1.9 log @ * Makefile.am (RELEASE_UPLOAD_DIR): Update since directory changed after server compromise. @ text @d1 1 a1 1 SUBDIRS = src test @ 1.8 log @ * test/text_cache_crash.c: Add new test demonstrating assertion failure in cairo_cache_lookup. * test/text_rotate.c: Add new test showing problems with rotated text. @ text @d18 1 a18 1 RELEASE_UPLOAD_DIR = /home/www/cairo/snapshots @ 1.7 log @ * Makefile.am (release-verify-newer): Abort release-publish if there's already a published tar file with the current version. (release-publish): Add code to update the LATEST-package-version file. @ text @a59 1 @ 1.6 log @ * RELEASING: Update release instructions for new release-publish target. * Makefile.am: Add release-check and release-publish targets copied from libpixman. @ text @d17 2 a18 1 RELEASE_UPLOAD_DIR = cairographics.org:/home/www/cairo/snapshots d33 9 a41 1 release-publish: release-check d43 1 a43 1 scp $(tar_file) $(md5_file) $(RELEASE_UPLOAD_DIR) d45 1 @ 1.5 log @ * test/.cvsignore: * test/Makefile.am: * test/README: * test/cairo_test.c: * test/cairo_test.h: * test/line_width-ref.png: * test/line_width.c: * test/move_to_show_surface-ref.png: * test/move_to_show_surface.c: * test/read_png.c: * test/read_png.h: * test/write_png.c: * test/write_png.h: * test/xmalloc.c: * test/xmalloc.h: Add initial regression test suite. * configure.in: Don't AC_SUBST a dozen different FOO_CFLAGS and FOO_LIBS. Instead, incrementally build up just CAIRO_CFLAGS and CAIRO_LIBS. * cairo.pc.in (Libs): Don't list flags that should get picked up via dependency information through Requires. * BUGS (font-size): Add description of move_to_show_surface. @ text @d11 40 @ 1.4 log @ * Makefile.am (EXTRA_DIST): Add COPYING-LGPL-2.1 and COPYING-MPL-1.1 to the distribution. @ text @d1 1 a1 1 SUBDIRS = src @ 1.3 log @Renamed everything from Xr* to cairo_* @ text @d5 2 @ 1.2 log @Lowercase pkg-config module name and distribution tarball name. @ text @d5 1 a5 1 xr.pc.in d8 1 a8 1 pkgconfig_DATA = xr.pc @ 1.1 log @Added Makefile.am @ text @d1 1 a1 1 SUBDIRS = . src d5 1 a5 1 Xr.pc.in d8 1 a8 1 pkgconfig_DATA = Xr.pc @