[MacPorts] #62440: perl5: invalid SDK path hardcoded on macOS 11

MacPorts noreply at macports.org
Sat Jun 26 08:09:37 UTC 2021


#62440: perl5: invalid SDK path hardcoded on macOS 11
---------------------------+----------------------
  Reporter:  chrstphrchvz  |      Owner:  mojca
      Type:  defect        |     Status:  assigned
  Priority:  Normal        |  Milestone:
 Component:  ports         |    Version:
Resolution:                |   Keywords:
      Port:  perl5         |
---------------------------+----------------------

Comment (by mojca):

 This has been a longstanding issue and I would be grateful for some basic
 hints about the best solution. Here's what the file
 `/opt/local/lib/perl5/5.28/darwin-thread-multi-2level/Config.pm` currently
 contains for 5.28 on 11:
 {{{
 # This file was created by configpm when Perl was built. Any changes
 # made to this file will be lost the next time perl is built.

 # for a description of the variables, please have a look at the
 # Glossary file, as written in the Porting folder, or use the url:
 # http://perl5.git.perl.org/perl.git/blob/HEAD:/Porting/Glossary

 package Config;
 use strict;
 use warnings;
 our ( %Config, $VERSION );

 $VERSION = "5.028003";

 # Skip @Config::EXPORT because it only contains %Config, which we special
 # case below as it's not a function. @Config::EXPORT won't change in the
 # lifetime of Perl 5.
 my %Export_Cache = (myconfig => 1, config_sh => 1, config_vars => 1,
                     config_re => 1, compile_date => 1, local_patches => 1,
                     bincompat_options => 1, non_bincompat_options => 1,
                     header_files => 1);

 @Config::EXPORT = qw(%Config);
 @Config::EXPORT_OK = keys %Export_Cache;

 # Need to stub all the functions to make code such as print
 Config::config_sh
 # keep working

 sub bincompat_options;
 sub compile_date;
 sub config_re;
 sub config_sh;
 sub config_vars;
 sub header_files;
 sub local_patches;
 sub myconfig;
 sub non_bincompat_options;

 # Define our own import method to avoid pulling in the full Exporter:
 sub import {
     shift;
     @_ = @Config::EXPORT unless @_;

     my @funcs = grep $_ ne '%Config', @_;
     my $export_Config = @funcs < @_ ? 1 : 0;

     no strict 'refs';
     my $callpkg = caller(0);
     foreach my $func (@funcs) {
         die qq{"$func" is not exported by the Config module\n}
             unless $Export_Cache{$func};
         *{$callpkg.'::'.$func} = \&{$func};
     }

     *{"$callpkg\::Config"} = \%Config if $export_Config;
     return;
 }

 die "$0: Perl lib version (5.28.3) doesn't match executable '$^X' version
 ($])"
     unless $^V;

 $^V eq 5.28.3
     or die sprintf "%s: Perl lib version (5.28.3) doesn't match executable
 '$^X' version (%vd)", $0, $^V;


 sub FETCH {
     my($self, $key) = @_;

     # check for cached value (which may be undef so we use exists not
 defined)
     return exists $self->{$key} ? $self->{$key} :
 $self->fetch_string($key);
 }

 sub TIEHASH {
     bless $_[1], $_[0];
 }

 sub DESTROY { }

 sub AUTOLOAD {
     require 'Config_heavy.pl';
     goto \&launcher unless $Config::AUTOLOAD =~ /launcher$/;
     die "&Config::AUTOLOAD failed on $Config::AUTOLOAD";
 }

 # tie returns the object, so the value returned to require will be true.
 tie %Config, 'Config', {
     archlibexp => '/opt/local/lib/perl5/5.28/darwin-thread-multi-2level',
     archname => 'darwin-thread-multi-2level',
     cc => '/usr/bin/clang',
     d_readlink => 'define',
     d_symlink => 'define',
     dlext => 'bundle',
     dlsrc => 'dl_dlopen.xs',
     dont_use_nlink => undef,
     exe_ext => '',
     inc_version_list => ' ',
     intsize => '4',
     ldlibpthname => 'DYLD_LIBRARY_PATH',
     libpth => '/opt/local/lib
 /Library/Developer/CommandLineTools/usr/lib/clang/12.0.0/lib
 /Library/Developer/CommandLineTools/SDKs/MacOSX11.0.sdk/usr/lib
 /Library/Developer/CommandLineTools/usr/lib /usr/lib',
     osname => 'darwin',
     osvers => '20.1.0',
     path_sep => ':',
     privlibexp => '/opt/local/lib/perl5/5.28',
     scriptdir => '/opt/local/bin',
     sitearchexp => '/opt/local/lib/perl5/site_perl/5.28/darwin-thread-
 multi-2level',
     sitelibexp => '/opt/local/lib/perl5/site_perl/5.28',
     so => 'dylib',
     useithreads => 'define',
     usevendorprefix => 'define',
     version => '5.28.3',
 };
 }}}
 and here's `Config_heavy.pl`:
 {{{
 # This file was created by configpm when Perl was built. Any changes
 # made to this file will be lost the next time perl is built.

 package Config;
 use strict;
 use warnings;
 our %Config;

 sub bincompat_options {
     return split ' ', (Internals::V())[0];
 }

 sub non_bincompat_options {
     return split ' ', (Internals::V())[1];
 }

 sub compile_date {
     return (Internals::V())[2]
 }

 sub local_patches {
     my (undef, undef, undef, @patches) = Internals::V();
     return @patches;
 }

 sub _V {
     die "Perl lib was built for 'darwin' but is being run on '$^O'"
         unless "darwin" eq $^O;

     my ($bincompat, $non_bincompat, $date, @patches) = Internals::V();

     my @opts = sort split ' ', "$bincompat $non_bincompat";

     print Config::myconfig();
     print "\nCharacteristics of this binary (from libperl): \n";

     print "  Compile-time options:\n";
     print "    $_\n" for @opts;

     if (@patches) {
         print "  Locally applied patches:\n";
         print "    $_\n" foreach @patches;
     }

     print "  Built under darwin\n";

     print "  $date\n" if defined $date;

     my @env = map { "$_=\"$ENV{$_}\"" } sort grep {/^PERL/} keys %ENV;

     if (@env) {
         print "  \%ENV:\n";
         print "    $_\n" foreach @env;
     }
     print "  \@INC:\n";
     print "    $_\n" foreach @INC;
 }

 sub header_files {
     return qw(EXTERN.h INTERN.h XSUB.h av.h config.h cop.h cv.h
               dosish.h embed.h embedvar.h form.h gv.h handy.h hv.h
 hv_func.h
               intrpvar.h iperlsys.h keywords.h mg.h nostdio.h op.h
 opcode.h
               pad.h parser.h patchlevel.h perl.h perlio.h perliol.h
 perlsdio.h
               perlvars.h perly.h pp.h pp_proto.h proto.h regcomp.h
 regexp.h
               regnodes.h scope.h sv.h thread.h time64.h unixish.h utf8.h
               util.h);
 }

 ##
 ## This file was produced by running the Configure script. It holds all
 the
 ## definitions figured out by Configure. Should you modify one of these
 values,
 ## do not forget to propagate your changes by running "Configure -der".
 You may
 ## instead choose to run each of the .SH files by yourself, or "Configure
 -S".
 ##
 #
 ## Package name      : perl5
 ## Source directory  : .
 ## Configuration time: Sat Nov 21 17:12:52 UTC 2020
 ## Configured by     : root
 ## Target system     : darwin bigsura.local 20.1.0 darwin kernel version
 20.1.0: sat oct 31 00:07:18 pdt 2020;
 root:xnu-7195.50.7~2release_arm64_t8020 arm64
 #
 #: Configure command line arguments.
 #
 #: Variables propagated from previous config.sh file.

 our $summary = <<'!END!';
 Summary of my $package (revision $revision $version_patchlevel_string)
 configuration:
   $git_commit_id_title $git_commit_id$git_ancestor_line
   Platform:
     osname=$osname
     osvers=$osvers
     archname=$archname
     uname='$myuname'
     config_args='$config_args'
     hint=$hint
     useposix=$useposix
     d_sigaction=$d_sigaction
     useithreads=$useithreads
     usemultiplicity=$usemultiplicity
     use64bitint=$use64bitint
     use64bitall=$use64bitall
     uselongdouble=$uselongdouble
     usemymalloc=$usemymalloc
     default_inc_excludes_dot=$default_inc_excludes_dot
     bincompat5005=undef
   Compiler:
     cc='$cc'
     ccflags ='$ccflags'
     optimize='$optimize'
     cppflags='$cppflags'
     ccversion='$ccversion'
     gccversion='$gccversion'
     gccosandvers='$gccosandvers'
     intsize=$intsize
     longsize=$longsize
     ptrsize=$ptrsize
     doublesize=$doublesize
     byteorder=$byteorder
     doublekind=$doublekind
     d_longlong=$d_longlong
     longlongsize=$longlongsize
     d_longdbl=$d_longdbl
     longdblsize=$longdblsize
     longdblkind=$longdblkind
     ivtype='$ivtype'
     ivsize=$ivsize
     nvtype='$nvtype'
     nvsize=$nvsize
     Off_t='$lseektype'
     lseeksize=$lseeksize
     alignbytes=$alignbytes
     prototype=$prototype
   Linker and Libraries:
     ld='$ld'
     ldflags ='$ldflags'
     libpth=$libpth
     libs=$libs
     perllibs=$perllibs
     libc=$libc
     so=$so
     useshrplib=$useshrplib
     libperl=$libperl
     gnulibc_version='$gnulibc_version'
   Dynamic Linking:
     dlsrc=$dlsrc
     dlext=$dlext
     d_dlsymun=$d_dlsymun
     ccdlflags='$ccdlflags'
     cccdlflags='$cccdlflags'
     lddlflags='$lddlflags'

 !END!
 my $summary_expanded;

 sub myconfig {
     return $summary_expanded if $summary_expanded;
     ($summary_expanded = $summary) =~ s{\$(\w+)}
                  {
                         my $c;
                         if ($1 eq 'git_ancestor_line') {
                                 if ($Config::Config{git_ancestor}) {
                                         $c= "\n  Ancestor:
 $Config::Config{git_ancestor}";
                                 } else {
                                         $c= "";
                                 }
                         } else {
                                 $c = $Config::Config{$1};
                         }
                         defined($c) ? $c : 'undef'
                 }ge;
     $summary_expanded;
 }

 local *_ = \my $a;
 $_ = <<'!END!';
 Author=''
 CONFIG='true'
 Date=''
 Header=''
 Id=''
 LANG='C'
 LC_ALL='C'
 Locker=''
 Log=''
 PATCHLEVEL='28'
 PERL_API_REVISION='5'
 PERL_API_SUBVERSION='0'
 PERL_API_VERSION='28'
 PERL_CONFIG_SH='true'
 PERL_PATCHLEVEL=''
 PERL_REVISION='5'
 PERL_SUBVERSION='3'
 PERL_VERSION='28'
 RCSfile=''
 Revision=''
 SUBVERSION='3'
 Source=''
 State=''
 _a='.a'
 _exe=''
 _o='.o'
 afs='false'
 afsroot='/afs'
 alignbytes='8'
 aphostname='/bin/hostname'
 api_revision='5'
 api_subversion='0'
 api_version='28'
 api_versionstring='5.28.0'
 ar='ar'
 archlib='/opt/local/lib/perl5/5.28/darwin-thread-multi-2level'
 archlibexp='/opt/local/lib/perl5/5.28/darwin-thread-multi-2level'
 archname='darwin-thread-multi-2level'
 archname64=''
 archobjs=''
 asctime_r_proto='REENTRANT_PROTO_B_SB'
 awk='awk'
 baserev='5.0'
 bash=''
 bin='/opt/local/bin'
 bin_ELF='undef'
 binexp='/opt/local/bin'
 bison='bison'
 byacc='byacc'
 byteorder='ffff'
 c='\c'
 castflags='1'
 cat='cat'
 cc='/usr/bin/clang'
 cccdlflags=' '
 ccdlflags=' '
 ccflags='-fno-common -DPERL_DARWIN -mmacosx-version-min=10.16 -pipe -Os
 -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX11.0.sdk  -fno-
 strict-aliasing -fstack-protector-strong -I/opt/local/include
 -DPERL_USE_SAFE_PUTENV'
 ccflags_uselargefiles=''
 ccname='gcc'
 ccsymbols=''
 ccversion=''
 cf_by='root'
 cf_email='root at bigsura.local'
 cf_time='Sat Nov 21 17:12:52 UTC 2020'
 charbits='8'
 charsize='1'
 chgrp=''
 chmod='chmod'
 chown=''
 clocktype='clock_t'
 comm='comm'
 compress=''
 config_arg0='Configure'
 config_arg1='-des'
 config_arg10='-Dman3ext=3pm'
 config_arg11='-Dinstallstyle=lib/perl5'
 config_arg12='-Dman1dir=/opt/local/share/man/man1p'
 config_arg13='-Dman3dir=/opt/local/share/man/man3p'
 config_arg14='-Dsitebin=/opt/local/libexec/perl5.28/sitebin'
 config_arg15='-Dsiteman1dir=/opt/local/share/perl5.28/siteman/man1'
 config_arg16='-Dsiteman3dir=/opt/local/share/perl5.28/siteman/man3'
 config_arg17='-Dvendorbin=/opt/local/libexec/perl5.28'
 config_arg18='-Dvendorman1dir=/opt/local/share/perl5.28/man/man1'
 config_arg19='-Dvendorman3dir=/opt/local/share/perl5.28/man/man3'
 config_arg2='-Dprefix=/opt/local'
 config_arg20='-Dpager=/usr/bin/less -sR'
 config_arg21='-Dperlpath=/opt/local/bin/perl5.28'
 config_arg22='-Dstartperl=#!/opt/local/bin/perl5.28'
 config_arg23='-Acppflags=-I/opt/local/include
 -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX11.0.sdk'
 config_arg24='-Accflags=-pipe -Os
 -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX11.0.sdk '
 config_arg25='-Alddlflags=-L/opt/local/lib
 -Wl,-headerpad_max_install_names
 -Wl,-syslibroot,/Library/Developer/CommandLineTools/SDKs/MacOSX11.0.sdk '
 config_arg26='-Aldflags=-L/opt/local/lib -Wl,-headerpad_max_install_names
 -Wl,-syslibroot,/Library/Developer/CommandLineTools/SDKs/MacOSX11.0.sdk '
 config_arg3='-Dscriptdir=/opt/local/bin'
 config_arg4='-Dvendorprefix=/opt/local'
 config_arg5='-Dusemultiplicity=y'
 config_arg6='-Dusethreads'
 config_arg7='-Duseshrplib'
 config_arg8='-Dcc=/usr/bin/clang'
 config_arg9='-Dman1ext=1pm'
 config_argc='26'
 config_args='-des -Dprefix=/opt/local -Dscriptdir=/opt/local/bin
 -Dvendorprefix=/opt/local -Dusemultiplicity=y -Dusethreads -Duseshrplib
 -Dcc=/usr/bin/clang -Dman1ext=1pm -Dman3ext=3pm -Dinstallstyle=lib/perl5
 -Dman1dir=/opt/local/share/man/man1p -Dman3dir=/opt/local/share/man/man3p
 -Dsitebin=/opt/local/libexec/perl5.28/sitebin
 -Dsiteman1dir=/opt/local/share/perl5.28/siteman/man1
 -Dsiteman3dir=/opt/local/share/perl5.28/siteman/man3
 -Dvendorbin=/opt/local/libexec/perl5.28
 -Dvendorman1dir=/opt/local/share/perl5.28/man/man1
 -Dvendorman3dir=/opt/local/share/perl5.28/man/man3 -Dpager=/usr/bin/less
 -sR -Dperlpath=/opt/local/bin/perl5.28
 -Dstartperl=#!/opt/local/bin/perl5.28 -Acppflags=-I/opt/local/include
 -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX11.0.sdk
 -Accflags=-pipe -Os
 -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX11.0.sdk
 -Alddlflags=-L/opt/local/lib -Wl,-headerpad_max_install_names
 -Wl,-syslibroot,/Library/Developer/CommandLineTools/SDKs/MacOSX11.0.sdk
 -Aldflags=-L/opt/local/lib -Wl,-headerpad_max_install_names
 -Wl,-syslibroot,/Library/Developer/CommandLineTools/SDKs/MacOSX11.0.sdk '
 contains='grep'
 cp='cp'
 cpio=''
 cpp='cpp'
 cpp_stuff='42'
 cppccsymbols=''
 cppflags='-I/opt/local/include
 -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX11.0.sdk -fno-
 common -DPERL_DARWIN -mmacosx-version-min=10.16 -pipe -Os
 -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX11.0.sdk  -fno-
 strict-aliasing -fstack-protector-strong -I/opt/local/include'
 cpplast='-'
 cppminus='-'
 cpprun='/usr/bin/clang  -I/opt/local/include
 -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX11.0.sdk -E'
 cppstdin='/usr/bin/clang  -I/opt/local/include
 -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX11.0.sdk -E'
 cppsymbols='_FORTIFY_SOURCE=2 _LP64=1 __BYTE_ORDER__=1234 __GNUC_MINOR__=2
 __GNUC__=4 __LITTLE_ENDIAN__=1 __LP64__=1 __MACH__=1 __PIC__=2 __STDC__=1
 __aarch64__=1 __clang__=1 __pic__=2'
 crypt_r_proto='0'
 cryptlib=''
 csh='csh'
 ctermid_r_proto='REENTRANT_PROTO_B_B'
 ctime_r_proto='REENTRANT_PROTO_B_SB'
 d_Gconvert='sprintf((b),"%.*g",(n),(x))'
 d_PRIEUldbl='define'
 d_PRIFUldbl='define'
 d_PRIGUldbl='define'
 d_PRIXU64='define'
 d_PRId64='define'
 d_PRIeldbl='define'
 d_PRIfldbl='define'
 d_PRIgldbl='define'
 d_PRIi64='define'
 d_PRIo64='define'
 d_PRIu64='define'
 d_PRIx64='define'
 d_SCNfldbl='define'
 d__fwalk='undef'
 d_accept4='undef'
 d_access='define'
 d_accessx='undef'
 d_acosh='define'
 d_aintl='undef'
 d_alarm='define'
 d_archlib='define'
 d_asctime64='undef'
 d_asctime_r='define'
 d_asinh='define'
 d_atanh='define'
 d_atolf='undef'
 d_atoll='define'
 d_attribute_deprecated='define'
 d_attribute_format='define'
 d_attribute_malloc='define'
 d_attribute_nonnull='define'
 d_attribute_noreturn='define'
 d_attribute_pure='define'
 d_attribute_unused='define'
 d_attribute_warn_unused_result='define'
 d_backtrace='define'
 d_bsd='undef'
 d_bsdgetpgrp='undef'
 d_bsdsetpgrp='undef'
 d_builtin_add_overflow='define'
 d_builtin_choose_expr='define'
 d_builtin_expect='define'
 d_builtin_mul_overflow='define'
 d_builtin_sub_overflow='define'
 d_c99_variadic_macros='define'
 d_casti32='define'
 d_castneg='undef'
 d_cbrt='define'
 d_chown='define'
 d_chroot='define'
 d_chsize='undef'
 d_class='undef'
 d_clearenv='undef'
 d_closedir='define'
 d_cmsghdr_s='define'
 d_const='define'
 d_copysign='define'
 d_copysignl='define'
 d_cplusplus='undef'
 d_crypt='define'
 d_crypt_r='undef'
 d_csh='define'
 d_ctermid='define'
 d_ctermid_r='define'
 d_ctime64='undef'
 d_ctime_r='define'
 d_cuserid='undef'
 d_dbminitproto='undef'
 d_difftime='define'
 d_difftime64='undef'
 d_dir_dd_fd='undef'
 d_dirfd='define'
 d_dirnamlen='define'
 d_dladdr='define'
 d_dlerror='define'
 d_dlopen='define'
 d_dlsymun='undef'
 d_dosuid='undef'
 d_double_has_inf='define'
 d_double_has_nan='define'
 d_double_has_negative_zero='define'
 d_double_has_subnormals='define'
 d_double_style_cray='undef'
 d_double_style_ibm='undef'
 d_double_style_ieee='define'
 d_double_style_vax='undef'
 d_drand48_r='undef'
 d_drand48proto='define'
 d_dup2='define'
 d_dup3='undef'
 d_duplocale='define'
 d_eaccess='undef'
 d_endgrent='define'
 d_endgrent_r='undef'
 d_endhent='define'
 d_endhostent_r='undef'
 d_endnent='define'
 d_endnetent_r='undef'
 d_endpent='define'
 d_endprotoent_r='undef'
 d_endpwent='define'
 d_endpwent_r='undef'
 d_endsent='define'
 d_endservent_r='undef'
 d_eofnblk='define'
 d_erf='define'
 d_erfc='define'
 d_eunice='undef'
 d_exp2='define'
 d_expm1='define'
 d_faststdio='undef'
 d_fchdir='define'
 d_fchmod='define'
 d_fchmodat='define'
 d_fchown='define'
 d_fcntl='define'
 d_fcntl_can_lock='define'
 d_fd_macros='define'
 d_fd_set='define'
 d_fdclose='undef'
 d_fdim='define'
 d_fds_bits='define'
 d_fegetround='define'
 d_fgetpos='define'
 d_finite='undef'
 d_finitel='undef'
 d_flexfnam='define'
 d_flock='define'
 d_flockproto='define'
 d_fma='define'
 d_fmax='define'
 d_fmin='define'
 d_fork='define'
 d_fp_class='undef'
 d_fp_classify='undef'
 d_fp_classl='undef'
 d_fpathconf='define'
 d_fpclass='undef'
 d_fpclassify='define'
 d_fpclassl='undef'
 d_fpgetround='undef'
 d_fpos64_t='undef'
 d_freelocale='define'
 d_frexpl='define'
 d_fs_data_s='undef'
 d_fseeko='define'
 d_fsetpos='define'
 d_fstatfs='define'
 d_fstatvfs='define'
 d_fsync='define'
 d_ftello='define'
 d_ftime='undef'
 d_futimes='undef'
 d_gai_strerror='define'
 d_gdbm_ndbm_h_uses_prototypes='undef'
 d_gdbmndbm_h_uses_prototypes='undef'
 d_getaddrinfo='define'
 d_getcwd='define'
 d_getespwnam='undef'
 d_getfsstat='define'
 d_getgrent='define'
 d_getgrent_r='undef'
 d_getgrgid_r='define'
 d_getgrnam_r='define'
 d_getgrps='define'
 d_gethbyaddr='define'
 d_gethbyname='define'
 d_gethent='define'
 d_gethname='define'
 d_gethostbyaddr_r='undef'
 d_gethostbyname_r='undef'
 d_gethostent_r='undef'
 d_gethostprotos='define'
 d_getitimer='define'
 d_getlogin='define'
 d_getlogin_r='define'
 d_getmnt='undef'
 d_getmntent='undef'
 d_getnameinfo='define'
 d_getnbyaddr='define'
 d_getnbyname='define'
 d_getnent='define'
 d_getnetbyaddr_r='undef'
 d_getnetbyname_r='undef'
 d_getnetent_r='undef'
 d_getnetprotos='define'
 d_getpagsz='define'
 d_getpbyname='define'
 d_getpbynumber='define'
 d_getpent='define'
 d_getpgid='define'
 d_getpgrp='define'
 d_getpgrp2='undef'
 d_getppid='define'
 d_getprior='define'
 d_getprotobyname_r='undef'
 d_getprotobynumber_r='undef'
 d_getprotoent_r='undef'
 d_getprotoprotos='define'
 d_getprpwnam='undef'
 d_getpwent='define'
 d_getpwent_r='undef'
 d_getpwnam_r='define'
 d_getpwuid_r='define'
 d_getsbyname='define'
 d_getsbyport='define'
 d_getsent='define'
 d_getservbyname_r='undef'
 d_getservbyport_r='undef'
 d_getservent_r='undef'
 d_getservprotos='define'
 d_getspnam='undef'
 d_getspnam_r='undef'
 d_gettimeod='define'
 d_gmtime64='undef'
 d_gmtime_r='define'
 d_gnulibc='undef'
 d_grpasswd='define'
 d_hasmntopt='undef'
 d_htonl='define'
 d_hypot='define'
 d_ilogb='define'
 d_ilogbl='define'
 d_inc_version_list='undef'
 d_inetaton='define'
 d_inetntop='define'
 d_inetpton='define'
 d_int64_t='define'
 d_ip_mreq='define'
 d_ip_mreq_source='define'
 d_ipv6_mreq='define'
 d_ipv6_mreq_source='undef'
 d_isascii='define'
 d_isblank='define'
 d_isfinite='define'
 d_isfinitel='undef'
 d_isinf='define'
 d_isinfl='undef'
 d_isless='undef'
 d_isnan='define'
 d_isnanl='undef'
 d_isnormal='define'
 d_j0='define'
 d_j0l='undef'
 d_killpg='define'
 d_lc_monetary_2008='define'
 d_lchown='define'
 d_ldbl_dig='define'
 d_ldexpl='define'
 d_lgamma='define'
 d_lgamma_r='define'
 d_libm_lib_version='undef'
 d_libname_unique='undef'
 d_link='define'
 d_linkat='define'
 d_llrint='define'
 d_llrintl='define'
 d_llround='define'
 d_llroundl='define'
 d_localeconv_l='define'
 d_localtime64='undef'
 d_localtime_r='define'
 d_localtime_r_needs_tzset='undef'
 d_locconv='define'
 d_lockf='define'
 d_log1p='define'
 d_log2='define'
 d_logb='define'
 d_long_double_style_ieee='undef'
 d_long_double_style_ieee_doubledouble='undef'
 d_long_double_style_ieee_extended='undef'
 d_long_double_style_ieee_std='undef'
 d_long_double_style_vax='undef'
 d_longdbl='define'
 d_longlong='define'
 d_lrint='define'
 d_lrintl='define'
 d_lround='define'
 d_lroundl='define'
 d_lseekproto='define'
 d_lstat='define'
 d_madvise='define'
 d_malloc_good_size='define'
 d_malloc_size='define'
 d_mblen='define'
 d_mbrlen='define'
 d_mbrtowc='define'
 d_mbstowcs='define'
 d_mbtowc='define'
 d_memmem='define'
 d_memrchr='undef'
 d_mkdir='define'
 d_mkdtemp='define'
 d_mkfifo='define'
 d_mkostemp='undef'
 d_mkstemp='define'
 d_mkstemps='define'
 d_mktime='define'
 d_mktime64='undef'
 d_mmap='define'
 d_modfl='define'
 d_modflproto='define'
 d_mprotect='define'
 d_msg='define'
 d_msg_ctrunc='define'
 d_msg_dontroute='define'
 d_msg_oob='define'
 d_msg_peek='define'
 d_msg_proxy='undef'
 d_msgctl='define'
 d_msgget='define'
 d_msghdr_s='define'
 d_msgrcv='define'
 d_msgsnd='define'
 d_msync='define'
 d_munmap='define'
 d_mymalloc='undef'
 d_nan='define'
 d_nanosleep='define'
 d_ndbm='define'
 d_ndbm_h_uses_prototypes='define'
 d_nearbyint='define'
 d_newlocale='define'
 d_nextafter='define'
 d_nexttoward='define'
 d_nice='define'
 d_nl_langinfo='define'
 d_nv_preserves_uv='undef'
 d_nv_zero_is_allbits_zero='define'
 d_off64_t='undef'
 d_old_pthread_create_joinable='undef'
 d_oldpthreads='undef'
 d_oldsock='undef'
 d_open3='define'
 d_openat='define'
 d_pathconf='define'
 d_pause='define'
 d_perl_otherlibdirs='undef'
 d_phostname='undef'
 d_pipe='define'
 d_pipe2='undef'
 d_poll='undef'
 d_portable='define'
 d_prctl='undef'
 d_prctl_set_name='undef'
 d_printf_format_null='define'
 d_procselfexe='undef'
 d_pseudofork='undef'
 d_pthread_atfork='define'
 d_pthread_attr_setscope='define'
 d_pthread_yield='undef'
 d_ptrdiff_t='define'
 d_pwage='undef'
 d_pwchange='define'
 d_pwclass='define'
 d_pwcomment='undef'
 d_pwexpire='define'
 d_pwgecos='define'
 d_pwpasswd='define'
 d_pwquota='undef'
 d_qgcvt='undef'
 d_quad='define'
 d_querylocale='define'
 d_random_r='undef'
 d_re_comp='undef'
 d_readdir='define'
 d_readdir64_r='undef'
 d_readdir_r='define'
 d_readlink='define'
 d_readv='define'
 d_recvmsg='define'
 d_regcmp='undef'
 d_regcomp='define'
 d_remainder='define'
 d_remquo='define'
 d_rename='define'
 d_renameat='define'
 d_rewinddir='define'
 d_rint='define'
 d_rmdir='define'
 d_round='define'
 d_sbrkproto='define'
 d_scalbn='define'
 d_scalbnl='define'
 d_sched_yield='define'
 d_scm_rights='define'
 d_seekdir='define'
 d_select='define'
 d_sem='define'
 d_semctl='define'
 d_semctl_semid_ds='define'
 d_semctl_semun='define'
 d_semget='define'
 d_semop='define'
 d_sendmsg='define'
 d_setegid='define'
 d_seteuid='define'
 d_setgrent='define'
 d_setgrent_r='undef'
 d_setgrps='define'
 d_sethent='define'
 d_sethostent_r='undef'
 d_setitimer='define'
 d_setlinebuf='define'
 d_setlocale='define'
 d_setlocale_r='undef'
 d_setnent='define'
 d_setnetent_r='undef'
 d_setpent='define'
 d_setpgid='define'
 d_setpgrp='define'
 d_setpgrp2='undef'
 d_setprior='define'
 d_setproctitle='undef'
 d_setprotoent_r='undef'
 d_setpwent='define'
 d_setpwent_r='undef'
 d_setregid='define'
 d_setresgid='undef'
 d_setresuid='undef'
 d_setreuid='define'
 d_setrgid='define'
 d_setruid='define'
 d_setsent='define'
 d_setservent_r='undef'
 d_setsid='define'
 d_setvbuf='define'
 d_shm='define'
 d_shmat='define'
 d_shmatprototype='define'
 d_shmctl='define'
 d_shmdt='define'
 d_shmget='define'
 d_sigaction='define'
 d_siginfo_si_addr='define'
 d_siginfo_si_band='define'
 d_siginfo_si_errno='define'
 d_siginfo_si_fd='undef'
 d_siginfo_si_pid='define'
 d_siginfo_si_status='define'
 d_siginfo_si_uid='define'
 d_siginfo_si_value='define'
 d_signbit='define'
 d_sigprocmask='define'
 d_sigsetjmp='define'
 d_sin6_scope_id='define'
 d_sitearch='define'
 d_snprintf='define'
 d_sockaddr_in6='define'
 d_sockaddr_sa_len='define'
 d_sockatmark='define'
 d_sockatmarkproto='define'
 d_socket='define'
 d_socklen_t='define'
 d_sockpair='define'
 d_socks5_init='undef'
 d_sqrtl='define'
 d_srand48_r='undef'
 d_srandom_r='undef'
 d_sresgproto='undef'
 d_sresuproto='undef'
 d_stat='define'
 d_statblks='define'
 d_statfs_f_flags='define'
 d_statfs_s='define'
 d_static_inline='define'
 d_statvfs='define'
 d_stdio_cnt_lval='undef'
 d_stdio_ptr_lval='undef'
 d_stdio_ptr_lval_nochange_cnt='undef'
 d_stdio_ptr_lval_sets_cnt='undef'
 d_stdio_stream_array='undef'
 d_stdiobase='undef'
 d_stdstdio='undef'
 d_strcoll='define'
 d_strerror_l='undef'
 d_strerror_r='define'
 d_strftime='define'
 d_strlcat='define'
 d_strlcpy='define'
 d_strnlen='define'
 d_strtod='define'
 d_strtod_l='define'
 d_strtol='define'
 d_strtold='define'
 d_strtold_l='define'
 d_strtoll='define'
 d_strtoq='define'
 d_strtoul='define'
 d_strtoull='define'
 d_strtouq='define'
 d_strxfrm='define'
 d_suidsafe='undef'
 d_symlink='define'
 d_syscall='define'
 d_syscallproto='define'
 d_sysconf='define'
 d_sysernlst=''
 d_syserrlst='define'
 d_system='define'
 d_tcgetpgrp='define'
 d_tcsetpgrp='define'
 d_telldir='define'
 d_telldirproto='define'
 d_tgamma='define'
 d_thread_safe_nl_langinfo_l='undef'
 d_time='define'
 d_timegm='define'
 d_times='define'
 d_tm_tm_gmtoff='define'
 d_tm_tm_zone='define'
 d_tmpnam_r='undef'
 d_trunc='define'
 d_truncate='define'
 d_truncl='define'
 d_ttyname_r='define'
 d_tzname='define'
 d_u32align='define'
 d_ualarm='define'
 d_umask='define'
 d_uname='define'
 d_union_semun='define'
 d_unlinkat='define'
 d_unordered='undef'
 d_unsetenv='define'
 d_uselocale='define'
 d_usleep='define'
 d_usleepproto='define'
 d_ustat='undef'
 d_vendorarch='define'
 d_vendorbin='define'
 d_vendorlib='define'
 d_vendorscript='define'
 d_vfork='define'
 d_void_closedir='undef'
 d_voidsig='define'
 d_voidtty=''
 d_vsnprintf='define'
 d_wait4='define'
 d_waitpid='define'
 d_wcscmp='define'
 d_wcstombs='define'
 d_wcsxfrm='define'
 d_wctomb='define'
 d_writev='define'
 d_xenix='undef'
 date='date'
 db_hashtype='int'
 db_prefixtype='int'
 db_version_major='1'
 db_version_minor='0'
 db_version_patch='0'
 default_inc_excludes_dot='define'
 direntrytype='struct dirent'
 dlext='bundle'
 dlsrc='dl_dlopen.xs'
 doubleinfbytes='0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x7f'
 doublekind='3'
 doublemantbits='52'
 doublenanbytes='0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x7f'
 doublesize='8'
 drand01='Perl_drand48()'
 drand48_r_proto='0'
 dtrace=''
 dtraceobject=''
 dtracexnolibs=''
 dynamic_ext='B Compress/Raw/Bzip2 Compress/Raw/Zlib Cwd DB_File
 Data/Dumper Devel/PPPort Devel/Peek Digest/MD5 Digest/SHA Encode Fcntl
 File/DosGlob File/Glob Filter/Util/Call GDBM_File Hash/Util
 Hash/Util/FieldHash I18N/Langinfo IO IPC/SysV List/Util MIME/Base64
 Math/BigInt/FastCalc NDBM_File Opcode POSIX PerlIO/encoding PerlIO/mmap
 PerlIO/scalar PerlIO/via SDBM_File Socket Storable Sys/Hostname Sys/Syslog
 Tie/Hash/NamedCapture Time/HiRes Time/Piece Unicode/Collate
 Unicode/Normalize XS/APItest XS/Typemap arybase attributes mro re threads
 threads/shared'
 eagain='EAGAIN'
 ebcdic='undef'
 echo='echo'
 egrep='egrep'
 emacs=''
 endgrent_r_proto='0'
 endhostent_r_proto='0'
 endnetent_r_proto='0'
 endprotoent_r_proto='0'
 endpwent_r_proto='0'
 endservent_r_proto='0'
 eunicefix=':'
 exe_ext=''
 expr='expr'
 extensions='B Compress/Raw/Bzip2 Compress/Raw/Zlib Cwd DB_File Data/Dumper
 Devel/PPPort Devel/Peek Digest/MD5 Digest/SHA Encode Fcntl File/DosGlob
 File/Glob Filter/Util/Call GDBM_File Hash/Util Hash/Util/FieldHash
 I18N/Langinfo IO IPC/SysV List/Util MIME/Base64 Math/BigInt/FastCalc
 NDBM_File Opcode POSIX PerlIO/encoding PerlIO/mmap PerlIO/scalar
 PerlIO/via SDBM_File Socket Storable Sys/Hostname Sys/Syslog
 Tie/Hash/NamedCapture Time/HiRes Time/Piece Unicode/Collate
 Unicode/Normalize XS/APItest XS/Typemap arybase attributes mro re threads
 threads/shared Archive/Tar Attribute/Handlers AutoLoader B/Debug CPAN
 CPAN/Meta CPAN/Meta/Requirements CPAN/Meta/YAML Carp Config/Perl/V
 Devel/SelfStubber Digest Dumpvalue Env Errno Exporter ExtUtils/CBuilder
 ExtUtils/Constant ExtUtils/Install ExtUtils/MakeMaker ExtUtils/Manifest
 ExtUtils/Miniperl ExtUtils/ParseXS File/Fetch File/Find File/Path
 File/Temp FileCache Filter/Simple Getopt/Long HTTP/Tiny I18N/Collate
 I18N/LangTags IO/Compress IO/Socket/IP IO/Zlib IPC/Cmd IPC/Open3 JSON/PP
 Locale/Codes Locale/Maketext Locale/Maketext/Simple Math/BigInt
 Math/BigRat Math/Complex Memoize Module/CoreList Module/Load
 Module/Load/Conditional Module/Loaded Module/Metadata NEXT Net/Ping
 Params/Check Perl/OSType PerlIO/via/QuotedPrint Pod/Checker Pod/Escapes
 Pod/Functions Pod/Html Pod/Parser Pod/Perldoc Pod/Simple Pod/Usage Safe
 Search/Dict SelfLoader Term/ANSIColor Term/Cap Term/Complete Term/ReadLine
 Test Test/Harness Test/Simple Text/Abbrev Text/Balanced Text/ParseWords
 Text/Tabs Thread/Queue Thread/Semaphore Tie/File Tie/Memoize Tie/RefHash
 Time/Local XSLoader autodie autouse base bignum constant encoding/warnings
 experimental if lib libnet parent perlfaq podlators version'
 extern_C='extern'
 extras=''
 fflushNULL='define'
 fflushall='undef'
 find=''
 firstmakefile='GNUmakefile'
 flex=''
 fpossize='8'
 fpostype='fpos_t'
 freetype='void'
 from=':'
 full_ar='/usr/bin/ar'
 full_csh='/bin/csh'
 full_sed='/usr/bin/sed'
 gccansipedantic=''
 gccosandvers=''
 gccversion='Apple LLVM 12.0.0 (clang-1200.0.32.27)'
 getgrent_r_proto='0'
 getgrgid_r_proto='REENTRANT_PROTO_I_TSBWR'
 getgrnam_r_proto='REENTRANT_PROTO_I_CSBWR'
 gethostbyaddr_r_proto='0'
 gethostbyname_r_proto='0'
 gethostent_r_proto='0'
 getlogin_r_proto='REENTRANT_PROTO_I_BW'
 getnetbyaddr_r_proto='0'
 getnetbyname_r_proto='0'
 getnetent_r_proto='0'
 getprotobyname_r_proto='0'
 getprotobynumber_r_proto='0'
 getprotoent_r_proto='0'
 getpwent_r_proto='0'
 getpwnam_r_proto='REENTRANT_PROTO_I_CSBWR'
 getpwuid_r_proto='REENTRANT_PROTO_I_TSBWR'
 getservbyname_r_proto='0'
 getservbyport_r_proto='0'
 getservent_r_proto='0'
 getspnam_r_proto='0'
 gidformat='"u"'
 gidsign='1'
 gidsize='4'
 gidtype='gid_t'
 glibpth='/usr/shlib  /lib /usr/lib /usr/lib/386 /lib/386 /usr/ccs/lib
 /usr/ucblib '
 gmake='gmake'
 gmtime_r_proto='REENTRANT_PROTO_S_TS'
 gnulibc_version=''
 grep='grep'
 groupcat='cat /etc/group'
 groupstype='gid_t'
 gzip='gzip'
 h_fcntl='false'
 h_sysfile='true'
 hint='recommended'
 hostcat='cat /etc/hosts'
 hostgenerate=''
 hostosname=''
 hostperl=''
 html1dir=' '
 html1direxp=''
 html3dir=' '
 html3direxp=''
 i16size='2'
 i16type='short'
 i32size='4'
 i32type='int'
 i64size='8'
 i64type='long'
 i8size='1'
 i8type='signed char'
 i_arpainet='define'
 i_bfd='undef'
 i_bsdioctl=''
 i_crypt='undef'
 i_db='define'
 i_dbm='undef'
 i_dirent='define'
 i_dlfcn='define'
 i_execinfo='define'
 i_fcntl='undef'
 i_fenv='define'
 i_fp='undef'
 i_fp_class='undef'
 i_gdbm='define'
 i_gdbm_ndbm='undef'
 i_gdbmndbm='undef'
 i_grp='define'
 i_ieeefp='undef'
 i_inttypes='define'
 i_langinfo='define'
 i_libutil='undef'
 i_limits='define'
 i_locale='define'
 i_machcthr='undef'
 i_malloc='undef'
 i_mallocmalloc='define'
 i_mntent='undef'
 i_ndbm='define'
 i_netdb='define'
 i_neterrno='undef'
 i_netinettcp='define'
 i_niin='define'
 i_poll='undef'
 i_prot='undef'
 i_pthread='define'
 i_pwd='define'
 i_quadmath='undef'
 i_rpcsvcdbm='undef'
 i_sgtty='undef'
 i_shadow='undef'
 i_socks='undef'
 i_stdbool='define'
 i_stdint='define'
 i_stdlib='define'
 i_string='define'
 i_sunmath='undef'
 i_sysaccess='undef'
 i_sysdir='define'
 i_sysfile='define'
 i_sysfilio='define'
 i_sysin='undef'
 i_sysioctl='define'
 i_syslog='define'
 i_sysmman='define'
 i_sysmode='undef'
 i_sysmount='define'
 i_sysndir='undef'
 i_sysparam='define'
 i_syspoll='define'
 i_sysresrc='define'
 i_syssecrt='undef'
 i_sysselct='define'
 i_syssockio='define'
 i_sysstat='define'
 i_sysstatfs='undef'
 i_sysstatvfs='define'
 i_systime='define'
 i_systimek='undef'
 i_systimes='define'
 i_systypes='define'
 i_sysuio='define'
 i_sysun='define'
 i_sysutsname='define'
 i_sysvfs='undef'
 i_syswait='define'
 i_termio='undef'
 i_termios='define'
 i_time='define'
 i_unistd='define'
 i_ustat='undef'
 i_utime='define'
 i_vfork='undef'
 i_wchar='define'
 i_xlocale='define'
 ignore_versioned_solibs=''
 inc_version_list=' '
 inc_version_list_init='0'
 incpath=''
 incpth='/opt/local/include
 /Library/Developer/CommandLineTools/usr/lib/clang/12.0.0/include
 /Library/Developer/CommandLineTools/SDKs/MacOSX11.0.sdk/usr/include
 /Library/Developer/CommandLineTools/usr/include'
 inews=''
 initialinstalllocation='/opt/local/bin'
 installarchlib='/opt/local/lib/perl5/5.28/darwin-thread-multi-2level'
 installbin='/opt/local/bin'
 installhtml1dir=''
 installhtml3dir=''
 installman1dir='/opt/local/share/man/man1p'
 installman3dir='/opt/local/share/man/man3p'
 installprefix='/opt/local'
 installprefixexp='/opt/local'
 installprivlib='/opt/local/lib/perl5/5.28'
 installscript='/opt/local/bin'
 installsitearch='/opt/local/lib/perl5/site_perl/5.28/darwin-thread-multi-
 2level'
 installsitebin='/opt/local/libexec/perl5.28/sitebin'
 installsitehtml1dir=''
 installsitehtml3dir=''
 installsitelib='/opt/local/lib/perl5/site_perl/5.28'
 installsiteman1dir='/opt/local/share/perl5.28/siteman/man1'
 installsiteman3dir='/opt/local/share/perl5.28/siteman/man3'
 installsitescript='/opt/local/libexec/perl5.28/sitebin'
 installstyle='lib/perl5'
 installusrbinperl='undef'
 installvendorarch='/opt/local/lib/perl5/vendor_perl/5.28/darwin-thread-
 multi-2level'
 installvendorbin='/opt/local/libexec/perl5.28'
 installvendorhtml1dir=''
 installvendorhtml3dir=''
 installvendorlib='/opt/local/lib/perl5/vendor_perl/5.28'
 installvendorman1dir='/opt/local/share/perl5.28/man/man1'
 installvendorman3dir='/opt/local/share/perl5.28/man/man3'
 installvendorscript='/opt/local/libexec/perl5.28'
 intsize='4'
 issymlink='test -h'
 ivdformat='"ld"'
 ivsize='8'
 ivtype='long'
 known_extensions='Amiga/ARexx Amiga/Exec Archive/Tar Attribute/Handlers
 AutoLoader B B/Debug CPAN CPAN/Meta CPAN/Meta/Requirements CPAN/Meta/YAML
 Carp Compress/Raw/Bzip2 Compress/Raw/Zlib Config/Perl/V Cwd DB_File
 Data/Dumper Devel/PPPort Devel/Peek Devel/SelfStubber Digest Digest/MD5
 Digest/SHA Dumpvalue Encode Env Errno Exporter ExtUtils/CBuilder
 ExtUtils/Constant ExtUtils/Install ExtUtils/MakeMaker ExtUtils/Manifest
 ExtUtils/Miniperl ExtUtils/ParseXS Fcntl File/DosGlob File/Fetch File/Find
 File/Glob File/Path File/Temp FileCache Filter/Simple Filter/Util/Call
 GDBM_File Getopt/Long HTTP/Tiny Hash/Util Hash/Util/FieldHash I18N/Collate
 I18N/LangTags I18N/Langinfo IO IO/Compress IO/Socket/IP IO/Zlib IPC/Cmd
 IPC/Open3 IPC/SysV JSON/PP List/Util Locale/Codes Locale/Maketext
 Locale/Maketext/Simple MIME/Base64 Math/BigInt Math/BigInt/FastCalc
 Math/BigRat Math/Complex Memoize Module/CoreList Module/Load
 Module/Load/Conditional Module/Loaded Module/Metadata NDBM_File NEXT
 Net/Ping ODBM_File Opcode POSIX Params/Check Perl/OSType PerlIO/encoding
 PerlIO/mmap PerlIO/scalar PerlIO/via PerlIO/via/QuotedPrint Pod/Checker
 Pod/Escapes Pod/Functions Pod/Html Pod/Parser Pod/Perldoc Pod/Simple
 Pod/Usage SDBM_File Safe Search/Dict SelfLoader Socket Storable
 Sys/Hostname Sys/Syslog Term/ANSIColor Term/Cap Term/Complete
 Term/ReadLine Test Test/Harness Test/Simple Text/Abbrev Text/Balanced
 Text/ParseWords Text/Tabs Thread/Queue Thread/Semaphore Tie/File
 Tie/Hash/NamedCapture Tie/Memoize Tie/RefHash Time/HiRes Time/Local
 Time/Piece Unicode/Collate Unicode/Normalize VMS/DCLsym VMS/Filespec
 VMS/Stdio Win32 Win32API/File Win32CORE XS/APItest XS/Typemap XSLoader
 arybase attributes autodie autouse base bignum constant encoding/warnings
 experimental if lib libnet mro parent perlfaq podlators re threads
 threads/shared version '
 ksh=''
 ld='/usr/bin/clang'
 ld_can_script='undef'
 lddlflags=' -mmacosx-version-min=10.16 -bundle -undefined dynamic_lookup
 -L/opt/local/lib -Wl,-headerpad_max_install_names
 -Wl,-syslibroot,/Library/Developer/CommandLineTools/SDKs/MacOSX11.0.sdk
 -fstack-protector-strong'
 ldflags=' -mmacosx-version-min=10.16 -L/opt/local/lib
 -Wl,-headerpad_max_install_names
 -Wl,-syslibroot,/Library/Developer/CommandLineTools/SDKs/MacOSX11.0.sdk
 -fstack-protector-strong'
 ldflags_uselargefiles=''
 ldlibpthname='DYLD_LIBRARY_PATH'
 less='less'
 lib_ext='.a'
 libc=''
 libperl='libperl.dylib'
 libpth='/opt/local/lib
 /Library/Developer/CommandLineTools/usr/lib/clang/12.0.0/lib
 /Library/Developer/CommandLineTools/SDKs/MacOSX11.0.sdk/usr/lib
 /Library/Developer/CommandLineTools/usr/lib /usr/lib'
 libs='-lgdbm'
 libsdirs=' /opt/local/lib'
 libsfiles=' libgdbm.6.dylib'
 libsfound=' /opt/local/lib/libgdbm.6.dylib'
 libspath=' /opt/local/lib
 /Library/Developer/CommandLineTools/usr/lib/clang/12.0.0/lib
 /Library/Developer/CommandLineTools/SDKs/MacOSX11.0.sdk/usr/lib
 /Library/Developer/CommandLineTools/usr/lib /usr/lib'
 libswanted='pthread socket inet nsl ndbm gdbm dbm db malloc dl ld sun m
 crypt sec util c cposix posix ucb bsd BSD'
 libswanted_uselargefiles=''
 line=''
 lint=''
 lkflags=''
 ln='ln'
 lns='/bin/ln -s'
 localtime_r_proto='REENTRANT_PROTO_S_TS'
 locincpth='/opt/local/include /usr/gnu/include /opt/gnu/include
 /usr/GNU/include /opt/GNU/include'
 loclibpth='/opt/local/lib /usr/gnu/lib /opt/gnu/lib /usr/GNU/lib
 /opt/GNU/lib'
 longdblinfbytes='0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x7f'
 longdblkind='0'
 longdblmantbits='52'
 longdblnanbytes='0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x7f'
 longdblsize='8'
 longlongsize='8'
 longsize='8'
 lp=''
 lpr=''
 ls='ls'
 lseeksize='8'
 lseektype='off_t'
 mail=''
 mailx=''
 make='make'
 make_set_make='#'
 malloc_cflags='ccflags="-DUSE_PERL_SBRK -DPERL_SBRK_VIA_MALLOC $ccflags"'
 mallocobj=''
 mallocsrc=''
 malloctype='void *'
 man1dir='/opt/local/share/man/man1p'
 man1direxp='/opt/local/share/man/man1p'
 man1ext='1pm'
 man3dir='/opt/local/share/man/man3p'
 man3direxp='/opt/local/share/man/man3p'
 man3ext='3pm'
 mips_type=''
 mistrustnm=''
 mkdir='mkdir'
 mmaptype='void *'
 modetype='mode_t'
 more='more'
 multiarch='define'
 mv=''
 myarchname='arm64-darwin'
 mydomain='.local'
 myhostname='bigsura'
 myuname='darwin bigsura.local 20.1.0 darwin kernel version 20.1.0: sat oct
 31 00:07:18 pdt 2020; root:xnu-7195.50.7~2release_arm64_t8020 arm64 '
 n=''
 need_va_copy='undef'
 netdb_hlen_type='size_t'
 netdb_host_type='char *'
 netdb_name_type='const char *'
 netdb_net_type='in_addr_t'
 nm='nm'
 nm_opt=''
 nm_so_opt=''
 nonxs_ext='Archive/Tar Attribute/Handlers AutoLoader B/Debug CPAN
 CPAN/Meta CPAN/Meta/Requirements CPAN/Meta/YAML Carp Config/Perl/V
 Devel/SelfStubber Digest Dumpvalue Env Errno Exporter ExtUtils/CBuilder
 ExtUtils/Constant ExtUtils/Install ExtUtils/MakeMaker ExtUtils/Manifest
 ExtUtils/Miniperl ExtUtils/ParseXS File/Fetch File/Find File/Path
 File/Temp FileCache Filter/Simple Getopt/Long HTTP/Tiny I18N/Collate
 I18N/LangTags IO/Compress IO/Socket/IP IO/Zlib IPC/Cmd IPC/Open3 JSON/PP
 Locale/Codes Locale/Maketext Locale/Maketext/Simple Math/BigInt
 Math/BigRat Math/Complex Memoize Module/CoreList Module/Load
 Module/Load/Conditional Module/Loaded Module/Metadata NEXT Net/Ping
 Params/Check Perl/OSType PerlIO/via/QuotedPrint Pod/Checker Pod/Escapes
 Pod/Functions Pod/Html Pod/Parser Pod/Perldoc Pod/Simple Pod/Usage Safe
 Search/Dict SelfLoader Term/ANSIColor Term/Cap Term/Complete Term/ReadLine
 Test Test/Harness Test/Simple Text/Abbrev Text/Balanced Text/ParseWords
 Text/Tabs Thread/Queue Thread/Semaphore Tie/File Tie/Memoize Tie/RefHash
 Time/Local XSLoader autodie autouse base bignum constant encoding/warnings
 experimental if lib libnet parent perlfaq podlators version'
 nroff='nroff'
 nvEUformat='"E"'
 nvFUformat='"F"'
 nvGUformat='"G"'
 nv_overflows_integers_at='256.0*256.0*256.0*256.0*256.0*256.0*2.0*2.0*2.0*2.0*2.0'
 nv_preserves_uv_bits='53'
 nveformat='"e"'
 nvfformat='"f"'
 nvgformat='"g"'
 nvmantbits='52'
 nvsize='8'
 nvtype='double'
 o_nonblock='O_NONBLOCK'
 obj_ext='.o'
 old_pthread_create_joinable=''
 optimize='-O3'
 orderlib='false'
 osname='darwin'
 osvers='20.1.0'
 otherlibdirs=' '
 package='perl5'
 pager='/usr/bin/less -sR'
 passcat='cat /etc/passwd'
 patchlevel='28'
 path_sep=':'
 perl='perl'
 perl5='/usr/bin/perl'
 perl_patchlevel=''
 perl_revision='5'
 perl_static_inline='static __inline__'
 perl_subversion='3'
 perl_version='28'
 perladmin='root at bigsura.local'
 perllibs=''
 perlpath='/opt/local/bin/perl5.28'
 pg='pg'
 phostname='hostname'
 pidtype='pid_t'
 plibpth=''
 pmake=''
 pr=''
 prefix='/opt/local'
 prefixexp='/opt/local'
 privlib='/opt/local/lib/perl5/5.28'
 privlibexp='/opt/local/lib/perl5/5.28'
 procselfexe=''
 prototype='define'
 ptrsize='8'
 quadkind='2'
 quadtype='long'
 randbits='48'
 randfunc='Perl_drand48'
 random_r_proto='0'
 randseedtype='U32'
 ranlib='ranlib'
 rd_nodata='-1'
 readdir64_r_proto='0'
 readdir_r_proto='REENTRANT_PROTO_I_TSR'
 revision='5'
 rm='rm'
 rm_try='/bin/rm -f try try a.out .out try.[cho] try..o core core.try*
 try.core*'
 rmail=''
 run=''
 runnm='false'
 sGMTIME_max='67768036191676799'
 sGMTIME_min='-62167219200'
 sLOCALTIME_max='67768036191676799'
 sLOCALTIME_min='-62167219200'
 sPRIEUldbl='"E"'
 sPRIFUldbl='"F"'
 sPRIGUldbl='"G"'
 sPRIXU64='"lX"'
 sPRId64='"ld"'
 sPRIeldbl='"e"'
 sPRIfldbl='"f"'
 sPRIgldbl='"g"'
 sPRIi64='"li"'
 sPRIo64='"lo"'
 sPRIu64='"lu"'
 sPRIx64='"lx"'
 sSCNfldbl='"f"'
 sched_yield='sched_yield()'
 scriptdir='/opt/local/bin'
 scriptdirexp='/opt/local/bin'
 sed='sed'
 seedfunc='Perl_drand48_init'
 selectminbits='32'
 selecttype='fd_set *'
 sendmail=''
 setgrent_r_proto='0'
 sethostent_r_proto='0'
 setlocale_r_proto='0'
 setnetent_r_proto='0'
 setprotoent_r_proto='0'
 setpwent_r_proto='0'
 setservent_r_proto='0'
 sh='/bin/sh'
 shar=''
 sharpbang='#!'
 shmattype='void *'
 shortsize='2'
 shrpenv='env LD_RUN_PATH=/opt/local/lib/perl5/5.28/darwin-thread-multi-
 2level/CORE'
 shsharp='true'
 sig_count='32'
 sig_name='ZERO HUP INT QUIT ILL TRAP ABRT EMT FPE KILL BUS SEGV SYS PIPE
 ALRM TERM URG STOP TSTP CONT CHLD TTIN TTOU IO XCPU XFSZ VTALRM PROF WINCH
 INFO USR1 USR2 IOT '
 sig_name_init='"ZERO", "HUP", "INT", "QUIT", "ILL", "TRAP", "ABRT", "EMT",
 "FPE", "KILL", "BUS", "SEGV", "SYS", "PIPE", "ALRM", "TERM", "URG",
 "STOP", "TSTP", "CONT", "CHLD", "TTIN", "TTOU", "IO", "XCPU", "XFSZ",
 "VTALRM", "PROF", "WINCH", "INFO", "USR1", "USR2", "IOT", 0'
 sig_num='0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
 25 26 27 28 29 30 31 6 '
 sig_num_init='0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 6, 0'
 sig_size='33'
 signal_t='void'
 sitearch='/opt/local/lib/perl5/site_perl/5.28/darwin-thread-multi-2level'
 sitearchexp='/opt/local/lib/perl5/site_perl/5.28/darwin-thread-multi-
 2level'
 sitebin='/opt/local/libexec/perl5.28/sitebin'
 sitebinexp='/opt/local/libexec/perl5.28/sitebin'
 sitehtml1dir=''
 sitehtml1direxp=''
 sitehtml3dir=''
 sitehtml3direxp=''
 sitelib='/opt/local/lib/perl5/site_perl/5.28'
 sitelib_stem='/opt/local/lib/perl5/site_perl/5.28'
 sitelibexp='/opt/local/lib/perl5/site_perl/5.28'
 siteman1dir='/opt/local/share/perl5.28/siteman/man1'
 siteman1direxp='/opt/local/share/perl5.28/siteman/man1'
 siteman3dir='/opt/local/share/perl5.28/siteman/man3'
 siteman3direxp='/opt/local/share/perl5.28/siteman/man3'
 siteprefix='/opt/local'
 siteprefixexp='/opt/local'
 sitescript='/opt/local/libexec/perl5.28/sitebin'
 sitescriptexp='/opt/local/libexec/perl5.28/sitebin'
 sizesize='8'
 sizetype='size_t'
 sleep=''
 smail=''
 so='dylib'
 sockethdr=''
 socketlib=''
 socksizetype='socklen_t'
 sort='sort'
 spackage='Perl5'
 spitshell='cat'
 srand48_r_proto='0'
 srandom_r_proto='0'
 src='.'
 ssizetype='ssize_t'
 st_ino_sign='1'
 st_ino_size='8'
 startperl='#!/opt/local/bin/perl5.28'
 startsh='#!/bin/sh'
 static_ext=' '
 stdchar='char'
 stdio_base='((fp)->_ub._base ? (fp)->_ub._base : (fp)->_bf._base)'
 stdio_bufsiz='((fp)->_ub._base ? (fp)->_ub._size : (fp)->_bf._size)'
 stdio_cnt='((fp)->_r)'
 stdio_filbuf=''
 stdio_ptr='((fp)->_p)'
 stdio_stream_array=''
 strerror_r_proto='REENTRANT_PROTO_I_IBW'
 submit=''
 subversion='3'
 sysman='/usr/share/man/man1'
 sysroot=''
 tail=''
 tar=''
 targetarch=''
 targetdir=''
 targetenv=''
 targethost=''
 targetmkdir=''
 targetport=''
 targetsh='/bin/sh'
 tbl=''
 tee=''
 test='test'
 timeincl='/Library/Developer/CommandLineTools/SDKs/MacOSX11.0.sdk/usr/include/sys/time.h
 '
 timetype='time_t'
 tmpnam_r_proto='0'
 to=':'
 touch='touch'
 tr='tr'
 trnl='\n'
 troff=''
 ttyname_r_proto='REENTRANT_PROTO_I_IBW'
 u16size='2'
 u16type='unsigned short'
 u32size='4'
 u32type='unsigned int'
 u64size='8'
 u64type='unsigned long'
 u8size='1'
 u8type='unsigned char'
 uidformat='"u"'
 uidsign='1'
 uidsize='4'
 uidtype='uid_t'
 uname='uname'
 uniq='uniq'
 uquadtype='unsigned long'
 use5005threads='undef'
 use64bitall='define'
 use64bitint='define'
 usecbacktrace='undef'
 usecrosscompile='undef'
 usedevel='undef'
 usedl='define'
 usedtrace='undef'
 usefaststdio='undef'
 useithreads='define'
 usekernprocpathname='undef'
 uselanginfo='true'
 uselargefiles='define'
 uselongdouble='undef'
 usemallocwrap='define'
 usemorebits='undef'
 usemultiplicity='define'
 usemymalloc='n'
 usenm='false'
 usensgetexecutablepath='define'
 useopcode='true'
 useperlio='define'
 useposix='true'
 usequadmath='undef'
 usereentrant='define'
 userelocatableinc='undef'
 useshrplib='true'
 usesitecustomize='undef'
 usesocks='undef'
 usethreads='define'
 usevendorprefix='define'
 useversionedarchname='undef'
 usevfork='true'
 usrinc='/usr/include'
 uuname=''
 uvXUformat='"lX"'
 uvoformat='"lo"'
 uvsize='8'
 uvtype='unsigned long'
 uvuformat='"lu"'
 uvxformat='"lx"'
 vendorarch='/opt/local/lib/perl5/vendor_perl/5.28/darwin-thread-multi-
 2level'
 vendorarchexp='/opt/local/lib/perl5/vendor_perl/5.28/darwin-thread-multi-
 2level'
 vendorbin='/opt/local/libexec/perl5.28'
 vendorbinexp='/opt/local/libexec/perl5.28'
 vendorhtml1dir=' '
 vendorhtml1direxp=''
 vendorhtml3dir=' '
 vendorhtml3direxp=''
 vendorlib='/opt/local/lib/perl5/vendor_perl/5.28'
 vendorlib_stem='/opt/local/lib/perl5/vendor_perl/5.28'
 vendorlibexp='/opt/local/lib/perl5/vendor_perl/5.28'
 vendorman1dir='/opt/local/share/perl5.28/man/man1'
 vendorman1direxp='/opt/local/share/perl5.28/man/man1'
 vendorman3dir='/opt/local/share/perl5.28/man/man3'
 vendorman3direxp='/opt/local/share/perl5.28/man/man3'
 vendorprefix='/opt/local'
 vendorprefixexp='/opt/local'
 vendorscript='/opt/local/libexec/perl5.28'
 vendorscriptexp='/opt/local/libexec/perl5.28'
 version='5.28.3'
 version_patchlevel_string='version 28 subversion 3'
 versiononly='undef'
 vi=''
 xlibpth='/usr/lib/386 /lib/386'
 yacc='yacc'
 yaccflags=''
 zcat=''
 zip='zip'
 !END!

 my $i = ord(8);
 foreach my $c (7,6,5,4,3,2,1) { $i <<= 8; $i |= ord($c); }
 our $byteorder = join('', unpack('aaaaaaaa', pack('L!', $i)));
 s/(byteorder=)(['"]).*?\2/$1$2$Config::byteorder$2/m;

 my $config_sh_len = length $_;

 our $Config_SH_expanded = "\n$_" . << 'EOVIRTUAL';
 ccflags_nolargefiles='-fno-common -DPERL_DARWIN -mmacosx-version-min=10.16
 -pipe -Os -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX11.0.sdk
 -fno-strict-aliasing -fstack-protector-strong -I/opt/local/include
 -DPERL_USE_SAFE_PUTENV'
 ldflags_nolargefiles=' -mmacosx-version-min=10.16 -L/opt/local/lib
 -Wl,-headerpad_max_install_names
 -Wl,-syslibroot,/Library/Developer/CommandLineTools/SDKs/MacOSX11.0.sdk
 -fstack-protector-strong'
 libs_nolargefiles='-lgdbm'
 libswanted_nolargefiles='pthread socket inet nsl ndbm gdbm dbm db malloc
 dl ld sun m crypt sec util c cposix posix ucb bsd BSD'
 ccwarnflags=' -Wall -Werror=declaration-after-statement -Werror=pointer-
 arith -Wextra -Wc++-compat -Wwrite-strings'
 ccstdflags=' -std=c89'
 EOVIRTUAL
 eval {
         # do not have hairy conniptions if this isnt available
         require 'Config_git.pl';
         $Config_SH_expanded .= $Config::Git_Data;
         1;
 } or warn "Warning: failed to load Config_git.pl, something strange about
 this perl...\n";

 # Search for it in the big string
 sub fetch_string {
     my($self, $key) = @_;

     return undef unless $Config_SH_expanded =~ /\n$key=\'(.*?)\'\n/s;
     # So we can say "if $Config{'foo'}".
     $self->{$key} = $1 eq 'undef' ? undef : $1;
 }

 my $prevpos = 0;

 sub FIRSTKEY {
     $prevpos = 0;
     substr($Config_SH_expanded, 1, index($Config_SH_expanded, '=') - 1 );
 }

 sub NEXTKEY {
     my $pos = index($Config_SH_expanded, qq('\n), $prevpos) + 2;
     my $len = index($Config_SH_expanded, "=", $pos) - $pos;
     $prevpos = $pos;
     $len > 0 ? substr($Config_SH_expanded, $pos, $len) : undef;
 }

 sub EXISTS {
     return 1 if exists($_[0]->{$_[1]});

     return(index($Config_SH_expanded, "\n$_[1]='") != -1
           );
 }

 sub STORE  { die "\%Config::Config is read-only\n" }
 *DELETE = *CLEAR = \*STORE; # Typeglob aliasing uses less space

 sub config_sh {
     substr $Config_SH_expanded, 1, $config_sh_len;
 }

 sub config_re {
     my $re = shift;
     return map { chomp; $_ } grep eval{ /^(?:$re)=/ }, split /^/,
     $Config_SH_expanded;
 }

 sub config_vars {
     # implements -V:cfgvar option (see perlrun -V:)
     foreach (@_) {
         # find optional leading, trailing colons; and query-spec
         my ($notag,$qry,$lncont) = m/^(:)?(.*?)(:)?$/;  # flags fore and
 aft,
         # map colon-flags to print decorations
         my $prfx = $notag ? '': "$qry=";                # tag-prefix for
 print
         my $lnend = $lncont ? ' ' : ";\n";              # line ending for
 print

         # all config-vars are by definition \w only, any \W means regex
         if ($qry =~ /\W/) {
             my @matches = config_re($qry);
             print map "$_$lnend", @matches ? @matches : "$qry: not found"
 if !$notag;
             print map { s/\w+=//; "$_$lnend" } @matches ? @matches :
 "$qry: not found"  if  $notag;
         } else {
             my $v = (exists $Config::Config{$qry}) ? $Config::Config{$qry}
                                                    : 'UNKNOWN';
             $v = 'undef' unless defined $v;
             print "${prfx}'${v}'$lnend";
         }
     }
 }

 # Called by the real AUTOLOAD
 sub launcher {
     undef &AUTOLOAD;
     goto \&$Config::AUTOLOAD;
 }

 1;
 }}}

-- 
Ticket URL: <https://trac.macports.org/ticket/62440#comment:6>
MacPorts <https://www.macports.org/>
Ports system for macOS


More information about the macports-tickets mailing list