]> xenbits.xensource.com Git - people/liuw/libxenctrl-split/mini-os.git/commitdiff
[MINIOS] Allows the use of a C library without modifying Mini-OS source files.
authorkaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk>
Fri, 26 May 2006 12:23:18 +0000 (13:23 +0100)
committerkaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk>
Fri, 26 May 2006 12:23:18 +0000 (13:23 +0100)
From: John Ramsdell
Signed-off-by: Keir Fraser <keir@xensource.com>
Makefile
lib/printf.c
lib/string.c

index 63cd9e80798aa606547baf864a7794c0caf2efc6..e92681c1ab03c3b5ba8f38c4c178da2a60f17f87 100644 (file)
--- a/Makefile
+++ b/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
index bb81c7b028e4e2f7c66746e4ba31b1d21db18e46..676f4e74a1bf66ebc2b4aa43dac4fef71b6218bd 100644 (file)
@@ -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
index 82b91e15aedc845984596179f25283501765a9db..1b99f43a4617d39700d155be101741f3cb55f95c 100644 (file)
@@ -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