Skip to content

Commit dfc5fc3

Browse files
brammooldouglaskayama
authored andcommitted
patch 7.4.756 Problem: Can't use strawberry Perl 5.22 x64 on MS-Windows. Solution: Add new defines and #if. (Ken Takata)
1 parent 2216f11 commit dfc5fc3

4 files changed

Lines changed: 29 additions & 5 deletions

File tree

src/Make_cyg_ming.mak

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -397,7 +397,7 @@ endif
397397
endif
398398

399399
ifdef PERL
400-
CFLAGS += -I$(PERLLIBS) -DFEAT_PERL
400+
CFLAGS += -I$(PERLLIBS) -DFEAT_PERL -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS
401401
ifeq (yes, $(DYNAMIC_PERL))
402402
CFLAGS += -DDYNAMIC_PERL -DDYNAMIC_PERL_DLL=\"perl$(PERL_VER).dll\"
403403
EXTRA_LIBS += -L$(PERLLIBS) -lperl$(PERL_VER)

src/Make_mvc.mak

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -874,7 +874,7 @@ PERL_LIB = $(PERL_INCDIR)\libperl$(PERL_VER).a
874874
!endif
875875
!endif
876876

877-
CFLAGS = $(CFLAGS) -DFEAT_PERL
877+
CFLAGS = $(CFLAGS) -DFEAT_PERL -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS
878878

879879
# Do we want to load Perl dynamically?
880880
!if "$(DYNAMIC_PERL)" == "yes"

src/if_perl.xs

Lines changed: 25 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -197,10 +197,12 @@ typedef int perl_key;
197197
# define Perl_stack_grow dll_Perl_stack_grow
198198
# define Perl_set_context dll_Perl_set_context
199199
# if (PERL_REVISION == 5) && (PERL_VERSION >= 14)
200-
# define Perl_sv_2bool_flags dll_Perl_sv_2bool_flags
201-
# define Perl_xs_apiversion_bootcheck dll_Perl_xs_apiversion_bootcheck
200+
# define Perl_sv_2bool_flags dll_Perl_sv_2bool_flags
201+
# if (PERL_REVISION == 5) && (PERL_VERSION < 22)
202+
# define Perl_xs_apiversion_bootcheck dll_Perl_xs_apiversion_bootcheck
203+
# endif
202204
# else
203-
# define Perl_sv_2bool dll_Perl_sv_2bool
205+
# define Perl_sv_2bool dll_Perl_sv_2bool
204206
# endif
205207
# define Perl_sv_2iv dll_Perl_sv_2iv
206208
# define Perl_sv_2mortal dll_Perl_sv_2mortal
@@ -268,6 +270,10 @@ typedef int perl_key;
268270
# define Perl_call_list dll_Perl_call_list
269271
# define Perl_Iscopestack_ix_ptr dll_Perl_Iscopestack_ix_ptr
270272
# define Perl_Iunitcheckav_ptr dll_Perl_Iunitcheckav_ptr
273+
# if (PERL_REVISION == 5) && (PERL_VERSION >= 22)
274+
# define Perl_xs_handshake dll_Perl_xs_handshake
275+
# define Perl_xs_boot_epilog dll_Perl_xs_boot_epilog
276+
# endif
271277
# if (PERL_REVISION == 5) && (PERL_VERSION >= 14)
272278
# ifdef USE_ITHREADS
273279
# define PL_thr_key *dll_PL_thr_key
@@ -299,7 +305,11 @@ static void (*Perl_croak_nocontext)(const char*, ...);
299305
static I32 (*Perl_dowantarray)(pTHX);
300306
static void (*Perl_free_tmps)(pTHX);
301307
static HV* (*Perl_gv_stashpv)(pTHX_ const char*, I32);
308+
#if (PERL_REVISION == 5) && (PERL_VERSION >= 22)
309+
static I32* (*Perl_markstack_grow)(pTHX);
310+
#else
302311
static void (*Perl_markstack_grow)(pTHX);
312+
#endif
303313
static MAGIC* (*Perl_mg_find)(pTHX_ SV*, int);
304314
static CV* (*Perl_newXS)(pTHX_ char*, XSUBADDR_t, char*);
305315
static SV* (*Perl_newSV)(pTHX_ STRLEN);
@@ -321,7 +331,9 @@ static SV** (*Perl_stack_grow)(pTHX_ SV**, SV**p, int);
321331
static SV** (*Perl_set_context)(void*);
322332
#if (PERL_REVISION == 5) && (PERL_VERSION >= 14)
323333
static bool (*Perl_sv_2bool_flags)(pTHX_ SV*, I32);
334+
# if (PERL_REVISION == 5) && (PERL_VERSION < 22)
324335
static void (*Perl_xs_apiversion_bootcheck)(pTHX_ SV *module, const char *api_p, STRLEN api_len);
336+
# endif
325337
#else
326338
static bool (*Perl_sv_2bool)(pTHX_ SV*);
327339
#endif
@@ -394,6 +406,10 @@ static I32* (*Perl_Iscopestack_ix_ptr)(register PerlInterpreter*);
394406
static AV** (*Perl_Iunitcheckav_ptr)(register PerlInterpreter*);
395407
# endif
396408
#endif
409+
#if (PERL_REVISION == 5) && (PERL_VERSION >= 22)
410+
static I32 (*Perl_xs_handshake)(const U32, void *, const char *, ...);
411+
static void (*Perl_xs_boot_epilog)(pTHX_ const U32);
412+
#endif
397413

398414
#if (PERL_REVISION == 5) && (PERL_VERSION >= 14)
399415
# ifdef USE_ITHREADS
@@ -453,7 +469,9 @@ static struct {
453469
{"Perl_set_context", (PERL_PROC*)&Perl_set_context},
454470
#if (PERL_REVISION == 5) && (PERL_VERSION >= 14)
455471
{"Perl_sv_2bool_flags", (PERL_PROC*)&Perl_sv_2bool_flags},
472+
# if (PERL_REVISION == 5) && (PERL_VERSION < 22)
456473
{"Perl_xs_apiversion_bootcheck",(PERL_PROC*)&Perl_xs_apiversion_bootcheck},
474+
# endif
457475
#else
458476
{"Perl_sv_2bool", (PERL_PROC*)&Perl_sv_2bool},
459477
#endif
@@ -521,6 +539,10 @@ static struct {
521539
{"Perl_Iunitcheckav_ptr", (PERL_PROC*)&Perl_Iunitcheckav_ptr},
522540
# endif
523541
#endif
542+
#if (PERL_REVISION == 5) && (PERL_VERSION >= 22)
543+
{"Perl_xs_handshake", (PERL_PROC*)&Perl_xs_handshake},
544+
{"Perl_xs_boot_epilog", (PERL_PROC*)&Perl_xs_boot_epilog},
545+
#endif
524546
#if (PERL_REVISION == 5) && (PERL_VERSION >= 14)
525547
# ifdef USE_ITHREADS
526548
{"PL_thr_key", (PERL_PROC*)&dll_PL_thr_key},

src/version.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -756,6 +756,8 @@ static char *(features[]) =
756756

757757
static int included_patches[] =
758758
{ /* Add new patch number below this line */
759+
/**/
760+
756,
759761
/**/
760762
755,
761763
/**/

0 commit comments

Comments
 (0)