Currently hello_world fails to build with distro cross compiler
packages such as Debian gcc-powerpc64-linux-gnu, because it doesn't
provide string.h or unistd.h. In fact we don't need them, we just
need stddef.h. This adds #include <stddef.h> to console.h to get
size_t defined. We also add #include "console.h" to console.c.
The hello_world Makefile currently hard-codes CROSS_COMPILE on
non-PPC machines. This means that a command like:
$ CROSS_COMPILE=powerpc64le-linux-gnu- make
doesn't do what you expect; it just tries to use powerpc64le-linux-gcc
regardless. Adding a '?' makes it do what one expects.
Signed-off-by: Paul Mackerras <paulus@ozlabs.org>
ARCH = $(shell uname -m)
ifneq ("$(ARCH)", "ppc64")
ifneq ("$(ARCH)", "ppc64le")
- CROSS_COMPILE = powerpc64le-linux-
+ CROSS_COMPILE ?= powerpc64le-linux-
endif
endif
-#include <unistd.h>
-#include <string.h>
#include <stdint.h>
#include <stdbool.h>
+#include "console.h"
+
/*
* Core UART functions to implement for a port
*/
+#include <stddef.h>
+
void potato_uart_init(void);
int getchar(void);
void putchar(unsigned char c);
-#include <unistd.h>
-#include <string.h>
#include <stdint.h>
#include <stdbool.h>