commit: e4f5342ee4c737927c1f038386bb7877d6ba8555
parent b9079045db46e7ca596613981f6bd1feacc7fe5f
Author: Andrius Štikonas <andrius@stikonas.eu>
Date: Sat, 14 May 2022 12:42:03 +0100
Swap make and tar.
Diffstat:
6 files changed, 55 insertions(+), 59 deletions(-)
diff --git a/parts.rst b/parts.rst
@@ -97,13 +97,6 @@ gzip 1.2.4
code. It is luckily distributed as a barebones uncompressed ``.tar``,
which we extract and then build.
-Going forward, we can now use ``.tar.gz`` for source code.
-
-tar 1.12
-========
-
-We build GNU Tar 1.12, the last version compilable with mes libc.
-
make 3.80
=========
@@ -111,6 +104,11 @@ GNU ``make`` is now built so we have a more robust building system.
``make`` allows us to do things like define rules for files rather than
writing complex kaem scripts.
+tar 1.12
+========
+
+We build GNU Tar 1.12, the last version compilable with mes libc.
+
sed 4.0.9
=========
diff --git a/sysa.py b/sysa.py
@@ -102,12 +102,12 @@ class SysA(SysGeneral):
# gzip 1.2.4
self.get_file("https://mirrors.kernel.org/gnu/gzip/gzip-1.2.4.tar.gz")
- # tar 1.12
- self.get_file("https://mirrors.kernel.org/gnu/tar/tar-1.12.tar.gz")
-
# make 3.80
self.get_file("https://mirrors.kernel.org/gnu/make/make-3.80.tar.gz")
+ # tar 1.12
+ self.get_file("https://mirrors.kernel.org/gnu/tar/tar-1.12.tar.gz")
+
# sed 4.0.9
self.get_file("https://mirrors.kernel.org/gnu/sed/sed-4.0.9.tar.gz")
diff --git a/sysa/after.kaem b/sysa/after.kaem
@@ -82,14 +82,14 @@ cd ${pkg}
kaem --file ${pkg}.kaem
cd ..
-# tar
-pkg="tar-1.12"
+# make
+pkg="make-3.80"
cd ${pkg}
kaem --file ${pkg}.kaem
cd ..
-# make
-pkg="make-3.80"
+# tar
+pkg="tar-1.12"
cd ${pkg}
kaem --file ${pkg}.kaem
cd ..
diff --git a/sysa/make-3.80/make-3.80.kaem b/sysa/make-3.80/make-3.80.kaem
@@ -12,7 +12,7 @@ cd build
# Extract
cp ${distfiles}/${pkg}.tar.gz ../src/
gunzip -f ../src/${pkg}.tar.gz
-tar xf ../src/${pkg}.tar
+untar ../src/${pkg}.tar
cd ${pkg}
# Create .h files
diff --git a/sysa/tar-1.12/mk/main.mk b/sysa/tar-1.12/mk/main.mk
@@ -0,0 +1,36 @@
+# SPDX-FileCopyrightText: 2022 Andrius Štikonas <andrius@stikonas.eu>
+#
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+CC = tcc
+AR = tcc -ar
+
+# -DSIZEOF_UNSIGNED_LONG=4 forces use of simulated arithmetic
+# This is to avoid running configure test to determine sizeof(long long)
+CPPFLAGS = -DHAVE_FCNTL_H \
+ -DHAVE_DIRENT_H \
+ -DHAVE_GETCWD_H \
+ -DHAVE_GETCWD \
+ -DSIZEOF_UNSIGNED_LONG=4 \
+ -DVERSION=\"1.12\" \
+ -DPACKAGE=\"tar\"
+
+CFLAGS = -I . -I lib -static
+LDFLAGS = -L. -ltar
+
+.PHONY: all
+
+LIB_SRC = argmatch backupfile error fnmatch ftruncate getdate_stub getopt getopt1 getversion modechange msleep xgetcwd xmalloc xstrdup
+
+LIB_OBJ = $(addprefix lib/, $(addsuffix .o, $(LIB_SRC)))
+
+TAR_SRC = arith buffer compare create delete extract incremen list mangle misc names open3 rtapelib tar update
+TAR_OBJ = $(addprefix src/, $(addsuffix .o, $(TAR_SRC)))
+
+all: tar
+
+libtar.a: $(LIB_OBJ)
+ $(AR) cr $@ $^
+
+tar: libtar.a $(TAR_OBJ)
+ $(CC) $^ $(LDFLAGS) -o $@
diff --git a/sysa/tar-1.12/tar-1.12.kaem b/sysa/tar-1.12/tar-1.12.kaem
@@ -17,55 +17,17 @@ gunzip -f ../src/${pkg}.tar.gz
untar ../src/${pkg}.tar
cd ${pkg}
-
+cp ../../mk/main.mk Makefile
cp ../../files/getdate_stub.c lib/getdate_stub.c
catm src/create.c.new ../../files/stat_override.c src/create.c
cp src/create.c.new src/create.c
-# 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_stub.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_stub.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
+# Build
+make -f Makefile
-# 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
+# Install
+cp tar ${prefix}/bin/tar
+chmod 755 ${prefix}/bin/tar
cd ../..