Re: SV: [xml] windows binary with different calling



On Wed, Jun 04, 2003 at 10:02:49AM +1000, Eric Zurcher csiro au wrote:
Igor,

Personally (as one of those miserable Windows developers) I'd be happy if
the header files included a macro as part the declaration of every function
which is part of the libxml2 API. The macro would be analogous to the
LIBXML_DLL_IMPORT macro already in place for variables. The macro could be
named something like "LIBXML_ENTRYPOINT" or "LIBXML_API".

In the Windows enviroment, the macro could expand to something like "__cdecl
__declspec(dllexport)" when building the DLL (thereby eliminating the need
for a .def file!), and "__cdecl __declspec(dllimport)" when building
applications which use the DLL. In the Linux world, the macro could expand
to an empty string, just like it does with LIBXML_DLL_IMPORT.

This might seem like this change would be of benefit to Windows developers
only, but I suspect that it would also be of use on one or two other
platforms (maybe VMS?). What is more, it would have the added benefit of
providing a convention for distinguishing those functions which are designed
to be truly part of the libxml2 API from those which are intended for
"internal use only".

  Any function with its signature in the .h headers are public functions
part of the API, all of them, no distinctions. There is no need to fiddle
and argue this one is or is not public, if it's listed in the .h it's
public, period !

  I *still* do not understand the finality of flagging the functions that
way. Can someone explain in plain english why making the export list as
a .def file is a problem ! For me the huge difference is that the .def
file is now generated AUTOMATICALLY ! So you need to argue clearly about
why we need to break the existing, working, automated system to fall back
to a manual mechanism, intrusive in the code, and non standard to the C
language. I won't make this without a well argumented explanation and proof
that the current system is not adequate.

  YOU, yes you ! Why would you "be happy" about it ? You say "This might
seem like" a positive change for Windows, why being so shy ? Why dou *YOU*
need it, dammit ?  Why do you "suspect" other platforms need a non-standard
extension ? I never got such feedback (or I can't remember), so give 
*real* arguments, coming from first hand source.

Daniel

-- 
Daniel Veillard      | Red Hat Network https://rhn.redhat.com/
veillard redhat com  | libxml GNOME XML XSLT toolkit  http://xmlsoft.org/
http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]