diff --git a/COPYING b/COPYING index 3f85e869ed3..c9b228fc9f4 100755 --- a/COPYING +++ b/COPYING @@ -1,129 +1,158 @@ -COPYING -- Describes the terms under which Nuttx is distributed. A -copy of the BSD-style licensing is included in this file. In my -words -- I believe that you should free to use NuttX in any -environment, private, private, commercial, open, closed, etc. -provided only that you repect the modest copyright notices as -described in license (below). Please feel free to contact me if you -have any licensing concerns. - -NuttX -^^^^^^ - -License for NuttX in general (authorship of individual files may vary): -/************************************************************************* - * - * Copyright (C) 2007-2010 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name NuttX nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - *************************************************************************/ - -uIP -^^^ - -Many lower-level networking components of NuttX derive from uIP which -has a similar BSD style license: - - Copyright (c) 2001-2003, Adam Dunkels. - All rights reserved. - -IGMP -^^^^ - -IGMP support, if enabled in uIP, adds additional logic by Steve Reynolds: - - Copyright (c) 2002 CITEL Technologies Ltd. - All rights reserved. - -The HID Parser in drivers/usbhost -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - - Adapted from the LUFA Library (MIT license): - - Copyright 2011 Dean Camera (dean [at] fourwalledcubicle [dot] com) - dean [at] fourwalledcubicle [dot] com, www.lufa-lib.org - - Permission to use, copy, modify, distribute, and sell this - software and its documentation for any purpose is hereby granted - without fee, provided that the above copyright notice appear in - all copies and that both that the copyright notice and this - permission notice and warranty disclaimer appear in supporting - documentation, and that the name of the author not be used in - advertising or publicity pertaining to distribution of the - software without specific, written prior permission. - - The author disclaim all warranties with regard to this - software, including all implied warranties of merchantability - and fitness. In no event shall the author be liable for any - special, indirect or consequential damages or any damages - whatsoever resulting from loss of use, data or profits, whether - in an action of contract, negligence or other tortious action, - arising out of or in connection with the use or performance of - this software. - -Certain functions in the NuttX C-library derive from other BSD-compatible -sources: - -strtod(): -^^^^^^^^ - - Copyright (C) 2002 Michael Ringgaard. All rights reserved. - Copyright (C) 2006-2007 H. Peter Anvin. - -dtoa(): -^^^^^^ - - If you enable floating point conversions with CONFIG_LIBC_FLOATINGPOINT, - then some files with an unmodified BSD license will be included. That - license is similar to the above (modified) BSD license, but has an - additional requirement that I state the following: - - "This product includes software developed by the University of - California, Berkeley and its contributors." - -Documents/rss.gif -^^^^^^^^^^^^^^^^^ - - Licensed under Creative Commons Attribution-Share Alike 2.5 Generic - license: - - You are free: - - * to share – to copy, distribute and transmit the work - * to remix – to adapt the work - - Under the following conditions: - - * attribution – You must attribute the work in the manner specified - by the author or licensor (but not in any way that suggests that - they endorse you or your use of the work). - * share alike – If you alter, transform, or build upon this work, - you may distribute the resulting work only under the same or - similar license to this one. - +COPYING -- Describes the terms under which Nuttx is distributed. A +copy of the BSD-style licensing is included in this file. In my +words -- I believe that you should free to use NuttX in any +environment, private, private, commercial, open, closed, etc. +provided only that you repect the modest copyright notices as +described in license (below). Please feel free to contact me if you +have any licensing concerns. + +NuttX +^^^^^^ + +License for NuttX in general (authorship of individual files may vary): +/************************************************************************* + * + * Copyright (C) 2007-2010 Gregory Nutt. All rights reserved. + * Author: Gregory Nutt + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * 3. Neither the name NuttX nor the names of its contributors may be + * used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS + * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN + * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + *************************************************************************/ + +FAT Long File Names +^^^^^^^^^^^^^^^^^^^ + + NOTE: If CONFIG_FAT_LFN is defined in your NuttX configuration file, then + there may be some legal, patent issues. The following was extracted from + the entry "File Allocation Table from Wikipedia, the free encyclopedia: + + "On December 3, 2003 Microsoft announced it would be offering licenses + for use of its FAT specification and 'associated intellectual property', + at the cost of a US$0.25 royalty per unit sold, with a $250,000 maximum + royalty per license agreement. + + o "U.S. Patent 5,745,902 (http://www.google.com/patents?vid=5745902) - + Method and system for accessing a file using file names having + different file name formats. ... + o "U.S. Patent 5,579,517 (http://www.google.com/patents?vid=5579517) - + Common name space for long and short filenames. ... + o "U.S. Patent 5,758,352 (http://www.google.com/patents?vid=5758352) - + Common name space for long and short filenames. ... + o "U.S. Patent 6,286,013 (http://www.google.com/patents?vid=6286013) - + Method and system for providing a common name space for long and + short file names in an operating system. ... + + "Many technical commentators have concluded that these patents only cover + FAT implementations that include support for long filenames, and that + removable solid state media and consumer devices only using short names + would be unaffected. ..." + + So you have been forewarned: Use the long filename at your own risk! + +uIP +^^^ + +Many lower-level networking components of NuttX derive from uIP which +has a similar BSD style license: + + Copyright (c) 2001-2003, Adam Dunkels. + All rights reserved. + +IGMP +^^^^ + +IGMP support, if enabled in uIP, adds additional logic by Steve Reynolds: + + Copyright (c) 2002 CITEL Technologies Ltd. + All rights reserved. + +The HID Parser in drivers/usbhost +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + + Adapted from the LUFA Library (MIT license): + + Copyright 2011 Dean Camera (dean [at] fourwalledcubicle [dot] com) + dean [at] fourwalledcubicle [dot] com, www.lufa-lib.org + + Permission to use, copy, modify, distribute, and sell this + software and its documentation for any purpose is hereby granted + without fee, provided that the above copyright notice appear in + all copies and that both that the copyright notice and this + permission notice and warranty disclaimer appear in supporting + documentation, and that the name of the author not be used in + advertising or publicity pertaining to distribution of the + software without specific, written prior permission. + + The author disclaim all warranties with regard to this + software, including all implied warranties of merchantability + and fitness. In no event shall the author be liable for any + special, indirect or consequential damages or any damages + whatsoever resulting from loss of use, data or profits, whether + in an action of contract, negligence or other tortious action, + arising out of or in connection with the use or performance of + this software. + +Certain functions in the NuttX C-library derive from other BSD-compatible +sources: + +strtod(): +^^^^^^^^ + + Copyright (C) 2002 Michael Ringgaard. All rights reserved. + Copyright (C) 2006-2007 H. Peter Anvin. + +dtoa(): +^^^^^^ + + If you enable floating point conversions with CONFIG_LIBC_FLOATINGPOINT, + then some files with an unmodified BSD license will be included. That + license is similar to the above (modified) BSD license, but has an + additional requirement that I state the following: + + "This product includes software developed by the University of + California, Berkeley and its contributors." + +Documents/rss.gif +^^^^^^^^^^^^^^^^^ + + Licensed under Creative Commons Attribution-Share Alike 2.5 Generic + license: + + You are free: + + * to share – to copy, distribute and transmit the work + * to remix – to adapt the work + + Under the following conditions: + + * attribution – You must attribute the work in the manner specified + by the author or licensor (but not in any way that suggests that + they endorse you or your use of the work). + * share alike – If you alter, transform, or build upon this work, + you may distribute the resulting work only under the same or + similar license to this one. diff --git a/arch/sim/src/Makefile b/arch/sim/src/Makefile index 397a2d84a67..11f99afd255 100644 --- a/arch/sim/src/Makefile +++ b/arch/sim/src/Makefile @@ -108,7 +108,7 @@ LDPATHS = $(addprefix -L$(TOPDIR)/,$(dir $(LINKLIBS))) LDLIBS = $(patsubst lib%,-l%,$(basename $(notdir $(LINKLIBS)))) all: up_head$(OBJEXT) libarch$(LIBEXT) -.PHONY: clean distclean cleanrel depend +.PHONY: export_head clean distclean cleanrel depend $(AOBJS): %$(OBJEXT): %.S $(call ASSEMBLE, $<, $@) diff --git a/tools/Makefile.export b/tools/Makefile.export index 6d2f1348177..650dc72419d 100644 --- a/tools/Makefile.export +++ b/tools/Makefile.export @@ -36,9 +36,11 @@ include $(TOPDIR)/.config include $(EXPORTDIR)/Make.defs +ifdef ARCHSCRIPT LDPATH = ${shell echo "$(ARCHSCRIPT)" | sed -e "s/^-T[ ]*//g"} LDNAME = ${shell basename ${LDPATH}} LDDIR = ${shell dirname ${LDPATH}} +endif ARCHSUBDIR = "arch/$(CONFIG_ARCH)/src" ARCHDIR ="$(TOPDIR)/$(ARCHSUBDIR)" @@ -51,9 +53,11 @@ $(EXPORTDIR)/makeinfo.sh: $(TOPDIR)/.config $(EXPORTDIR)/Make.defs @echo "" >> $(EXPORTDIR)/makeinfo.sh @echo "ARCHSUBDIR=\"$(ARCHSUBDIR)\"" >> $(EXPORTDIR)/makeinfo.sh @echo "ARCHDIR=\"$(ARCHDIR)\"" >> $(EXPORTDIR)/makeinfo.sh +ifdef ARCHSCRIPT @echo "LDNAME=\"$(LDNAME)\"" >> $(EXPORTDIR)/makeinfo.sh @echo "LDDIR=\"$(LDDIR)\"" >> $(EXPORTDIR)/makeinfo.sh @echo "LDPATH=\"$(LDPATH)\"" >> $(EXPORTDIR)/makeinfo.sh +endif @echo "ARCHCFLAGS=\"$(ARCHCFLAGS) $(ARCHCPUFLAGS)\"" >> $(EXPORTDIR)/makeinfo.sh @echo "ARCHCXXFLAGS=\"$(ARCHCXXFLAGS) $(ARCHCPUFLAGS)\"" >> $(EXPORTDIR)/makeinfo.sh @chmod 755 $(EXPORTDIR)/makeinfo.sh diff --git a/tools/mkexport.sh b/tools/mkexport.sh index 41e429cd2a0..36255fe461c 100755 --- a/tools/mkexport.sh +++ b/tools/mkexport.sh @@ -41,9 +41,10 @@ # Get the input parameter list -USAGE="USAGE: $0 [-d] -t [-x ] -l \"lib1 [lib2 [lib3 ...]]\"" +USAGE="USAGE: $0 [-d] [-z] -t [-x ] -l \"lib1 [lib2 [lib3 ...]]\"" unset TOPDIR unset LIBLIST +unset TGZ LIBEXT=.a while [ ! -z "$1" ]; do @@ -63,6 +64,9 @@ while [ ! -z "$1" ]; do shift LIBEXT=$1 ;; + -z ) + TGZ=y + ;; -h ) echo $USAGE exit 0 @@ -113,9 +117,14 @@ if [ -d "${EXPORTDIR}" ]; then rm -rf "${EXPORTDIR}" fi +# Remove any possible previous results + rm -f "${EXPORTDIR}.tar" +rm -f "${EXPORTDIR}.zip" rm -f "${EXPORTDIR}.tar.gz" +# Create the export directory and some of its subdirectories + mkdir "${EXPORTDIR}" || { echo "MK: 'mkdir ${EXPORTDIR}' failed"; exit 1; } mkdir "${EXPORTDIR}/startup" || { echo "MK: 'mkdir ${EXPORTDIR}/startup' failed"; exit 1; } mkdir "${EXPORTDIR}/libs" || { echo "MK: 'mkdir ${EXPORTDIR}/libs' failed"; exit 1; } @@ -139,22 +148,32 @@ source "${EXPORTDIR}/makeinfo.sh" rm -f "${EXPORTDIR}/makeinfo.sh" rm -f "${EXPORTDIR}/Make.defs" -# Verifty the build info that we got from makeinfo.sh +# Verify the build info that we got from makeinfo.sh if [ ! -d "${ARCHDIR}" ]; then echo "MK: Directory ${ARCHDIR} does not exist" exit 1 fi -if [ ! -f "${LDPATH}" ]; then - echo "MK: File ${LDPATH} does not exist" - exit 1 +# Is there a linker script in this configuration? + +if [ ! -z "${LDPATH}" ]; then + + # Apparently so. Verify that the script exists + + if [ ! -f "${LDPATH}" ]; then + echo "MK: File ${LDPATH} does not exist" + exit 1 + fi + + # Copy the linker script + + cp --preserve=all "${LDPATH}" "${EXPORTDIR}/build/." || \ + { echo "MK: cp ${LDPATH} failed"; exit 1; } fi -# Copy the build info that we got from makeinfo.sh +# Save the compilation options -cp --preserve=all "${LDPATH}" "${EXPORTDIR}/build/." || \ - { echo "MK: cp ${LDPATH} failed"; exit 1; } echo "ARCHCFLAGS = ${ARCHCFLAGS}" >"${EXPORTDIR}/build/Make.defs" echo "ARCHCXXFLAGS = ${ARCHCXXFLAGS}" >>"${EXPORTDIR}/build/Make.defs" @@ -221,9 +240,14 @@ done cd "${TOPDIR}" || \ { echo "MK: 'cd ${TOPDIR}' failed"; exit 1; } -tar cvf "${EXPORTSUBDIR}.tar" "${EXPORTSUBDIR}" 1>/dev/null 2>&1 -gzip -f "${EXPORTSUBDIR}.tar" + +if [ "X${TGZ}" = "Xy" ]; then + tar cvf "${EXPORTSUBDIR}.tar" "${EXPORTSUBDIR}" 1>/dev/null 2>&1 + gzip -f "${EXPORTSUBDIR}.tar" +else + zip -r "${EXPORTSUBDIR}.zip" "${EXPORTSUBDIR}" 1>/dev/null 2>&1 +fi # Clean up after ourselves -rm -rf "${EXPORTSUBDIR}" +rm -rf "${EXPORTSUBDIR}"