Talk:Meaty Skeleton

From OSDev Wiki
Jump to navigation Jump to search

2016-09-02 Changes

Hello. I'm am modernizing Meaty Skeleton a bunch. The list of changes is too big for the summary field, so here's the list of changes:

  • Avoid unportable make -C option and just use cd.
  • Don't use unportable rm -v option.
  • Fix typo in config.sh.
  • Don't rely on PWD variable being set, just use pwd(1) to get it.
  • Use upcoming-POSIX != make syntax to run shells and not $(shell).
  • Don't overuse := in makefiles.
  • Don't locate crtbegin.o and crtend.o when not compiling.
  • Switch to portable .SUFFIXES wildcards to get them more known.
  • Fix kernel link like order with respect to libk and libgcc.
  • Verify multibootness with grub-file.
  • Use -MD to properly handle header dependency tracking.
  • Replace unportable cp -RTv.
  • Pass unportable --preserve=timestamp to cp to avoid -MD issues.
  • Align boot.S and linker.ld with bare bones.
  • Remove kernel_early abstraction.
  • Switch coding style to match bare bones.
  • Move vga text mode buffer constants into tty.c.
  • Move vga.h from public kernel header to private arch header.
  • Prefix all vga.h declarations with vga_.
  • Remove _myos from __is_kernel/libc/libk detection macros.
  • Don't build libc.a anymore.
  • Add EOF to stdio.h to detect putchar errors.
  • Simplify printf, handle errors in putchar and error output exceeds INT_MAX.
  • Clarify non-libk case in putchar and abort.
  • Don't pass -fbuiltin as it's not safe for freestanding environments.

See the history page on the article for the full changes. --Sortie 14:59, 2 September 2016 (CDT)

Reverting makefile changes

Unfortunately, Debian and Ubuntu based distros (and probably many, many more) are still on GNU Make 3.8, which does not support the use of !=. I have added troubleshooting to the bottom of the page to document this problem and how to solve it:

DEFAULT_HOST := $(shell ../default-host.sh)

Sigtau 00:03, 3 October 2016 (CDT)