diff options
| -rw-r--r-- | Makefile | 2 | ||||
| -rw-r--r-- | common/Makefile | 1 | ||||
| -rw-r--r-- | common/cmd_license.c | 59 | ||||
| -rw-r--r-- | include/config_cmd_all.h | 1 | ||||
| -rw-r--r-- | tools/Makefile | 4 | ||||
| -rw-r--r-- | tools/bin2header.c | 56 | 
6 files changed, 123 insertions, 0 deletions
| @@ -459,6 +459,8 @@ CHANGELOG:  	git log --no-merges U-Boot-1_1_5.. | \  	unexpand -a | sed -e 's/\s\s*$$//' > $@ +include/license.h: tools/bin2header COPYING +	 cat COPYING | gzip -9 -c | ./tools/bin2header license_gzip > include/license.h  #########################################################################  unconfig: diff --git a/common/Makefile b/common/Makefile index c2b381b4c..dd139d603 100644 --- a/common/Makefile +++ b/common/Makefile @@ -80,6 +80,7 @@ COBJS-$(CONFIG_CMD_IDE) += cmd_ide.o  COBJS-$(CONFIG_CMD_IMMAP) += cmd_immap.o  COBJS-$(CONFIG_CMD_ITEST) += cmd_itest.o  COBJS-$(CONFIG_CMD_JFFS2) += cmd_jffs2.o +COBJS-$(CONFIG_CMD_LICENSE) += cmd_license.o  COBJS-y += cmd_load.o  COBJS-$(CONFIG_LOGBUFFER) += cmd_log.o  COBJS-y += cmd_mem.o diff --git a/common/cmd_license.c b/common/cmd_license.c new file mode 100644 index 000000000..301af8d96 --- /dev/null +++ b/common/cmd_license.c @@ -0,0 +1,59 @@ +/* + * (C) Copyright 2007 by OpenMoko, Inc. + * Author: Harald Welte <laforge@openmoko.org> + * + * See file CREDITS for list of people who contributed to this + * project. + * + * 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 + */ + +#include <common.h> + +#if defined(CONFIG_CMD_LICENSE) + +/* COPYING is currently 15951 bytes in size */ +#define LICENSE_MAX	20480 + +#include <command.h> +#include <malloc.h> +#include <license.h> +int gunzip(void *, int, unsigned char *, unsigned long *); + +int do_license(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) +{ +	char *tok, *dst = malloc(LICENSE_MAX); +	unsigned long len = LICENSE_MAX; + +	if (!dst) +		return -1; + +	if (gunzip(dst, LICENSE_MAX, license_gz, &len) != 0) { +		printf("Error uncompressing license text\n"); +		free(dst); +		return -1; +	} +	puts(dst); +	free(dst); + +	return 0; +} + +U_BOOT_CMD(license, 1, 1, do_license, +	   "license - print GPL license text\n", +	   NULL); + +#endif /* CONFIG_CMD_LICENSE */ diff --git a/include/config_cmd_all.h b/include/config_cmd_all.h index 2cb2f6782..d771696fe 100644 --- a/include/config_cmd_all.h +++ b/include/config_cmd_all.h @@ -50,6 +50,7 @@  #define CONFIG_CMD_ITEST	/* Integer (and string) test	*/  #define CONFIG_CMD_JFFS2	/* JFFS2 Support		*/  #define CONFIG_CMD_KGDB		/* kgdb				*/ +#define CONFIG_CMD_LICENSE	/* console license display	*/  #define CONFIG_CMD_LOADB	/* loadb			*/  #define CONFIG_CMD_LOADS	/* loads			*/  #define CONFIG_CMD_MEMORY	/* md mm nm mw cp cmp crc base loop mtest */ diff --git a/tools/Makefile b/tools/Makefile index 8533a8e5c..21ea1c204 100644 --- a/tools/Makefile +++ b/tools/Makefile @@ -171,6 +171,10 @@ $(obj)mpc86x_clk$(SFX):	$(obj)mpc86x_clk.o  		$(CC) $(CFLAGS) $(HOST_LDFLAGS) -o $@ $^  		$(STRIP) $@ +$(obj)bin2header$(SFX): $(obj)bin2header.o +		$(CC) $(CFLAGS) $(HOST_LDFLAGS) -o $@ $^ +		$(STRIP) $@ +  $(obj)envcrc.o:	$(src)envcrc.c  		$(CC) -g $(CFLAGS) -c -o $@ $< diff --git a/tools/bin2header.c b/tools/bin2header.c new file mode 100644 index 000000000..390100e24 --- /dev/null +++ b/tools/bin2header.c @@ -0,0 +1,56 @@ +/* bin2header.c - program to convert binary file into a C structure + * definition to be included in a header file. + * + * (C) Copyright 2008 by Harald Welte <laforge@openmoko.org> + * + * See file CREDITS for list of people who contributed to this + * project. + * + * 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 + */ + +#include <stdlib.h> +#include <stdio.h> + +int main(int argc, char **argv) +{ +	if (argc < 2) { +		fprintf(stderr, "%s needs one argument: the structure name\n", +			argv[0]); +		exit(1); +	} + +	printf("/* bin2header output - automatically generated */\n"); +	printf("unsigned char %s[] = {\n", argv[1]); + +	while (1) { +		int i, nread; +		unsigned char buf[10]; +		nread = read(0, buf, sizeof(buf)); +		if (nread <= 0) +			break; + +		printf("\t"); +		for (i = 0; i < nread - 1; i++) +			printf("0x%02x, ", buf[i]); + +		printf("0x%02x,\n", buf[nread-1]); +	} + +	printf("};\n"); + +	exit(0); +} |