Change name of mro.c
authorKarl Williamson <khw@cpan.org>
Mon, 16 Mar 2015 17:14:12 +0000 (11:14 -0600)
committerKarl Williamson <khw@cpan.org>
Thu, 19 Mar 2015 16:20:39 +0000 (10:20 -0600)
This is to prevent a conflict showing up on z/OS (os390) because this
file's name is the same as one in /ext, and there are functions
cross-referenced between them, and the loader on that platform
can't deal with this.

See http://nntp.perl.org/group/perl.perl5.porters/226612

Cross/Makefile-cross-SH
MANIFEST
Makefile.SH
Makefile.micro
NetWare/Makefile
hv.h
mro_core.c [moved from mro.c with 99% similarity]
vms/descrip_mms.template
win32/Makefile
win32/Makefile.ce
win32/makefile.mk

index 3260be4..01cde92 100644 (file)
@@ -345,7 +345,7 @@ h4 = regexp.h scope.h sv.h unixish.h util.h iperlsys.h thread.h
 h5 = utf8.h warnings.h
 h = $(h1) $(h2) $(h3) $(h4) $(h5)
 
-c1 = av.c scope.c op.c doop.c doio.c dump.c gv.c hv.c mg.c reentr.c mro.c perl.c
+c1 = av.c scope.c op.c doop.c doio.c dump.c gv.c hv.c mg.c reentr.c mro_core.c perl.c
 c2 = perly.c pp.c pp_hot.c pp_ctl.c pp_sys.c regcomp.c regexec.c utf8.c sv.c
 c3 = taint.c toke.c util.c deb.c run.c universal.c pad.c globals.c keywords.c
 c4 = perlio.c perlapi.c numeric.c mathoms.c locale.c pp_pack.c pp_sort.c
@@ -353,7 +353,7 @@ c5 = $(mallocsrc)
 
 c = $(c1) $(c2) $(c3) $(c4) $(c5) miniperlmain.c perlmain.c opmini.c
 
-obj1 = $(mallocobj) gv$(OBJ_EXT) toke$(OBJ_EXT) perly$(OBJ_EXT) op$(OBJ_EXT) pad$(OBJ_EXT) regcomp$(OBJ_EXT) dump$(OBJ_EXT) util$(OBJ_EXT) mg$(OBJ_EXT) reentr$(OBJ_EXT) mro$(OBJ_EXT)
+obj1 = $(mallocobj) gv$(OBJ_EXT) toke$(OBJ_EXT) perly$(OBJ_EXT) op$(OBJ_EXT) pad$(OBJ_EXT) regcomp$(OBJ_EXT) dump$(OBJ_EXT) util$(OBJ_EXT) mg$(OBJ_EXT) reentr$(OBJ_EXT) mro_core$(OBJ_EXT)
 obj2 = hv$(OBJ_EXT) av$(OBJ_EXT) perl$(OBJ_EXT) run$(OBJ_EXT) pp_hot$(OBJ_EXT) sv$(OBJ_EXT) pp$(OBJ_EXT) scope$(OBJ_EXT) pp_ctl$(OBJ_EXT) pp_sys$(OBJ_EXT)
 obj3 = doop$(OBJ_EXT) doio$(OBJ_EXT) regexec$(OBJ_EXT) utf8$(OBJ_EXT) taint$(OBJ_EXT) deb$(OBJ_EXT) universal$(OBJ_EXT) globals$(OBJ_EXT) perlio$(OBJ_EXT) perlapi$(OBJ_EXT) numeric$(OBJ_EXT) mathoms$(OBJ_EXT) locale$(OBJ_EXT) pp_pack$(OBJ_EXT) pp_sort$(OBJ_EXT)
 
index 2652ab0..f874063 100644 (file)
--- a/MANIFEST
+++ b/MANIFEST
@@ -4370,7 +4370,7 @@ mg_vtable.h                       Generated magic vtable data
 miniperlmain.c                 Basic perl w/o dynamic loading or extensions
 mkppport                       A script that distributes ppport.h
 mkppport.lst                   List of extensions that need a ppport.h
-mro.c                          Method Resolution Order code
+mro_core.c                             Method Resolution Order code
 myconfig.SH                    Prints summary of the current configuration
 mydtrace.h                     Support for optional DTrace probes
 NetWare/bat/Buildtype.bat      NetWare port
index 12414a5..2889b27 100755 (executable)
@@ -473,7 +473,7 @@ h5 = utf8.h warnings.h mydtrace.h op_reg_common.h l1_char_class_tab.h
 h6 = charclass_invlists.h
 h = $(h1) $(h2) $(h3) $(h4) $(h5) $(h6)
 
-c1 = av.c scope.c op.c doop.c doio.c dump.c gv.c hv.c mg.c reentr.c mro.c perl.c
+c1 = av.c scope.c op.c doop.c doio.c dump.c gv.c hv.c mg.c reentr.c mro_core.c perl.c
 c2 = perly.c pp.c pp_hot.c pp_ctl.c pp_sys.c regcomp.c regexec.c utf8.c sv.c
 c3 = taint.c toke.c util.c deb.c run.c universal.c pad.c globals.c keywords.c
 c4 = perlio.c perlapi.c numeric.c mathoms.c locale.c pp_pack.c pp_sort.c caretx.c
@@ -483,7 +483,7 @@ c = $(c1) $(c2) $(c3) $(c4) $(c5) miniperlmain.c opmini.c perlmini.c
 
 obj0 = op$(OBJ_EXT) perl$(OBJ_EXT)
 obj0mini = perlmini$(OBJ_EXT) opmini$(OBJ_EXT) miniperlmain$(OBJ_EXT)
-obj1 = $(mallocobj) gv$(OBJ_EXT) toke$(OBJ_EXT) perly$(OBJ_EXT) pad$(OBJ_EXT) regcomp$(OBJ_EXT) dump$(OBJ_EXT) util$(OBJ_EXT) mg$(OBJ_EXT) reentr$(OBJ_EXT) mro$(OBJ_EXT) keywords$(OBJ_EXT)
+obj1 = $(mallocobj) gv$(OBJ_EXT) toke$(OBJ_EXT) perly$(OBJ_EXT) pad$(OBJ_EXT) regcomp$(OBJ_EXT) dump$(OBJ_EXT) util$(OBJ_EXT) mg$(OBJ_EXT) reentr$(OBJ_EXT) mro_core$(OBJ_EXT) keywords$(OBJ_EXT)
 obj2 = hv$(OBJ_EXT) av$(OBJ_EXT) run$(OBJ_EXT) pp_hot$(OBJ_EXT) sv$(OBJ_EXT) pp$(OBJ_EXT) scope$(OBJ_EXT) pp_ctl$(OBJ_EXT) pp_sys$(OBJ_EXT)
 obj3 = doop$(OBJ_EXT) doio$(OBJ_EXT) regexec$(OBJ_EXT) utf8$(OBJ_EXT) taint$(OBJ_EXT) deb$(OBJ_EXT) universal$(OBJ_EXT) globals$(OBJ_EXT) perlio$(OBJ_EXT) perlapi$(OBJ_EXT) numeric$(OBJ_EXT) mathoms$(OBJ_EXT) locale$(OBJ_EXT) pp_pack$(OBJ_EXT) pp_sort$(OBJ_EXT) caretx$(OBJ_EXT)
 
index cd9a9c5..dedf183 100644 (file)
@@ -85,8 +85,8 @@ uglobals$(_O):        $(H) globals.c INTERN.h perlapi.h $(generated_headers)
 ugv$(_O):      $(HE) gv.c
        $(CC) $(CCFLAGS) -o $@ $(CFLAGS) gv.c
 
-umro$(_O):     $(HE) mro.c
-       $(CC) $(CCFLAGS) -o $@ $(CFLAGS) mro.c
+umro$(_O):     $(HE) mro_core.c
+       $(CC) $(CCFLAGS) -o $@ $(CFLAGS) mro_core.c
 
 uhv$(_O):      $(HE) hv.c
        $(CC) $(CCFLAGS) -o $@ $(CFLAGS) hv.c
index e9a74b1..de3fb9e 100644 (file)
@@ -692,7 +692,7 @@ MICROCORE_SRC       =               \
                ..\dump.c       \
                ..\globals.c    \
                ..\gv.c         \
-               ..\mro.c        \
+               ..\mro_core.c   \
                ..\hv.c         \
                ..\keywords.c   \
                ..\locale.c     \
diff --git a/hv.h b/hv.h
index 95dde46..a912476 100644 (file)
--- a/hv.h
+++ b/hv.h
@@ -58,7 +58,7 @@ struct shared_he {
 
 /* Subject to change.
    Don't access this directly.
-   Use the funcs in mro.c
+   Use the funcs in mro_core.c
 */
 
 struct mro_alg {
similarity index 99%
rename from mro.c
rename to mro_core.c
index d501681..4da9682 100644 (file)
--- a/mro.c
@@ -1,4 +1,4 @@
-/*    mro.c
+/*    mro_core.c
  *
  *    Copyright (c) 2007 Brandon L Black
  *    Copyright (c) 2007, 2008, 2009, 2010, 2011 Larry Wall and others
@@ -6,6 +6,9 @@
  *    You may distribute under the terms of either the GNU General Public
  *    License or the Artistic License, as specified in the README file.
  *
+ *    This was 'mro.c', but changed because there is another mro.c in /ext, and
+ *    the os390 loader can't cope with this situation (which involves the two
+ *    files calling functions defined in the other)
  */
 
 /*
@@ -66,13 +69,13 @@ Perl_mro_set_private_data(pTHX_ struct mro_meta *const smeta,
        } else {
            HV *const hv = newHV();
            /* Start with 2 buckets. It's unlikely we'll need more. */
-           HvMAX(hv) = 1;      
+           HvMAX(hv) = 1;
            smeta->mro_linear_all = hv;
 
            if (smeta->mro_linear_current) {
                /* If we were storing something directly, put it in the hash
                   before we lose it. */
-               Perl_mro_set_private_data(aTHX_ smeta, smeta->mro_which, 
+               Perl_mro_set_private_data(aTHX_ smeta, smeta->mro_which,
                                          smeta->mro_linear_current);
            }
        }
@@ -126,7 +129,7 @@ Perl_mro_register(pTHX_ const struct mro_alg *mro) {
 
     PERL_ARGS_ASSERT_MRO_REGISTER;
 
-    
+
     if (!Perl_hv_common(aTHX_ PL_registered_mros, NULL,
                        mro->name, mro->length, mro->kflags,
                        HV_FETCH_ISSTORE, wrapper, mro->hash)) {
@@ -620,7 +623,7 @@ Perl_mro_isa_changed_in(pTHX_ HV* stash)
                        so on aggregate we expect to save time by not making
                        two calls to the common HV code for the case where
                        it doesn't exist.  */
-          
+
                     (void)
                       hv_storehek(mroisarev, namehek, &PL_sv_yes);
                 }
@@ -664,7 +667,7 @@ Perl_mro_isa_changed_in(pTHX_ HV* stash)
           almost as cheap as calling hv_exists, so on aggregate we expect to
           save time by not making two calls to the common HV code for the
           case where it doesn't exist.  */
-          
+
        (void)hv_storehek(mroisarev, stashhek, &PL_sv_yes);
     }
 
@@ -856,7 +859,7 @@ Perl_mro_package_moved(pTHX_ HV * const stash, HV * const oldstash,
               mro_gather_and_rename set aside for us) this way, in case
               one class in this list is a superclass of a another class
               that we have already encountered. In such a case, meta->isa
-              will have been overwritten without old entries being deleted 
+
               from PL_isarev. */
            struct mro_meta * const meta = HvMROMETA(stash);
            if(meta->isa != (HV *)HeVAL(iter)){
@@ -1103,7 +1106,7 @@ S_mro_gather_and_rename(pTHX_ HV * const stashes, HV * const seen_stashes,
        ing that here, as we want to avoid resetting the hash iterator. */
 
     /* Skip the entire loop if the hash is empty.   */
-    if(oldstash && HvUSEDKEYS(oldstash)) { 
+    if(oldstash && HvUSEDKEYS(oldstash)) {
        xhv = (XPVHV*)SvANY(oldstash);
        seen = (HV *) sv_2mortal((SV *)newHV());
 
@@ -1358,7 +1361,7 @@ void
 Perl_mro_set_mro(pTHX_ struct mro_meta *const meta, SV *const name)
 {
     const struct mro_alg *const which = Perl_mro_get_from_name(aTHX_ name);
+
     PERL_ARGS_ASSERT_MRO_SET_MRO;
 
     if (!which)
@@ -1368,7 +1371,7 @@ Perl_mro_set_mro(pTHX_ struct mro_meta *const meta, SV *const name)
        if (meta->mro_linear_current && !meta->mro_linear_all) {
            /* If we were storing something directly, put it in the hash before
               we lose it. */
-           Perl_mro_set_private_data(aTHX_ meta, meta->mro_which, 
+           Perl_mro_set_private_data(aTHX_ meta, meta->mro_which,
                                      MUTABLE_SV(meta->mro_linear_current));
        }
        meta->mro_which = which;
@@ -1404,7 +1407,7 @@ XS(XS_mro_method_changed_in)
 
     if(items != 1)
        croak_xs_usage(cv, "classname");
-    
+
     classname = ST(0);
 
     class_stash = gv_stashsv(classname, 0);
index faf8a98..31c867c 100644 (file)
@@ -226,14 +226,14 @@ FULLLIBS2 = $(LIBS2)|$(THRLIBS1)|$(THRLIBS2)
 
 #### End of system configuration section. ####
 
-c0 = $(MALLOC_C) av.c caretx.c deb.c doio.c doop.c dump.c globals.c gv.c hv.c mro.c
+c0 = $(MALLOC_C) av.c caretx.c deb.c doio.c doop.c dump.c globals.c gv.c hv.c mro_core.c
 c1 = mg.c locale.c mathoms.c miniperlmain.c numeric.c op.c pad.c perl.c perlapi.c perlio.c
 c2 = perly.c pp.c pp_ctl.c pp_hot.c pp_pack.c pp_sort.c pp_sys.c regcomp.c regexec.c reentr.c
 c3 = run.c scope.c sv.c taint.c toke.c universal.c utf8.c util.c vms.c keywords.c
 c = $(c0) $(c1) $(c2) $(c3)
 
 obj0 = perl$(O)
-obj1 = $(MALLOC_O) av$(O) caretx$(O) deb$(O) doio$(O) doop$(O) dump$(O) mro$(O) globals$(O) gv$(O) hv$(O) 
+obj1 = $(MALLOC_O) av$(O) caretx$(O) deb$(O) doio$(O) doop$(O) dump$(O) mro_core$(O) globals$(O) gv$(O) hv$(O)
 obj2 = keywords$(O) locale$(O) mathoms$(O) mg$(O) miniperlmain$(O) numeric$(O) op$(O) pad$(O) perlapi$(O) perlio$(O) 
 obj3 = perly$(O) pp$(O) pp_ctl$(O) pp_hot$(O) reentr$(O) pp_pack$(O) pp_sort$(O) pp_sys$(O) regcomp$(O) 
 obj4 = regexec$(O) run$(O) scope$(O) sv$(O) taint$(O) toke$(O) universal$(O) utf8$(O) util$(O) vms$(O)
@@ -632,7 +632,7 @@ globals$(O) : globals.c $(generated_headers) $(h)
         $(CC) $(CORECFLAGS) $(MMS$SOURCE)
 gv$(O) : gv.c $(h)
        $(CC) $(CORECFLAGS) $(MMS$SOURCE)
-mro$(O) : mro.c $(h)
+mro_core$(O) : mro_core.c $(h)
        $(CC) $(CORECFLAGS) $(MMS$SOURCE)
 hv$(O) : hv.c $(h)
        $(CC) $(CORECFLAGS) $(MMS$SOURCE)
index 35cd298..22632d2 100644 (file)
@@ -688,7 +688,7 @@ MICROCORE_SRC       =               \
                ..\dump.c       \
                ..\globals.c    \
                ..\gv.c         \
-               ..\mro.c        \
+               ..\mro_core.c   \
                ..\hv.c         \
                ..\locale.c     \
                ..\keywords.c   \
index 6455942..894da33 100644 (file)
@@ -625,7 +625,7 @@ MICROCORE_SRC       =               \
                ..\dump.c       \
                ..\globals.c    \
                ..\gv.c         \
-               ..\mro.c        \
+               ..\mro_core.c   \
                ..\hv.c         \
                ..\locale.c     \
                ..\keywords.c   \
@@ -870,7 +870,7 @@ $(DLLDIR)\doop.obj \
 $(DLLDIR)\dump.obj \
 $(DLLDIR)\globals.obj \
 $(DLLDIR)\gv.obj \
-$(DLLDIR)\mro.obj \
+$(DLLDIR)\mro_core.obj \
 $(DLLDIR)\hv.obj \
 $(DLLDIR)\locale.obj \
 $(DLLDIR)\keywords.obj \
index da4825a..0362443 100644 (file)
@@ -834,7 +834,7 @@ MICROCORE_SRC       =               \
                ..\dump.c       \
                ..\globals.c    \
                ..\gv.c         \
-               ..\mro.c        \
+               ..\mro_core.c   \
                ..\hv.c         \
                ..\locale.c     \
                ..\keywords.c   \