This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
uname -r works on MINIX as well
[metaconfig.git] / README
diff --git a/README b/README
index 33b0588..3497d96 100644 (file)
--- a/README
+++ b/README
@@ -19,7 +19,7 @@ back here.
 Contents of this directory:
 
     README:    This file.
-    U:         Metaconfig units used for buliding Perl's Configure
+    U:         Metaconfig units used for building Perl's Configure
     U.check:   Sample directory used for testing new metaconfig units.
                see U.check/README for more information.
     dist-3.5-20:
@@ -37,12 +37,12 @@ Contents of this directory:
     in your $PATH.
     The dist version used for perl is dist-3.5-20 in this directory, which is
     a slightly modified version of the original, which you can get at the SVN
-    repository https://dist.svn.sourceforge.net/svnroot/dist/trunk. If you'd
-    like to keep up to date with changes in dist, you can either use svn or
-    git to create your own clone. For git, that would be something like:
+    repository https://svn.code.sf.net/p/dist/code/trunk/dist. If you'd like
+    to keep up to date with changes in dist, you can either use svn or git to
+    create your own clone. For git, that would be something like:
 
     $ git svn clone \
-      http://dist.svn.sourceforge.net/svnroot/dist/trunk/dist \
+      svn://svn.code.sf.net/p/dist/code/trunk/dist \
       dist-svn
 
     Unsurprisingly 'dist' uses (its) Configure to generate itself:
@@ -54,7 +54,7 @@ Contents of this directory:
     $ make install
 
     After make install, remove lib/U/d_debugging.U in your target lib, as perl
-    uses it's own way to set/define debugging (see INSTALL)
+    uses its own way to set/define debugging (see INSTALL)
 
     the dist-3.5-20 installation as used by Merijn is available on his CPAN as
     perl-meta-3.5-20.tgz
@@ -67,6 +67,28 @@ Contents of this directory:
     We have not yet arranged for metaconfig to use perl's versions of the
     'units' by default so you need some housekeeping in the perl directory...
 
+(aa)  -- optional --
+
+    If you plan to make changes to metaconfig or metalint locally (and you
+    probably want to, as both are written for perl4), consider installing
+    mconfig and mlint from the cmon subdirectory into your $PATH too. These
+    are the non-autoloading versions and can easily be changed. Here is what
+    I added at the beginning of mconfig:
+
+    --8<---
+    BEGIN { $ENV{LC_ALL} = "C"; }
+    chdir "/pro/3gl/CPAN/perl";
+    {   my @Cc = qw( Configure config_h.SH );
+       system "chown merijn @Cc";
+       chmod 0775, @Cc;
+       #-d "merijn" or mkdir "merijn";
+       #system "cp -f Configure config_h.SH Porting/Glossary Porting/config.sh merijn/";
+       system "ls", "-l", @Cc;
+       }
+    -->8---
+
+    I also added the first two lines of that patch to mlint
+
 (b) You need to be in a/the Perl directory, i.e. either something from
     //depot/perl/... or one of its branches
     (e.g. Nick I-S is usually in //depot/perlio/...)
@@ -81,16 +103,19 @@ Contents of this directory:
     the best appropriate subdir of U.  See U/README for a description of
     the various subdirectories.)
 
-(d) Run metalint to see nits: as opposed to lint, the gripings of
-    metalint are usually serious :-) and need fixing
+(d) Run metalint (or mlint) to see nits: as opposed to lint, the gripings
+    of metalint are usually serious :-) and need fixing
 
     Exceptions are lots of
-      Your private U/modified/voidflags.U overrides the public one.
+      Your private U/modified/issymlink.U overrides the public one.
     due to the perl special units
 
     an alias to something like
     $ metalint      |& grep -v -e '^    Your private U/'
-    will make the process silence up on that
+    will make the process silence up on that (of course you can add an
+    option to mlint to disable that warning (which is already disabled
+    by the undocumented and forgotten -s option, but that also suppresses
+    other warnings)
 
     and
 
@@ -102,7 +127,7 @@ Contents of this directory:
 
 (e) chmod +w Configure config_h.SH
 
-(f) metaconfig -m to regenerate Configure
+(f) metaconfig -m to regenerate Configure (or mconfig -m)
 
 (g) metaconfig does not deal with depends in config_h.SH, so some
     reorganization is needed.
@@ -132,7 +157,24 @@ Contents of this directory:
     you see fit.
     You can skip this phase, it's not essential, just good housekeeping.
 
-(k) make veryclean; sh Configure -des -Dusedevel; make all test
+(k) Run the perl build chain
+
+    make veryclean
+    sh ./Configure -des -Dusedevel
+
+    The dependency for uconfig.h isn't carved in stone, so you might
+    need to regenerate it
+
+    perl regen/uconfig_h.pl
+
+    Then make and make test or make test_harness (with TEST_JOBS=5)
+
+    make all test_harness
+
+    Before you start committing, make sure that the other developers
+    are happy and run
+
+    make test_porting
 
 -- the next steps are in the metaconfig folder again