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

Re: [Bacula-devel] patch: use DLL_IMP_EXP for all exported symbols on win32


Hello Ricardo,

Don't you think that a simple script can do the work and generate the def file 
before linking dlls and binaries ?

The existing make_def doesn't work well, but with some information about how 
get the symbol name from the object file, i can do it without changing all 
the code and puting win32 darkness keywords everywhere...

Bye

Le Thursday 13 November 2008 21:01:11 rgh, vous avez écrit :
> Hello,
> bacula uses the DLL_IMP_EXP macro to tag all variables that must be
> visible outside bacula.dll
> Functions, however, are exported using a .def file, a more cumbersome
> method requiring to use mangled names.
> Since the def files uses mangled names, every compiler requires a
> separate file (64 bit requires a different file, too).
> This patch uses the DLL_IMP_EXP macro to export all symbols, removing
> the need for a .def file.
> Advantages:
> - supported by all win32 compilers, including gcc and msvc
> - no need to have different configuration files for different compilers
> or bit sizes.
> - exported symbols are tagged in the .h with an simple and uniform
> syntax, easier to use (even for unix developers :)
>
>
> Disadvantages:
> - every exported symbol must be decorated by DLL_IMP_EXP, making the
> declaration uglier.
>
> Note:
> a subsequent patch will remove the def file of cats.dll
>
> Riccardo



-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Bacula-devel mailing list
Bacula-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.sourceforge.net/lists/listinfo/bacula-devel


This mailing list archive is a service of Copilot Consulting.