diff options
author | Aaron Crane <arc@cpan.org> | 2017-10-23 11:25:06 +0100 |
---|---|---|
committer | Aaron Crane <arc@cpan.org> | 2017-10-23 11:29:08 +0100 |
commit | 92c878fe3be5db4aca79e291be6527e853ca857c (patch) | |
tree | 5809c5c81814cae4725f1f0ff1a49e6d4a09a727 /.metaconf-exclusions.txt | |
parent | 33727e0fa843e3c715b9a6cc7542fcdda31d6e3a (diff) | |
download | perl-92c878fe3be5db4aca79e291be6527e853ca857c.tar.gz |
New .metaconf-exclusions.txt file
This file lists symbols that metaconfig should ignore when calculating
what units Perl needs.
Diffstat (limited to '.metaconf-exclusions.txt')
-rw-r--r-- | .metaconf-exclusions.txt | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/.metaconf-exclusions.txt b/.metaconf-exclusions.txt new file mode 100644 index 0000000000..d305e5ddb5 --- /dev/null +++ b/.metaconf-exclusions.txt @@ -0,0 +1,23 @@ +# This file is used when building the Configure script from the metaconfig +# units. Ordinarily, if any *.c or *.h or *.sh file mentions a symbol that can +# be provided by a metaconfig unit, the generated Configure will include the +# relevant probe. But in some cases, that's inappropriate: we have symbols that +# we no longer need to probe for, but must define in perl.h for backwards +# compatibilty with XS modules. Also, our C files contain tokens like "index" +# that are used as the names of Perl builtins, but would be treated by +# metaconfig as implicit requests for a particular unit that we don't need. +# +# Previously, we've used customised "stub" versions of metaconfig units to +# handle this situation, but that doesn't scale (and, in particular, requires +# us to maintain those customised units for as long as the relevant symbols are +# defined by the units in the upstream dist package). +# +# A better approach is to list those symbols here (and invoke metaconfig with +# the "-X .metaconf-exclusions.txt" option when generating Configure); that +# will prevent the relevant units from being used. +# +# See also metaconfig.h, which works in the other direction — it forces units +# to be included, even before specific code using the relevant symbols has been +# written. + +I_STDARG |