diff options
author | kaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk> | 2006-05-26 13:23:18 +0100 |
---|---|---|
committer | kaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk> | 2006-05-26 13:23:18 +0100 |
commit | 165bf6f0bdfb5ae16fd768822fc0f28517d2fa34 (patch) | |
tree | b9ac53f608b2b03e4d1cb32a706cfb68425bfa4e /extras | |
parent | 1fa74a12d289d6300667217edf43ffb1c094ca5b (diff) | |
download | xen-165bf6f0bdfb5ae16fd768822fc0f28517d2fa34.tar.gz xen-165bf6f0bdfb5ae16fd768822fc0f28517d2fa34.tar.bz2 xen-165bf6f0bdfb5ae16fd768822fc0f28517d2fa34.zip |
[MINIOS] Allows the use of a C library without modifying Mini-OS source files.
From: John Ramsdell
Signed-off-by: Keir Fraser <keir@xensource.com>
Diffstat (limited to 'extras')
-rw-r--r-- | extras/mini-os/Makefile | 9 | ||||
-rw-r--r-- | extras/mini-os/lib/printf.c | 4 | ||||
-rw-r--r-- | extras/mini-os/lib/string.c | 4 |
3 files changed, 12 insertions, 5 deletions
diff --git a/extras/mini-os/Makefile b/extras/mini-os/Makefile index 63cd9e8079..e92681c1ab 100644 --- a/extras/mini-os/Makefile +++ b/extras/mini-os/Makefile @@ -13,6 +13,7 @@ CFLAGS += -Wstrict-prototypes -Wnested-externs -Wpointer-arith -Winline override CPPFLAGS := -Iinclude $(CPPFLAGS) ASFLAGS = -D__ASSEMBLY__ +LDLIBS = -L. -lminios LDFLAGS := -N -T minios-$(TARGET_ARCH).lds ifeq ($(TARGET_ARCH),x86_32) @@ -55,11 +56,11 @@ default: $(TARGET) links: [ -e include/xen ] || ln -sf ../../../xen/include/public include/xen -libminios.a: $(OBJS) $(HEAD) - ar r libminios.a $(HEAD) $(OBJS) +libminios.a: links $(OBJS) $(HEAD) + $(AR) r libminios.a $(HEAD) $(OBJS) -$(TARGET): links libminios.a $(HEAD) - $(LD) $(LDFLAGS) $(HEAD) -L. -lminios -o $@.elf +$(TARGET): libminios.a $(HEAD) + $(LD) $(LDFLAGS) $(HEAD) $(LDLIBS) -o $@.elf gzip -f -9 -c $@.elf >$@.gz .PHONY: clean diff --git a/extras/mini-os/lib/printf.c b/extras/mini-os/lib/printf.c index bb81c7b028..676f4e74a1 100644 --- a/extras/mini-os/lib/printf.c +++ b/extras/mini-os/lib/printf.c @@ -54,6 +54,8 @@ * $FreeBSD: src/sys/libkern/divdi3.c,v 1.6 1999/08/28 00:46:31 peter Exp $ */ +#if !defined HAVE_LIBC + #include <os.h> #include <types.h> #include <hypervisor.h> @@ -789,4 +791,4 @@ int sscanf(const char * buf, const char * fmt, ...) return i; } - +#endif diff --git a/extras/mini-os/lib/string.c b/extras/mini-os/lib/string.c index 82b91e15ae..1b99f43a46 100644 --- a/extras/mini-os/lib/string.c +++ b/extras/mini-os/lib/string.c @@ -18,6 +18,8 @@ **************************************************************************** */ +#if !defined HAVE_LIBC + #include <os.h> #include <types.h> #include <lib.h> @@ -153,3 +155,5 @@ char * strstr(const char * s1,const char * s2) } return NULL; } + +#endif |