summaryrefslogtreecommitdiff
path: root/nuttx/tools
diff options
context:
space:
mode:
authorGregory Nutt <gnutt@nuttx.org>2013-04-22 16:48:06 -0600
committerGregory Nutt <gnutt@nuttx.org>2013-04-22 16:48:06 -0600
commitfcf97cd5b2040c0c78d9e4ff627847b9d22584fe (patch)
tree38f03608ce60507a42ff6fcf413d6511e67350d7 /nuttx/tools
parent377190ce1dbf843f6ccfa4283eb87ab3ee592c44 (diff)
downloadpx4-nuttx-fcf97cd5b2040c0c78d9e4ff627847b9d22584fe.tar.gz
px4-nuttx-fcf97cd5b2040c0c78d9e4ff627847b9d22584fe.tar.bz2
px4-nuttx-fcf97cd5b2040c0c78d9e4ff627847b9d22584fe.zip
Add nuttx/tools/mkconfigvars.sh
Diffstat (limited to 'nuttx/tools')
-rwxr-xr-xnuttx/tools/mkconfigvars.sh101
1 files changed, 101 insertions, 0 deletions
diff --git a/nuttx/tools/mkconfigvars.sh b/nuttx/tools/mkconfigvars.sh
new file mode 100755
index 000000000..49c3442b4
--- /dev/null
+++ b/nuttx/tools/mkconfigvars.sh
@@ -0,0 +1,101 @@
+#!/bin/sh
+# mkconfivars.sh
+#
+# Copyright (C) 2013 Gregory Nutt. All rights reserved.
+# Author: Gregory Nutt <gnutt@nuttx.org>
+#
+# 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.
+#
+
+# Find the directory we were executed from and were we expect to
+# see the directories to tar up
+
+MYNAME=`basename $0`
+KCONFIG2HTML1=tools/kconfig2html
+KCONFIG2HTML2=tools/kconfig2html.exe
+KCONFIG2MAKEFILE=Makefile.host
+KCONFIG2MAKEDIR=tools
+HTMLFILE=Documentation/NuttXConfigVariables.html
+
+# A version argument may be provided
+
+if [ ! -z "${1}" ]; then
+ VERSION=${1}
+fi
+
+if [ -x ./${MYNAME} ] ; then
+ cd .. || { echo "ERROR: cd .. failed" ; exit 1 ; }
+fi
+
+if [ ! -x tools/${MYNAME} ] ; then
+ echo "ERROR: This file must be executed from the top-level NuttX directory"
+ exit 1
+fi
+
+WD=${PWD}
+
+# Find the application directory
+
+if [ -d ../apps ]; then
+ APPSDIR="../apps"
+else
+ if [ -d "../apps-${VERSION}" ]; then
+ APPSDIR="../apps-${VERSION}"
+ else
+ echo "ERROR: Cannot find the application directory"
+ exit 1
+ fi
+fi
+
+# If the kconfig2html executable does not exist, then build it
+
+if [ -x ${KCONFIG2HTML1} ]; then
+ KCONFIG2HTML=${KCONFIG2HTML1}
+else
+ if [ -x ${KCONFIG2HTML2} ]; then
+ KCONFIG2HTML=${KCONFIG2HTML2}
+ else
+ make -C ${KCONFIG2MAKEDIR} -f ${KCONFIG2MAKEFILE} ${KCONFIG2HTML1} || \
+ { echo "ERROR: make ${KCONFIG2HTML1} failed" ; exit 1 ; }
+ fi
+fi
+
+if [ -x ${KCONFIG2HTML1} ]; then
+ KCONFIG2HTML=${KCONFIG2HTML1}
+else
+ if [ -x ${KCONFIG2HTML2} ]; then
+ KCONFIG2HTML=${KCONFIG2HTML2}
+ else
+ echo "ERROR: Failed to create ${KCONFIG2HTML1}"
+ exit 1
+ fi
+fi
+
+# Now re-create the configuration variable document
+
+${KCONFIG2HTML} -a "${APPSDIR}" -o ${HTMLFILE}