From 5e515841de71f6806cf23c6cd73e2636f3647e15 Mon Sep 17 00:00:00 2001 From: patacongo Date: Fri, 4 Jan 2013 16:00:38 +0000 Subject: [PATCH] Renaming some files in tools/ git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5476 42af7a65-404d-4744-a932-0658087f49c3 --- README.txt | 9 +- TODO | 84 ++++++++---- tools/Makefile.host | 22 ++- tools/README.txt | 4 +- tools/cfgdefine.c | 322 ++++++++++++++++++++++++++++++++++++++++++++ tools/cfgdefine.h | 64 +++++++++ tools/mkconfig.c | 4 +- tools/mkversion.c | 4 +- 8 files changed, 469 insertions(+), 44 deletions(-) create mode 100644 tools/cfgdefine.c create mode 100644 tools/cfgdefine.h diff --git a/README.txt b/README.txt index c00f086a11..bfd057351a 100644 --- a/README.txt +++ b/README.txt @@ -41,6 +41,10 @@ Installing Cygwin tiny setup.exe program and it does the real, internet installation for you. + NOTE: NuttX can also be installed and built on a native Windows + system, but with some loss of tool functionality (see the + discussion "Native Windows Build" below). + Some Cygwin installation tips: 1. Install at C:\cygwin @@ -61,8 +65,9 @@ Installing Cygwin After installing Cygwin, you will get lots of links for installed tools and shells. I use the RXVT native shell. It is fast and reliable and does not require you to run the Cygwin X server (which is neither - fast nor reliable). The rest of these instructions assume that you - are at a bash command line prompt in either Linux or in Cygwin shell. + fast nor reliable). Unless otherwise noted, the rest of these + instructions assume that you are at a bash command line prompt in + either Linux or in Cygwin shell. Download and Unpack ------------------- diff --git a/TODO b/TODO index 6162431dc9..d37231e1d5 100644 --- a/TODO +++ b/TODO @@ -6,8 +6,7 @@ standards, things that could be improved, and ideas for enhancements. nuttx/ - (6) Task/Scheduler (sched/) - (1) On-demand paging (sched/) + (10) Task/Scheduler (sched/) (1) Memory Managment (mm/) (2) Signals (sched/, arch/) (2) pthreads (sched/) @@ -56,14 +55,9 @@ o Task/Scheduler (sched/) Title: CHILD PTHREAD TERMINATION Description: When a tasks exits, shouldn't all of its child pthreads also be terminated? - Status: Open + Status: Closed. No, this behavior will not be implemented. Priority: Medium, required for good emulation of process/pthread model. - Title: MMAN.H - Description: Implement sys/mman.h and functions - Status: Open - Priority: Low - Title: WAIT.H Description: Implement sys/wait.h and functions. Consider implementing wait, waitpid, waitid. At present, a parent has no information about @@ -72,14 +66,16 @@ o Task/Scheduler (sched/) Update: A simple but usable version of waitpid() has been included. This version is not compliant with all specifications and can be enabled with CONFIG_SCHED_WAITPID. - Status: Open + Status: Open, however no further work is planned. Priority: Low Title: MISSING ERRNO SETTINGS Description: Several APIs do not set errno. Need to review all APIs. Update: These are being fixed as they are encountered. There is no accounting of how many interfaces have this problem. - Status: Open + Status: Open? There has been an effort over the past few years to assure + that all errno settings are in place. What is the current state? + Unknown. Priority: Medium, required for standard compliance (but makes the code bigger) @@ -107,18 +103,29 @@ o Task/Scheduler (sched/) 3) sched_process_timeslice(). Then there is round-robin time-slicing. - Status: Open + The primary advantage of a tickless OS is that is would allow for + reduce power consumptions. That is because timer interrupts will + usually awaken CPUs from reduced power consumption states. + Status: Open. There will probably be no tickless OS implementation unless + someone gets motivated and drives the change. Priority: Low Title: posix_spawn() Description: This would be a good interface to add to NuttX. It is really just a re-packaging of the existing, non-standard NuttX exec() function. - Status: Open + Status: Open. There are no plans to implement this capabilitiey now. Priority: Medium low. -o On-demand paging (sched/) - ^^^^^^^^^^^^^^^^^^^^^^^^^ + Title: pause() NON-COMPLIANCE + Description: In the POSIX description of this function is the pause() function + will suspend the calling thread until delivery of a signal whose + action is either to execute a signal-catching function or to + terminate the process. The current implementation only waits for + any non-blocked signal to be received. It should only wake up if + the signal is delivered to a handler. + Status: Open. + Priority: Medium Low. Title: ON-DEMAND PAGE INCOMPLETE Description: On-demand paging has recently been incorporated into the RTOS. @@ -130,19 +137,16 @@ o On-demand paging (sched/) configs/ea3131/pgnsh and locked directories). There are some limitations of this testing so I still cannot say that the feature is fully functional. - Status: Open + Status: Open. This has been put on the shelf for some time. Priority: Medium-Low -o Other core OS logic - ^^^^^^^^^^^^^^^^^^^ - Title: GET_ENVIRON_PTR() Description: get_environ_ptr() (sched/sched_getenvironptr.c) is not implemented. The representation of the the environment strings selected for NutX is not compatible with the operation. Some significant re-design would be required to implement this funcion and that effort is thought to be not worth the result. - Status: Open + Status: Open. No change is planned. Priority: Low -- There is no plan to implement this. Title: TIMER_GETOVERRUN() @@ -150,6 +154,23 @@ o Other core OS logic Status: Open Priority: Low -- There is no plan to implement this. + Title: USER-SPACE WORK QUEUES + Description: There has been some use of work queues that has crept into some + user code. I am thinking of NxWidgets::CNxTimer. That timer + logic was originally implemented (correctly) using POSIX timers, + but was re-implemented using timed work. + + The issue is that NxWidgets::CNxTimer is a user-space application + but the work queues are an OS internal feature. This will be a + problem for KERNEL builds. Hooks and definitions have been added + in include/nuttx/wqueue.h to support a user-space work queue, but + the corresponding logic has not been implemented. + + The work queue logic will need to be moved from sched/ to libc/wqueue/ + Status: Open. No work will probably be done until a functional KERNEL build + that includes NxWisges::CNxTimer is needed. + Priority: Medium Low for now + o Memory Managment (mm/) ^^^^^^^^^^^^^^^^^^^^^^ @@ -212,7 +233,7 @@ o Memory Managment (mm/) be required to keep this memory on the correct list (or on no list at all). - Status: Open + Status: Open. No changes are planned. Priority: Medium/Low, a good feature to prevent memory leaks but would have negative impact on memory usage and code size. @@ -222,7 +243,7 @@ o Signals (sched/, arch/) Title: STANDARD SIGNALS Description: 'Standard' signals and signal actions are not supported. (e.g., SIGINT, SIGCHLD, SIGSEGV, etc). - Status: Open + Status: Open. No changes are planned. Priority: Low, required by standards but not so critical for an embedded system. @@ -240,11 +261,11 @@ o pthreads (sched/) Title: CANCELLATION POINTS Description: pthread_cancel(): Should implement cancellation points and pthread_testcancel() - Status: Open + Status: Open. No changes are planned. Priority: Low, probably not that useful Title: PTHREAD_PRIO_PROTECT - Description: Extended pthread_mutexattr_setprotocol() suport PTHREAD_PRIO_PROTECT: + Description: Extended pthread_mutexattr_setprotocol() suport PTHREAD_PRIO_PROTECT: "When a thread owns one or more mutexes initialized with the PTHREAD_PRIO_PROTECT protocol, it shall execute at the higher of its priority or the highest of the priority ceilings of all the mutexes @@ -260,7 +281,7 @@ o pthreads (sched/) PTHREAD_PRIO_PROTECT protocol attributes, it shall not be subject to being moved to the tail of the scheduling queue at its priority in the event that its original priority is changed." - Status: Open + Status: Open. No changes planned. Priority: Low -- about zero, probably not that useful. Priority inheritance is already supported and is a much better solution. And it turns out that priority protection is just about as complex as priority inheritance. @@ -442,21 +463,25 @@ o Network (net/, drivers/net) Title: SOCK_RAW/SOCK_PACKET Description: Should implement SOCK_RAW, SOCK_PACKET - Status: Open + Status: Open. No changes are planned. Priority: Low Tile: MULTIPLE NETWORK INTERFACE SUPPORT Description: uIP polling issues / Multiple network interface support: + (1) Current logic will not support multiple ethernet drivers. Each driver should poll on TCP connections connect on the network supported by the driver; UDP polling should respond with TX data only if the UDP packet is intended for the the network supported by the driver. + (2) If there were multiple drivers, polling would occur at double the rate. Fix by using bound IP address in TCP connection (lipaddr) and verifying that it is in the subnet served by the driver. - Status: Open + + Status: Open. Nothing will probably be done until I have a platform + with two network interfaces that I need to support. Priority: Medium, The feature is not important, but it is important for NuttX to resolve the architectural issues. @@ -464,7 +489,7 @@ o Network (net/, drivers/net) Description: sendto() and multiple network interface support: When polled, would have to assure that the destination IP is on the subnet served by the polling driver. - Status: Open + Status: Open. This is really part of the above issue. Priority: Medium, The feature is not important, but it is important for NuttX to resolve the architectural issues. @@ -472,7 +497,8 @@ o Network (net/, drivers/net) Description: IPv6 support is incomplete. Adam Dunkels has recently announced IPv6 support for uIP (currently only as part of Contiki). Those changes need to be ported to NuttX. - Status: Open + Status: Open. No work will probably be done until there is a specific + requirement for IPv6. Priority: Medium Title: LISTENING FOR UDP BROADCASTS @@ -488,7 +514,7 @@ o Network (net/, drivers/net) driver should be throttled. Perhaps the driver should disable RX interrupts when throttled and re-anable on each poll time. recvfrom would, of course, have to un-throttle. - Status: Open + Status: Open. This is just a thought experiment. No changes are planned. Priority: Medium Title: STANDARDIZE ETHERNET DRIVER STATISTICS diff --git a/tools/Makefile.host b/tools/Makefile.host index 4a46901e6a..663ff29c73 100644 --- a/tools/Makefile.host +++ b/tools/Makefile.host @@ -45,13 +45,12 @@ ifneq ($(CONFIG_WINDOWS_NATIVE),y) endif all: b16$(HOSTEXEEXT) bdf-converter$(HOSTEXEEXT) cmpconfig$(HOSTEXEEXT) \ - mkconfig$(HOSTEXEEXT) mkdeps$(HOSTEXEEXT) mksymtab$(HOSTEXEEXT) \ + configure$(HOSTEXEEXT) mkconfig$(HOSTEXEEXT) mkdeps$(HOSTEXEEXT) mksymtab$(HOSTEXEEXT) \ mksyscall$(HOSTEXEEXT) mkversion$(HOSTEXEEXT) default: mkconfig$(HOSTEXEEXT) mksyscall$(HOSTEXEEXT) mkdeps$(HOSTEXEEXT) ifdef HOSTEXEEXT -.PHONY: b16 bdf-converter cmpconfig clean mkconfig mkdeps mksymtab \ - mksyscall mkversion +.PHONY: b16 bdf-converter cmpconfig clean configure mkconfig mkdeps mksymtab mksyscall mkversion else .PHONY: clean endif @@ -70,10 +69,19 @@ ifdef HOSTEXEEXT b16: b16$(HOSTEXEEXT) endif +# configure - Instantiate a canned NuttX configuration + +configure$(HOSTEXEEXT): configure.c cfgparser.c + $(Q) $(HOSTCC) $(HOSTCFLAGS) -o configure$(HOSTEXEEXT) configure.c cfgparser.c + +ifdef HOSTEXEEXT +configure: configure$(HOSTEXEEXT) +endif + # mkconfig - Convert a .config file into a C config.h file -mkconfig$(HOSTEXEEXT): mkconfig.c cfgparser.c - $(Q) $(HOSTCC) $(HOSTCFLAGS) -o mkconfig$(HOSTEXEEXT) mkconfig.c cfgparser.c +mkconfig$(HOSTEXEEXT): mkconfig.c cfgdefine.c + $(Q) $(HOSTCC) $(HOSTCFLAGS) -o mkconfig$(HOSTEXEEXT) mkconfig.c cfgdefine.c ifdef HOSTEXEEXT mkconfig: mkconfig$(HOSTEXEEXT) @@ -90,8 +98,8 @@ endif # mkversion - Convert a .version file into a C version.h file -mkversion$(HOSTEXEEXT): mkconfig.c cfgparser.c - $(Q) $(HOSTCC) $(HOSTCFLAGS) -o mkversion$(HOSTEXEEXT) mkversion.c cfgparser.c +mkversion$(HOSTEXEEXT): mkconfig.c cfgdefine.c + $(Q) $(HOSTCC) $(HOSTCFLAGS) -o mkversion$(HOSTEXEEXT) mkversion.c cfgdefine.c ifdef HOSTEXEEXT mkversion: mkversion$(HOSTEXEEXT) diff --git a/tools/README.txt b/tools/README.txt index fc03322127..f9e2d1099c 100644 --- a/tools/README.txt +++ b/tools/README.txt @@ -38,7 +38,7 @@ discover.py Example script for discovering devices in the local network. It is the counter part to apps/netutils/discover -mkconfig.c, cfgparser.c, and cfgparser.h +mkconfig.c, cfgdefine.c, and cfgdefine.h ---------------------------------------- These are Cs file that are used to build mkconfig program. The mkconfig @@ -79,7 +79,7 @@ mkfsdata.pl NOTE: This perl script comes from uIP and was (probably) written by Adam Dunkels. uIP has a license that is compatible with NuttX. -mkversion.c, cfgparser.c, and cfgparser.h +mkversion.c, cfgdefine.c, and cfgdefine.h ----------------------------------------- This is C file that is used to build mkversion program. The mkversion diff --git a/tools/cfgdefine.c b/tools/cfgdefine.c new file mode 100644 index 0000000000..00dd11c20b --- /dev/null +++ b/tools/cfgdefine.c @@ -0,0 +1,322 @@ +/**************************************************************************** + * tools/cfgdefine.c + * + * Copyright (C) 2007-2012 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. + * + ****************************************************************************/ + +/**************************************************************************** + * Included Files + ****************************************************************************/ + +#include +#include +#include "cfgdefine.h" + +/**************************************************************************** + * Definitions + ****************************************************************************/ + +/**************************************************************************** + * Public Data + ****************************************************************************/ + +char line[LINESIZE+1]; + +/**************************************************************************** + * Private Data + ****************************************************************************/ + +/* These are configuration variable name that are quoted by configuration tool + * but which must be unquoted when used in C code. + */ + +static const char *dequote_list[] = +{ + /* NuttX */ + + "CONFIG_USER_ENTRYPOINT", /* Name of entry point function */ + + /* NxWidgets/NxWM */ + + "CONFIG_NXWM_BACKGROUND_IMAGE", /* Name of bitmap image class */ + "CONFIG_NXWM_STARTWINDOW_ICON", /* Name of bitmap image class */ + "CONFIG_NXWM_NXCONSOLE_ICON", /* Name of bitmap image class */ + "CONFIG_NXWM_CALIBRATION_ICON", /* Name of bitmap image class */ + "CONFIG_NXWM_HEXCALCULATOR_ICON", /* Name of bitmap image class */ + + NULL /* Marks the end of the list */ +}; + + /**************************************************************************** + * Private Functions + ****************************************************************************/ + + /* Skip over any spaces */ + +static char *skip_space(char *ptr) +{ + while (*ptr && isspace((int)*ptr)) ptr++; + return ptr; +} + +/* Find the end of a variable string */ + +static char *find_name_end(char *ptr) +{ + while (*ptr && (isalnum((int)*ptr) || *ptr == '_')) ptr++; + return ptr; +} + +/* Find the end of a value string */ + +static char *find_value_end(char *ptr) +{ + while (*ptr && !isspace((int)*ptr)) + { + if (*ptr == '"') + { + do ptr++; while (*ptr && *ptr != '"'); + if (*ptr) ptr++; + } + else + { + do ptr++; while (*ptr && !isspace((int)*ptr) && *ptr != '"'); + } + } + return ptr; +} + +/* Read the next line from the configuration file */ + +static char *read_line(FILE *stream) +{ + char *ptr; + + for (;;) + { + line[LINESIZE] = '\0'; + if (!fgets(line, LINESIZE, stream)) + { + return NULL; + } + else + { + ptr = skip_space(line); + if (*ptr && *ptr != '#' && *ptr != '\n') + { + return ptr; + } + } + } +} + +/* Parse the line from the configuration file into a variable name + * string and a value string. + */ + +static void parse_line(char *ptr, char **varname, char **varval) +{ + /* Skip over any leading spaces */ + + ptr = skip_space(ptr); + + /* The first no-space is the beginning of the variable name */ + + *varname = skip_space(ptr); + *varval = NULL; + + /* Parse to the end of the variable name */ + + ptr = find_name_end(ptr); + + /* An equal sign is expected next, perhaps after some white space */ + + if (*ptr && *ptr != '=') + { + /* Some else follows the variable name. Terminate the variable + * name and skip over any spaces. + */ + + *ptr = '\0'; + ptr = skip_space(ptr + 1); + } + + /* Verify that the equal sign is present */ + + if (*ptr == '=') + { + /* Make sure that the variable name is terminated (this was already + * done if the name was followed by white space. + */ + + *ptr = '\0'; + + /* The variable value should follow =, perhaps separated by some + * white space. + */ + + ptr = skip_space(ptr + 1); + if (*ptr) + { + /* Yes.. a variable follows. Save the pointer to the start + * of the variable string. + */ + + *varval = ptr; + + /* Find the end of the variable string and make sure that it + * is terminated. + */ + + ptr = find_value_end(ptr); + *ptr = '\0'; + } + } +} + +static char *dequote_value(const char *varname, char *varval) +{ + const char **dqnam; + char *dqval = varval; + int len; + + if (dqval) + { + /* Check if the variable name is in the list of strings to be dequoated */ + + for (dqnam = dequote_list; *dqnam; dqnam++) + { + if (strcmp(*dqnam, varname) == 0) + { + break; + } + } + + /* Did we find the variable name in the list of configuration variables + * to be dequoated? + */ + + if (*dqnam) + { + /* Yes... Check if there is a traiing quote */ + + len = strlen(dqval); + if (dqval[len-1] == '"') + { + /* Yes... replace it with a terminator */ + + dqval[len-1] = '\0'; + len--; + } + + /* Is there a leading quote? */ + + if (dqval[0] == '"') + { + /* Yes.. skip over the leading quote */ + + dqval++; + len--; + } + + /* Handle the case where nothing is left after dequoting */ + + if (len <= 0) + { + dqval = NULL; + } + } + } + + return dqval; +} + +/**************************************************************************** + * Public Functions + ****************************************************************************/ + +void generate_definitions(FILE *stream) +{ + char *varname; + char *varval; + char *ptr; + + /* Loop until the entire file has been parsed. */ + + do + { + /* Read the next line from the file */ + + ptr = read_line(stream); + if (ptr) + { + /* Parse the line into a variable and a value field */ + + parse_line(ptr, &varname, &varval); + + /* Was a variable name found? */ + + if (varname) + { + /* Yes.. dequote the value if necessary */ + + varval = dequote_value(varname, varval); + + /* If no value was provided or if the special value 'n' was provided, + * then undefine the configuration variable. + */ + + if (!varval || strcmp(varval, "n") == 0) + { + printf("#undef %s\n", varname); + } + + /* Simply define the configuration variable if it has the special + * value "y" + */ + + else if (strcmp(varval, "y") == 0) + { + printf("#define %s 1\n", varname); + } + + /* Otherwise, use the value as provided */ + + else + { + printf("#define %s %s\n", varname, varval); + } + } + } + } + while (ptr); +} diff --git a/tools/cfgdefine.h b/tools/cfgdefine.h new file mode 100644 index 0000000000..04817b719c --- /dev/null +++ b/tools/cfgdefine.h @@ -0,0 +1,64 @@ +/**************************************************************************** + * tools/cfgdefine.h + * + * Copyright (C) 2007-2011 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. + * + ****************************************************************************/ + +#ifndef __TOOLS_CFGDEFINE_H +#define __TOOLS_CFGDEFINE_H + +/**************************************************************************** + * Included Files + ****************************************************************************/ + +#include +#include + +/**************************************************************************** + * Definitions + ****************************************************************************/ + +#define LINESIZE ( PATH_MAX > 256 ? PATH_MAX : 256 ) + +/**************************************************************************** + * Public Data + ****************************************************************************/ + +extern char line[LINESIZE+1]; + +/**************************************************************************** + * Public Functions + ****************************************************************************/ + +extern void generate_definitions(FILE *stream); + +#endif /* __TOOLS_CFGDEFINE_H */ diff --git a/tools/mkconfig.c b/tools/mkconfig.c index 3e55f50974..f4a1168c57 100644 --- a/tools/mkconfig.c +++ b/tools/mkconfig.c @@ -41,7 +41,7 @@ #include #include -#include "cfgparser.h" +#include "cfgdefine.h" /**************************************************************************** * Pre-processor Definitions @@ -99,7 +99,7 @@ int main(int argc, char **argv, char **envp) printf("#ifndef __INCLUDE_NUTTX_CONFIG_H\n"); printf("#define __INCLUDE_NUTTX_CONFIG_H\n\n"); printf("/* Architecture-specific options *************************/\n\n"); - parse_file(stream); + generate_definitions(stream); printf("\n/* Sanity Checks *****************************************/\n\n"); printf("/* If this is an NXFLAT, external build, then make sure that\n"); printf(" * NXFLAT support is enabled in the base code.\n"); diff --git a/tools/mkversion.c b/tools/mkversion.c index 32068df38b..c6b00c5e50 100644 --- a/tools/mkversion.c +++ b/tools/mkversion.c @@ -41,7 +41,7 @@ #include #include -#include "cfgparser.h" +#include "cfgdefine.h" /**************************************************************************** * Definitions @@ -98,7 +98,7 @@ int main(int argc, char **argv, char **envp) printf("/* version.h -- Autogenerated! Do not edit. */\n\n"); printf("#ifndef __INCLUDE_NUTTX_VERSION_H\n"); printf("#define __INCLUDE_NUTTX_VERSION_H\n\n"); - parse_file(stream); + generate_definitions(stream); printf("\n#define CONFIG_VERSION ((CONFIG_VERSION_MAJOR << 8) | (CONFIG_VERSION_MINOR))\n\n"); printf("#endif /* __INCLUDE_NUTTX_VERSION_H */\n"); fclose(stream);