diff options
| -rw-r--r-- | Makefile | 3 | ||||
| -rw-r--r-- | include/libfdt_env.h | 4 | ||||
| -rw-r--r-- | libfdt/fdt.c | 4 | ||||
| -rw-r--r-- | libfdt/fdt_ro.c | 4 | ||||
| -rw-r--r-- | libfdt/fdt_rw.c | 4 | ||||
| -rw-r--r-- | libfdt/fdt_strerror.c | 4 | ||||
| -rw-r--r-- | libfdt/fdt_wip.c | 4 | ||||
| -rw-r--r-- | tools/.gitignore | 7 | ||||
| -rw-r--r-- | tools/Makefile | 51 | ||||
| -rw-r--r-- | tools/fdt_host.h | 28 | ||||
| -rw-r--r-- | tools/mkimage.h | 1 | 
11 files changed, 111 insertions, 3 deletions
| @@ -2927,6 +2927,9 @@ clobber:	clean  	@rm -f $(obj)u-boot $(obj)u-boot.map $(obj)u-boot.hex $(ALL)  	@rm -f $(obj)tools/crc32.c $(obj)tools/environment.c $(obj)tools/env/crc32.c  	@rm -f $(obj)tools/sha1.c $(obj)tools/image.c +	@rm -f $(obj)tools/fdt.c $(obj)tools/fdt_ro.c $(obj)tools/fdt_rw.c +	@rm -f $(obj)tools/fdt_strerror.c $(obj)tools/fdt_wip.c +	@rm -f $(obj)tools/libfdt_internal.h  	@rm -f $(obj)tools/inca-swap-bytes $(obj)cpu/mpc824x/bedbug_603e.c  	@rm -f $(obj)include/asm/proc $(obj)include/asm/arch $(obj)include/asm  	@[ ! -d $(obj)nand_spl ] || find $(obj)nand_spl -lname "*" -print | xargs rm -f diff --git a/include/libfdt_env.h b/include/libfdt_env.h index 78f725830..98c522ae4 100644 --- a/include/libfdt_env.h +++ b/include/libfdt_env.h @@ -24,7 +24,11 @@  #include <stddef.h>  #include <linux/types.h>  #include <asm/byteorder.h> +#ifdef USE_HOSTCC +#include <string.h> +#else  #include <linux/string.h> +#endif /* USE_HOSTCC */  extern struct fdt_header *fdt;  /* Pointer to the working fdt */ diff --git a/libfdt/fdt.c b/libfdt/fdt.c index 586a36136..071470dc9 100644 --- a/libfdt/fdt.c +++ b/libfdt/fdt.c @@ -50,8 +50,12 @@   */  #include "libfdt_env.h" +#ifndef USE_HOSTCC  #include <fdt.h>  #include <libfdt.h> +#else +#include "fdt_host.h" +#endif  #include "libfdt_internal.h" diff --git a/libfdt/fdt_ro.c b/libfdt/fdt_ro.c index 12a37d59f..1ae3a5500 100644 --- a/libfdt/fdt_ro.c +++ b/libfdt/fdt_ro.c @@ -50,8 +50,12 @@   */  #include "libfdt_env.h" +#ifndef USE_HOSTCC  #include <fdt.h>  #include <libfdt.h> +#else +#include "fdt_host.h" +#endif  #include "libfdt_internal.h" diff --git a/libfdt/fdt_rw.c b/libfdt/fdt_rw.c index 6673f8ec9..2fb81dd39 100644 --- a/libfdt/fdt_rw.c +++ b/libfdt/fdt_rw.c @@ -50,8 +50,12 @@   */  #include "libfdt_env.h" +#ifndef USE_HOSTCC  #include <fdt.h>  #include <libfdt.h> +#else +#include "fdt_host.h" +#endif  #include "libfdt_internal.h" diff --git a/libfdt/fdt_strerror.c b/libfdt/fdt_strerror.c index f9d32ef53..abf792e7d 100644 --- a/libfdt/fdt_strerror.c +++ b/libfdt/fdt_strerror.c @@ -50,8 +50,12 @@   */  #include "libfdt_env.h" +#ifndef USE_HOSTCC  #include <fdt.h>  #include <libfdt.h> +#else +#include "fdt_host.h" +#endif  #include "libfdt_internal.h" diff --git a/libfdt/fdt_wip.c b/libfdt/fdt_wip.c index 88e24b831..24e172495 100644 --- a/libfdt/fdt_wip.c +++ b/libfdt/fdt_wip.c @@ -50,8 +50,12 @@   */  #include "libfdt_env.h" +#ifndef USE_HOSTCC  #include <fdt.h>  #include <libfdt.h> +#else +#include "fdt_host.h" +#endif  #include "libfdt_internal.h" diff --git a/tools/.gitignore b/tools/.gitignore index c33679a9d..0ce2e77bd 100644 --- a/tools/.gitignore +++ b/tools/.gitignore @@ -7,3 +7,10 @@  /mkimage  /sha1.c  /ubsha1 +/image.c +/fdt.c +/fdt_ro.c +/fdt_rw.c +/fdt_strerror.c +/fdt_wip.c +/libfdt_internal.h diff --git a/tools/Makefile b/tools/Makefile index 0cc4cc9d1..aa4af1823 100644 --- a/tools/Makefile +++ b/tools/Makefile @@ -37,6 +37,8 @@ endif  #OBJ_FILES	+= mpc86x_clk.o  #endif +LIBFDT_OBJ_FILES	= fdt.o fdt_ro.o fdt_rw.o fdt_strerror.o fdt_wip.o +  LOGO_H	= $(OBJTREE)/include/bmp_logo.h  ifeq ($(LOGO_BMP),) @@ -120,6 +122,10 @@ CPPFLAGS   = -idirafter $(SRCTREE)/include \  		-idirafter $(OBJTREE)/include \  		-DTEXT_BASE=$(TEXT_BASE) -DUSE_HOSTCC  CFLAGS     = $(HOST_CFLAGS) $(CPPFLAGS) -O + +# No -pedantic switch to avoid libfdt compilation warnings +FIT_CFLAGS = -Wall $(CPPFLAGS) -O +  AFLAGS	   = -D__ASSEMBLY__ $(CPPFLAGS)  CC	   = $(HOSTCC)  STRIP	   = $(HOSTSTRIP) @@ -137,7 +143,7 @@ $(obj)img2srec$(SFX):	$(obj)img2srec.o  		$(CC) $(CFLAGS) $(HOST_LDFLAGS) -o $@ $^  		$(STRIP) $@ -$(obj)mkimage$(SFX):	$(obj)mkimage.o $(obj)crc32.o $(obj)image.o $(obj)sha1.o +$(obj)mkimage$(SFX):	$(obj)mkimage.o $(obj)crc32.o $(obj)image.o $(obj)sha1.o $(LIBFDT_OBJ_FILES)  		$(CC) $(CFLAGS) $(HOST_LDFLAGS) -o $@ $^  		$(STRIP) $@ @@ -174,10 +180,10 @@ $(obj)sha1.o:	$(obj)sha1.c  		$(CC) -g $(CFLAGS) -c -o $@ $<  $(obj)image.o:	$(obj)image.c -		$(CC) -g $(CFLAGS) -c -o $@ $< +		$(CC) -g $(FIT_CFLAGS) -c -o $@ $<  $(obj)mkimage.o:	$(src)mkimage.c -		$(CC) -g $(CFLAGS) -c -o $@ $< +		$(CC) -g $(FIT_CFLAGS) -c -o $@ $<  $(obj)ncb.o:		$(src)ncb.c  		$(CC) -g $(CFLAGS) -c -o $@ $< @@ -191,6 +197,21 @@ $(obj)inca-swap-bytes.o:	$(src)inca-swap-bytes.c  $(obj)mpc86x_clk.o:	$(src)mpc86x_clk.c  		$(CC) -g $(CFLAGS) -c -o $@ $< +$(obj)fdt.o:	$(obj)fdt.c +		$(CC) -g $(FIT_CFLAGS) -c -o $@ $< + +$(obj)fdt_ro.o:	$(obj)fdt_ro.c +		$(CC) -g $(FIT_CFLAGS) -c -o $@ $< + +$(obj)fdt_rw.o:	$(obj)fdt_rw.c +		$(CC) -g $(FIT_CFLAGS) -c -o $@ $< + +$(obj)fdt_strerror.o:	$(obj)fdt_strerror.c +		$(CC) -g $(FIT_CFLAGS) -c -o $@ $< + +$(obj)fdt_wip.o:	$(obj)fdt_wip.c +		$(CC) -g $(FIT_CFLAGS) -c -o $@ $< +  subdirs:  ifeq ($(TOOLSUBDIRS),)  		@: @@ -224,6 +245,30 @@ $(obj)image.c:  		@rm -f $(obj)image.c  		ln -s $(src)../common/image.c $(obj)image.c +$(obj)fdt.c:	libfdt_internal.h +		@rm -f $(obj)fdt.c +		ln -s $(src)../libfdt/fdt.c $(obj)fdt.c + +$(obj)fdt_ro.c:	libfdt_internal.h +		@rm -f $(obj)fdt_ro.c +		ln -s $(src)../libfdt/fdt_ro.c $(obj)fdt_ro.c + +$(obj)fdt_rw.c:	libfdt_internal.h +		@rm -f $(obj)fdt_rw.c +		ln -s $(src)../libfdt/fdt_rw.c $(obj)fdt_rw.c + +$(obj)fdt_strerror.c:	libfdt_internal.h +		@rm -f $(obj)fdt_strerror.c +		ln -s $(src)../libfdt/fdt_strerror.c $(obj)fdt_strerror.c + +$(obj)fdt_wip.c:	libfdt_internal.h +		@rm -f $(obj)fdt_wip.c +		ln -s $(src)../libfdt/fdt_wip.c $(obj)fdt_wip.c + +$(obj)libfdt_internal.h: +		@rm -f $(obj)libfdt_internal.h +		ln -s $(src)../libfdt/libfdt_internal.h $(obj)libfdt_internal.h +  $(LOGO_H):	$(obj)bmp_logo $(LOGO_BMP)  		$(obj)./bmp_logo $(LOGO_BMP) >$@ diff --git a/tools/fdt_host.h b/tools/fdt_host.h new file mode 100644 index 000000000..085013e02 --- /dev/null +++ b/tools/fdt_host.h @@ -0,0 +1,28 @@ +/* + * (C) Copyright 2008 Semihalf + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + */ + +#ifndef __FDT_HOST_H__ +#define __FDT_HOST_H__ + +/* Make sure to include u-boot version of libfdt include files */ +#include "../include/fdt.h" +#include "../include/libfdt.h" +#include "../include/fdt_support.h" + +#endif /* __FDT_HOST_H__ */ diff --git a/tools/mkimage.h b/tools/mkimage.h index a01977ee6..cdd52bc9c 100644 --- a/tools/mkimage.h +++ b/tools/mkimage.h @@ -33,6 +33,7 @@  #include <time.h>  #include <unistd.h>  #include <sha1.h> +#include "fdt_host.h"  #if defined(__BEOS__) || defined(__NetBSD__) || defined(__APPLE__)  #include <inttypes.h> |