From: Gurusamy Sarathy Date: Mon, 26 Oct 1998 02:44:44 +0000 (+0000) Subject: various win32 tweaks; disable new xs_cpp section (it creates X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=b86a2fa703d0daf651095b1947eb50e3b5cc41d9;p=p5sagit%2Fp5-mst-13.2.git various win32 tweaks; disable new xs_cpp section (it creates ambiguous inference graph for %.xs --> %.o) p4raw-id: //depot/perl@2086 --- diff --git a/ext/Thread/Thread.xs b/ext/Thread/Thread.xs index 0c589a9..b9036c0 100644 --- a/ext/Thread/Thread.xs +++ b/ext/Thread/Thread.xs @@ -229,8 +229,8 @@ newthread (SV *startsv, AV *initargs, char *classname) static pthread_attr_t attr; static int attr_inited = 0; sigset_t fullmask, oldmask; -#endif static int attr_joinable = ATTR_JOINABLE; +#endif savethread = thr; thr = new_struct_thread(thr); diff --git a/gv.c b/gv.c index ad0d02d..a3e8d88 100644 --- a/gv.c +++ b/gv.c @@ -500,7 +500,9 @@ gv_fetchpv(char *nambeg, I32 add, I32 sv_type) /* No stash in name, so see how we can default */ if (!stash) { - if (isIDFIRST(*name) || (IN_UTF8 && ((*name & 0xc0) == 0xc0) && isIDFIRST_utf8(name))) { + if (isIDFIRST(*name) + || (IN_UTF8 && ((*name & 0xc0) == 0xc0) && isIDFIRST_utf8((U8*)name))) + { bool global = FALSE; if (isUPPER(*name)) { diff --git a/lib/ExtUtils/MakeMaker.pm b/lib/ExtUtils/MakeMaker.pm index 0482534..47c3daa 100644 --- a/lib/ExtUtils/MakeMaker.pm +++ b/lib/ExtUtils/MakeMaker.pm @@ -271,7 +271,7 @@ sub full_setup { pasthru - c_o xs_c xs_cpp xs_o top_targets linkext dlsyms dynamic dynamic_bs + c_o xs_c xs_o top_targets linkext dlsyms dynamic dynamic_bs dynamic_lib static static_lib manifypods processPL installbin subdirs clean realclean dist_basics dist_core dist_dir dist_test dist_ci install force perldepend makefile staticmake test ppd diff --git a/mg.c b/mg.c index 9532b38..2906a4c 100644 --- a/mg.c +++ b/mg.c @@ -31,6 +31,7 @@ #else # define VTBL *vtbl static void restore_magic _((void *p)); +static int magic_methcall(SV *sv, MAGIC *mg, char *meth, I32 f, int n, SV *val); #endif /* diff --git a/pp.c b/pp.c index 72599d1..05b242a 100644 --- a/pp.c +++ b/pp.c @@ -1316,7 +1316,7 @@ PP(pp_negate) sv_setsv(TARG, sv); *SvPV_force(TARG, len) = *s == '-' ? '+' : '-'; } - else if (IN_UTF8 && *(U8*)s >= 0xc0 && isIDFIRST_utf8(s)) { + else if (IN_UTF8 && *(U8*)s >= 0xc0 && isIDFIRST_utf8((U8*)s)) { sv_setpvn(TARG, "-", 1); sv_catsv(TARG, sv); } diff --git a/pp_hot.c b/pp_hot.c index 24bb4da..53d42d8 100644 --- a/pp_hot.c +++ b/pp_hot.c @@ -2518,7 +2518,7 @@ PP(pp_method) { if (!packname || ((*(U8*)packname >= 0xc0 && IN_UTF8) - ? !isIDFIRST_utf8(packname) + ? !isIDFIRST_utf8((U8*)packname) : !isIDFIRST(*packname) )) { diff --git a/proto.h b/proto.h index c5d635a..efc1ea8 100644 --- a/proto.h +++ b/proto.h @@ -743,6 +743,7 @@ void qsortsv _((SV ** array, size_t num_elts, SVCOMPARE f)); I32 sortcv _((SV *a, SV *b)); void save_magic _((I32 mgs_ix, SV *sv)); int magic_methpack _((SV *sv, MAGIC *mg, char *meth)); +int magic_methcall _((SV *sv, MAGIC *mg, char *meth, I32 f, int n, SV *val)); int magic_methcall _((MAGIC *mg, char *meth, I32 flags, int n, SV *val)); OP * doform _((CV *cv, GV *gv, OP *retop)); void doencodes _((SV* sv, char* s, I32 len)); diff --git a/win32/GenCAPI.pl b/win32/GenCAPI.pl index a4e4099..5c77d70 100644 --- a/win32/GenCAPI.pl +++ b/win32/GenCAPI.pl @@ -40,6 +40,7 @@ sub skip_these { } skip_these [qw( +yylex cando cast_ulong my_chsize diff --git a/win32/Makefile b/win32/Makefile index 2e01729..d6b6dda 100644 --- a/win32/Makefile +++ b/win32/Makefile @@ -33,6 +33,11 @@ INST_VER = \5.00552 #USE_THREADS = define # +# uncomment to enable multiple interpreters +# +#USE_MULTI = define + +# # uncomment next line if you are using Visual C++ 2.x # #CCTYPE = MSVC20 @@ -135,6 +140,7 @@ CRYPT_FLAG = -DHAVE_DES_FCRYPT !IF "$(OBJECT)" != "" PERL_MALLOC = undef USE_THREADS = undef +USE_MULTI = undef !ENDIF !IF "$(PERL_MALLOC)" == "" @@ -145,8 +151,11 @@ PERL_MALLOC = undef USE_THREADS = undef !ENDIF -#BUILDOPT = -DMULTIPLICITY -#BUILDOPT = -DPERL_GLOBAL_STRUCT -DMULTIPLICITY +!IF "$(USE_MULTI)" == "" +USE_MULTI = undef +!ENDIF + +#BUILDOPT = -DPERL_GLOBAL_STRUCT # -DUSE_PERLIO -D__STDC__=1 -DUSE_SFIO -DI_SFIO -I\sfio97\include !IF "$(PROCESSOR_ARCHITECTURE)" == "" @@ -573,6 +582,7 @@ CFG_VARS = \ "dynamic_ext=$(DYNAMIC_EXT)" \ "nonxs_ext=$(NONXS_EXT)" \ "usethreads=$(USE_THREADS)" \ + "usemultiplicity=$(USE_MULTI)" \ "LINK_FLAGS=$(LINK_FLAGS)" \ "optimize=$(OPTIMIZE)" diff --git a/win32/config.gc b/win32/config.gc index 7dc64f8..c4c6d1a 100644 --- a/win32/config.gc +++ b/win32/config.gc @@ -594,7 +594,7 @@ uname='uname' uniq='uniq' use64bits='undef' usedl='define' -usemultiplicity='undef' +usemultiplicity='define' usemymalloc='n' usenm='false' useopcode='true' diff --git a/win32/config_H.gc b/win32/config_H.gc index 82e5d18..0e178b6 100644 --- a/win32/config_H.gc +++ b/win32/config_H.gc @@ -2278,7 +2278,7 @@ * This symbol, if defined, indicates that Perl should * be built to use multiplicity. */ -/*#define MULTIPLICITY /**/ +#define MULTIPLICITY /**/ /* USE_THREADS: * This symbol, if defined, indicates that Perl should diff --git a/win32/makedef.pl b/win32/makedef.pl index 222ce06..80ea5e3 100644 --- a/win32/makedef.pl +++ b/win32/makedef.pl @@ -28,6 +28,7 @@ while () { $define{$1} = 1 if /^\s*#\s*define\s+(MYMALLOC)\b/; $define{$1} = 1 if /^\s*#\s*define\s+(USE_THREADS)\b/; + $define{$1} = 1 if /^\s*#\s*define\s+(MULTIPLICITY)\b/; } close(CFG); diff --git a/win32/makefile.mk b/win32/makefile.mk index 07fcad0..d12add7 100644 --- a/win32/makefile.mk +++ b/win32/makefile.mk @@ -37,6 +37,11 @@ INST_VER *= \5.00552 #USE_THREADS *= define # +# uncomment to enable multiple interpreters +# +#USE_MULTI *= define + +# # uncomment one # #CCTYPE *= MSVC20 @@ -153,14 +158,15 @@ CRYPT_FLAG = -DHAVE_DES_FCRYPT .IF "$(OBJECT)" != "" PERL_MALLOC != undef USE_THREADS != undef +USE_MULTI != undef .ENDIF PERL_MALLOC *= undef USE_THREADS *= undef +USE_MULTI *= undef -#BUILDOPT *= -DMULTIPLICITY -#BUILDOPT *= -DPERL_GLOBAL_STRUCT -DMULTIPLICITY +#BUILDOPT *= -DPERL_GLOBAL_STRUCT # -DUSE_PERLIO -D__STDC__=1 -DUSE_SFIO -DI_SFIO -I\sfio97\include .IMPORT .IGNORE : PROCESSOR_ARCHITECTURE @@ -693,6 +699,7 @@ CFG_VARS = \ "dynamic_ext=$(DYNAMIC_EXT)" \ "nonxs_ext=$(NONXS_EXT)" \ "usethreads=$(USE_THREADS)" \ + "usemultiplicity=$(USE_MULTI)" \ "LINK_FLAGS=$(LINK_FLAGS)" \ "optimize=$(OPTIMIZE)" diff --git a/win32/win32.h b/win32/win32.h index 8b789fd..b52ef4e 100644 --- a/win32/win32.h +++ b/win32/win32.h @@ -32,7 +32,9 @@ typedef long long __int64; #endif # ifndef PERL_OBJECT # define PERL_GLOBAL_STRUCT -# define MULTIPLICITY +# ifndef MULTIPLICITY +# define MULTIPLICITY +# endif # endif #endif