Jan Nieuwenhuizen
d55ca711f1
build: Cater for bootstrap build.
...
* build-aux/build.sh.in: Build bin/mes. Update scripts and users.
* build-aux/bootstrap.sh.in: Update.
* build-aux/install.sh.in: Install all built bin/mes-* flavours.
* configure: Drop SEED, support --bootstrap.
* configure.sh: Likewise.
2019-12-13 21:52:18 +01:00
Jan Nieuwenhuizen
093a8b0903
bootstrap: Build files only once.
...
* build-aux/bootstrap.sh.in: Build files only once.
2019-12-07 23:29:34 +01:00
Jan Nieuwenhuizen
82c85c24da
build: Support mescc-tools 0.5.2.
...
* configure: Remove version check for mescc-tools.
Check for stage0 architecture flag type.
* configure.sh: Likewise.
* build-aux/build-scaffold.sh: Add stage0 flag type indirection.
* module/mescc/mescc.scm (arch-get-architecture): Likewise.
2019-12-07 14:39:19 +01:00
Jan Nieuwenhuizen
1d03aeebbe
build: Add --with-bootstrap option.
...
* configure (main): Add --with-bootstrap option.
* build-aux/build.sh.in [--with-bootstrap]: After building mes with CC,
build mes with MesCC.
2019-12-08 15:32:51 +01:00
Jan Nieuwenhuizen
a820a98139
build: Support toplevel lib and mes builds.
...
* build-aux/build.sh.in: Add missing libdir for gcc build.
* build-aux/config.sh.in: ...here.
* build-aux/build-mes.sh: Do not overwrite srcdest, V.
2019-12-05 10:02:14 +01:00
Jan Nieuwenhuizen
066143d820
bootstrap: Support srcdir builds.
...
* build-aux/bootstrap.sh.in (srcdest): Initialize.
* build-aux/build-lib.sh: Source config.sh.
* configure.sh: Support srcdir builds.
* build-aux/build.sh.in: Move setting of cflags to ...
* build-aux/cflags.sh: ... New file.
2019-12-05 08:30:30 +01:00
Jan Nieuwenhuizen
6b0ff3f322
configure: Honor CFLAGS, LDFLAGS.
...
* configure (cflags-list, ldflags-list): New function.
check-preprocess-header-c, check-compile-string-c,
check-link-string-c): Use them. Be verbose when %verbose?.
(CFLAGS, LDFLAGS): Initialize to "-static -g".
2019-12-05 08:51:27 +01:00
Jan Nieuwenhuizen
0db1e888f9
build! Fixup clean without git: Clean cleaner.
...
* build-aux/GNUmakefile.in (clean): Clean cleaner.
2019-12-08 16:36:05 +01:00
Jan Nieuwenhuizen
d6a3af7625
build: Remove git dependency.
...
* configure: Remove git dependency.
* build-aux/GNUmakefile.in (clean,distclean, maintainer-clean):
Implement without git.
* INSTALL: Update dependencies.
2019-12-04 18:49:39 +01:00
Jan Nieuwenhuizen
9c7d0ece4d
build: Use debug build (-g) by default.
...
* build-aux/build.sh.in (debug): Enable.
2019-12-02 18:26:55 +01:00
Jan Nieuwenhuizen
5c16b1ecc1
build: Honor user's CFLAGS, CPPFLAGS, LDFLAGS.
...
* build-aux/build.sh.in (AM_CFLAGS, AM_CPPFLAGS, AM_LDFLAGS): Rename
from CFLAGS, CPPFLAGS, LDFLAGS. Export them.
* configure: Substitute them.
* configure.sh: Likewise.
* build-aux/cc.sh (compile, link): Use them.
* build-aux/config.make.in (CFLAGS, CPPFLAGS, LDFLAGS): Add
substitutable variables.
* build-aux/config.sh.in: Likewise.
* build-aux/export.make: Export them.
2019-12-02 18:26:08 +01:00
Jan Nieuwenhuizen
3de6450117
test: 90-abtod: Remove printf dependency. Fixes gcc.
...
* lib/tests/mes/90-abtod.stdout: Remove.
* lib/tests/mes/90-abtod.c (main): Remove printf.
2019-12-02 10:00:03 +01:00
Jan Nieuwenhuizen
fbe178810f
Release 0.21.
...
* configure (VERSION): Update to 0.21.
(main): Likewise.
* build-aux/GNUmakefile.in: Likewise.
* configure.sh (VERSION): Likewise.
* guix/git/mes.scm (mes, mes.git): Likewise.
2019-11-10 08:31:38 +01:00
Jan Nieuwenhuizen
ac9c18f8b8
doc: Release update.
...
* BLURB: Release update.
* HACKING: Remove roadmap.
* INSTALL: Release update.
* NEWS: Add 0.21 section.
* README: Release update.
* ROADMAP: New file.
* configure.sh: Release update.
* doc/announce/ANNOUNCE-0.21: New file.
* doc/mes.texi: Release update.
2019-11-04 19:59:13 +01:00
Jan Nieuwenhuizen
45427bc641
build: Add sensible NAME section for man pages. Thanks, Vagrant!
...
* build-aux/GNUmakefile.in (mes.1, mescc.1, mesar.1): Add sensible
--name section. Fixes Debian lint error. Reported by Vagrant
Cascadian.
2019-11-04 23:43:38 +01:00
Jan Nieuwenhuizen
d663c3ded6
Revert "build: Mark lib/tests/dirent/90-readdir.c as XFAIL on x86_64-gcc."
...
This reverts commit dc0b41f83efa973b7a92c0c7a0ad1eb21a7c4c7a.
2019-11-09 11:10:31 +01:00
Jan Nieuwenhuizen
b458314b4f
build: Mark lib/tests/dirent/90-readdir.c as XFAIL on x86_64-gcc.
...
* build-aux/check-mescc.sh (XFAIL_TESTS)[x86_64-gcc]: Add
lib/tests/dirent/90-readdir.c.
2019-10-30 09:33:54 +01:00
Jan Nieuwenhuizen
5bb1dc47da
Revert "build: Mark lib/tests/dirent/90-readdir.c as XFAIL on x86_64-mescc."
...
This reverts commit 17986224095ed72649fb2383f72c21f525977310.
2019-11-09 11:10:25 +01:00
Jan Nieuwenhuizen
70693696ce
build: Mark lib/tests/dirent/90-readdir.c as XFAIL on x86_64-mescc.
...
* build-aux/check-mescc.sh (XFAIL_TESTS)[x86_64-mescc]: Add
lib/tests/dirent/90-readdir.c.
2019-10-30 09:32:46 +01:00
Jan Nieuwenhuizen
66296abdc8
build: Better and friendlier tarball.
...
* build-aux/GNUmakefile.in (dist): Be friendly to Debian; avoid using
EPOCH. Cater for file permission differences.
2019-10-24 13:19:28 +02:00
Jan Nieuwenhuizen
36ae666f05
build: bootstrap fixes.
...
* build-aux/config.sh.in (bootstrap): Set up for substitution.
* configure.sh (bootstrap): Substitute.
* build-aux/install.sh.in (_v): Robustify check for V.
(__exclude_go, __exclude_scm): Initialize.
2019-10-15 20:18:31 +02:00
Jan Nieuwenhuizen
8d49b40b13
check: Remove duplicate test.
...
* build-aux/check-boot.sh (TESTS): Remove duplicate test.
2019-10-03 22:17:50 +02:00
Jan Nieuwenhuizen
98b9ac8e98
mescc: Mes C Library: Support gcc-4.6.4: Add math stubs.
...
* lib/math/ceil.c: New file.
* lib/math/floor.c: New file.
* lib/stub/atan2.c: New file.
* lib/stub/cos.c: New file.
* lib/stub/exp.c: New file.
* lib/stub/log.c: New file.
* lib/stub/modf.c: New file.
* lib/stub/pow.c: New file.
* lib/stub/sin.c: New file.
* lib/stub/sqrt.c: New file.
* lib/libc+gnu.c: Include them.
* include/math.h (atan2, ceil, cos, exp, fabs, floor, log, modf, pow,
sin, sqrt): Declare.
* lib/math/fabs.c: Update.
* lib/stub/ldexp.c: Update.
2019-09-13 15:11:38 +02:00
Jan Nieuwenhuizen
6bb225b403
mescc: Mes C Library: Support gcc-4.6.4: Add fscanf, vfscanf.
...
* lib/stdio/vfscanf.c: New file.
* lib/stdio/fscanf.c: New file.
* build-aux/configure-lib.sh (libc_gnu_SOURCES): Add them.
* include/stdio.h (fscanf): Declare.
* include/stdarg.h (vfscanf): Declare.
* lib/stub/fscanf.c: Remove.
2019-09-06 19:04:50 +02:00
Jan Nieuwenhuizen
a56918eaa2
mescc: Environment setup.
...
* scripts/mescc.in (MES_ARENA, MES_MAX_ARENA, MES_STACK): Reduce defaults.
* build-aux/check.sh.in (MES_ARENA): Likewise. Export them.
* build-aux/bootstrap.sh.in (MES_STACK): Likewise.
(MES_PREFIX): Set default.
2019-09-06 23:24:23 +02:00
Danny Milosavljevic
01ae1994ed
Fix dtoab.
...
* lib/mes/dtoab.c (dtoab): Fix it.
* lib/tests/mes/90-dtoab.c (main): Fix test.
* build-aux/check-mescc.sh (XFAIL_TESTS: Remove it.
2019-08-27 00:43:37 +02:00
Jan Nieuwenhuizen
5c979a8ce1
mescc: Mes C Library: Support GNU Tar: Add getgrgid, getgrnam, setgrent stub.
...
* include/grp.h: New file.
* lib/stub/getgrgid.c: New file.
* lib/stub/getgrnam.c: New file.
* lib/stub/setgrent.c: New file.
* lib/libc+gnu.c: Include them.
2019-07-24 12:23:54 +02:00
Jan Nieuwenhuizen
fe96cc37df
mescc: Mes C Library: Support GNU Awk: Add getpgid, getpgrp stubs.
...
* include/unistd.h (getpgid, getpgrp): Declare.
* lib/stub/getpgid.c: New file.
* lib/stub/getpgrp.c: New file.
* lib/libc+gnu.c: Include them.
2019-07-18 12:13:18 +02:00
Jan Nieuwenhuizen
0d3f1ed2ae
mescc: Mes C Library: Support GNU Tar: Add mktime stub, fix localtime stub.
...
* include/time.h (mktime): Declare.
* lib/stub/mktime.c: New stub.
* lib/libc+gnu.c: Include it.
* lib/stub/localtime.c (localtime): Return pointer to static struct
tm. Avoids segfaults.
2019-07-15 11:58:21 +02:00
Jan Nieuwenhuizen
b97c59ff21
mescc: Mes C Library: Support GNU Tar: Add creat, mknod.
...
* include/linux/x86_64/syscall.h (SYS_mknod): New macro.
* include/linux/x86/syscall.h (SYS_mknod): New macro.
* lib/linux/mknod.c: New file.
* build-aux/configure-lib.sh (libc_gnu_SOURCES): Add it.
* include/sys/stat.h (mknod): Declare it.
* include/fcntl.h (creat): New macro.
2019-07-12 11:56:58 +02:00
Jan Nieuwenhuizen
8d45c6484f
mescc: Mes C Library: Support GNU Awk: Implement atof.
...
* lib/stdlib/atoi.c: Update.
* lib/stdlib/atof.c: Rename from stub/atof.c; Implement.
* lib/libc+gnu.c: Update include.
* lib/libg.c: Update include.
2019-07-03 11:22:57 +02:00
Jan Nieuwenhuizen
f3154aabe4
mescc: Mes C Library: Support GNU Awk: Add dtoab, %f in vfprintf, vsnprintf.
...
* include/libmes.h (dtoab): Declare.
* lib/mes/ntoab.c (ntoab): Update.
* lib/mes/dtoab.c: New file.
* build-aux/configure-lib.sh (libmes_SOURCES, libc_tcc_SOURCES): Add
it.
* lib/tests/mes/90-dtoab.c: Test it.
* lib/tests/stdio/90-sprintf.c: Test it.
* build-aux/check-mescc.sh (tests): Run it, against...
* lib/tests/mes/90-dtoab.stdout: ...baseline.
* lib/stdio/vfprintf.c (vfprintf): Support %f, even more naive support
for %e, %E, %g, %G.
* lib/stdio/vsnprintf.c (vsnprintf): Likewise.
2020-01-12 18:42:25 +01:00
Jan Nieuwenhuizen
742e88abd5
mescc: Mes C Library: Support GNU Awk: Add abtod, implementing strtod.
...
* include/libmes.h (abtod): Declare.
* lib/mes/abtod.c: New file.
* build-aux/configure-lib.sh (libmes_SOURCES, libc_tcc_SOURCES): Add
it.
* lib/mes/abtol.c: Update.
* lib/stdlib/strtod.c: Use it to implement; move from stub/strtod.
* lib/tests/mes/90-abtod.c: Test it.
* lib/tests/mes/90-abtod.stdout: Baseline.
* build-aux/check-mescc.sh (tests): Run it.
2019-06-25 12:51:44 +02:00
Jan Nieuwenhuizen
9faa38bee1
mescc: Mes C Library: Support GNU Awk: Add isgraph.
...
* lib/ctype/isgraph.c: New file.
* lib/libc+gnu.c: Include it.
* include/ctype.h: Add missing prototypes.
2019-06-16 11:25:37 +02:00
Jan Nieuwenhuizen
9be33485e2
mescc: Mes C Library: Support GNU Tar: Add readlink, symlink.
...
* lib/linux/gnu.c (readlink, symlink): New function.
* include/unistd.h (readlink, symlink): Declare.
* include/linux/x86/syscall.h (SYS_readlink, SYS_symlink): New macro.
* include/linux/x86_64/syscall.h (SYS_symlink, SYS_readlink): New
macro.
2019-06-13 01:07:19 +02:00
Jan Nieuwenhuizen
4e6a3ce846
mescc: Mes C Library: Support GNU Tar: Add execlp.
...
* lib/posix/execl.c (vexec): New function.
(execl): Use it.
* lib/posix/execlp.c: New file.
* build-aux/configure-lib.sh (libc_tcc_SOURCES): Add it.
* lib/libc+gnu.c: Include it.
* include/unistd.h (execlp): Declare.
* lib/tests/posix/90-execlp.c: New file.
* lib/tests/posix/90-execlp.stdout: New file.
* build-aux/check-mescc.sh: Test it.
2019-06-10 00:56:42 +02:00
Jan Nieuwenhuizen
396e96c056
mescc: Mes C Library: Add missing stubs.
...
* build-aux/configure-lib.sh (libc_gnu_SOURCES): Add fscanf, rewind stubs.
* lib/stdio/freeopen.c: Remove.
2019-11-10 09:00:08 +01:00
Jan Nieuwenhuizen
b3cac19d4c
build: Avoid tar --exclude=.
...
* build-aux/install.sh.in: Only use `tar --exclude=' if we also have .go
files compiled by Guile.
2019-09-20 19:33:29 +02:00
Jan Nieuwenhuizen
f5aab3b878
build: Split-out build-source-lib.sh from build-lib.sh.
...
* build-aux/build-lib.sh: Remove building of source lib.
* build-aux/build-source-lib.sh: New file.
* build-aux/build.sh.in: Invoke it.
* build-aux/bootstrap.sh.in: Likewise.
2019-09-20 19:40:37 +02:00
Jan Nieuwenhuizen
74d2cdd45a
build: Honor configure's --includedir. Thanks, Vagrant!
...
Suggested by Vagrant Cascadian
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=902174#84
* build-aux/install.sh.in: Install headers in $includedir.
* configure (includedir): Typo.
* configure.sh (includedir): Likewise.
2019-11-13 09:23:27 +01:00
Jan Nieuwenhuizen
4c862b1cc5
build: Create ascii signature.
...
* build-aux/GNUmakefile.in (sign): Create ascii signature.
2019-11-23 22:23:33 +01:00
Jan Nieuwenhuizen
a76b87fab9
doc: Release update.
...
* BLURB: New file.
* AUTHORS: Update.
* HACKING: Update.
* INSTALL: Update.
* NEWS: Update.
* README: Update.
* doc/images/gcc-mesboot-graph.dot: Update.
* doc/mes.texi: Update.
* simple.sh: Update.
* doc/announce/ANNOUNCE-0.20: New file.
2019-09-09 16:42:23 +02:00
Jan Nieuwenhuizen
99903dce06
build: Create ascii signature.
...
* build-aux/GNUmakefile.in (sign): Create ascii signature.
2019-09-09 16:41:46 +02:00
Jan Nieuwenhuizen
f33de25b96
guix: Update packaging.
...
* build-aux/manifest.scm (string-append):
* guix/git/mes.scm (nyacc, git-file?): Remove.
(mescc-tools): Bump to 0.6.0.
(%source-dir): New variable.
(mes.git): Ues it.
* guix.scm: Rename from .guix.scm.
2019-09-09 16:04:16 +02:00
Jan Nieuwenhuizen
613bd96abe
build: Do not generate ChangeLog from tarball.
...
* configure (main): Set .git-for-build.
* build-aux/install.sh.in (DESTDIR): Use it as canary to skip
ChangeLog rebuild.
2019-09-09 16:04:16 +02:00
Jan Nieuwenhuizen
2cc6d5a012
build: Use mesar instead of ar.
...
* scripts/mesar.in: Rename from ar.in. Update users.
* build-aux/build.sh.in (LIBS): Update.
* build-aux/check.sh.in (recheck): Likwise.
* build-aux/install.sh.in (DESTDIR): Likwise.
* configure (main): Likwise.
* configure.sh (mes_system): Likwise.
* .gitignore: Update.
2019-09-09 16:04:16 +02:00
Danny Milosavljevic
181d1e11ea
Inherit CFLAGS for mes.
...
* build-aux/check.sh.in: Inherit CFLAGS for mes.
2019-09-09 16:04:14 +02:00
Danny Milosavljevic
dadf07a484
Fix typo.
...
* build-aux/build.sh.in: Fix typo in "CFLAGS".
2019-09-09 16:04:14 +02:00
Jan Nieuwenhuizen
49aff4ec1c
ntoab: Use __mesabi_uldiv only for arm.
...
* lib/mes/ntoab.c (ntoab)[__MESC__ && __arm__]: Use __mesabi_uldiv.
* build-aux/check-mescc.sh (XFAIL_TESTS): 70-printf-simple.c and
70-printf.c now pass for x86_64 mescc.
2019-09-09 16:04:13 +02:00
Jan Nieuwenhuizen
39498d9233
test: Bump timeout.
...
* build-aux/test-c.sh: Bump timeout to 10s, __mesabi_uldiv can be slow.
2019-09-07 19:55:12 +02:00