Note the following email describing Cairo as "very close" to a 1.0 release.
Bryce
----- Forwarded message from Carl Worth <cworth@...573...> -----
Date: Mon, 08 Aug 2005 17:10:49 -0700 From: Carl Worth <cworth@...573...> To: cairo@...278... Subject: [cairo] Advertising the version of cairo
Up until about now, we haven't been offering any guarantees about API stability.
That's changing right now as we are getting very close to a 1.0 release.
As such, I think it's time to start advertising the version of cairo that is available. Here's what I think I would like to see in cairo.h for this, (assuming a fictitious, future cairo 1.0.1 release):
#define CAIRO_VERSION_MAJOR 1 #define CAIRO_VERSION_MINOR 0 #define CAIRO_VERSION_MICRO 1
#define CAIRO_VERSION_ENCODE(major, minor, micro) ( \ ((major) * 10000) \ + ((minor) * 100) \ + ((micro) * 1))
#define CAIRO_VERSION CAIRO_VERSION_ENCODE( \ CAIRO_VERSION_MAJOR, \ CAIRO_VERSION_MINOR, \ CAIRO_VERSION_MICRO)
#define CAIRO_VERSION_STRING "1.0.1"
int cairo_version (void);
const char* cairo_version_string (void);
The goal here is to provide easy compile-time and run-time checks of the cairo version. Here's a fabricated example that shows how one might conditionally compile and run against a cairo_solve_world_hunger function that exists only in cairo 1.0.1 or later:
int has_solve_world_hunger;
if (cairo_version () >- CAIRO_VERSION_ENCODE (1, 0, 1)) has_solve_world_hunger = 1; else has_solve_world_hunger = 0;
#if CAIRO_VERSION >- CAIRO_VERSION_ENCODE (1, 0, 1) if (has_solve_world_hunger) return cairo_solve_world_hunger (); #endif
return feed_everyone_myself ();
I don't know what the right autofoo is to make this reasonable to work with. We do already have one generated header file, (cairo-features.h), so we could lodge this stuff in there. Suggestions, (and implementation), would be quite welcome.
-Carl
_______________________________________________ cairo mailing list cairo@...278... http://lists.freedesktop.org/mailman/listinfo/cairo
----- End forwarded message -----