On Sun, 23 Apr 2006, Bob Friesenhahn wrote:
On Sun, 23 Apr 2006, Daniel Reed wrote:
When is the format for the buffer set, at GraphicsMagick ship time,
GraphicsMagick build time, dependent program ship time, dependent program
build time, or dependent program run time?
In this case, at GraphicsMagick build time. Certainly the design can be
But then we're back to ABI breakage. I build GraphicsMagick
--with-buffertype=uint16_t, build dependentprog against your installed
headers, then later rebuild GraphicsMagick --with-buffertype=uint32_t. Or
I install a copy of dependentprog built by someone who had used a uint32_t
while my GraphicsMagick package (possibly from another package repo) was
built using a uint8_t.
Variable API is possibly convenient, but not all that robust. OpenGL, for
example, has you pass pixel buffers around as void pointers with
accompanying type, size, stride, etc. information, so it can choose an
internal code path that handles your data the best, no matter what format
you provide it in. And, I mean, that's what my favorite real time games
are written using :)
Some configuration options do need to be
remembered by the installed header files.
I am not sure that is true for any reason other than short-term
convenience, which I do not believe is worth the long-term problems
associated with basing an API (and hence the ABI) on any sort of
variability.
--
Daniel Reed <n@xxxxxx> http://shell.n.ml.org/n/ http://naim.n.ml.org/
... There is a lot of food in a supermarket, too, but a supermarket
isn't the best place to hold a dinner party. -- Christopher Faylor
_______________________________________________
Autoconf mailing list
Autoconf@xxxxxxx
http://lists.gnu.org/mailman/listinfo/autoconf