[Python-Dev] Re: [Python-checkins] CVS: python/dist/src/Modules _sre.c

Tim Peters tim.one@home.com
Wed, 28 Feb 2001 12:42:12 -0500


>> *** _sre.c 2001/01/16 07:37:30 2.52
>> --- _sre.c 2001/02/28 16:44:18 2.53
>> ***************
>> *** 2370,2377 ****
>>   };
>>
>> ! void
>> ! #if defined(WIN32)
>> ! __declspec(dllexport)
>> ! #endif
>>   init_sre(void)
>>   {
>> --- 2370,2374 ----
>>   };
>>
>> ! DL_EXPORT(void)
>>   init_sre(void)
>>   {

[/F]
> after this change, the separate makefile I use to build _sre
> on Windows no longer works (init_sre isn't exported).

Oops!  I tested it on Windows, so it works OK with the std build.

> I don't really understand the code in config.h,

Nobody does, alas.  Mark Hammond and I have a delayed date to rework that.

> but I've tried defining USE_DL_EXPORT (gives linking problems) and
> USE_DL_IMPORT (macro redefinition).

Sounds par for the course.

> any ideas?

Ya:  the great thing about all these macros is that they're usually worse
than useless (you try them, they break something).  The _sre project has

    /export:init_sre

buried in its link options.  DL_EXPORT(void) expands to void.  Not pretty,
but it's the way everything else (outside the pythoncore project) works too.