summaryrefslogtreecommitdiff
path: root/configpm
Commit message (Collapse)AuthorAgeFilesLines
* configpm - Add comments prefixes to here docsYves Orton2023-05-061-561/+565
| | | | | | | | | This separates out the code and content that is injected into one of the lib/Config.* files, from the code that is part of configpm itself. In particular this makes sure that nothing thinks that this file contains usable POD. Fixes https://github.com/Perl/perl5/issues/21045
* Config.pm - add taint_disabled and taint_support to %ConfigYves Orton2023-04-021-22/+74
| | | | | | | | | | | | | This adds 'taint_disabled' and 'taint_support' to Config.pm and %Config. This way people can use them while we decide what to do about the changes to Configure. We shouldn't need to have Configure changed to export status variables like this in Config.pm See: https://github.com/Perl-Toolchain-Gang/Test-Harness/pull/118 and: https://github.com/Perl/perl5/pull/20972 for related work that is stalled because we have not decided what to do about these variables.
* Syntax highlight configpmElvin Aslanov2023-01-121-0/+1
| | | | | For enhancing the source readability in GitHub: cf. https://raw.githubusercontent.com/Perl/perl5/blead/PACKAGING
* configpm: Configure is a file, markup should be F<>Karl Williamson2022-05-271-1/+1
|
* Generate lib/Config.pod with unix format to be read with pod/buildtocDaniel Laügt2021-01-071-1/+1
|
* Remove 5005threads vestiges from Configure and friendsDagfinn Ilmari Mannsåker2020-08-211-1/+0
| | | | See https://github.com/Perl/metaconfig/pull/66/
* Update documentation, comments, metadata to reference GitHub as canonical ↵Dan Book2019-10-201-2/+2
| | | | | | | | | | | | | | | | repository (#1186) * Update repository and bugtracker URLs to GitHub in makemeta regen META files * Update POD and comments to reference GitHub as canonical repository * Update Porting/corelist.pl to recognize GitHub issue tracker * remove "A note on camel and dromedary" * Remove redundant 'Committing your changes' section
* Perl5 git is on httpsMax Maischein2019-10-111-2/+2
|
* Config: mention it is generated by configpmKarl Williamson2019-09-021-0/+2
|
* configpm: Remove extraneous =cut linesKarl Williamson2019-05-251-4/+0
| | | | These were creating improper pod, though it hasn't been caught.
* RT #132834: prevent duplicate Config.pm varsAaron Crane2018-03-051-0/+2
| | | | | | | | | | Commit 6c2ae6421675ba5ff81dd43f9167136f02dfe9d9 introduced variables whose need was forced by configpm (for compatibility with older software), but incorrectly added those variables to the generated Config_heavy.pl even when they were already in use. The resulting duplicate variables are clearly wrong, and in addition they broke ExtUtils::InferConfig.
* configpm: fix duplicate 'our' declarationDavid Mitchell2017-11-131-1/+1
| | | | | | | | | | | | | This file of old incorrectly had both use vars '$Config_SH_expanded'; and our $Config_SH_expanded; lines. After a recent commit which did s/use vars/our/g, the duplicate 'our' declaration started warning.
* Replace multiple 'use vars' by 'our' in utilsNicolas R2017-11-111-3/+3
| | | | | Using vars pragma is discouraged and has been superseded by 'our' declarations available in Perl v5.6.0 or later.
* RT#132347: fix building TkAaron Crane2017-10-231-1/+14
| | | | | | | | | | The Tk distribution has its own portability layer that expects to find certain settings in %Config, as well as some cpp symbols defined in perl.h. The recent Perl changes to require a C89 compiler caused some of the metaconfig units defining those %Config settings and cpp symbols to be omitted. This commit restores compatibility with Tk, by ensuring that the things it wants are available even though they are no longer provided by metaconfig.
* Strip ccache from $Config{cc}H.Merijn Brand2017-10-131-0/+3
| | | | | | | | | | | | When building with -Dcc="ccache cc", $Config{cc} would also end up with this setting. If that perl is then distributed, no XS will be able to build if the target machine has no ccache installed/available With this change, the whole build of perl itself will use ccache, but $Config{cc} will have it stripped, so all modules (lib/cpan/ext) will not use ccache. A correct installation of ccache however does not need $CC to include the ccache prefix, so it is essentially a setup problem on the building host.
* Switch most open() calls to three-argument form.John Lightsey2016-12-231-5/+5
| | | | | | | | | | Switch from two-argument form. Filehandle cloning is still done with the two argument form for backward compatibility. Committer: Get all porting tests to pass. Increment some $VERSIONs. Run: ./perl -Ilib regen/mk_invlists.pl; ./perl -Ilib regen/regcharclass.pl For: RT #130122
* fix sort order to be by key alone, not key and valueYves Orton2016-12-051-2/+9
| | | | | | | | | Sorting with the value part of the statement means that "perl5=foo" sorts before "perl=foo", where sorting by the keys alone would put "perl" before "perl5". This makes the order in the data correspond to what you would see with sort keys %Config.
* perl -V: make 'Compile-time options' one per lineDavid Mitchell2016-06-171-7/+4
| | | | | | | | | | | | | | | | | | | | | For improved readability, change: Compile-time options: DEBUGGING MULTIPLICITY PERLIO_LAYERS PERL_COPY_ON_WRITE PERL_DONT_CREATE_GVSV PERL_HASH_FUNC_ONE_AT_A_TIME_HARD ... To: Compile-time options: DEBUGGING HAS_TIMES MULTIPLICITY PERLIO_LAYERS PERL_COPY_ON_WRITE PERL_DONT_CREATE_GVSV PERL_HASH_FUNC_ONE_AT_A_TIME_HARD ....
* Grab the warnflags and stdflags from cflags [perl #122694].Jarkko Hietaniemi2014-09-041-0/+18
| | | | They become $Config{ccwarnflags} and $Config{ccstdflags}.
* Make configpm produce better diagnostics for malformed glossary entriesYves Orton2014-01-311-1/+11
| | | | | | | | | | | | | | | | | | | | | Patch 8b6a017ccef7126ae5bcac137fa9a45de4f2c155 added some malformed entries to Porting/Glossary. (The entries were missing a trailing colon). These malformed entries would produce a cryptic one-line warning, but only when various files were being regenerated. To make things more difficult these warnings would be produced at the top of, or in the middle of a large stream of other compilation actions, easily allowing one to overlook them. Even if you noticed them the information provided did not make it particularly easy to figure out what was wrong. This patch changes things so that the warnings contain more information, it also causes configpm to die, and thus break the build process, once it finishes scanning the glossary if there were any warnings during processing. This allows us to avoid whackamole when dealing with multiple broken entries, and makes it painfully obvious if there are issues processing the glossary file, which should prevent any future repeat of the errors in 8b6a017ccef7126.
* configpm: Remove remnants of the old cross modelBrian Fraser2014-01-221-5/+0
|
* Remove old cross-compilation modelBrian Fraser2014-01-221-50/+4
|
* configpm should use "osname" from config.sh, instead of miniperl's $^O.Jess Robinson2014-01-221-70/+72
| | | | | | This is necessary when cross-compiliing, as we use a host (mini)perl to run configpm for the target arch; so for example, miniperl's $^O might be 'linux', but config.sh's osname can be 'qnx'.
* Purge sfio support, which has been broken for a decade.Nicholas Clark2013-12-271-2/+2
| | | | | | | | | | | The last Perl release that built with -Dusesfio was v5.8.0, and even that failed many regression tests. Every subsequent release fails to build, and in the decade that has passed we have had no bug reports about this. So it's safe to delete all the code. The Configure related code will be purged in a subsequent commit. 2 references to sfio intentionally remain in fakesdio.h and nostdio.h, as these appear to be for using its stdio API-compatibility layer.
* restore XS module building for WinCEDaniel Dragan2013-08-231-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | configpm - when debugging configpm, Config.pm is already loaded, so the alternate Config.pm for CE isn't loaded, warn about the problem and delete the native Config.pm to allow the cross Config.pm to be loaded win32/Makefile.cd - better build product cleanup, copy from the win32 makefile - disable a bunch of module that dont/dont yet build on CE - debugging configpm required a shortcut to make it easier to run in isolation - fix the defines that wind up in the cross Config.pm - add -GS- to disable the MS Security Cookie feature on MSVC for ARM >=14 compilers, this stops a .lib linking error, security cookie overhead isnt needed for a very space limited device sdsdkenv.bat is the file I use to set env vars to compile for WM since starting in SmartDevices SDK, there is no equivelent of vcvarsall.bat for makefile building, there was a vcvarsall.bat equivelent in EVC4 tho MSVC for non Intel CPUs sometimes isn't named cl.exe, fix config_sh.PL to deal with it how to compile CE Perl, some steps involving celib and MS SDKs not included and 2 patches to CPAN modules, Socket and MakeMaker, are not in this commit but they are required to build CE Perl -in a Win32 x86/x64 command prompt do a "nmake all" to make a Desktop Perl -then in a WinCE build env command prompt do a "nmake -f makefile.ce all" -/xlib will have all your XS DLLs and PM files, /win32/$(MACHINE) will have perl519.dll and perl.exe Tony Cook: update MANIFEST
* Report the perl executable path in the error if Config.pm is out of sync.Nicholas Clark2013-08-071-3/+2
| | | | | | | | | | | | | If the version that Config.pm was built for differs from the version of the perl executable running it, Config.pm aborts with an error message. The error message was updated to include $0 (the script filename) in Aug 2010 by commit b982c5de5a0d9f6f. Somewhat misleadingly the commit message says "include the path of the perl executable in the error message." which $0 is not. This commit adds $^X to the error message - the path of the perl executable. The error message also shows the script name, as this might also be useful in diagnosing the cause of the problem.
* Try to avoid nesting F<$F<...>> in generated Config.pmDavid Golden2013-05-231-1/+1
|
* typo fixes for root level scriptsDavid Steinbrunner2013-05-221-1/+1
| | | | | Add David Steinbrunner to AUTHORS. Update pod issues database.
* Remove fakethr.h and eliminate all references to it and FAKE_THREADSNicholas Clark2013-05-211-1/+0
| | | | | | | | | | fakethr.h and FAKE_THREADS were for a "green" threads implementation of 5005threads. 5005threads itself is long gone, and it's not clear that -DFAKE_THREADS *ever* built correctly. Certainly it did not work for the 5.005 release, and it did not work at the time of the commits for the initial checkin. The closest that it seems to have been to working is around commit c6ee37c52f2ca9e5 (Dec 1997), where the headers no longer contained errors, but perl.c failed to compile.
* Split out hash functions into new file and turn into inline static functionsYves Orton2013-03-191-1/+1
| | | | | This includes various tweaks related to building SipHash and other cleanup.
* 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.