From 4b05e0e49c979e4a49f37a441556ee11cd6a0c5e Mon Sep 17 00:00:00 2001 From: Samuel Holland Date: Fri, 5 Jul 2019 21:25:26 -0500 Subject: build: add gprbuild projects --- bin/cat/cat.gpr | 6 ++++++ bin/chmod/chmod.gpr | 11 +++++++++++ bin/chown/chown.gpr | 11 +++++++++++ bin/cp/cp.gpr | 11 +++++++++++ bin/date/date.gpr | 6 ++++++ bin/dd/dd.gpr | 6 ++++++ bin/df/df.gpr | 6 ++++++ bin/echo/echo.gpr | 6 ++++++ bin/expr/expr.gpr | 6 ++++++ bin/ln/ln.gpr | 6 ++++++ bin/ls/ls.gpr | 6 ++++++ bin/mkdir/mkdir.gpr | 6 ++++++ bin/mv/mv.gpr | 6 ++++++ bin/pwd/pwd.gpr | 6 ++++++ bin/rm/rm.gpr | 11 +++++++++++ bin/rmdir/rmdir.gpr | 6 ++++++ bin/sleep/sleep.gpr | 6 ++++++ bin/sync/sync.gpr | 6 ++++++ bin/test/test.gpr | 6 ++++++ 19 files changed, 134 insertions(+) create mode 100644 bin/cat/cat.gpr create mode 100644 bin/chmod/chmod.gpr create mode 100644 bin/chown/chown.gpr create mode 100644 bin/cp/cp.gpr create mode 100644 bin/date/date.gpr create mode 100644 bin/dd/dd.gpr create mode 100644 bin/df/df.gpr create mode 100644 bin/echo/echo.gpr create mode 100644 bin/expr/expr.gpr create mode 100644 bin/ln/ln.gpr create mode 100644 bin/ls/ls.gpr create mode 100644 bin/mkdir/mkdir.gpr create mode 100644 bin/mv/mv.gpr create mode 100644 bin/pwd/pwd.gpr create mode 100644 bin/rm/rm.gpr create mode 100644 bin/rmdir/rmdir.gpr create mode 100644 bin/sleep/sleep.gpr create mode 100644 bin/sync/sync.gpr create mode 100644 bin/test/test.gpr (limited to 'bin') diff --git a/bin/cat/cat.gpr b/bin/cat/cat.gpr new file mode 100644 index 0000000..78655d8 --- /dev/null +++ b/bin/cat/cat.gpr @@ -0,0 +1,6 @@ +project cat extends "template/bin.gpr" is + + for Main use (project'Name); + for Object_Dir use External ("BUILDROOT") & "/" & project'Name; + +end cat; diff --git a/bin/chmod/chmod.gpr b/bin/chmod/chmod.gpr new file mode 100644 index 0000000..d637efe --- /dev/null +++ b/bin/chmod/chmod.gpr @@ -0,0 +1,11 @@ +project chmod extends "template/bin.gpr" is + + for Main use (project'Name); + for Object_Dir use External ("BUILDROOT") & "/" & project'Name; + + package Linker is + for Trailing_Switches ("C") use + bin.Linker'Trailing_Switches("C") & ("-lfts"); + end Linker; + +end chmod; diff --git a/bin/chown/chown.gpr b/bin/chown/chown.gpr new file mode 100644 index 0000000..6efaa58 --- /dev/null +++ b/bin/chown/chown.gpr @@ -0,0 +1,11 @@ +project chown extends "template/bin.gpr" is + + for Main use (project'Name); + for Object_Dir use External ("BUILDROOT") & "/" & project'Name; + + package Linker is + for Trailing_Switches ("C") use + bin.Linker'Trailing_Switches("C") & ("-lfts"); + end Linker; + +end chown; diff --git a/bin/cp/cp.gpr b/bin/cp/cp.gpr new file mode 100644 index 0000000..c1ae17a --- /dev/null +++ b/bin/cp/cp.gpr @@ -0,0 +1,11 @@ +project cp extends "template/bin.gpr" is + + for Main use (project'Name); + for Object_Dir use External ("BUILDROOT") & "/" & project'Name; + + package Linker is + for Trailing_Switches ("C") use + bin.Linker'Trailing_Switches("C") & ("-lfts"); + end Linker; + +end cp; diff --git a/bin/date/date.gpr b/bin/date/date.gpr new file mode 100644 index 0000000..5d5a824 --- /dev/null +++ b/bin/date/date.gpr @@ -0,0 +1,6 @@ +project date extends "template/bin.gpr" is + + for Main use (project'Name); + for Object_Dir use External ("BUILDROOT") & "/" & project'Name; + +end date; diff --git a/bin/dd/dd.gpr b/bin/dd/dd.gpr new file mode 100644 index 0000000..d41a872 --- /dev/null +++ b/bin/dd/dd.gpr @@ -0,0 +1,6 @@ +project dd extends "template/bin.gpr" is + + for Main use (project'Name); + for Object_Dir use External ("BUILDROOT") & "/" & project'Name; + +end dd; diff --git a/bin/df/df.gpr b/bin/df/df.gpr new file mode 100644 index 0000000..1096103 --- /dev/null +++ b/bin/df/df.gpr @@ -0,0 +1,6 @@ +project df extends "template/bin.gpr" is + + for Main use (project'Name); + for Object_Dir use External ("BUILDROOT") & "/" & project'Name; + +end df; diff --git a/bin/echo/echo.gpr b/bin/echo/echo.gpr new file mode 100644 index 0000000..ea6f88c --- /dev/null +++ b/bin/echo/echo.gpr @@ -0,0 +1,6 @@ +project echo extends "template/bin.gpr" is + + for Main use (project'Name); + for Object_Dir use External ("BUILDROOT") & "/" & project'Name; + +end echo; diff --git a/bin/expr/expr.gpr b/bin/expr/expr.gpr new file mode 100644 index 0000000..676bdf6 --- /dev/null +++ b/bin/expr/expr.gpr @@ -0,0 +1,6 @@ +project expr extends "template/bin.gpr" is + + for Main use (project'Name); + for Object_Dir use External ("BUILDROOT") & "/" & project'Name; + +end expr; diff --git a/bin/ln/ln.gpr b/bin/ln/ln.gpr new file mode 100644 index 0000000..03b8d1d --- /dev/null +++ b/bin/ln/ln.gpr @@ -0,0 +1,6 @@ +project ln extends "template/bin.gpr" is + + for Main use (project'Name); + for Object_Dir use External ("BUILDROOT") & "/" & project'Name; + +end ln; diff --git a/bin/ls/ls.gpr b/bin/ls/ls.gpr new file mode 100644 index 0000000..1c5a21e --- /dev/null +++ b/bin/ls/ls.gpr @@ -0,0 +1,6 @@ +project ls extends "template/bin.gpr" is + + for Main use (project'Name); + for Object_Dir use External ("BUILDROOT") & "/" & project'Name; + +end ls; diff --git a/bin/mkdir/mkdir.gpr b/bin/mkdir/mkdir.gpr new file mode 100644 index 0000000..18eae9d --- /dev/null +++ b/bin/mkdir/mkdir.gpr @@ -0,0 +1,6 @@ +project mkdir extends "template/bin.gpr" is + + for Main use (project'Name); + for Object_Dir use External ("BUILDROOT") & "/" & project'Name; + +end mkdir; diff --git a/bin/mv/mv.gpr b/bin/mv/mv.gpr new file mode 100644 index 0000000..8340f95 --- /dev/null +++ b/bin/mv/mv.gpr @@ -0,0 +1,6 @@ +project mv extends "template/bin.gpr" is + + for Main use (project'Name); + for Object_Dir use External ("BUILDROOT") & "/" & project'Name; + +end mv; diff --git a/bin/pwd/pwd.gpr b/bin/pwd/pwd.gpr new file mode 100644 index 0000000..9b625a6 --- /dev/null +++ b/bin/pwd/pwd.gpr @@ -0,0 +1,6 @@ +project pwd extends "template/bin.gpr" is + + for Main use (project'Name); + for Object_Dir use External ("BUILDROOT") & "/" & project'Name; + +end pwd; diff --git a/bin/rm/rm.gpr b/bin/rm/rm.gpr new file mode 100644 index 0000000..3a543f4 --- /dev/null +++ b/bin/rm/rm.gpr @@ -0,0 +1,11 @@ +project rm extends "template/bin.gpr" is + + for Main use (project'Name); + for Object_Dir use External ("BUILDROOT") & "/" & project'Name; + + package Linker is + for Trailing_Switches ("C") use + bin.Linker'Trailing_Switches("C") & ("-lfts"); + end Linker; + +end rm; diff --git a/bin/rmdir/rmdir.gpr b/bin/rmdir/rmdir.gpr new file mode 100644 index 0000000..3f35c9b --- /dev/null +++ b/bin/rmdir/rmdir.gpr @@ -0,0 +1,6 @@ +project rmdir extends "template/bin.gpr" is + + for Main use (project'Name); + for Object_Dir use External ("BUILDROOT") & "/" & project'Name; + +end rmdir; diff --git a/bin/sleep/sleep.gpr b/bin/sleep/sleep.gpr new file mode 100644 index 0000000..74aae91 --- /dev/null +++ b/bin/sleep/sleep.gpr @@ -0,0 +1,6 @@ +project sleep extends "template/bin.gpr" is + + for Main use (project'Name); + for Object_Dir use External ("BUILDROOT") & "/" & project'Name; + +end sleep; diff --git a/bin/sync/sync.gpr b/bin/sync/sync.gpr new file mode 100644 index 0000000..f027f34 --- /dev/null +++ b/bin/sync/sync.gpr @@ -0,0 +1,6 @@ +project sync extends "template/bin.gpr" is + + for Main use (project'Name); + for Object_Dir use External ("BUILDROOT") & "/" & project'Name; + +end sync; diff --git a/bin/test/test.gpr b/bin/test/test.gpr new file mode 100644 index 0000000..56223d8 --- /dev/null +++ b/bin/test/test.gpr @@ -0,0 +1,6 @@ +project test extends "template/bin.gpr" is + + for Main use (project'Name); + for Object_Dir use External ("BUILDROOT") & "/" & project'Name; + +end test; -- cgit v1.2.3-70-g09d2 From 1db574fa1f339f77999d3988251e13a266201083 Mon Sep 17 00:00:00 2001 From: Samuel Holland Date: Fri, 5 Jul 2019 21:25:36 -0500 Subject: build: add wrapper Makefile --- Makefile | 23 +++++++++++++++++++++++ bin/ed/ed.gpr | 10 ++++++++++ bin/stty/stty.gpr | 6 ++++++ later/ed.gpr | 12 ------------ userland.gpr | 11 +++++++++++ 5 files changed, 50 insertions(+), 12 deletions(-) create mode 100644 Makefile create mode 100644 bin/ed/ed.gpr create mode 100644 bin/stty/stty.gpr delete mode 100644 later/ed.gpr create mode 100644 userland.gpr (limited to 'bin') diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..1d58eaf --- /dev/null +++ b/Makefile @@ -0,0 +1,23 @@ +INSTALL = install +YACC = byacc + +PROJECT = userland.gpr + +GENERATED = bin/expr/expr.c + +all: prepare + gprbuild -P $(PROJECT) -p + +clean: + gprclean -P $(PROJECT) -p + rm -f $(GENERATED) + +install: all + gprinstall -P $(PROJECT) -p --prefix=$(if $(DESTDIR),$(DESTDIR),/) + $(INSTALL) -Dm0755 usr.bin/false/false.sh $(DESTDIR)/usr/bin/false + $(INSTALL) -Dm0755 usr.bin/true/true.sh $(DESTDIR)/usr/bin/true + +prepare: $(GENERATED) + +.y.c: + $(YACC) -o $@ $< diff --git a/bin/ed/ed.gpr b/bin/ed/ed.gpr new file mode 100644 index 0000000..9ebfc3c --- /dev/null +++ b/bin/ed/ed.gpr @@ -0,0 +1,10 @@ +project ed extends "template/bin.gpr" is + + for Main use ("main"); + for Object_Dir use External ("BUILDROOT") & "/" & project'Name; + + package Builder is + for Executable ("main") use "ed"; + end Builder; + +end ed; diff --git a/bin/stty/stty.gpr b/bin/stty/stty.gpr new file mode 100644 index 0000000..d41143a --- /dev/null +++ b/bin/stty/stty.gpr @@ -0,0 +1,6 @@ +project stty extends "template/bin.gpr" is + + for Main use (project'Name); + for Object_Dir use External ("BUILDROOT") & "/" & project'Name; + +end stty; diff --git a/later/ed.gpr b/later/ed.gpr deleted file mode 100644 index ef7bf99..0000000 --- a/later/ed.gpr +++ /dev/null @@ -1,12 +0,0 @@ -project ed is - - for Languages use ("C"); - for Object_Dir use "obj"; - for Exec_Dir use "."; - for Main use ("main"); - - package Builder is - for Executable ("main.c") use "ed"; - end Builder; - -end ed; diff --git a/userland.gpr b/userland.gpr new file mode 100644 index 0000000..b26a28a --- /dev/null +++ b/userland.gpr @@ -0,0 +1,11 @@ +aggregate project Userland is + + for Create_Missing_Dirs use "true"; + for External ("BUILDROOT") use Userland'Project_Dir & "/build"; + for Project_Files use ("bin/**/*.gpr", "usr.bin/**/*.gpr"); + + package Builder is + for Switches (others) use ("-j" & External ("JOBS", "0"), "-s"); + end Builder; + +end Userland; -- cgit v1.2.3-70-g09d2 From 5b502a0ebc714bac3e679334c30faaf12e295cfb Mon Sep 17 00:00:00 2001 From: Samuel Holland Date: Fri, 5 Jul 2019 22:15:43 -0500 Subject: bin/expr: POSIX BRE is default and has no flag --- bin/expr/expr.y | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'bin') diff --git a/bin/expr/expr.y b/bin/expr/expr.y index e9b6212..2760888 100644 --- a/bin/expr/expr.y +++ b/bin/expr/expr.y @@ -105,7 +105,7 @@ expr: item { $$ = $1; } int eval; /* compile regular expression */ - if ((eval = regcomp(&rp, $3, REG_BASIC)) != 0) { + if ((eval = regcomp(&rp, $3, 0)) != 0) { char errbuf[256]; (void)regerror(eval, &rp, errbuf, sizeof(errbuf)); yyerror("%s", errbuf); -- cgit v1.2.3-70-g09d2