summaryrefslogtreecommitdiff
path: root/configpm
Commit message (Collapse)AuthorAgeFilesLines
* Give Config a version numberDavid Golden2013-02-131-2/+4
|
* Revert "smoke-me diag"Father Chrysostomos2012-08-271-4/+1
| | | | | | | | | This reverts commit 372a31d8f53707bcfa9c233ce02a93f778b7bb4b. I missed this when I was merging that branch. It should never have made its way into blead. It was to find out why the Windows smokes were temporarily failing, by dumping Config_heavy.pl in the logs. This was what led to 0ee364945bd.
* smoke-me diagFather Chrysostomos2012-08-211-1/+4
| | | | nt,hun
* Expand $^O at build time when generating Config::_V()Nicholas Clark2012-07-101-9/+10
| | | | | | | | | | | Config::_V() is how perl -V is implemented internally, and is called called directly from the interpreter's switch passing routine. Hence the value of $^O at runtime will always be the same as the value of $^O at build time, so conditionals dependent on the value of $^O will always take the same execution path. So only generate the relevant code, and hence avoid shipping VMS and Cygwin specific code except on those platforms. (But add a sanity test in Config::_V() to ensure that the runtime $^O has the correct value - ie that the Perl code and the perl binary correspond.)
* In configpm, switch to using sprintf for part of generating Config_heavy.plNicholas Clark2012-07-101-4/+4
| | | | This will make subsequent changes easier.
* configpm: comment typoFather Chrysostomos2012-06-151-2/+2
|
* Generate $Config::Config{byteorder} slightly more efficiently.Nicholas Clark2011-08-301-4/+3
|
* configpm: Fix broken linksKarl Williamson2011-05-181-2/+2
|
* configpm: handle multi-line key='value\n...'David Mitchell2011-04-181-1/+2
| | | | | | | | | | | | | | | | | | | | There is old code in configpm to handle mulit-line entries in config.sh along the lines of plibpth='/lib/x86_64-redhat-linux/4.4.5/ /lib/../lib64/ /usr/lib/x86_64-redhat-linux/4.4.5/ /usr/lib/../lib64/ /lib/ /usr/lib/' which was broken, and produced Use of uninitialized value $1 warnings, and messed up the content of lib/Config_heavy.pl. We probably normally don't have multi-line entries, which is why no-one noticed it before, but 40f026236b9959b7ad3260fedc6c66cd30bb7abc has started generating the entry above.
* Modern cygwin often has empty $ENV{CYGWIN}Reini Urban2011-02-261-1/+1
| | | | | Fixes Use of uninitialized value $ENV{"CYGWIN"} in concatenation (.) or string at /usr/lib/perl5/5.13.10/i686-cygwin/Config_heavy.pl line 54
* No need to sort {non_,}bincompat_options in Config, as they are always sorted.Nicholas Clark2011-02-231-2/+2
| | | | t/porting/bincompat.t tests that they are in order, so no need to sort them.
* In Config, use typeglob aliasing instead of subref to typeglob assignment.Nicholas Clark2011-02-191-3/+1
| | | | | | | Typeglob aliasing saves just over .5K, because fewer internal structures are created. In the general case the behaviour of the two differs, but as the only package variables of these names are subroutines, and we are within our own namespace, there is no difference here.
* Tidy the generated code for Config.pmNicholas Clark2011-02-191-11/+8
| | | | | | Can now use warnings and use vars, as both pragmata were fixed (some years ago) not to pull in Carp unconditionally. use vars '%Config' (in two places) is (about) 98 bytes smaller than our %Config on this platform.
* Add Config::header_files() to list the header dependencies for XS code.Nicholas Clark2011-02-191-1/+40
| | | | | | | Currently ExtUtils::MM_{Unix,VMS} contain hard-coded lists, which omit some headers, and include other headers that we would like to like to eliminate. Having the Perl installation providing the canonical list for itself allows us to avoid the these problems.
* Add functions to Config to expose the remaining information from perl -VNicholas Clark2011-02-171-1/+42
| | | | | | | | Previously one could only find out by parsing the output of perl -V the list of local patches, the compilation date, and the compilation options (some of which affect binary compatibility). Now provide all of these as local_patches(), compile_date(), bincompat_options() and non_bincompat_options().
* Refactor Config.pm to set @EXPORT_OK from keys %Export_CacheNicholas Clark2011-02-171-11/+18
| | | | | | | | | | The refactor generates %Export_Cache at perl build time, and hence avoids Config.pm running a map on load. The change also results in @Config::EXPORT containing shared hash key scalars, which saves 124 bytes on this platform, modest, but everything helps. Also change the build script to programmatically generate the function stubs in Config.pm, instead of having the list duplicated by hand.
* Add 'dlext' and 'so' to the initial %Config::ConfigNicholas Clark2010-10-061-0/+5
| | | | | | This avoids Config.pm loading Config_heavy.pl when DynaLoader.pm is loaded. It has been reading these at run time since 37589e1eefb1bd62, which post-dates the analysis of which %Config::Config values are most "popular".
* Config.pm: report perl path in version conflict.alex2010-08-251-2/+2
| | | | | | | | When Config.pm dies with a perl/library version mismatch error, include the path of the perl executable in the error message. This helps avoid confusion during perl build when a cc wrapper written in perl is used (such as colorgcc)
* In Config::import, avoid assigning to $pkg, which is never read.Nicholas Clark2010-06-231-4/+7
| | | | | | | | | Avoid the use of sprintf - __PACKAGE__ is a constant, so can be inlined within the message string. Don't store '%Config' in %Export_Cache, as that's only used to deal with exported functions. The variable %Config is special-cased. On this platform, cachegrind shows a 1% reduction in instruction count and L1 cache references as a result.
* Convert Config::fetch_string to use a regexp, rather than index and substr.Nicholas Clark2010-06-231-40/+18
| | | | | | For this platform, cachegrind reckons a 0.5% reduction in L1 cache refs and 0.5% reduction in instructions executed, which whilst small, is a step in the right direction.
* $^O is initalised to OSNAME, so no need to return the latter from Internals::V.Nicholas Clark2009-10-051-2/+2
| | | | Saves having object code to build one SV that Config::_V can find out by itself.
* Move the implementation of ./perl -V to Internals::V and Config::_VNicholas Clark2009-09-291-0/+39
| | | | | | Previously it was a Perl program generated by code embedded in perl.c, with conditional compilation logic, hence a combination of C pre-processor, C and Perl.
* Add a --chdir option to configpm, and use this in the Win32 Makfiles.Nicholas Clark2009-09-231-0/+6
| | | | | A slight Makefile simplification, and another move towards Win32 standardising on running miniperl as $(MINIPERL), which currently is ..\miniperl.exe
* document Git_DataRicardo SIGNES2009-05-141-0/+15
|
* Make references to the Glossary in Config.pm and Config.podH.Merijn Brand2009-03-301-0/+8
|
* add better pod and headers, and clean up some whitespace issues in the ↵Yves Orton2009-01-041-2/+3
| | | | previous patches
* this seems to work, still not using the perl version, but this works the way ↵Yves Orton2009-01-041-2/+5
| | | | it would
* much better git related version numbering in our (*nix for now) build processYves Orton2008-12-311-1/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The net result of this patch is to make available via Config.pm and -v/-V the details about the git version info we have available for the build. When built within a git repository git is queried directly. When built from a snapshot or bundle it is assumed that the source is unchanged, and that the required details are avaialble in a file called .patch, whose format current is a four field string in the following format: "$branchname $date.$time $sha1 $describe". The generator of these files currently resides on camel.booking.com. * git-describe is now used more directly with -v. When the prefix of git-describe matches the version number as determined by the defines in patchlevel.h then we use ONLY the git-describe output, otherwise we include the git describe in parenthesis after the version number. Either way the describe text is optionally followed by a star should there be uncommitted changes. eg: This is perl, v5.11.0 (GitLive-blead-136-g58ca560) built for i686-linux or: This is perl, v5.11.0-1-g58ca560 built for i686-linux or: This is perl, v5.11.0 built for i686-linux * include the SHA1 in perl -V summary, and automatically include unpushed commits in the registered patches list * include various git/version/.patch details in %Config, as follows: git_commit_id # sha1 of HEAD git_ancestor # ancestor in $remote/$branch (presumably canonical) git_describe # git describe git_branch # current branch git_uncommitted_changes # "true" if there are any, empty otherwise git_unpushed_commits # List of sha1's of unpushed commits git_commit_id_title # Used to make the perl -V summary output Additionally one more value is added depending on build process used: when building from an rsynced snapshot (or any dist including a file called .patch) then the second field will be used to populate the "git_snapshot_date" field. Otherwise if built in a git directory (as is hopefully recommended these day) then the field will be "git_commit_date" which will be the commit date of HEAD. This patch introduces two new files (on top of .patchnum) that will be generated by make_patchnum.sh: "lib/Config_git.pl" and "unpushed.h", the former is used to make git data available to Config.pm/%Config without rebuilding everything else, and the second is used to expose unpushed commits (if any) via the registered patch facility of patchlevel.h
* Add a few =cuts (so configpm is displayed mostly correctlyRafael Garcia-Suarez2008-01-091-0/+6
| | | | | by perldoc or by search.cpan.org) p4raw-id: //depot/perl@32916
* Re: [PATCH-at-31365] (was - configpm frustrations)Vadim Konovalov2007-06-121-16/+7
| | | | | Message-ID: <466D6803.1020808@vkonovalov.ru> p4raw-id: //depot/perl@31366
* linux arm cross-compilationVadim Konovalov2007-05-281-6/+13
| | | | | | | Message-ID: <4659F6E2.3090805@vkonovalov.ru> with adjustments to the MANIFEST p4raw-id: //depot/perl@31287
* Revert change 27513Nicholas Clark2006-05-161-3/+1
| | | | | | | [Make the original versions of relocated paths available from %Config::Config with the prefix "raw_". Not sure if "raw_" is the best choice.] p4raw-id: //depot/perl@28210
* make configpm only update Config.pm, Config_heavy.pl if changed.Dave Mitchell2006-03-251-36/+95
| | | | | | Should stop spurious rebuilding of extensions. Also add documentation and copyright to top of file. p4raw-id: //depot/perl@27603
* Make the original versions of relocated paths available fromNicholas Clark2006-03-151-1/+3
| | | | | | %Config::Config with the prefix "raw_". Not sure if "raw_" is the best choice. p4raw-id: //depot/perl@27513
* Somewhat less shaky relocatable @INC support. You can install thingsNicholas Clark2006-03-131-1/+28
| | | | | | | to the current location of the perl tree, move it, install more things, move it again, lather rinse repeat. Configure with -Duserelocatableinc p4raw-id: //depot/perl@27491
* First stab at rather shaky Configure support for relocatable @INC.Nicholas Clark2006-03-131-2/+23
| | | | | Seems to be installing rather more that it's supposed to be. p4raw-id: //depot/perl@27490
* Really apply change #26071.Rafael Garcia-Suarez2005-11-101-0/+1
| | | | | p4raw-link: @26071 on //depot/perl: 8861ecc69a87dc6907b3e9c79689edb5df16413e p4raw-id: //depot/perl@26072
* Remove :unique attribute from Config.pm,Rafael Garcia-Suarez2005-07-201-6/+2
| | | | | | until we find a better implementation of it (or remove it). See [perl #36375]. p4raw-id: //depot/perl@25195
* Add a sanity check to Config::AUTOLOAD to prevent infinte loops ifNicholas Clark2005-06-251-1/+3
| | | | | Configure_heavy.pl gets truncated. p4raw-id: //depot/perl@24982
* Bring bleadperl up to version.pmJohn Peacock2005-06-131-1/+1
| | | | | Message-ID: <42A414DD.8090504@rowman.com> p4raw-id: //depot/perl@24823
* If we're building config_heavy.pl somewhere else, then we need toNicholas Clark2005-06-011-0/+1
| | | | | require it, not something (or maybe nothing) in the correct place. p4raw-id: //depot/perl@24659
* Symbian port of PerlJarkko Hietaniemi2005-04-211-2/+7
| | | | | Message-ID: <B356D8F434D20B40A8CEDAEC305A1F2453D653@esebe105.NOE.Nokia.com> p4raw-id: //depot/perl@24271
* Shave off the explict 1; from the end of lib/Config.pmNicholas Clark2005-01-051-2/+1
| | | p4raw-id: //depot/perl@23752
* Don't do the ... expansion on archlib, sitelib etc, given thatNicholas Clark2004-12-241-12/+26
| | | | | | everyone should already be using archlibext etc Add the extra special case code for otherlibdirs p4raw-id: //depot/perl@23679
* Relocatable @INC entries for Unix.Nicholas Clark2004-12-231-0/+72
| | | | | | | | (With appropriate fixups in Config.pm to complete the illusion) Currently can only be enabled with hackery to config.sh TODO - proper Configure support, and support for otherlibdirs in Config.pm p4raw-id: //depot/perl@23674
* Skip generating all the code to deal with "" strings in config.shNicholas Clark2004-11-281-49/+94
| | | | | if there aren't any. '' only code is much simpler. p4raw-id: //depot/perl@23564
* Given that there is a pre-built cache, no need for @v_fastNicholas Clark2004-11-281-9/+3
| | | p4raw-id: //depot/perl@23563
* The byteorder code doesn't need to be in Config.pm if byteorderNicholas Clark2004-11-281-5/+15
| | | | | isn't actually a frequently looked up value. p4raw-id: //depot/perl@23562
* Need to stub the public functions to keep some existing codeNicholas Clark2004-11-281-2/+11
| | | | | | | working. No need to keep $Config_SH around in memory when we can easily re-create it. p4raw-id: //depot/perl@23561
* Generate the precached %Config entries based on some empiricalNicholas Clark2004-11-271-13/+130
| | | | | data, rather than just guesswork. p4raw-id: //depot/perl@23558