@@ -18,12 +18,19 @@ echo. -V Display version information for the current build
1818echo . -r Target Rebuild instead of Build
1919echo . -d Set the configuration to Debug
2020echo . -e Build external libraries fetched by get_externals.bat
21+ echo . Extension modules that depend on external libraries will not attempt
22+ echo . to build if this flag is not present
2123echo . -m Enable parallel build (enabled by default)
2224echo . -M Disable parallel build
2325echo . -v Increased output messages
2426echo . -k Attempt to kill any running Pythons before building (usually done
2527echo . automatically by the pythoncore project)
2628echo .
29+ echo .Available flags to avoid building certain modules.
30+ echo .These flags have no effect if '-e' is not given:
31+ echo . --no-ssl Do not attempt to build _ssl
32+ echo . --no-tkinter Do not attempt to build Tkinter
33+ echo .
2734echo .Available arguments:
2835echo . -c Release ^ | Debug ^ | PGInstrument ^ | PGUpdate
2936echo . Set the configuration (default: Release)
@@ -51,12 +58,21 @@ if "%~1"=="-p" (set platf=%2) & shift & shift & goto CheckOpts
5158if " %~1 " == " -r" (set target=Rebuild) & shift & goto CheckOpts
5259if " %~1 " == " -t" (set target=%2 ) & shift & shift & goto CheckOpts
5360if " %~1 " == " -d" (set conf=Debug) & shift & goto CheckOpts
54- if " %~1 " == " -e" call " %dir% get_externals.bat" & shift & goto CheckOpts
5561if " %~1 " == " -m" (set parallel=/m) & shift & goto CheckOpts
5662if " %~1 " == " -M" (set parallel=) & shift & goto CheckOpts
5763if " %~1 " == " -v" (set verbose=/v:n) & shift & goto CheckOpts
5864if " %~1 " == " -k" (set kill=true) & shift & goto CheckOpts
5965if " %~1 " == " -V" shift & goto Version
66+ rem These use the actual property names used by MSBuild. We could just let
67+ rem them in through the environment, but we specify them on the command line
68+ rem anyway for visibility so set defaults after this
69+ if " %~1 " == " -e" (set IncludeExternals=true) & call " %dir% get_externals.bat" & shift & goto CheckOpts
70+ if " %~1 " == " --no-ssl" (set IncludeSSL=false) & shift & goto CheckOpts
71+ if " %~1 " == " --no-tkinter" (set IncludeTkinter=false) & shift & goto CheckOpts
72+
73+ if " %IncludeExternals% " == " " set IncludeExternals = false
74+ if " %IncludeSSL% " == " " set IncludeSSL = true
75+ if " %IncludeTkinter% " == " " set IncludeTkinter = true
6076
6177if " %platf% " == " x64" (set vs_platf=x86_amd64)
6278
@@ -71,7 +87,11 @@ rem Call on MSBuild to do the work, echo the command.
7187rem Passing %1-9 is not the preferred option, but argument parsing in
7288rem batch is, shall we say, "lackluster"
7389echo on
74- msbuild " %dir% pcbuild.proj" /t:%target% %parallel% %verbose% /p:Configuration=%conf% /p:Platform=%platf% %1 %2 %3 %4 %5 %6 %7 %8 %9
90+ msbuild " %dir% pcbuild.proj" /t:%target% %parallel% %verbose% ^
91+ /p:Configuration=%conf% /p:Platform=%platf% ^
92+ /p:IncludeExternals=%IncludeExternals% ^
93+ /p:IncludeSSL=%IncludeSSL% /p:IncludeTkinter=%IncludeTkinter% ^
94+ %1 %2 %3 %4 %5 %6 %7 %8 %9
7595
7696@ goto :eof
7797
0 commit comments