From: Arjen M. <arj...@wl...> - 2005-05-03 07:54:47
|
"Alan W. Irwin" wrote: > > On 2005-05-02 13:00-0500 mj...@ga... wrote: > > > Andrew Ross writes: > > > The only problem with the macro approach is that it only works when > > > recompiling old programs. Just linking against the new library won't work > > > since the plParseOpts symbol will be missing from the library. This > > > would break our "no API change" rules. Or am I missing something? > > > > In the words of Homer Simpson.. d'oh! We blew it again. > > Yup. It is amazing how often PLplot provides such a good learning > experience. :-) > > Personally, I think for all but the most recent stuff we should just say we > have made API mistakes (in the strict sense) in the past and let it go at > that. After all, simple recompilation of old apps solves the issue. > Probably we haven't heard any complaints about such forced recompilation > because most of our users and developers whose packages depend on PLplot > recompile in any case. Obviously going forward and for the recently > mentioned issues we should be more careful and use the function idea because > as more and more private and public apps and libraries depend on PLplot mind > share there will be users who will start demanding that they should not have > to recompile. > > > All of the linkage symbols need to be represented as actual function > > front-ends. So this means plHLS_RGB etc. And the c_* version of any common > > API function that was changed. > > Thanks for this new advice. :-) I will follow it for the recent instances > that have been discussed, and I also like your idea of having a special C > file for the junk. Is it okay if I call it deprecated.c rather than > compat.c? > As the current maintainer of the win32 driver (Windows/MSVC/C++ platform), I wholeheartedly agree with the provision of: - wrappers instead of macros - the use of a deprecated.c file to store these things The reason for this is simple: right now the code for the win32 driver contains an enormous amount of preprocessor stuff to keep the user programs, the static library and the dynamic link library happy. The only one who is unhappy is me ;). Regards, Arjen |