X-Git-Url: https://perl5.git.perl.org/metaconfig.git/blobdiff_plain/1e6951802c699ee65b19a7cca298762055fd59fa..96068d3b6d5209a0f1ae38c76b774f6b0946f9bf:/README diff --git a/README b/README index 33b0588..3497d96 100644 --- 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