Annotation of embedaddon/libnet/win32/msvcbuild.bat, revision 1.1.1.1

1.1       misho       1: @echo off
                      2: 
                      3: @rem Script to build libnet with MSVC.
                      4: @rem Dependencies are:
                      5: @rem winpcap, specifically, the winpcap developer pack
                      6: @rem We assume WpdPack\ and libnet-master\ to have the same path,
                      7: @rem and that this script is executed from either a VS2015 Developer Command Prompt
                      8: @rem or an elevated Command Prompt.
                      9: 
                     10: :start
                     11: @if "%1" == "" goto x86
                     12: @setlocal
                     13: @set userinput=%1
                     14: @if not "%1"=="x86" @if not "%1"=="x64" @if not "%1"=="x86_x64" goto usage
                     15: @if "%1"=="x86"  goto x86
                     16: @if "%1"=="x64" goto x64
                     17: @if "%1"=="x86_x64" goto x86_x64
                     18: @endlocal
                     19: 
                     20: :x86
                     21: if not exist "%VCINSTALLDIR%bin\vcvars32.bat" goto path
                     22: call "%VCINSTALLDIR%bin\vcvars32.bat"
                     23: goto msvcbuild32
                     24: 
                     25: :x64
                     26: if not exist "%VCINSTALLDIR%bin\amd64\vcvars64.bat" goto path
                     27: call "%VCINSTALLDIR%bin\amd64\vcvars64.bat"
                     28: goto msvcbuild64
                     29: 
                     30: :x86_x64
                     31: if not exist "%VCINSTALLDIR%vcvarsall.bat" goto path
                     32: call "%VCINSTALLDIR%vcvarsall.bat" x86_amd64
                     33: goto msvcbuild64
                     34: 
                     35: :msvcbuild32
                     36: @echo on
                     37: @setlocal
                     38: @set MYCOMPILE=cl /nologo /MD /O2 /W4 /c /D_CRT_SECURE_NO_DEPRECATE /Fowin32\
                     39: @set MYLINK=link /nologo
                     40: @set MYMT=mt /nologo
                     41: @set VERSION=1.2
                     42: 
                     43: @rem relative to C code in src/
                     44: @set WINPCAP=..\..\..\WpdPack
                     45: 
                     46: if not exist "src\win32\" mkdir "src\win32\"
                     47: 
                     48: if not exist "lib\x86\" mkdir "lib\x86\"
                     49: 
                     50: copy win32\libnet.h include\
                     51: copy win32\stdint.h include\libnet\
                     52: copy win32\config.h include\
                     53: copy win32\getopt.h include\
                     54: 
                     55: cd src
                     56: %MYCOMPILE% /I..\include /I%WINPCAP%\Include libnet_a*.c libnet_build_*.c libnet_c*.c libnet_dll.c libnet_error.c libnet_i*.c libnet_link_win32.c libnet_p*.c libnet_raw.c libnet_resolve.c libnet_version.c libnet_write.c
                     57: %MYLINK% /DLL /libpath:%WINPCAP%\Lib  /out:..\lib\x86\libnet%VERSION%.dll win32\*.obj Advapi32.lib
                     58: if exist libnet.dll.manifest^
                     59:   %MYMT% -manifest libnet.dll.manifest -outputresource:libnet.dll;2
                     60: cd ..
                     61: 
                     62: exit /b %errorlevel%
                     63: 
                     64: :msvcbuild64
                     65: @echo on
                     66: @setlocal
                     67: @set MYCOMPILE=cl /nologo /MD /O2 /W4 /c /D_CRT_SECURE_NO_DEPRECATE /Fowin64\
                     68: @set MYLINK=link /nologo
                     69: @set MYMT=mt /nologo
                     70: @set VERSION=1.2
                     71: 
                     72: @rem relative to C code in src/
                     73: @set WINPCAP=..\..\..\WpdPack
                     74: 
                     75: if not exist "src\win64\" mkdir "src\win64\"
                     76: 
                     77: if not exist "lib\x64\" mkdir "lib\x64\"
                     78: 
                     79: copy win32\libnet.h include\
                     80: copy win32\stdint.h include\libnet\
                     81: copy win32\config.h include\
                     82: copy win32\getopt.h include\
                     83: 
                     84: cd src
                     85: %MYCOMPILE% /I..\include /I%WINPCAP%\Include libnet_a*.c libnet_build_*.c libnet_c*.c libnet_dll.c libnet_error.c libnet_i*.c libnet_link_win32.c libnet_p*.c libnet_raw.c libnet_resolve.c libnet_version.c libnet_write.c
                     86: %MYLINK% /DLL /libpath:%WINPCAP%\Lib\x64  /out:..\lib\x64\libnet%VERSION%.dll win64\*.obj Advapi32.lib
                     87: if exist libnet.dll.manifest^
                     88:   %MYMT% -manifest libnet.dll.manifest -outputresource:libnet.dll;2
                     89: cd ..
                     90: 
                     91: exit /b %errorlevel%
                     92: 
                     93: :usage
                     94: echo Invalid option "%*". The correct usage is:
                     95: echo     %0 [option]
                     96: echo :
                     97: echo where [option] is: x86 ^| x64 ^| x86_x64
                     98: echo :
                     99: echo The script will verify and set the appropriate environment variables.
                    100: echo If no options are provided, x86 is assumed.
                    101: echo :
                    102: echo Usage examples:
                    103: echo     %0 x86
                    104: echo     %0 x64
                    105: echo     %0 x86_x64
                    106: echo :
                    107: echo If your build computer is 32-bit and you want to build for 64-bit 
                    108: echo (aka Cross), choose "x86_x64"
                    109: echo :
                    110: echo Please make sure Visual Studio or the C++ Build SKU is installed,
                    111: echo and that this script is executed from a Developer Command Prompt.
                    112: echo :
                    113: goto end
                    114: 
                    115: :path
                    116: call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Tools\VsDevCmd.bat"
                    117: if not exist "C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Tools\VsDevCmd.bat" goto fail
                    118: goto start
                    119: 
                    120: :fail
                    121: echo Visual Studio or the C++ Build SKU do not seem to be installed.
                    122: echo Please Install either of them or try to executed this script
                    123: echo from a Developer Command Prompt.
                    124: goto end
                    125: 
                    126: :end

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>