Perl 5.005_03

This commit is contained in:
Andrius Štikonas 2021-02-18 23:19:09 +00:00
parent 7e9054570e
commit 4276dfee1d
11 changed files with 160 additions and 5 deletions

View file

@ -17,4 +17,4 @@ miniperl: $(MINIPERL_OBJ)
install: all
install miniperl $(PREFIX)/bin/perl
mkdir -p $(PREFIX)/lib/perl5/5.003
mv lib/* $(PREFIX)/lib/perl5/5.003/
cp -r lib/* $(PREFIX)/lib/perl5/5.003/

View file

@ -17,4 +17,4 @@ miniperl: $(MINIPERL_OBJ)
install: all
install miniperl $(PREFIX)/bin/perl
mkdir -p $(PREFIX)/lib/perl5/5.004_05
mv lib/* $(PREFIX)/lib/perl5/5.004_05/
cp -R lib/* $(PREFIX)/lib/perl5/5.004_05/

View file

@ -11,9 +11,6 @@ src_prepare() {
mv perly.tab.c perly.c
mv perly.tab.h perly.h
# tcc messes up floats, which breaks version detection
sed -i '/require/d' embed.pl
# Regenerate other prebuilt header files
for file in embed keywords opcode; do
rm ${file}.h

View file

@ -0,0 +1 @@
b00ec19d8e9ce7930630bb47387d7f408f72fe00b056d6aea953a8bfb50d82ff /after/bin/perl

View file

@ -0,0 +1,98 @@
// SPDX-FileCopyrightText: 2021 Andrius Štikonas <andrius@stikonas.eu>
// SPDX-License-Identifier: GPL-3.0-or-later
#define MEM_ALIGNBYTES 8
#define BIN "/after/bin"
#define BYTEORDER 0x4321
#define CPPSTDIN "tcc -E"
#define CPPMINUS "-"
#define HAS_ALARM
#define HAS_FORK
#define HAS_MKDIR
#define HAS_PAUSE
#define HAS_RMDIR
#define HAS_STRERROR
#define HAS_SYS_ERRLIST
#define Strerror(e) strerror(e)
#define HAS_SYSCALL
#define HAS_TIMES
#define HAS_VPRINTF
#define Gid_t gid_t
#define I_DIRENT
#define Direntry_t struct dirent
#define I_DLFCN
#define I_FCNTL
#define I_GRP
#define I_LIMITS
#define I_MATH
#define I_NETINET_IN
#define I_PWD
#define I_STDDEF
#define I_STDLIB
#define I_STRING
#define I_SYS_DIR
#define I_SYS_IOCTL
#define I_SYS_PARAM
#define I_SYS_SELECT
#define I_SYS_STAT
#define I_SYS_TIMES
#define I_TERMIOS
#define I_TIME
#define I_UNISTD
#define I_UTIME
#define I_STDARG
#define INTSIZE 4
#define Off_t off_t
#define PRIVLIB "/after/lib/perl5"
#define _(args) args
#define RANDBITS 31
#define SCRIPTDIR "/after/bin"
#define SIG_NAME "ZERO","HUP","INT","QUIT","ILL","TRAP","IOT","BUS","FPE","KILL","USR1","SEGV","USR2","PIPE","ALRM","TERM","STKFLT","CHLD","CONT","STOP","TSTP","TTIN","TTOU","URG","XCPU","XFSZ","VTALRM","PROF","WINCH", "IO", "POLL", "PWR", "SYS", "UNUSED"
#define 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
#define Size_t size_t
#define STDCHAR char
#define Uid_t uid_t
#define LOC_SED "/after/bin/sed"
#define ARCHLIB "/after/lib/perl5/"
#define CAT2(a,b) a##b
#define Gconvert(x,n,t,b) gcvt((x),(n),(b))
#define Time_t time_t
#define SSize_t ssize_t
#define Sigjmp_buf sigjmp_buf
#define Sigsetjmp(buf,save_mask) setjmp(buf)
#define Siglongjmp(buf,retval) longjmp(buf,retval)
#define Signal_t void
#define OSNAME "linux"
#define PRIVLIB_EXP "/after/lib/perl5/5.005_03"
#undef __DATE__ /* want reproducible build */
#define Malloc_t void *
#define Free_t void
#define SH_PATH "/bin/sh"
#define ARCHNAME "i386-linux"
#define BIN_EXP "/after/bin"

View file

@ -0,0 +1,20 @@
# SPDX-FileCopyrightText: 2021 Andrius Štikonas <andrius@stikonas.eu>
# SPDX-License-Identifier: GPL-3.0-or-later
CC = tcc
.PHONY: all
MINIPERL_SRC = av deb doio doop dump globals gv hv mg miniperlmain op perl perlio perly pp pp_ctl pp_hot pp_sys regcomp regexec run scope sv taint toke universal util
MINIPERL_OBJ = $(addsuffix .o, $(MINIPERL_SRC))
all: miniperl
miniperl: $(MINIPERL_OBJ)
$(CC) $(CFLAGS) $^ $(LDFLAGS) -o $@
install: all
install miniperl $(PREFIX)/bin/perl
mkdir -p $(PREFIX)/lib/perl5/5.005_03
cp -R lib/* $(PREFIX)/lib/perl5/5.005_03/

View file

@ -0,0 +1,30 @@
# SPDX-FileCopyrightText: 2021 Andrius Štikonas <andrius@stikonas.eu>
#
# SPDX-License-Identifier: GPL-3.0-or-later
src_prepare() {
default_src_prepare
# Regenerate bison files
rm perly.c perly.h
bison -d perly.y
mv perly.tab.c perly.c
mv perly.tab.h perly.h
# Regenerate other prebuilt header files
for file in embed keywords opcode; do
rm ${file}.h
perl ${file}.pl
done
rm regnodes.h
perl regcomp.pl
rm byterun.h byterun.c
perl bytecode.pl
}
src_install() {
default_src_install
# Remove old perl
rm -rf "${PREFIX}"/lib/perl5/5.004_05
}

View file

@ -59,4 +59,7 @@ build perl-5.003
# Part 34
build perl5.004_05
# Part 35
build perl5.005_03
echo "Bootstrapping completed."