Annotation of embedaddon/libnet/win32/msvcbuild.bat, revision 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>