commit: 3405518e2eb755a153ba9169f885d09754020116
parent 58b85adbf94873e819df867b4b4aa254a2e5703a
Author: Andrius Štikonas <andrius@stikonas.eu>
Date: Mon, 11 Jan 2021 20:43:42 +0000
Build tar 1.12.
Diffstat:
4 files changed, 65 insertions(+), 0 deletions(-)
diff --git a/.gitignore b/.gitignore
@@ -1,2 +1,3 @@
tmp/
kernel
+sources/
diff --git a/rootfs.sh b/rootfs.sh
@@ -79,6 +79,14 @@ mkdir -p ../sources
cp sed-4.0.7.kaem tmp/after
cp -r sed-4.0.7 tmp/after
+# tar 1.12
+url=https://ftp.gnu.org/gnu/tar/tar-1.12.tar.gz
+pushd ../sources
+wget --continue "$url"
+popd
+cp "$(basename $url .tar.gz).kaem" tmp/after
+tar -C tmp/after -xf "../sources/$(basename $url)"
+
# General cleanup
find tmp -name .git -exec rm -rf \;
diff --git a/sysa/after.kaem.run b/sysa/after.kaem.run
@@ -52,3 +52,8 @@ kaem --file tcc.kaem
cd sed-4.0.7
kaem --file ../sed-4.0.7.kaem
cd ..
+
+# Part 8: tar
+cd tar-1.12
+kaem --file ../tar-1.12.kaem
+cd ..
diff --git a/sysa/tar-1.12.kaem b/sysa/tar-1.12.kaem
@@ -0,0 +1,51 @@
+#!/bin/sh
+
+set -ex
+
+# Variables
+bindir=/after/bin
+
+# Compile
+
+## libtar.a
+cd lib
+
+tcc -c argmatch.c
+tcc -c -DHAVE_DIRENT_H backupfile.c
+tcc -c -I . error.c
+tcc -c -I . fnmatch.c
+tcc -c ftruncate.c
+tcc -c getdate.c
+tcc -c getopt.c
+tcc -c getopt1.c
+tcc -c getversion.c
+tcc -c modechange.c
+tcc -c msleep.c
+tcc -c -DHAVE_GETCWD xgetcwd.c
+tcc -c xmalloc.c
+tcc -c xstrdup.c
+
+tcc -ar cr libtar.a argmatch.o backupfile.o error.o fnmatch.o ftruncate.o getdate.o getopt.o getopt1.o getversion.o modechange.o msleep.o xgetcwd.o xmalloc.o xstrdup.o
+cd ..
+
+## tar
+# -DSIZEOF_UNSIGNED_LONG=4 forces use of simulated arithmetic
+# This is to avoid running configure test to determine sizeof(long long)
+tcc -c -I lib -DSIZEOF_UNSIGNED_LONG=4 -DHAVE_FCNTL_H src/arith.c
+tcc -c -I lib -DSIZEOF_UNSIGNED_LONG=4 -DHAVE_FCNTL_H src/buffer.c
+tcc -c -I lib -DSIZEOF_UNSIGNED_LONG=4 -DHAVE_FCNTL_H src/compare.c
+tcc -c -I lib -DSIZEOF_UNSIGNED_LONG=4 -DHAVE_FCNTL_H -DHAVE_DIRENT_H src/create.c
+tcc -c -I lib -DSIZEOF_UNSIGNED_LONG=4 -DHAVE_FCNTL_H src/delete.c
+tcc -c -I lib -DSIZEOF_UNSIGNED_LONG=4 -DHAVE_FCNTL_H src/extract.c
+tcc -c -I lib -DSIZEOF_UNSIGNED_LONG=4 -DHAVE_FCNTL_H -DHAVE_GETCWD -DHAVE_DIRENT_H src/incremen.c
+tcc -c -I lib -DSIZEOF_UNSIGNED_LONG=4 -DHAVE_FCNTL_H src/list.c
+tcc -c -I lib -DSIZEOF_UNSIGNED_LONG=4 -DHAVE_FCNTL_H src/mangle.c
+tcc -c -I lib -DSIZEOF_UNSIGNED_LONG=4 -DHAVE_FCNTL_H -DHAVE_DIRENT_H src/misc.c
+tcc -c -I lib -DSIZEOF_UNSIGNED_LONG=4 -DHAVE_FCNTL_H -DHAVE_GETCWD src/names.c
+tcc -c -I lib -DSIZEOF_UNSIGNED_LONG=4 -DHAVE_FCNTL_H src/open3.c
+tcc -c -I lib -DSIZEOF_UNSIGNED_LONG=4 -DHAVE_FCNTL_H src/rtapelib.c
+tcc -c -I lib -DSIZEOF_UNSIGNED_LONG=4 -DHAVE_FCNTL_H -DPACKAGE=\"tar\" -DVERSION=\"1.12\" src/tar.c
+tcc -c -I lib -DSIZEOF_UNSIGNED_LONG=4 -DHAVE_FCNTL_H src/update.c
+
+# Link
+tcc -static -o ${bindir}/tar -L lib lib/libtar.a arith.o buffer.o compare.o create.o delete.o extract.o incremen.o list.o mangle.o misc.o names.o open3.o rtapelib.o tar.o update.o -ltar