http://qs1969.pair.com?node_id=11149396


in reply to Perl::Dist::APPerl - Actually Portable Perl

This is revolutionary! Download one 24mb file and you have the latest Perl, with no installation or compilation, that runs on Unix, Linux, Mac and Windows. All you have to do is chmod +x. Now all we need is a web tool that compiles selected CPAN modules into custom perl.com binaries on the fly for those who don't have Linux. Imagine that on the official Perl site, or the CPAN!

"BUILDING AN APPLICATION FROM SCRATCH

If your application requires non-standard C or XS extensions, APPerl must be built from scratch as it does not support dynamic libraries, only static linking. Note, this process can only be completed on Linux as building the Cosmopolitan Libc from scratch is only supported on Linux and APPerl uses the unix-like Configure to configure perl."--Perl::Dist::APPerl

From the full release of APPerl, perl v5.36.0 built with all default modules and C extensions (https://computoid.com/APPerl/):

> perl.com -v This is perl 5, version 36, subversion 0 (v5.36.0) built for x86_64-co +smo (with 3 registered patches, see perl -V for more detail) Copyright 1987-2022, Larry Wall ...
Details:
> perl.com -V Summary of my perl5 (revision 5 version 36 subversion 0) configuration +: Commit id: b22da6b83c37604132694ead0bdcf61690f74a53 Platform: osname=cosmo osvers= archname=x86_64-cosmo uname='linux fv-az28-460 5.15.0-1023-azure #29~20.04.1-ubuntu smp +wed oct 26 19:18:25 utc 2022 x86_64 x86_64 x86_64 gnulinux ' config_args='-Dprefix=/zip -Uversiononly -Dmyhostname=cosmo -Dmydo +main=invalid -Doptimize=-Os -de -Dcf_by=Gavin Hayes -Dcf_email=gavin@ +computoid.com' hint=recommended useposix=true d_sigaction=define useithreads=undef usemultiplicity=undef use64bitint=define use64bitall=define uselongdouble=undef usemymalloc=n default_inc_excludes_dot=define Compiler: cc='/home/runner/work/Perl-Dist-APPerl/Perl-Dist-APPerl/cosmopolit +an/o/third_party/gcc/bin/x86_64-linux-musl-gcc' ccflags ='-static -nostdlib -nostdinc -fno-pie -no-pie -mno-red-zo +ne -fno-omit-frame-pointer -fno-stack-protector -pg -mnop-mcount -mno +-tls-direct-seg-refs -I /home/runner/work/Perl-Dist-APPerl/Perl-Dist- +APPerl/cosmopolitan -include /home/runner/work/Perl-Dist-APPerl/Perl- +Dist-APPerl/cosmopolitan/libc/integral/normalize.inc -isystem /home/r +unner/work/Perl-Dist-APPerl/Perl-Dist-APPerl/cosmopolitan/libc/isyste +m -fwrapv -fno-strict-aliasing -pipe -D_FORTIFY_SOURCE=2' optimize='-Os' cppflags='-nostdinc -fno-pie -no-pie -mno-red-zone -fno-omit-frame +-pointer -fno-stack-protector -pg -mnop-mcount -mno-tls-direct-seg-re +fs -I /home/runner/work/Perl-Dist-APPerl/Perl-Dist-APPerl/cosmopolita +n -include /home/runner/work/Perl-Dist-APPerl/Perl-Dist-APPerl/cosmop +olitan/libc/integral/normalize.inc -isystem /home/runner/work/Perl-Di +st-APPerl/Perl-Dist-APPerl/cosmopolitan/libc/isystem -fwrapv -fno-str +ict-aliasing -pipe' ccversion='' gccversion='9.2.0' gccosandvers='' intsize=4 longsize=8 ptrsize=8 doublesize=8 byteorder=12345678 doublekind=3 d_longlong=define longlongsize=8 d_longdbl=define longdblsize=16 longdblkind=3 ivtype='long' ivsize=8 nvtype='double' nvsize=8 Off_t='off_t' lseeksize=8 alignbytes=8 prototype=define Linker and Libraries: ld='ld' ldflags ='-static -nostdlib -nostdinc -fno-pie -no-pie -mno-red-zo +ne -fno-omit-frame-pointer -fno-stack-protector -pg -mnop-mcount -mno +-tls-direct-seg-refs -Wl,--gc-sections -fuse-ld=bfd -Wl,-T,/home/runn +er/work/Perl-Dist-APPerl/Perl-Dist-APPerl/cosmopolitan/o//ape/public/ +ape.lds /home/runner/work/Perl-Dist-APPerl/Perl-Dist-APPerl/cosmopoli +tan/o//libc/crt/crt.o /home/runner/work/Perl-Dist-APPerl/Perl-Dist-AP +Perl/cosmopolitan/o//ape/ape-no-modify-self.o' libpth= libs=/home/runner/work/Perl-Dist-APPerl/Perl-Dist-APPerl/cosmopoli +tan/o//cosmopolitan.a perllibs=/home/runner/work/Perl-Dist-APPerl/Perl-Dist-APPerl/cosmo +politan/o//cosmopolitan.a libc= so=none useshrplib=false libperl=libperl.a gnulibc_version='' Dynamic Linking: dlsrc=dl_none.xs dlext=none d_dlsymun=undef ccdlflags='' cccdlflags='' lddlflags='' Characteristics of this binary (from libperl): Compile-time options: HAS_TIMES PERLIO_LAYERS PERL_COPY_ON_WRITE PERL_DONT_CREATE_GVSV PERL_OP_PARENT PERL_PRESERVE_IVUV USE_64_BIT_ALL USE_64_BIT_INT USE_LARGE_FILES USE_LOCALE USE_LOCALE_COLLATE USE_LOCALE_CTYPE USE_LOCALE_NUMERIC USE_LOCALE_TIME USE_PERLIO USE_PERL_ATOF Locally applied patches: G4Vi:cosmo/73ecc6c - https://github.com/G4Vi/perl5/commit/73ecc6c6 +640c61baa00ee91949d502f0fe991db5 various changes to support building +with the Cosmopolitan Libc G4Vi:cosmo-apperl/9719db2 - https://github.com/G4Vi/perl5/commit/9 +719db2dfbb19454177a31d8ce874a61f17a30da add argv[0] /zip/bin script l +aunching G4Vi:cosmo/2fb034f - https://github.com/G4Vi/perl5/commit/2fb034ff +b02db2b3ac09706c954704930c620c0b fix Time-HiRes Configure to work for + cosmopolitan Built under cosmo Compiled at Dec 3 2022 05:13:21 %ENV: ... @INC: /Users/user/lib /zip/lib/perl5/site_perl/5.36.0/x86_64-cosmo /zip/lib/perl5/site_perl/5.36.0 /zip/lib/perl5/5.36.0/x86_64-cosmo /zip/lib/perl5/5.36.0