@echo off rem tools/configure.bat rem rem SPDX-License-Identifier: Apache-2.0 rem rem Licensed to the Apache Software Foundation (ASF) under one or more rem contributor license agreements. See the NOTICE file distributed with rem this work for additional information regarding copyright ownership. The rem ASF licenses this file to you under the Apache License, Version 2.0 (the rem "License"); you may not use this file except in compliance with the rem License. You may obtain a copy of the License at rem rem http://www.apache.org/licenses/LICENSE-2.0 rem rem Unless required by applicable law or agreed to in writing, software rem distributed under the License is distributed on an "AS IS" BASIS, WITHOUT rem WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the rem License for the specific language governing permissions and limitations rem under the License. rem if exist tools goto :GoToolDir if exist ..\tools goto :SetToolDir echo Cannot find tools\ directory goto End :GoToolDir cd tools :SetTooldir set tooldir=%CD% rem Parse command line arguments set debug= set enforce_distclean= set distclean= set fmt=-b set posix= set help= set appdir= set config= set hostopt= :ArgLoop if "%1"=="" goto :NoConfig if "%1"=="-h" goto :ShowUsage if "%1"=="-d" goto :SetDebug if "%1"=="-E" goto :SetEnforceDistclean if "%1"=="-e" goto :SetDistclean if "%1"=="-f" goto :SetFormat if "%1"=="-b" goto :SetFormat if "%1"=="-l" goto :SetHostOption if "%1"=="-m" goto :SetHostOption if "%1"=="-c" goto :SetHostOption if "%1"=="-n" goto :SetHostOption if "%1"=="-B" goto :SetHostOption if "%1"=="-L" goto :SetList if "%1"=="-a" goto :SetAppDir set config=%1 goto EndOfLoop :SetDebug set debug=%1 goto :NextArg :SetEnforceDistclean set enforce_distclean=%1 goto :NextArg :SetDistclean set distclean=%1 goto :NextArg :SetFormat set fmt=%1 goto :NextArg :SetHostOption set hostopt=%1 goto :NextArg :SetList set list=%1 goto :EndOfLoop :SetAppDir shift set appdir=-a %1 :NextArg shift goto :ArgLoop :EndOfLoop rem Check if we have to build configure.exe if exist configure.exe goto :HaveConfigureExe set cc=mingw32-gcc.exe set cflags=-Wall -Wstrict-prototypes -Wshadow -g -I. -DCONFIG_WINDOWS_NATIVE=y echo %cc% %cflags% -o configure.exe configure.c cfgparser.c %cc% %cflags% -o configure.exe configure.c cfgparser.c if errorlevel 1 ( echo ERROR: %cc% failed echo Is mingw32-gcc.exe installed? Is it in the PATH variable? goto End ) :HaveConfigureExe cd .. tools\configure.exe %debug% %enforce_distclean% %distclean% %fmt% %hostopt% %appdir% %config% %list% if errorlevel 1 echo configure.exe failed goto End :NoConfig echo Missing ^:^ argument :ShowUsage echo USAGE: %0 [-d] [-E] [-e] [-b|f] [-a ^] ^:^ echo %0 [-h] echo\nWhere: echo -d: echo Enables debug output echo -E: echo Enforces distclean if already configured. echo -e: echo Performs distclean if configuration changed. echo -b: echo Informs the tool that it should use Windows style paths like C:\\Program Files echo instead of POSIX style paths are used like /usr/local/bin. Windows echo style paths are used by default. echo -f: echo Informs the tool that it should use POSIX style paths like /usr/local/bin. echo By default, Windows style paths like C:\\Program Files are used. echo -l selects the Linux (l) host environment. The [-c^|n] options echo select one of the Windows environments. Default: Use host setup echo in the defconfig file echo [-c^|n] selects the Windows host and a Windows environment: echo Cygwin (c), or Windows native (n). Default Cygwin echo -L: echo List all available configurations. echo -a ^: echo Informs the configuration tool where the application build echo directory. This is a relative path from the top-level NuttX echo build directory. But default, this tool will look in the usual echo places to try to locate the application directory: ../apps or echo ../apps-xx.yy where xx.yy is the NuttX version number. echo ^: echo Identifies the board. This must correspond to a board directory echo under nuttx/boards/. echo ^: echo Identifies the specific configuration for the selected ^. echo This must correspond to a sub-directory under the board directory at echo under nuttx/boards/^/configs/. echo -h: echo Prints this message and exits. :End