|
From: Joe E. <jen...@fl...> - 2004-12-11 02:49:30
|
More departures from convention:
The stub initialization routine is
const char *Ttk_InitStubs(Tcl_Interp *);
which is actually a macro that expands to
TtkInitializeStubs(interp, TILE_VERSION, TTK_EPOCH, TTK_REVISION);
Note that the package version is hardcoded in the macro.
This way the caller doesn't have the opportunity to make
a mistake like
Ttk_InitStubs(interp, "0.6");
which is likely to do the wrong thing if you compile against
a later version of the header files.
The name of the stub library shall not include a version number.
That is, on Unix and Unix-like systems it's called libttkstub.a,
and on Windows it's TTKSTUB.LIB. This way dependant packages
can just specify -lttkstub; there's no need to grub around
for a *Config.sh file to decide whether to use -lttkstub06,
-lttkstub0.6, -lttkstub06g, or -lttkstub0.6.g. Since the
stub library is not expected to change from release to release,
there's no reason for it to be versioned. (And including ${DBGX}
in the library name is just perverse.)
Since the stub library name is fixed, there will not be a *Config.sh
file. There *might* be a *.pc file, for use with pkg-config, but
no *Config.sh.
--Joe English
jen...@fl...
|