Base code merged to SPIN 2.4
[platform/upstream/curl.git] / projects / generate.bat
index 4ac5fe2..a95cc9a 100644 (file)
@@ -21,46 +21,98 @@ rem * KIND, either express or implied.
 rem *
 rem ***************************************************************************
 
-echo Generating VC6 project files
-call :generate dsp Windows\VC6\src\curlsrc.tmpl Windows\VC6\src\curlsrc.dsp
-call :generate dsp Windows\VC6\lib\libcurl.tmpl Windows\VC6\lib\libcurl.dsp
-
-echo.
-echo Generating VC7 project files
-call :generate vcproj1 Windows\VC7\src\curlsrc.tmpl Windows\VC7\src\curlsrc.vcproj
-call :generate vcproj1 Windows\VC7\lib\libcurl.tmpl Windows\VC7\lib\libcurl.vcproj
-
-echo.
-echo Generating VC7.1 project files
-call :generate vcproj1 Windows\VC7.1\src\curlsrc.tmpl Windows\VC7.1\src\curlsrc.vcproj
-call :generate vcproj1 Windows\VC7.1\lib\libcurl.tmpl Windows\VC7.1\lib\libcurl.vcproj
-
-echo.
-echo Generating VC8 project files
-call :generate vcproj2 Windows\VC8\src\curlsrc.tmpl Windows\VC8\src\curlsrc.vcproj
-call :generate vcproj2 Windows\VC8\lib\libcurl.tmpl Windows\VC8\lib\libcurl.vcproj
-
-echo.
-echo Generating VC9 project files
-call :generate vcproj2 Windows\VC9\src\curlsrc.tmpl Windows\VC9\src\curlsrc.vcproj
-call :generate vcproj2 Windows\VC9\lib\libcurl.tmpl Windows\VC9\lib\libcurl.vcproj
-
-echo.
-echo Generating VC10 project files
-call :generate vcxproj Windows\VC10\src\curlsrc.tmpl Windows\VC10\src\curlsrc.vcxproj
-call :generate vcxproj Windows\VC10\lib\libcurl.tmpl Windows\VC10\lib\libcurl.vcxproj
-
-echo.
-echo Generating VC11 project files
-call :generate vcxproj Windows\VC11\src\curlsrc.tmpl Windows\VC11\src\curlsrc.vcxproj
-call :generate vcxproj Windows\VC11\lib\libcurl.tmpl Windows\VC11\lib\libcurl.vcxproj
-
-echo.
-echo Generating VC12 project files
-call :generate vcxproj Windows\VC12\src\curlsrc.tmpl Windows\VC12\src\curlsrc.vcxproj
-call :generate vcxproj Windows\VC12\lib\libcurl.tmpl Windows\VC12\lib\libcurl.vcxproj
-
-goto exit
+:begin
+  rem Check we are running on a Windows NT derived OS
+  if not "%OS%" == "Windows_NT" goto nodos
+  setlocal
+
+  rem Display the help
+  if /i "%~1" == "-?" goto syntax
+  if /i "%~1" == "-h" goto syntax
+  if /i "%~1" == "-help" goto syntax
+
+:parseArgs
+  if "%~1" == "" goto all
+
+  if /i "%~1" == "vc6" (
+    goto vc6
+  ) else if /i "%~1" == "vc7" (
+    goto vc7
+  ) else if /i "%~1" == "vc7.1" (
+    goto vc71
+  ) else if /i "%~1" == "vc8" (
+    goto vc8
+  ) else if /i "%~1" == "vc9" (
+    goto vc9
+  ) else if /i "%~1" == "vc10" (
+    goto vc10
+  ) else if /i "%~1" == "vc11" (
+    goto vc11
+  ) else if /i "%~1" == "vc12" (
+    goto vc12
+  ) else (
+    goto unknown
+  )
+
+:all
+  set ALL=true
+
+:vc6
+  echo.
+  echo Generating VC6 project files
+  call :generate dsp Windows\VC6\src\curlsrc.tmpl Windows\VC6\src\curlsrc.dsp
+  call :generate dsp Windows\VC6\lib\libcurl.tmpl Windows\VC6\lib\libcurl.dsp
+  if not "%ALL%" == "true" goto success
+
+:vc7
+  echo.
+  echo Generating VC7 project files
+  call :generate vcproj1 Windows\VC7\src\curlsrc.tmpl Windows\VC7\src\curlsrc.vcproj
+  call :generate vcproj1 Windows\VC7\lib\libcurl.tmpl Windows\VC7\lib\libcurl.vcproj
+  if not "%ALL%" == "true" goto success
+
+:vc71
+  echo.
+  echo Generating VC7.1 project files
+  call :generate vcproj1 Windows\VC7.1\src\curlsrc.tmpl Windows\VC7.1\src\curlsrc.vcproj
+  call :generate vcproj1 Windows\VC7.1\lib\libcurl.tmpl Windows\VC7.1\lib\libcurl.vcproj
+  if not "%ALL%" == "true" goto success
+
+:vc8
+  echo.
+  echo Generating VC8 project files
+  call :generate vcproj2 Windows\VC8\src\curlsrc.tmpl Windows\VC8\src\curlsrc.vcproj
+  call :generate vcproj2 Windows\VC8\lib\libcurl.tmpl Windows\VC8\lib\libcurl.vcproj
+  if not "%ALL%" == "true" goto success
+
+:vc9
+  echo.
+  echo Generating VC9 project files
+  call :generate vcproj2 Windows\VC9\src\curlsrc.tmpl Windows\VC9\src\curlsrc.vcproj
+  call :generate vcproj2 Windows\VC9\lib\libcurl.tmpl Windows\VC9\lib\libcurl.vcproj
+  if not "%ALL%" == "true" goto success
+
+:vc10
+  echo.
+  echo Generating VC10 project files
+  call :generate vcxproj Windows\VC10\src\curlsrc.tmpl Windows\VC10\src\curlsrc.vcxproj
+  call :generate vcxproj Windows\VC10\lib\libcurl.tmpl Windows\VC10\lib\libcurl.vcxproj
+  if not "%ALL%" == "true" goto success
+
+:vc11
+  echo.
+  echo Generating VC11 project files
+  call :generate vcxproj Windows\VC11\src\curlsrc.tmpl Windows\VC11\src\curlsrc.vcxproj
+  call :generate vcxproj Windows\VC11\lib\libcurl.tmpl Windows\VC11\lib\libcurl.vcxproj
+  if not "%ALL%" == "true" goto success
+
+:vc12
+  echo.
+  echo Generating VC12 project files
+  call :generate vcxproj Windows\VC12\src\curlsrc.tmpl Windows\VC12\src\curlsrc.vcxproj
+  call :generate vcxproj Windows\VC12\lib\libcurl.tmpl Windows\VC12\lib\libcurl.vcxproj
+
+  goto success
 
 rem Main generate function.
 rem
@@ -94,7 +146,6 @@ rem
       for /f "delims=" %%r in ('dir /b ..\src\*.rc') do call :element %1 src "%%r" %3
     ) else if "!var!" == "CURL_SRC_X_C_FILES" (
       call :element %1 lib "strtoofft.c" %3
-      call :element %1 lib "strdup.c" %3
       call :element %1 lib "rawstr.c" %3
       call :element %1 lib "nonblock.c" %3
       call :element %1 lib "warnless.c" %3
@@ -102,7 +153,6 @@ rem
       call :element %1 lib "config-win32.h" %3
       call :element %1 lib "curl_setup.h" %3
       call :element %1 lib "strtoofft.h" %3
-      call :element %1 lib "strdup.h" %3
       call :element %1 lib "rawstr.h" %3
       call :element %1 lib "nonblock.h" %3
       call :element %1 lib "warnless.h" %3
@@ -191,6 +241,37 @@ rem
   set %2=%ename%
   exit /B
 
-:exit
+:syntax
+  rem Display the help
+  echo.
+  echo Usage: generate [compiler]
   echo.
-  pause
+  echo Compiler:
+  echo.
+  echo vc6       - Use Visual Studio 6
+  echo vc7       - Use Visual Studio .NET
+  echo vc7.1     - Use Visual Studio .NET 2003
+  echo vc8       - Use Visual Studio 2005
+  echo vc9       - Use Visual Studio 2008
+  echo vc10      - Use Visual Studio 2010
+  echo vc11      - Use Visual Studio 2012
+  echo vc12      - Use Visual Studio 2013
+  goto error
+
+:unknown
+  echo.
+  echo Error: Unknown argument '%1'
+  goto error
+
+:nodos
+  echo.
+  echo Error: Only a Windows NT based Operating System is supported
+  goto error
+
+:error
+  endlocal
+  exit /B 1
+
+:success
+  endlocal
+  exit /B 0