Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
C
cpython
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
cpython
Commits
20d31b51
Commit
20d31b51
authored
Apr 13, 2015
by
Antoine Pitrou
Browse files
Options
Browse Files
Download
Plain Diff
Merge
parents
25f85d4b
30cc6fae
Changes
24
Hide whitespace changes
Inline
Side-by-side
Showing
24 changed files
with
931 additions
and
925 deletions
+931
-925
.hgeol
.hgeol
+6
-0
Doc/make.bat
Doc/make.bat
+124
-124
Lib/ctypes/macholib/fetch_macholib.bat
Lib/ctypes/macholib/fetch_macholib.bat
+1
-1
Lib/idlelib/idle.bat
Lib/idlelib/idle.bat
+4
-4
Modules/_decimal/tests/runall.bat
Modules/_decimal/tests/runall.bat
+111
-111
PCbuild/build.bat
PCbuild/build.bat
+19
-19
PCbuild/build_env.bat
PCbuild/build_env.bat
+1
-1
PCbuild/build_pgo.bat
PCbuild/build_pgo.bat
+41
-41
PCbuild/build_ssl.bat
PCbuild/build_ssl.bat
+12
-12
PCbuild/env.bat
PCbuild/env.bat
+9
-9
PCbuild/idle.bat
PCbuild/idle.bat
+15
-15
PCbuild/readme.txt
PCbuild/readme.txt
+354
-354
PCbuild/rt.bat
PCbuild/rt.bat
+58
-58
Tools/buildbot/build-amd64.bat
Tools/buildbot/build-amd64.bat
+6
-6
Tools/buildbot/build.bat
Tools/buildbot/build.bat
+7
-7
Tools/buildbot/buildmsi.bat
Tools/buildbot/buildmsi.bat
+21
-21
Tools/buildbot/clean-amd64.bat
Tools/buildbot/clean-amd64.bat
+10
-10
Tools/buildbot/clean.bat
Tools/buildbot/clean.bat
+8
-8
Tools/buildbot/external-amd64.bat
Tools/buildbot/external-amd64.bat
+28
-28
Tools/buildbot/external-common.bat
Tools/buildbot/external-common.bat
+54
-54
Tools/buildbot/external.bat
Tools/buildbot/external.bat
+29
-29
Tools/buildbot/test-amd64.bat
Tools/buildbot/test-amd64.bat
+3
-3
Tools/buildbot/test.bat
Tools/buildbot/test.bat
+3
-3
Tools/unicode/genwincodecs.bat
Tools/unicode/genwincodecs.bat
+7
-7
No files found.
.hgeol
View file @
20d31b51
...
@@ -40,6 +40,12 @@ Lib/venv/scripts/nt/* = BIN
...
@@ -40,6 +40,12 @@ Lib/venv/scripts/nt/* = BIN
Lib/test/coding20731.py = BIN
Lib/test/coding20731.py = BIN
# Windows batch files work best with CRLF, there can be subtle problems with LF
**.bat = CRLF
# The Windows readme is likely to be read in Notepad, so make it readable
PCbuild/readme.txt = CRLF
# All other files (which presumably are human-editable) are "native".
# All other files (which presumably are human-editable) are "native".
# This must be the last rule!
# This must be the last rule!
...
...
Doc/make.bat
View file @
20d31b51
@echo
off
@echo
off
setlocal
setlocal
pushd
%~dp0
pushd
%~dp0
set
this
=
%~n0
set
this
=
%~n0
if
"
%SPHINXBUILD%
"
EQU
""
set
SPHINXBUILD
=
sphinx
-build
if
"
%SPHINXBUILD%
"
EQU
""
set
SPHINXBUILD
=
sphinx
-build
if
"
%PYTHON%
"
EQU
""
set
PYTHON
=
py
if
"
%PYTHON%
"
EQU
""
set
PYTHON
=
py
if
DEFINED
ProgramFiles
(
x86
)
set
_PRGMFLS
=
%ProgramFiles
(
x86
)
%
if
DEFINED
ProgramFiles
(
x86
)
set
_PRGMFLS
=
%ProgramFiles
(
x86
)
%
if
NOT
DEFINED
ProgramFiles
(
x86
)
set
_PRGMFLS
=
%ProgramFiles%
if
NOT
DEFINED
ProgramFiles
(
x86
)
set
_PRGMFLS
=
%ProgramFiles%
if
"
%HTMLHELP%
"
EQU
""
set
HTMLHELP
=
%_PRGMFLS%
\HTML
Help
Workshop
\hhc.exe
if
"
%HTMLHELP%
"
EQU
""
set
HTMLHELP
=
%_PRGMFLS%
\HTML
Help
Workshop
\hhc.exe
if
"
%DISTVERSION%
"
EQU
""
for
/f
"usebackq"
%%v
in
(
`
%PYTHON%
tools/extensions/patchlevel.py`
)
do
set
DISTVERSION
=
%%v
if
"
%DISTVERSION%
"
EQU
""
for
/f
"usebackq"
%%v
in
(
`
%PYTHON%
tools/extensions/patchlevel.py`
)
do
set
DISTVERSION
=
%%v
if
"
%BUILDDIR%
"
EQU
""
set
BUILDDIR
=
build
if
"
%BUILDDIR%
"
EQU
""
set
BUILDDIR
=
build
rem Targets that don't require sphinx-build
rem Targets that don't require sphinx-build
if
"
%
1"
EQU
""
goto
help
if
"
%
1"
EQU
""
goto
help
if
"
%
1"
EQU
"help"
goto
help
if
"
%
1"
EQU
"help"
goto
help
if
"
%
1"
EQU
"check"
goto
check
if
"
%
1"
EQU
"check"
goto
check
if
"
%
1"
EQU
"serve"
goto
serve
if
"
%
1"
EQU
"serve"
goto
serve
if
"
%
1"
==
"clean"
(
if
"
%
1"
==
"clean"
(
rmdir
/q /s
%BUILDDIR%
rmdir
/q /s
%BUILDDIR%
goto
end
goto
end
)
)
%SPHINXBUILD%
2
>
nul
%SPHINXBUILD%
2
>
nul
if
errorlevel
9009
(
if
errorlevel
9009
(
echo
.
echo
.
echo
.The
'sphinx-build'
command
was
not
found
.
Make
sure
you
have
Sphinx
echo
.The
'sphinx-build'
command
was
not
found
.
Make
sure
you
have
Sphinx
echo
.installed
,
then
set
the
SPHINXBUILD
environment
variable
to
point
echo
.installed
,
then
set
the
SPHINXBUILD
environment
variable
to
point
echo
.to
the
full
path
of
the
'sphinx-build'
executable
.
Alternatively
you
echo
.to
the
full
path
of
the
'sphinx-build'
executable
.
Alternatively
you
echo
.may
add
the
Sphinx
directory
to
PATH
.
echo
.may
add
the
Sphinx
directory
to
PATH
.
echo
.
echo
.
echo
.If
you
don
't have Sphinx installed, grab it from
echo
.If
you
don
't have Sphinx installed, grab it from
echo.http://sphinx-doc.org/
echo.http://sphinx-doc.org/
goto end
goto end
)
)
rem Targets that do require sphinx-build and have their own label
rem Targets that do require sphinx-build and have their own label
if "
%
1" EQU "htmlview" goto htmlview
if "
%
1" EQU "htmlview" goto htmlview
rem Everything else
rem Everything else
goto build
goto build
:help
:help
echo.usage:
%this%
BUILDER [filename ...]
echo.usage:
%this%
BUILDER [filename ...]
echo.
echo.
echo.Call
%this%
with the desired Sphinx builder as the first argument, e.g.
echo.Call
%this%
with the desired Sphinx builder as the first argument, e.g.
echo.``
%this%
html`` or ``
%this%
doctest``. Interesting targets that are
echo.``
%this%
html`` or ``
%this%
doctest``. Interesting targets that are
echo.always available include:
echo.always available include:
echo.
echo.
echo. Provided by Sphinx:
echo. Provided by Sphinx:
echo. html, htmlhelp, latex, text
echo. html, htmlhelp, latex, text
echo. suspicious, linkcheck, changes, doctest
echo. suspicious, linkcheck, changes, doctest
echo. Provided by this script:
echo. Provided by this script:
echo. clean, check, serve, htmlview
echo. clean, check, serve, htmlview
echo.
echo.
echo.All arguments past the first one are passed through to sphinx-build as
echo.All arguments past the first one are passed through to sphinx-build as
echo.filenames to build or are ignored. See README.txt in this directory or
echo.filenames to build or are ignored. See README.txt in this directory or
echo.the documentation for your version of Sphinx for more exhaustive lists
echo.the documentation for your version of Sphinx for more exhaustive lists
echo.of available targets and descriptions of each.
echo.of available targets and descriptions of each.
echo.
echo.
echo.This script assumes that the SPHINXBUILD environment variable contains
echo.This script assumes that the SPHINXBUILD environment variable contains
echo.a legitimate command for calling sphinx-build, or that sphinx-build is
echo.a legitimate command for calling sphinx-build, or that sphinx-build is
echo.on your PATH if SPHINXBUILD is not set. Options for sphinx-build can
echo.on your PATH if SPHINXBUILD is not set. Options for sphinx-build can
echo.be passed by setting the SPHINXOPTS environment variable.
echo.be passed by setting the SPHINXOPTS environment variable.
goto end
goto end
:build
:build
if NOT "
%PAPER%
" == "" (
if NOT "
%PAPER%
" == "" (
set SPHINXOPTS=-D latex_paper_size=
%PAPER%
%SPHINXOPTS%
set SPHINXOPTS=-D latex_paper_size=
%PAPER%
%SPHINXOPTS%
)
)
cmd /C
%SPHINXBUILD%
%SPHINXOPTS%
-b
%
1 -dbuild\doctrees .
%BUILDDIR%
\
%
*
cmd /C
%SPHINXBUILD%
%SPHINXOPTS%
-b
%
1 -dbuild\doctrees .
%BUILDDIR%
\
%
*
if "
%
1" EQU "htmlhelp" (
if "
%
1" EQU "htmlhelp" (
if not exist "
%HTMLHELP%
" (
if not exist "
%HTMLHELP%
" (
echo.
echo.
echo.The HTML Help Workshop was not found. Set the HTMLHELP variable
echo.The HTML Help Workshop was not found. Set the HTMLHELP variable
echo.to the path to hhc.exe or download and install it from
echo.to the path to hhc.exe or download and install it from
echo.http://msdn.microsoft.com/en-us/library/ms669985
echo.http://msdn.microsoft.com/en-us/library/ms669985
rem Set errorlevel to 1 and exit
rem Set errorlevel to 1 and exit
cmd /C exit /b 1
cmd /C exit /b 1
goto end
goto end
)
)
cmd /C "
%HTMLHELP%
" build\htmlhelp\python
%DISTVERSION
:.=
%
.hhp
cmd /C "
%HTMLHELP%
" build\htmlhelp\python
%DISTVERSION
:.=
%
.hhp
rem hhc.exe seems to always exit with code 1, reset to 0 for less than 2
rem hhc.exe seems to always exit with code 1, reset to 0 for less than 2
if not errorlevel 2 cmd /C exit /b 0
if not errorlevel 2 cmd /C exit /b 0
)
)
echo.
echo.
if errorlevel 1 (
if errorlevel 1 (
echo.Build failed (exit code
%ERRORLEVEL%
^)
, check for error messages
echo.Build failed (exit code
%ERRORLEVEL%
^)
, check for error messages
echo.above. Any output will be found in
%BUILDDIR%
\
%
1
echo.above. Any output will be found in
%BUILDDIR%
\
%
1
) else (
) else (
echo.Build succeeded. All output should be in
%BUILDDIR%
\
%
1
echo.Build succeeded. All output should be in
%BUILDDIR%
\
%
1
)
)
goto end
goto end
:htmlview
:htmlview
if NOT "
%
2" EQU "" (
if NOT "
%
2" EQU "" (
echo.Can'
t
specify
filenames
to
build
with
htmlview
target
,
ignoring
.
echo.Can'
t
specify
filenames
to
build
with
htmlview
target
,
ignoring
.
)
)
cmd
/C
%this%
html
cmd
/C
%this%
html
if
EXIST
%BUILDDIR%
\html\index.html
(
if
EXIST
%BUILDDIR%
\html\index.html
(
echo
.Opening
%BUILDDIR%
\html\index.html
in
the
default
web
browser
...
echo
.Opening
%BUILDDIR%
\html\index.html
in
the
default
web
browser
...
start
%BUILDDIR%
\html\index.html
start
%BUILDDIR%
\html\index.html
)
)
goto
end
goto
end
:check
:check
cmd
/C
%PYTHON%
tools
\rstlint.py
-i
tools
cmd
/C
%PYTHON%
tools
\rstlint.py
-i
tools
goto
end
goto
end
:serve
:serve
cmd
/C
%PYTHON%
..\Tools\scripts\serve.py
%BUILDDIR%
\html
cmd
/C
%PYTHON%
..\Tools\scripts\serve.py
%BUILDDIR%
\html
goto
end
goto
end
:end
:end
popd
popd
Lib/ctypes/macholib/fetch_macholib.bat
View file @
20d31b51
svn
export
-
-force
http
://svn.red
-bean
.com/bob/macholib/trunk/macholib/ .
svn
export
-
-force
http
://svn.red
-bean
.com/bob/macholib/trunk/macholib/ .
Lib/idlelib/idle.bat
View file @
20d31b51
@echo
off
@echo
off
rem Start IDLE using the appropriate Python interpreter
rem Start IDLE using the appropriate Python interpreter
set
CURRDIR
=
%~dp0
set
CURRDIR
=
%~dp0
start
"IDLE"
"
%CURRDIR%
..\..\pythonw.exe"
"
%CURRDIR%
idle.pyw"
%
1
%
2
%
3
%
4
%
5
%
6
%
7
%
8
%
9
start
"IDLE"
"
%CURRDIR%
..\..\pythonw.exe"
"
%CURRDIR%
idle.pyw"
%
1
%
2
%
3
%
4
%
5
%
6
%
7
%
8
%
9
Modules/_decimal/tests/runall.bat
View file @
20d31b51
@ECHO
OFF
@ECHO
OFF
rem Test all machine configurations, pydebug, refleaks, release build.
rem Test all machine configurations, pydebug, refleaks, release build.
cd
..\..\..\
cd
..\..\..\
echo
.
echo
.
echo
#
======================================================================
echo
#
======================================================================
echo
#
Building
Python
echo
#
Building
Python
echo
#
======================================================================
echo
#
======================================================================
echo
.
echo
.
call
"
%VS1
00COMNTOOLS
%
\..\..\VC\vcvarsall.bat"
x64
call
"
%VS1
00COMNTOOLS
%
\..\..\VC\vcvarsall.bat"
x64
msbuild
/noconsolelogger /target
:clean
PCbuild
\pcbuild.sln
/p
:Configuration
=
Release
/p
:PlatformTarget
=
x64
msbuild
/noconsolelogger /target
:clean
PCbuild
\pcbuild.sln
/p
:Configuration
=
Release
/p
:PlatformTarget
=
x64
msbuild
/noconsolelogger /target
:clean
PCbuild
\pcbuild.sln
/p
:Configuration
=
Debug
/p
:PlatformTarget
=
x64
msbuild
/noconsolelogger /target
:clean
PCbuild
\pcbuild.sln
/p
:Configuration
=
Debug
/p
:PlatformTarget
=
x64
msbuild
/noconsolelogger
PCbuild
\pcbuild.sln
/p
:Configuration
=
Release
/p
:Platform
=
x64
msbuild
/noconsolelogger
PCbuild
\pcbuild.sln
/p
:Configuration
=
Release
/p
:Platform
=
x64
msbuild
/noconsolelogger
PCbuild
\pcbuild.sln
/p
:Configuration
=
Debug
/p
:Platform
=
x64
msbuild
/noconsolelogger
PCbuild
\pcbuild.sln
/p
:Configuration
=
Debug
/p
:Platform
=
x64
call
"
%VS1
00COMNTOOLS
%
\..\..\VC\vcvarsall.bat"
x86
call
"
%VS1
00COMNTOOLS
%
\..\..\VC\vcvarsall.bat"
x86
msbuild
/noconsolelogger
PCbuild
\pcbuild.sln
/p
:Configuration
=
Release
/p
:Platform
=
Win32
msbuild
/noconsolelogger
PCbuild
\pcbuild.sln
/p
:Configuration
=
Release
/p
:Platform
=
Win32
msbuild
/noconsolelogger
PCbuild
\pcbuild.sln
/p
:Configuration
=
Debug
/p
:Platform
=
Win32
msbuild
/noconsolelogger
PCbuild
\pcbuild.sln
/p
:Configuration
=
Debug
/p
:Platform
=
Win32
echo
.
echo
.
echo
.
echo
.
echo
.
echo
.
echo
#
======================================================================
echo
#
======================================================================
echo
#
test_decimal
:
platform
=
x64
echo
#
test_decimal
:
platform
=
x64
echo
#
======================================================================
echo
#
======================================================================
echo
.
echo
.
cd
PCbuild
\amd64
cd
PCbuild
\amd64
echo
#
====================
refleak
tests
=======================
echo
#
====================
refleak
tests
=======================
echo
.
echo
.
python_d
.exe
-m
test
-uall -R
2
:2
test_decimal
python_d
.exe
-m
test
-uall -R
2
:2
test_decimal
echo
.
echo
.
echo
.
echo
.
echo
#
====================
regular
tests
=======================
echo
#
====================
regular
tests
=======================
echo
.
echo
.
python
.exe
-m
test
-uall
test_decimal
python
.exe
-m
test
-uall
test_decimal
echo
.
echo
.
echo
.
echo
.
cd
..
cd
..
echo
.
echo
.
echo
#
======================================================================
echo
#
======================================================================
echo
#
test_decimal
:
platform
=
x86
echo
#
test_decimal
:
platform
=
x86
echo
#
======================================================================
echo
#
======================================================================
echo
.
echo
.
echo
#
====================
refleak
tests
=======================
echo
#
====================
refleak
tests
=======================
echo
.
echo
.
python_d
.exe
-m
test
-uall -R
2
:2
test_decimal
python_d
.exe
-m
test
-uall -R
2
:2
test_decimal
echo
.
echo
.
echo
.
echo
.
echo
#
====================
regular
tests
=======================
echo
#
====================
regular
tests
=======================
echo
.
echo
.
python
.exe
-m
test
-uall
test_decimal
python
.exe
-m
test
-uall
test_decimal
echo
.
echo
.
echo
.
echo
.
cd
amd64
cd
amd64
echo
.
echo
.
echo
#
======================================================================
echo
#
======================================================================
echo
#
deccheck
:
platform
=
x64
echo
#
deccheck
:
platform
=
x64
echo
#
======================================================================
echo
#
======================================================================
echo
.
echo
.
echo
#
====================
debug
build
=======================
echo
#
====================
debug
build
=======================
echo
.
echo
.
python_d
.exe
..\..\Modules\_decimal\tests\deccheck.py
python_d
.exe
..\..\Modules\_decimal\tests\deccheck.py
echo
.
echo
.
echo
.
echo
.
echo
#
===================
release
build
======================
echo
#
===================
release
build
======================
echo
.
echo
.
python
.exe
..\..\Modules\_decimal\tests\deccheck.py
python
.exe
..\..\Modules\_decimal\tests\deccheck.py
echo
.
echo
.
echo
.
echo
.
cd
..
cd
..
echo
.
echo
.
echo
#
======================================================================
echo
#
======================================================================
echo
#
deccheck
:
platform
=
x86
echo
#
deccheck
:
platform
=
x86
echo
#
======================================================================
echo
#
======================================================================
echo
.
echo
.
echo
.
echo
.
echo
#
====================
debug
build
=======================
echo
#
====================
debug
build
=======================
echo
.
echo
.
python_d
.exe
..\Modules\_decimal\tests\deccheck.py
python_d
.exe
..\Modules\_decimal\tests\deccheck.py
echo
.
echo
.
echo
.
echo
.
echo
#
===================
release
build
======================
echo
#
===================
release
build
======================
echo
.
echo
.
python
.exe
..\Modules\_decimal\tests\deccheck.py
python
.exe
..\Modules\_decimal\tests\deccheck.py
echo
.
echo
.
echo
.
echo
.
cd
..\Modules\_decimal\tests
cd
..\Modules\_decimal\tests
PCbuild/build.bat
View file @
20d31b51
@echo
off
@echo
off
rem A batch program to build or rebuild a particular configuration.
rem A batch program to build or rebuild a particular configuration.
rem just for convenience.
rem just for convenience.
setlocal
setlocal
set
platf
=
Win32
set
platf
=
Win32
set
conf
=
Release
set
conf
=
Release
set
target
=
build
set
target
=
build
set
dir
=
%~dp0
set
dir
=
%~dp0
:CheckOpts
:CheckOpts
if
"
%
1"
==
"-c"
(
set
conf
=
%
2
)
&
shift
&
shift
&
goto
CheckOpts
if
"
%
1"
==
"-c"
(
set
conf
=
%
2
)
&
shift
&
shift
&
goto
CheckOpts
if
"
%
1"
==
"-p"
(
set
platf
=
%
2
)
&
shift
&
shift
&
goto
CheckOpts
if
"
%
1"
==
"-p"
(
set
platf
=
%
2
)
&
shift
&
shift
&
goto
CheckOpts
if
"
%
1"
==
"-r"
(
set
target
=
rebuild
)
&
shift
&
goto
CheckOpts
if
"
%
1"
==
"-r"
(
set
target
=
rebuild
)
&
shift
&
goto
CheckOpts
if
"
%
1"
==
"-d"
(
set
conf
=
Debug
)
&
shift
&
goto
CheckOpts
if
"
%
1"
==
"-d"
(
set
conf
=
Debug
)
&
shift
&
goto
CheckOpts
set
cmd
=
msbuild
/p
:useenv
=
true
%dir%
pcbuild
.sln
/t
:
%target%
/p
:Configuration
=
%conf%
/p
:Platform
=
%platf%
set
cmd
=
msbuild
/p
:useenv
=
true
%dir%
pcbuild
.sln
/t
:
%target%
/p
:Configuration
=
%conf%
/p
:Platform
=
%platf%
echo
%cmd%
echo
%cmd%
%cmd%
%cmd%
PCbuild/build_env.bat
View file @
20d31b51
@
%comspec%
/k
env
.bat
%
*
@
%comspec%
/k
env
.bat
%
*
PCbuild/build_pgo.bat
View file @
20d31b51
@echo
off
@echo
off
rem A batch program to build PGO (Profile guided optimization) by first
rem A batch program to build PGO (Profile guided optimization) by first
rem building instrumented binaries, then running the testsuite, and
rem building instrumented binaries, then running the testsuite, and
rem finally building the optimized code.
rem finally building the optimized code.
rem Note, after the first instrumented run, one can just keep on
rem Note, after the first instrumented run, one can just keep on
rem building the PGUpdate configuration while developing.
rem building the PGUpdate configuration while developing.
setlocal
setlocal
set
platf
=
Win32
set
platf
=
Win32
rem use the performance testsuite. This is quick and simple
rem use the performance testsuite. This is quick and simple
set
job1
=
..\tools\pybench\pybench.py
-n
1
-C
1
-
-with-gc
set
job1
=
..\tools\pybench\pybench.py
-n
1
-C
1
-
-with-gc
set
path1
=
..\tools\pybench
set
path1
=
..\tools\pybench
rem or the whole testsuite for more thorough testing
rem or the whole testsuite for more thorough testing
set
job2
=
..\lib\test\regrtest.py
set
job2
=
..\lib\test\regrtest.py
set
path2
=
..\lib
set
path2
=
..\lib
set
job
=
%job1
%
set
job
=
%job1
%
set
clrpath
=
%path1
%
set
clrpath
=
%path1
%
:CheckOpts
:CheckOpts
if
"
%
1"
==
"-p"
(
set
platf
=
%
2
)
&
shift
&
shift
&
goto
CheckOpts
if
"
%
1"
==
"-p"
(
set
platf
=
%
2
)
&
shift
&
shift
&
goto
CheckOpts
if
"
%
1"
==
"-2"
(
set
job
=
%job2
%
)
&
(
set
clrpath
=
%path2
%
)
&
shift
&
goto
CheckOpts
if
"
%
1"
==
"-2"
(
set
job
=
%job2
%
)
&
(
set
clrpath
=
%path2
%
)
&
shift
&
goto
CheckOpts
set
PGI
=
%platf%
-pgi
set
PGI
=
%platf%
-pgi
set
PGO
=
%platf%
-pgo
set
PGO
=
%platf%
-pgo
@echo
on
@echo
on
rem build the instrumented version
rem build the instrumented version
call
build
-p
%platf%
-c
PGInstrument
call
build
-p
%platf%
-c
PGInstrument
rem remove .pyc files, .pgc files and execute the job
rem remove .pyc files, .pgc files and execute the job
%PGI%
\python.exe
rmpyc
.py
%clrpath%
%PGI%
\python.exe
rmpyc
.py
%clrpath%
del
%PGI%
\
*
.pgc
del
%PGI%
\
*
.pgc
%PGI%
\python.exe
%job%
%PGI%
\python.exe
%job%
rem finally build the optimized version
rem finally build the optimized version
if
exist
%PGO%
del
/s /q
%PGO%
if
exist
%PGO%
del
/s /q
%PGO%
call
build
-p
%platf%
-c
PGUpdate
call
build
-p
%platf%
-c
PGUpdate
PCbuild/build_ssl.bat
View file @
20d31b51
@echo
off
@echo
off
if
not
defined
HOST_PYTHON
(
if
not
defined
HOST_PYTHON
(
if
%
1
EQU
Debug
(
if
%
1
EQU
Debug
(
set
HOST_PYTHON
=
python_d
.exe
set
HOST_PYTHON
=
python_d
.exe
if
not
exist
python34_d
.dll
exit
1
if
not
exist
python34_d
.dll
exit
1
)
ELSE
(
)
ELSE
(
set
HOST_PYTHON
=
python
.exe
set
HOST_PYTHON
=
python
.exe
if
not
exist
python34
.dll
exit
1
if
not
exist
python34
.dll
exit
1
)
)
)
)
%HOST_PYTHON%
build_ssl
.py
%
1
%
2
%
3
%HOST_PYTHON%
build_ssl
.py
%
1
%
2
%
3
PCbuild/env.bat
View file @
20d31b51
@echo
off
@echo
off
set
VS10
=
%ProgramFiles
(
x86
)
%
\Microsoft
Visual
Studio
10
.0
set
VS10
=
%ProgramFiles
(
x86
)
%
\Microsoft
Visual
Studio
10
.0
IF
EXIST
"
%VS1
0
%
"
GOTO
ok
IF
EXIST
"
%VS1
0
%
"
GOTO
ok
set
VS10
=
%ProgramFiles%
\Microsoft
Visual
Studio
10
.0
set
VS10
=
%ProgramFiles%
\Microsoft
Visual
Studio
10
.0
:ok
:ok
echo
Build
environments
:
x86
,
ia64
,
amd64
,
x86_amd64
,
x86_ia64
echo
Build
environments
:
x86
,
ia64
,
amd64
,
x86_amd64
,
x86_ia64
echo
.
echo
.
call
"
%VS1
0
%
\VC\vcvarsall.bat"
%
1
call
"
%VS1
0
%
\VC\vcvarsall.bat"
%
1
PCbuild/idle.bat
View file @
20d31b51
@echo
off
@echo
off
rem start idle
rem start idle
rem Usage: idle [-d]
rem Usage: idle [-d]
rem -d Run Debug build (python_d.exe). Else release build.
rem -d Run Debug build (python_d.exe). Else release build.
setlocal
setlocal
set
exe
=
python
set
exe
=
python
PATH
%PATH%
;
..\..\tcltk\bin
PATH
%PATH%
;
..\..\tcltk\bin
if
"
%
1"
==
"-d"
(
set
exe
=
python_d
)
&
shift
if
"
%
1"
==
"-d"
(
set
exe
=
python_d
)
&
shift
set
cmd
=
%exe%
../Lib/idlelib/idle.py
%
1
%
2
%
3
%
4
%
5
%
6
%
7
%
8
%
9
set
cmd
=
%exe%
../Lib/idlelib/idle.py
%
1
%
2
%
3
%
4
%
5
%
6
%
7
%
8
%
9
echo
on
echo
on
%cmd%
%cmd%
PCbuild/readme.txt
View file @
20d31b51
Building Python using Microsoft Visual C++
Building Python using Microsoft Visual C++
------------------------------------------
------------------------------------------
This directory is used to build CPython for Microsoft Windows NT version
This directory is used to build CPython for Microsoft Windows NT version
5.1 or higher (Windows XP, Windows Server 2003, or later) on 32 and 64
5.1 or higher (Windows XP, Windows Server 2003, or later) on 32 and 64
bit platforms. Using this directory requires an installation of
bit platforms. Using this directory requires an installation of
Microsoft Visual C++ 2010 (MSVC 10.0) of any edition. The specific
Microsoft Visual C++ 2010 (MSVC 10.0) of any edition. The specific
requirements are as follows:
requirements are as follows:
Visual C++ 2010 Express Edition
Visual C++ 2010 Express Edition
Required for building 32-bit Debug and Release configuration builds.
Required for building 32-bit Debug and Release configuration builds.
The Python build solution pcbuild.sln makes use of Solution Folders,
The Python build solution pcbuild.sln makes use of Solution Folders,
which this edition does not support. Any time pcbuild.sln is opened
which this edition does not support. Any time pcbuild.sln is opened
or reloaded by Visual C++, a warning about Solution Folders will be
or reloaded by Visual C++, a warning about Solution Folders will be
displayed which can be safely dismissed with no impact on your
displayed which can be safely dismissed with no impact on your
ability to build Python.
ability to build Python.
Visual Studio 2010 Professional Edition
Visual Studio 2010 Professional Edition
Required for building 64-bit Debug and Release configuration builds
Required for building 64-bit Debug and Release configuration builds
Visual Studio 2010 Premium Edition
Visual Studio 2010 Premium Edition
Required for building Release configuration builds that make use of
Required for building Release configuration builds that make use of
Profile Guided Optimization (PGO), on either platform.
Profile Guided Optimization (PGO), on either platform.
Installing Service Pack 1 for Visual Studio 2010 is highly recommended
Installing Service Pack 1 for Visual Studio 2010 is highly recommended
to avoid LNK1123 errors.
to avoid LNK1123 errors.
All you need to do to build is open the solution "pcbuild.sln" in Visual
All you need to do to build is open the solution "pcbuild.sln" in Visual
Studio, select the desired combination of configuration and platform,
Studio, select the desired combination of configuration and platform,
then build with "Build Solution" or the F7 keyboard shortcut. You can
then build with "Build Solution" or the F7 keyboard shortcut. You can
also build from the command line using the "build.bat" script in this
also build from the command line using the "build.bat" script in this
directory. The solution is configured to build the projects in the
directory. The solution is configured to build the projects in the
correct order.
correct order.
The solution currently supports two platforms. The Win32 platform is
The solution currently supports two platforms. The Win32 platform is
used to build standard x86-compatible 32-bit binaries, output into this
used to build standard x86-compatible 32-bit binaries, output into this
directory. The x64 platform is used for building 64-bit AMD64 (aka
directory. The x64 platform is used for building 64-bit AMD64 (aka
x86_64 or EM64T) binaries, output into the amd64 sub-directory which
x86_64 or EM64T) binaries, output into the amd64 sub-directory which
will be created if it doesn't already exist. The Itanium (IA-64)
will be created if it doesn't already exist. The Itanium (IA-64)
platform is no longer supported. See the "Building for AMD64" section
platform is no longer supported. See the "Building for AMD64" section
below for more information about 64-bit builds.
below for more information about 64-bit builds.
Four configuration options are supported by the solution:
Four configuration options are supported by the solution:
Debug
Debug
Used to build Python with extra debugging capabilities, equivalent
Used to build Python with extra debugging capabilities, equivalent
to using ./configure --with-pydebug on UNIX. All binaries built
to using ./configure --with-pydebug on UNIX. All binaries built
using this configuration have "_d" added to their name:
using this configuration have "_d" added to their name:
python34_d.dll, python_d.exe, parser_d.pyd, and so on. Both the
python34_d.dll, python_d.exe, parser_d.pyd, and so on. Both the
build and rt (run test) batch files in this directory accept a -d
build and rt (run test) batch files in this directory accept a -d
option for debug builds. If you are building Python to help with
option for debug builds. If you are building Python to help with
development of CPython, you will most likely use this configuration.
development of CPython, you will most likely use this configuration.
PGInstrument, PGUpdate
PGInstrument, PGUpdate
Used to build Python in Release configuration using PGO, which
Used to build Python in Release configuration using PGO, which
requires Premium Edition of Visual Studio. See the "Profile
requires Premium Edition of Visual Studio. See the "Profile
Guided Optimization" section below for more information. Build
Guided Optimization" section below for more information. Build
output from each of these configurations lands in its own
output from each of these configurations lands in its own
sub-directory of this directory. The official Python releases are
sub-directory of this directory. The official Python releases are
built using these configurations.
built using these configurations.
Release
Release
Used to build Python as it is meant to be used in production
Used to build Python as it is meant to be used in production
settings, though without PGO.
settings, though without PGO.
Legacy support
Legacy support
--------------
--------------
You can find build directories for older versions of Visual Studio and
You can find build directories for older versions of Visual Studio and
Visual C++ in the PC directory. The legacy build directories are no
Visual C++ in the PC directory. The legacy build directories are no
longer actively maintained and may not work out of the box.
longer actively maintained and may not work out of the box.
Currently, the only legacy build directory is PC\VS9.0, for Visual
Currently, the only legacy build directory is PC\VS9.0, for Visual
Studio 2008 (9.0).
Studio 2008 (9.0).
C Runtime
C Runtime
---------
---------
Visual Studio 2010 uses version 10 of the C runtime (MSVCRT10). The
Visual Studio 2010 uses version 10 of the C runtime (MSVCRT10). The
executables no longer use the "Side by Side" assemblies used in previous
executables no longer use the "Side by Side" assemblies used in previous
versions of the compiler. This simplifies distribution of applications.
versions of the compiler. This simplifies distribution of applications.
The run time libraries are available under the VC/Redist folder of your
The run time libraries are available under the VC/Redist folder of your
Visual Studio distribution. For more info, see the Readme in the
Visual Studio distribution. For more info, see the Readme in the
VC/Redist folder.
VC/Redist folder.
Sub-Projects
Sub-Projects
------------
------------
The CPython project is split up into several smaller sub-projects which
The CPython project is split up into several smaller sub-projects which
are managed by the pcbuild.sln solution file. Each sub-project is
are managed by the pcbuild.sln solution file. Each sub-project is
represented by a .vcxproj and a .vcxproj.filters file starting with the
represented by a .vcxproj and a .vcxproj.filters file starting with the
name of the sub-project. These sub-projects fall into a few general
name of the sub-project. These sub-projects fall into a few general
categories:
categories:
The following sub-projects represent the bare minimum required to build
The following sub-projects represent the bare minimum required to build
a functioning CPython interpreter. If nothing else builds but these,
a functioning CPython interpreter. If nothing else builds but these,
you'll have a very limited but usable python.exe:
you'll have a very limited but usable python.exe:
pythoncore
pythoncore
.dll and .lib
.dll and .lib
python
python
.exe
.exe
kill_python
kill_python
kill_python.exe, a small program designed to kill any instances of
kill_python.exe, a small program designed to kill any instances of
python(_d).exe that are running and live in the build output
python(_d).exe that are running and live in the build output
directory; this is meant to avoid build issues due to locked files
directory; this is meant to avoid build issues due to locked files
make_buildinfo, make_versioninfo
make_buildinfo, make_versioninfo
helpers to provide necessary information to the build process
helpers to provide necessary information to the build process
These sub-projects provide extra executables that are useful for running
These sub-projects provide extra executables that are useful for running
CPython in different ways:
CPython in different ways:
pythonw
pythonw
pythonw.exe, a variant of python.exe that doesn't open a Command
pythonw.exe, a variant of python.exe that doesn't open a Command
Prompt window
Prompt window
pylauncher
pylauncher
py.exe, the Python Launcher for Windows, see
py.exe, the Python Launcher for Windows, see
http://docs.python.org/3/using/windows.html#launcher
http://docs.python.org/3/using/windows.html#launcher
pywlauncher
pywlauncher
pyw.exe, a variant of py.exe that doesn't open a Command Prompt
pyw.exe, a variant of py.exe that doesn't open a Command Prompt
window
window
_testembed
_testembed
_testembed.exe, a small program that embeds Python for testing
_testembed.exe, a small program that embeds Python for testing
purposes, used by test_capi.py
purposes, used by test_capi.py
These are miscellaneous sub-projects that don't really fit the other
These are miscellaneous sub-projects that don't really fit the other
categories. By default, these projects do not build in Debug
categories. By default, these projects do not build in Debug
configuration:
configuration:
_freeze_importlib
_freeze_importlib
_freeze_importlib.exe, used to regenerate Python\importlib.h after
_freeze_importlib.exe, used to regenerate Python\importlib.h after
changes have been made to Lib\importlib\_bootstrap.py
changes have been made to Lib\importlib\_bootstrap.py
bdist_wininst
bdist_wininst
..\Lib\distutils\command\wininst-10.0[-amd64].exe, the base
..\Lib\distutils\command\wininst-10.0[-amd64].exe, the base
executable used by the distutils bdist_wininst command
executable used by the distutils bdist_wininst command
python3dll
python3dll
python3.dll, the PEP 384 Stable ABI dll
python3.dll, the PEP 384 Stable ABI dll
xxlimited
xxlimited
builds an example module that makes use of the PEP 384 Stable ABI,
builds an example module that makes use of the PEP 384 Stable ABI,
see Modules\xxlimited.c
see Modules\xxlimited.c
The following sub-projects are for individual modules of the standard
The following sub-projects are for individual modules of the standard
library which are implemented in C; each one builds a DLL (renamed to
library which are implemented in C; each one builds a DLL (renamed to
.pyd) of the same name as the project:
.pyd) of the same name as the project:
_ctypes
_ctypes
_ctypes_test
_ctypes_test
_decimal
_decimal
_elementtree
_elementtree
_hashlib
_hashlib
_msi
_msi
_multiprocessing
_multiprocessing
_overlapped
_overlapped
_socket
_socket
_testcapi
_testcapi
_testbuffer
_testbuffer
_testimportmultiple
_testimportmultiple
pyexpat
pyexpat
select
select
unicodedata
unicodedata
winsound
winsound
The following Python-controlled sub-projects wrap external projects.
The following Python-controlled sub-projects wrap external projects.
Note that these external libraries are not necessary for a working
Note that these external libraries are not necessary for a working
interpreter, but they do implement several major features. See the
interpreter, but they do implement several major features. See the
"Getting External Sources" section below for additional information
"Getting External Sources" section below for additional information
about getting the source for building these libraries. The sub-projects
about getting the source for building these libraries. The sub-projects
are:
are:
_bz2
_bz2
Python wrapper for version 1.0.6 of the libbzip2 compression library
Python wrapper for version 1.0.6 of the libbzip2 compression library
Homepage:
Homepage:
http://www.bzip.org/
http://www.bzip.org/
_lzma
_lzma
Python wrapper for the liblzma compression library, using pre-built
Python wrapper for the liblzma compression library, using pre-built
binaries of XZ Utils version 5.0.5
binaries of XZ Utils version 5.0.5
Homepage:
Homepage:
http://tukaani.org/xz/
http://tukaani.org/xz/
_ssl
_ssl
Python wrapper for version 1.0.2a of the OpenSSL secure sockets
Python wrapper for version 1.0.2a of the OpenSSL secure sockets
library, which is built by ssl.vcxproj
library, which is built by ssl.vcxproj
Homepage:
Homepage:
http://www.openssl.org/
http://www.openssl.org/
Building OpenSSL requires nasm.exe (the Netwide Assembler), version
Building OpenSSL requires nasm.exe (the Netwide Assembler), version
2.10 or newer from
2.10 or newer from
http://www.nasm.us/
http://www.nasm.us/
to be somewhere on your PATH. More recent versions of OpenSSL may
to be somewhere on your PATH. More recent versions of OpenSSL may
need a later version of NASM. If OpenSSL's self tests don't pass,
need a later version of NASM. If OpenSSL's self tests don't pass,
you should first try to update NASM and do a full rebuild of
you should first try to update NASM and do a full rebuild of
OpenSSL. If you use the Tools\buildbot\external(-amd64).bat method
OpenSSL. If you use the Tools\buildbot\external(-amd64).bat method
for getting sources, it also downloads a version of NASM which the
for getting sources, it also downloads a version of NASM which the
ssl build script will add to PATH.
ssl build script will add to PATH.
If you like to use the official sources instead of the files from
If you like to use the official sources instead of the files from
python.org's subversion repository, Perl is required to build the
python.org's subversion repository, Perl is required to build the
necessary makefiles and assembly files. ActivePerl is available
necessary makefiles and assembly files. ActivePerl is available
from
from
http://www.activestate.com/activeperl/
http://www.activestate.com/activeperl/
The svn.python.org version contains pre-built makefiles and assembly
The svn.python.org version contains pre-built makefiles and assembly
files.
files.
The build process makes sure that no patented algorithms are
The build process makes sure that no patented algorithms are
included. For now RC5, MDC2 and IDEA are excluded from the build.
included. For now RC5, MDC2 and IDEA are excluded from the build.
You may have to manually remove $(OBJ_D)\i_*.obj from ms\nt.mak if
You may have to manually remove $(OBJ_D)\i_*.obj from ms\nt.mak if
using official sources; the svn.python.org-hosted version is already
using official sources; the svn.python.org-hosted version is already
fixed.
fixed.
The ssl.vcxproj sub-project simply invokes PCbuild/build_ssl.py,
The ssl.vcxproj sub-project simply invokes PCbuild/build_ssl.py,
which locates and builds OpenSSL.
which locates and builds OpenSSL.
build_ssl.py attempts to catch the most common errors (such as not
build_ssl.py attempts to catch the most common errors (such as not
being able to find OpenSSL sources, or not being able to find a Perl
being able to find OpenSSL sources, or not being able to find a Perl
that works with OpenSSL) and give a reasonable error message. If
that works with OpenSSL) and give a reasonable error message. If
you have a problem that doesn't seem to be handled correctly (e.g.,
you have a problem that doesn't seem to be handled correctly (e.g.,
you know you have ActivePerl but we can't find it), please take a
you know you have ActivePerl but we can't find it), please take a
peek at build_ssl.py and suggest patches. Note that build_ssl.py
peek at build_ssl.py and suggest patches. Note that build_ssl.py
should be able to be run directly from the command-line.
should be able to be run directly from the command-line.
The ssl sub-project does not have the ability to clean the OpenSSL
The ssl sub-project does not have the ability to clean the OpenSSL
build; if you need to rebuild, you'll have to clean it by hand.
build; if you need to rebuild, you'll have to clean it by hand.
_sqlite3
_sqlite3
Wraps SQLite 3.8.3.1, which is itself built by sqlite3.vcxproj
Wraps SQLite 3.8.3.1, which is itself built by sqlite3.vcxproj
Homepage:
Homepage:
http://www.sqlite.org/
http://www.sqlite.org/
_tkinter
_tkinter
Wraps version 8.6.1 of the Tk windowing system.
Wraps version 8.6.1 of the Tk windowing system.
Homepage:
Homepage:
http://www.tcl.tk/
http://www.tcl.tk/
Unlike the other external libraries listed above, Tk must be built
Unlike the other external libraries listed above, Tk must be built
separately before the _tkinter module can be built. This means that
separately before the _tkinter module can be built. This means that
a pre-built Tcl/Tk installation is expected in ..\externals\tcltk
a pre-built Tcl/Tk installation is expected in ..\externals\tcltk
(tcltk64 for 64-bit) relative to this directory. See "Getting
(tcltk64 for 64-bit) relative to this directory. See "Getting
External Sources" below for the easiest method to ensure Tcl/Tk is
External Sources" below for the easiest method to ensure Tcl/Tk is
built.
built.
Getting External Sources
Getting External Sources
------------------------
------------------------
The last category of sub-projects listed above wrap external projects
The last category of sub-projects listed above wrap external projects
Python doesn't control, and as such a little more work is required in
Python doesn't control, and as such a little more work is required in
order to download the relevant source files for each project before they
order to download the relevant source files for each project before they
can be built. The buildbots must ensure that all libraries are present
can be built. The buildbots must ensure that all libraries are present
before building, so the easiest approach is to run either external.bat
before building, so the easiest approach is to run either external.bat
or external-amd64.bat (depending on platform) in the ..\Tools\buildbot
or external-amd64.bat (depending on platform) in the ..\Tools\buildbot
directory from ..\, i.e.:
directory from ..\, i.e.:
C:\python\cpython\PCbuild>cd ..
C:\python\cpython\PCbuild>cd ..
C:\python\cpython>Tools\buildbot\external.bat
C:\python\cpython>Tools\buildbot\external.bat
This extracts all the external sub-projects from
This extracts all the external sub-projects from
http://svn.python.org/projects/external
http://svn.python.org/projects/external
via Subversion (so you'll need an svn.exe on your PATH) and places them
via Subversion (so you'll need an svn.exe on your PATH) and places them
in ..\externals (relative to this directory).
in ..\externals (relative to this directory).
It is also possible to download sources from each project's homepage,
It is also possible to download sources from each project's homepage,
though you may have to change the names of some folders in order to make
though you may have to change the names of some folders in order to make
things work. For instance, if you were to download a version 5.0.7 of
things work. For instance, if you were to download a version 5.0.7 of
XZ Utils, you would need to extract the archive into ..\externals\xz-5.0.5
XZ Utils, you would need to extract the archive into ..\externals\xz-5.0.5
anyway, since that is where the solution is set to look for xz. The
anyway, since that is where the solution is set to look for xz. The
same is true for all other external projects.
same is true for all other external projects.
The external(-amd64).bat scripts will also build a debug build of
The external(-amd64).bat scripts will also build a debug build of
Tcl/Tk, but there aren't any equivalent batch files for building release
Tcl/Tk, but there aren't any equivalent batch files for building release
versions of Tcl/Tk currently available. If you need to build a release
versions of Tcl/Tk currently available. If you need to build a release
version of Tcl/Tk, just take a look at the relevant external(-amd64).bat
version of Tcl/Tk, just take a look at the relevant external(-amd64).bat
file and find the two nmake lines, then call each one without the
file and find the two nmake lines, then call each one without the
'DEBUG=1' parameter, i.e.:
'DEBUG=1' parameter, i.e.:
The external-amd64.bat file contains this for tcl:
The external-amd64.bat file contains this for tcl:
nmake -f makefile.vc DEBUG=1 MACHINE=AMD64 INSTALLDIR=..\..\tcltk64 clean all install
nmake -f makefile.vc DEBUG=1 MACHINE=AMD64 INSTALLDIR=..\..\tcltk64 clean all install
So for a release build, you'd call it as:
So for a release build, you'd call it as:
nmake -f makefile.vc MACHINE=AMD64 INSTALLDIR=..\..\tcltk64 clean all install
nmake -f makefile.vc MACHINE=AMD64 INSTALLDIR=..\..\tcltk64 clean all install
Note that the above command is called from within ..\externals\tcl-8.6.1.0\win
Note that the above command is called from within ..\externals\tcl-8.6.1.0\win
(relative to this directory); don't forget to build Tk as well as Tcl!
(relative to this directory); don't forget to build Tk as well as Tcl!
This will be cleaned up in the future; http://bugs.python.org/issue15968
This will be cleaned up in the future; http://bugs.python.org/issue15968
tracks adding a new tcltk.vcxproj file that will build Tcl/Tk and Tix
tracks adding a new tcltk.vcxproj file that will build Tcl/Tk and Tix
the same way the other external projects listed above are built.
the same way the other external projects listed above are built.
Building for AMD64
Building for AMD64
------------------
------------------
The build process for AMD64 / x64 is very similar to standard builds,
The build process for AMD64 / x64 is very similar to standard builds,
you just have to set x64 as platform. In addition, the HOST_PYTHON
you just have to set x64 as platform. In addition, the HOST_PYTHON
environment variable must point to a Python interpreter (at least 2.4),
environment variable must point to a Python interpreter (at least 2.4),
to support cross-compilation from Win32. Note that Visual Studio
to support cross-compilation from Win32. Note that Visual Studio
requires Professional Edition or better in order to build 64-bit
requires Professional Edition or better in order to build 64-bit
binaries.
binaries.
Profile Guided Optimization
Profile Guided Optimization
---------------------------
---------------------------
The solution has two configurations for PGO. The PGInstrument
The solution has two configurations for PGO. The PGInstrument
configuration must be built first. The PGInstrument binaries are linked
configuration must be built first. The PGInstrument binaries are linked
against a profiling library and contain extra debug information. The
against a profiling library and contain extra debug information. The
PGUpdate configuration takes the profiling data and generates optimized
PGUpdate configuration takes the profiling data and generates optimized
binaries.
binaries.
The build_pgo.bat script automates the creation of optimized binaries.
The build_pgo.bat script automates the creation of optimized binaries.
It creates the PGI files, runs the unit test suite or PyBench with the
It creates the PGI files, runs the unit test suite or PyBench with the
PGI python, and finally creates the optimized files.
PGI python, and finally creates the optimized files.
See
See
http://msdn.microsoft.com/en-us/library/e7k32f4k(VS.100).aspx
http://msdn.microsoft.com/en-us/library/e7k32f4k(VS.100).aspx
for more on this topic.
for more on this topic.
Static library
Static library
--------------
--------------
The solution has no configuration for static libraries. However it is
The solution has no configuration for static libraries. However it is
easy to build a static library instead of a DLL. You simply have to set
easy to build a static library instead of a DLL. You simply have to set
the "Configuration Type" to "Static Library (.lib)" and alter the
the "Configuration Type" to "Static Library (.lib)" and alter the
preprocessor macro "Py_ENABLE_SHARED" to "Py_NO_ENABLE_SHARED". You may
preprocessor macro "Py_ENABLE_SHARED" to "Py_NO_ENABLE_SHARED". You may
also have to change the "Runtime Library" from "Multi-threaded DLL
also have to change the "Runtime Library" from "Multi-threaded DLL
(/MD)" to "Multi-threaded (/MT)".
(/MD)" to "Multi-threaded (/MT)".
Visual Studio properties
Visual Studio properties
------------------------
------------------------
The PCbuild solution makes heavy use of Visual Studio property files
The PCbuild solution makes heavy use of Visual Studio property files
(*.props). The properties can be viewed and altered in the Property
(*.props). The properties can be viewed and altered in the Property
Manager (View -> Other Windows -> Property Manager).
Manager (View -> Other Windows -> Property Manager).
The property files used are (+-- = "also imports"):
The property files used are (+-- = "also imports"):
* debug (debug macro: _DEBUG)
* debug (debug macro: _DEBUG)
* pginstrument (PGO)
* pginstrument (PGO)
* pgupdate (PGO)
* pgupdate (PGO)
+-- pginstrument
+-- pginstrument
* pyd (python extension, release build)
* pyd (python extension, release build)
+-- release
+-- release
+-- pyproject
+-- pyproject
* pyd_d (python extension, debug build)
* pyd_d (python extension, debug build)
+-- debug
+-- debug
+-- pyproject
+-- pyproject
* pyproject (base settings for all projects, user macros like PyDllName)
* pyproject (base settings for all projects, user macros like PyDllName)
* release (release macro: NDEBUG)
* release (release macro: NDEBUG)
* sqlite3 (used only by sqlite3.vcxproj)
* sqlite3 (used only by sqlite3.vcxproj)
* x64 (AMD64 / x64 platform specific settings)
* x64 (AMD64 / x64 platform specific settings)
The pyproject property file defines _WIN32 and x64 defines _WIN64 and
The pyproject property file defines _WIN32 and x64 defines _WIN64 and
_M_X64 although the macros are set by the compiler, too. The GUI doesn't
_M_X64 although the macros are set by the compiler, too. The GUI doesn't
always know about the macros and confuse the user with false
always know about the macros and confuse the user with false
information.
information.
Your Own Extension DLLs
Your Own Extension DLLs
-----------------------
-----------------------
If you want to create your own extension module DLL (.pyd), there's an
If you want to create your own extension module DLL (.pyd), there's an
example with easy-to-follow instructions in ..\PC\example\; read the
example with easy-to-follow instructions in ..\PC\example\; read the
file readme.txt there first.
file readme.txt there first.
PCbuild/rt.bat
View file @
20d31b51
@echo
off
@echo
off
rem Run Tests. Run the regression test suite.
rem Run Tests. Run the regression test suite.
rem Usage: rt [-d] [-O] [-q] [-x64] regrtest_args
rem Usage: rt [-d] [-O] [-q] [-x64] regrtest_args
rem -d Run Debug build (python_d.exe). Else release build.
rem -d Run Debug build (python_d.exe). Else release build.
rem -O Run python.exe or python_d.exe (see -d) with -O.
rem -O Run python.exe or python_d.exe (see -d) with -O.
rem -q "quick" -- normally the tests are run twice, the first time
rem -q "quick" -- normally the tests are run twice, the first time
rem after deleting all the .py[co] files reachable from Lib/.
rem after deleting all the .py[co] files reachable from Lib/.
rem -q runs the tests just once, and without deleting .py[co] files.
rem -q runs the tests just once, and without deleting .py[co] files.
rem -x64 Run the 64-bit build of python (or python_d if -d was specified)
rem -x64 Run the 64-bit build of python (or python_d if -d was specified)
rem from the 'amd64' dir instead of the 32-bit build in this dir.
rem from the 'amd64' dir instead of the 32-bit build in this dir.
rem All leading instances of these switches are shifted off, and
rem All leading instances of these switches are shifted off, and
rem whatever remains is passed to regrtest.py. For example,
rem whatever remains is passed to regrtest.py. For example,
rem rt -O -d -x test_thread
rem rt -O -d -x test_thread
rem runs
rem runs
rem python_d -O ../lib/test/regrtest.py -x test_thread
rem python_d -O ../lib/test/regrtest.py -x test_thread
rem twice, and
rem twice, and
rem rt -q -g test_binascii
rem rt -q -g test_binascii
rem runs
rem runs
rem python_d ../lib/test/regrtest.py -g test_binascii
rem python_d ../lib/test/regrtest.py -g test_binascii
rem to generate the expected-output file for binascii quickly.
rem to generate the expected-output file for binascii quickly.
rem
rem
rem Confusing: if you want to pass a comma-separated list, like
rem Confusing: if you want to pass a comma-separated list, like
rem -u network,largefile
rem -u network,largefile
rem then you have to quote it on the rt line, like
rem then you have to quote it on the rt line, like
rem rt -u "network,largefile"
rem rt -u "network,largefile"
setlocal
setlocal
set
prefix
=
.\
set
prefix
=
.\
set
suffix
=
set
suffix
=
set
qmode
=
set
qmode
=
set
dashO
=
set
dashO
=
set
tcltk
=
tcltk
set
tcltk
=
tcltk
:CheckOpts
:CheckOpts
if
"
%
1"
==
"-O"
(
set
dashO
=
-O
)
&
shift
&
goto
CheckOpts
if
"
%
1"
==
"-O"
(
set
dashO
=
-O
)
&
shift
&
goto
CheckOpts
if
"
%
1"
==
"-q"
(
set
qmode
=
yes
)
&
shift
&
goto
CheckOpts
if
"
%
1"
==
"-q"
(
set
qmode
=
yes
)
&
shift
&
goto
CheckOpts
if
"
%
1"
==
"-d"
(
set
suffix
=
_d
)
&
shift
&
goto
CheckOpts
if
"
%
1"
==
"-d"
(
set
suffix
=
_d
)
&
shift
&
goto
CheckOpts
if
"
%
1"
==
"-x64"
(
set
prefix
=
amd64
)
&
(
set
tcltk
=
tcltk64
)
&
shift
&
goto
CheckOpts
if
"
%
1"
==
"-x64"
(
set
prefix
=
amd64
)
&
(
set
tcltk
=
tcltk64
)
&
shift
&
goto
CheckOpts
PATH
%PATH%
;
%~dp0
..\externals\
%tcltk%
\bin
PATH
%PATH%
;
%~dp0
..\externals\
%tcltk%
\bin
set
exe
=
%prefix%
\python
%suffix%
set
exe
=
%prefix%
\python
%suffix%
set
cmd
=
%exe%
%dashO%
-Wd -E -bb
../lib/test/regrtest.py
%
1
%
2
%
3
%
4
%
5
%
6
%
7
%
8
%
9
set
cmd
=
%exe%
%dashO%
-Wd -E -bb
../lib/test/regrtest.py
%
1
%
2
%
3
%
4
%
5
%
6
%
7
%
8
%
9
if
defined
qmode
goto
Qmode
if
defined
qmode
goto
Qmode
echo
Deleting
.pyc/.pyo
files
...
echo
Deleting
.pyc/.pyo
files
...
%exe%
rmpyc
.py
%exe%
rmpyc
.py
echo
on
echo
on
%cmd%
%cmd%
@echo
off
@echo
off
echo
About
to
run
again
without
deleting
.pyc/.pyo
first
:
echo
About
to
run
again
without
deleting
.pyc/.pyo
first
:
pause
pause
:Qmode
:Qmode
echo
on
echo
on
%cmd%
%cmd%
Tools/buildbot/build-amd64.bat
View file @
20d31b51
@rem
Used
by
the
buildbot
"compile"
step
.
@rem
Used
by
the
buildbot
"compile"
step
.
cmd
/c
Tools
\buildbot\external
-amd
64
.bat
cmd
/c
Tools
\buildbot\external
-amd
64
.bat
call
"
%VS1
00COMNTOOLS
%
\..\..\VC\vcvarsall.bat"
x86_amd64
call
"
%VS1
00COMNTOOLS
%
\..\..\VC\vcvarsall.bat"
x86_amd64
cmd
/c
Tools
\buildbot\clean
-amd
64
.bat
cmd
/c
Tools
\buildbot\clean
-amd
64
.bat
msbuild
PCbuild
\pcbuild.sln
/p
:Configuration
=
Debug
/p
:Platform
=
x64
msbuild
PCbuild
\pcbuild.sln
/p
:Configuration
=
Debug
/p
:Platform
=
x64
Tools/buildbot/build.bat
View file @
20d31b51
@rem
Used
by
the
buildbot
"compile"
step
.
@rem
Used
by
the
buildbot
"compile"
step
.
cmd
/c
Tools
\buildbot\external.bat
cmd
/c
Tools
\buildbot\external.bat
call
"
%VS1
00COMNTOOLS
%vsvars3
2.bat"
call
"
%VS1
00COMNTOOLS
%vsvars3
2.bat"
cmd
/c
Tools
\buildbot\clean.bat
cmd
/c
Tools
\buildbot\clean.bat
msbuild
PCbuild
\pcbuild.sln
/p
:Configuration
=
Debug
/p
:Platform
=
Win32
msbuild
PCbuild
\pcbuild.sln
/p
:Configuration
=
Debug
/p
:Platform
=
Win32
Tools/buildbot/buildmsi.bat
View file @
20d31b51
@rem
Used
by
the
buildbot
"buildmsi"
step
.
@rem
Used
by
the
buildbot
"buildmsi"
step
.
cmd
/c
Tools
\buildbot\external.bat
cmd
/c
Tools
\buildbot\external.bat
@rem
build
release
versions
of
things
@rem
build
release
versions
of
things
call
"
%VS1
00COMNTOOLS
%vsvars3
2.bat"
call
"
%VS1
00COMNTOOLS
%vsvars3
2.bat"
@rem
build
Python
@rem
build
Python
msbuild
/p
:useenv
=
true
PCbuild
\pcbuild.sln
/p
:Configuration
=
Release
/p
:Platform
=
Win32
msbuild
/p
:useenv
=
true
PCbuild
\pcbuild.sln
/p
:Configuration
=
Release
/p
:Platform
=
Win32
@rem
build
the
documentation
@rem
build
the
documentation
bash
.exe
-c
'cd Doc;make PYTHON=python2.5 update htmlhelp'
bash
.exe
-c
'cd Doc;make PYTHON=python2.5 update htmlhelp'
"
%ProgramFiles%
\HTML Help Workshop\hhc.exe"
Doc
\build\htmlhelp\python26a3.hhp
"
%ProgramFiles%
\HTML Help Workshop\hhc.exe"
Doc
\build\htmlhelp\python26a3.hhp
@rem
build
the
MSI
file
@rem
build
the
MSI
file
cd
PC
cd
PC
nmake
/f
icons
.mak
nmake
/f
icons
.mak
cd
..\Tools\msi
cd
..\Tools\msi
del
*
.msi
del
*
.msi
nmake
/f
msisupport
.mak
nmake
/f
msisupport
.mak
%HOST_PYTHON%
msi
.py
%HOST_PYTHON%
msi
.py
Tools/buildbot/clean-amd64.bat
View file @
20d31b51
@rem
Used
by
the
buildbot
"clean"
step
.
@rem
Used
by
the
buildbot
"clean"
step
.
call
"
%VS1
00COMNTOOLS
%
\..\..\VC\vcvarsall.bat"
x86_amd64
call
"
%VS1
00COMNTOOLS
%
\..\..\VC\vcvarsall.bat"
x86_amd64
@echo
Deleting
.pyc/.pyo
files
...
@echo
Deleting
.pyc/.pyo
files
...
del
/s
Lib
\
*
.pyc
Lib
\
*
.pyo
del
/s
Lib
\
*
.pyc
Lib
\
*
.pyo
@echo
Deleting
test
leftovers
...
@echo
Deleting
test
leftovers
...
rmdir
/s /q
build
rmdir
/s /q
build
cd
PCbuild
cd
PCbuild
msbuild
/target
:clean
pcbuild
.sln
/p
:Configuration
=
Release
/p
:PlatformTarget
=
x64
msbuild
/target
:clean
pcbuild
.sln
/p
:Configuration
=
Release
/p
:PlatformTarget
=
x64
msbuild
/target
:clean
pcbuild
.sln
/p
:Configuration
=
Debug
/p
:PlatformTarget
=
x64
msbuild
/target
:clean
pcbuild
.sln
/p
:Configuration
=
Debug
/p
:PlatformTarget
=
x64
cd
..
cd
..
Tools/buildbot/clean.bat
View file @
20d31b51
@rem
Used
by
the
buildbot
"clean"
step
.
@rem
Used
by
the
buildbot
"clean"
step
.
call
"
%VS1
00COMNTOOLS
%vsvars3
2.bat"
call
"
%VS1
00COMNTOOLS
%vsvars3
2.bat"
@echo
Deleting
test
leftovers
...
@echo
Deleting
test
leftovers
...
rmdir
/s /q
build
rmdir
/s /q
build
cd
PCbuild
cd
PCbuild
msbuild
/target
:clean
pcbuild
.sln
/p
:Configuration
=
Release
/p
:PlatformTarget
=
x86
msbuild
/target
:clean
pcbuild
.sln
/p
:Configuration
=
Release
/p
:PlatformTarget
=
x86
msbuild
/target
:clean
pcbuild
.sln
/p
:Configuration
=
Debug
/p
:PlatformTarget
=
x86
msbuild
/target
:clean
pcbuild
.sln
/p
:Configuration
=
Debug
/p
:PlatformTarget
=
x86
cd
..
cd
..
Tools/buildbot/external-amd64.bat
View file @
20d31b51
@rem
Fetches
(
and
builds
if
necessary
)
external
dependencies
@rem
Fetches
(
and
builds
if
necessary
)
external
dependencies
@rem
Assume
we
start
inside
the
Python
source
directory
@rem
Assume
we
start
inside
the
Python
source
directory
call
"Tools\buildbot\external-common.bat"
call
"Tools\buildbot\external-common.bat"
call
"
%VS1
00COMNTOOLS
%
\..\..\VC\vcvarsall.bat"
x86_amd64
call
"
%VS1
00COMNTOOLS
%
\..\..\VC\vcvarsall.bat"
x86_amd64
if
not
exist
tcltk64
\bin\tcl86tg.dll
(
if
not
exist
tcltk64
\bin\tcl86tg.dll
(
cd
tcl
-
8
.6.1.0\win
cd
tcl
-
8
.6.1.0\win
nmake
-f
makefile
.vc
OPTS
=
symbols
MACHINE
=
AMD64
INSTALLDIR
=
..\..\tcltk64
clean
core
shell
dlls
nmake
-f
makefile
.vc
OPTS
=
symbols
MACHINE
=
AMD64
INSTALLDIR
=
..\..\tcltk64
clean
core
shell
dlls
nmake
-f
makefile
.vc
OPTS
=
symbols
MACHINE
=
AMD64
INSTALLDIR
=
..\..\tcltk64
install
-binaries
install
-libraries
nmake
-f
makefile
.vc
OPTS
=
symbols
MACHINE
=
AMD64
INSTALLDIR
=
..\..\tcltk64
install
-binaries
install
-libraries
cd
..\..
cd
..\..
)
)
if
not
exist
tcltk64
\bin\tk86tg.dll
(
if
not
exist
tcltk64
\bin\tk86tg.dll
(
cd
tk
-
8
.6.1.0\win
cd
tk
-
8
.6.1.0\win
nmake
-f
makefile
.vc
OPTS
=
symbols
MACHINE
=
AMD64
INSTALLDIR
=
..\..\tcltk64
TCLDIR
=
..\..\tcl
-
8
.6.1.0
clean
nmake
-f
makefile
.vc
OPTS
=
symbols
MACHINE
=
AMD64
INSTALLDIR
=
..\..\tcltk64
TCLDIR
=
..\..\tcl
-
8
.6.1.0
clean
nmake
-f
makefile
.vc
OPTS
=
symbols
MACHINE
=
AMD64
INSTALLDIR
=
..\..\tcltk64
TCLDIR
=
..\..\tcl
-
8
.6.1.0
all
nmake
-f
makefile
.vc
OPTS
=
symbols
MACHINE
=
AMD64
INSTALLDIR
=
..\..\tcltk64
TCLDIR
=
..\..\tcl
-
8
.6.1.0
all
nmake
-f
makefile
.vc
OPTS
=
symbols
MACHINE
=
AMD64
INSTALLDIR
=
..\..\tcltk64
TCLDIR
=
..\..\tcl
-
8
.6.1.0
install
-binaries
install
-libraries
nmake
-f
makefile
.vc
OPTS
=
symbols
MACHINE
=
AMD64
INSTALLDIR
=
..\..\tcltk64
TCLDIR
=
..\..\tcl
-
8
.6.1.0
install
-binaries
install
-libraries
cd
..\..
cd
..\..
)
)
if
not
exist
tcltk64
\lib\tix8.4.3\tix84g.dll
(
if
not
exist
tcltk64
\lib\tix8.4.3\tix84g.dll
(
cd
tix
-
8
.4.3.4\win
cd
tix
-
8
.4.3.4\win
nmake
-f
python
.mak
DEBUG
=
1
MACHINE
=
AMD64
TCL_DIR
=
..\..\tcl
-
8
.6.1.0
TK_DIR
=
..\..\tk
-
8
.6.1.0
INSTALL_DIR
=
..\..\tcltk64
clean
nmake
-f
python
.mak
DEBUG
=
1
MACHINE
=
AMD64
TCL_DIR
=
..\..\tcl
-
8
.6.1.0
TK_DIR
=
..\..\tk
-
8
.6.1.0
INSTALL_DIR
=
..\..\tcltk64
clean
nmake
-f
python
.mak
DEBUG
=
1
MACHINE
=
AMD64
TCL_DIR
=
..\..\tcl
-
8
.6.1.0
TK_DIR
=
..\..\tk
-
8
.6.1.0
INSTALL_DIR
=
..\..\tcltk64
all
nmake
-f
python
.mak
DEBUG
=
1
MACHINE
=
AMD64
TCL_DIR
=
..\..\tcl
-
8
.6.1.0
TK_DIR
=
..\..\tk
-
8
.6.1.0
INSTALL_DIR
=
..\..\tcltk64
all
nmake
-f
python
.mak
DEBUG
=
1
MACHINE
=
AMD64
TCL_DIR
=
..\..\tcl
-
8
.6.1.0
TK_DIR
=
..\..\tk
-
8
.6.1.0
INSTALL_DIR
=
..\..\tcltk64
install
nmake
-f
python
.mak
DEBUG
=
1
MACHINE
=
AMD64
TCL_DIR
=
..\..\tcl
-
8
.6.1.0
TK_DIR
=
..\..\tk
-
8
.6.1.0
INSTALL_DIR
=
..\..\tcltk64
install
cd
..\..
cd
..\..
)
)
Tools/buildbot/external-common.bat
View file @
20d31b51
@rem
Common
file
shared
between
external
.bat
and
external
-amd
64
.bat.
Responsible
for
@rem
Common
file
shared
between
external
.bat
and
external
-amd
64
.bat.
Responsible
for
@rem
fetching
external
components
into
the
root
\..
buildbot
directories
.
@rem
fetching
external
components
into
the
root
\..
buildbot
directories
.
if
"
%SVNROOT%
"
==
""
set
SVNROOT
=
http
://svn.python.org/projects/external/
if
"
%SVNROOT%
"
==
""
set
SVNROOT
=
http
://svn.python.org/projects/external/
if
not
exist
externals
mkdir
externals
if
not
exist
externals
mkdir
externals
cd
externals
cd
externals
@rem
XXX
:
If
you
need
to
force
the
buildbots
to
start
from
a
fresh
environment
,
uncomment
@rem
XXX
:
If
you
need
to
force
the
buildbots
to
start
from
a
fresh
environment
,
uncomment
@rem
the
following
,
check
it
in
,
then
check
it
out
,
comment
it
out
,
then
check
it
back
in
.
@rem
the
following
,
check
it
in
,
then
check
it
out
,
comment
it
out
,
then
check
it
back
in
.
@rem
if
exist
bzip2
-
1
.0.6
rd
/s/q
bzip2
-
1
.0.6
@rem
if
exist
bzip2
-
1
.0.6
rd
/s/q
bzip2
-
1
.0.6
@rem
if
exist
tcltk
rd
/s/q
tcltk
@rem
if
exist
tcltk
rd
/s/q
tcltk
@rem
if
exist
tcltk64
rd
/s/q
tcltk64
@rem
if
exist
tcltk64
rd
/s/q
tcltk64
@rem
if
exist
tcl
-
8
.6.1.0
rd
/s/q
tcl
-
8
.6.1.0
@rem
if
exist
tcl
-
8
.6.1.0
rd
/s/q
tcl
-
8
.6.1.0
@rem
if
exist
tk
-
8
.6.1.0
rd
/s/q
tk
-
8
.6.1.0
@rem
if
exist
tk
-
8
.6.1.0
rd
/s/q
tk
-
8
.6.1.0
@rem
if
exist
tix
-
8
.4.3.4
rd
/s/q
tix
-
8
.4.3.4
@rem
if
exist
tix
-
8
.4.3.4
rd
/s/q
tix
-
8
.4.3.4
@rem
if
exist
db
-
4
.4.20
rd
/s/q
db
-
4
.4.20
@rem
if
exist
db
-
4
.4.20
rd
/s/q
db
-
4
.4.20
@rem
if
exist
openssl
-
1
.0.2a
rd
/s/q
openssl
-
1
.0.2a
@rem
if
exist
openssl
-
1
.0.2a
rd
/s/q
openssl
-
1
.0.2a
@rem
if
exist
sqlite
-
3
.7.12
rd
/s/q
sqlite
-
3
.7.12
@rem
if
exist
sqlite
-
3
.7.12
rd
/s/q
sqlite
-
3
.7.12
@rem
bzip
@rem
bzip
if
not
exist
bzip2
-
1
.0.6
(
if
not
exist
bzip2
-
1
.0.6
(
rd
/s/q
bzip2
-
1
.0.5
rd
/s/q
bzip2
-
1
.0.5
svn
export
%SVNROOT%
bzip2
-
1
.0.6
svn
export
%SVNROOT%
bzip2
-
1
.0.6
)
)
@rem
NASM
,
for
OpenSSL
build
@rem
NASM
,
for
OpenSSL
build
@rem
if
exist
nasm
-
2
.11.06
rd
/s/q
nasm
-
2
.11.06
@rem
if
exist
nasm
-
2
.11.06
rd
/s/q
nasm
-
2
.11.06
if
not
exist
nasm
-
2
.11.06
svn
export
%SVNROOT%
nasm
-
2
.11.06
if
not
exist
nasm
-
2
.11.06
svn
export
%SVNROOT%
nasm
-
2
.11.06
@rem
OpenSSL
@rem
OpenSSL
if
not
exist
openssl
-
1
.0.2a
(
if
not
exist
openssl
-
1
.0.2a
(
rd
/s/q
openssl
-
1
.0.1l
rd
/s/q
openssl
-
1
.0.1l
svn
export
%SVNROOT%
openssl
-
1
.0.2a
svn
export
%SVNROOT%
openssl
-
1
.0.2a
)
)
@rem
tcl
/tk
@rem
tcl
/tk
if
not
exist
tcl
-
8
.6.1.0
(
if
not
exist
tcl
-
8
.6.1.0
(
rd
/s/q
tcltk
tcltk64
tcl
-
8
.5.11.0
tk
-
8
.5.11.0
rd
/s/q
tcltk
tcltk64
tcl
-
8
.5.11.0
tk
-
8
.5.11.0
svn
export
%SVNROOT%
tcl
-
8
.6.1.0
svn
export
%SVNROOT%
tcl
-
8
.6.1.0
)
)
if
not
exist
tk
-
8
.6.1.0
svn
export
%SVNROOT%
tk
-
8
.6.1.0
if
not
exist
tk
-
8
.6.1.0
svn
export
%SVNROOT%
tk
-
8
.6.1.0
if
not
exist
tix
-
8
.4.3.4
svn
export
%SVNROOT%
tix
-
8
.4.3.4
if
not
exist
tix
-
8
.4.3.4
svn
export
%SVNROOT%
tix
-
8
.4.3.4
@rem
sqlite3
@rem
sqlite3
if
not
exist
sqlite
-
3
.8.3.1
(
if
not
exist
sqlite
-
3
.8.3.1
(
rd
/s/q
sqlite
-source
-
3
.8.1
rd
/s/q
sqlite
-source
-
3
.8.1
svn
export
%SVNROOT%
sqlite
-
3
.8.3.1
svn
export
%SVNROOT%
sqlite
-
3
.8.3.1
)
)
@rem
lzma
@rem
lzma
if
not
exist
xz
-
5
.0.5
(
if
not
exist
xz
-
5
.0.5
(
rd
/s/q
xz
-
5
.0.3
rd
/s/q
xz
-
5
.0.3
svn
export
%SVNROOT%
xz
-
5
.0.5
svn
export
%SVNROOT%
xz
-
5
.0.5
)
)
Tools/buildbot/external.bat
View file @
20d31b51
@rem
Fetches
(
and
builds
if
necessary
)
external
dependencies
@rem
Fetches
(
and
builds
if
necessary
)
external
dependencies
@rem
Assume
we
start
inside
the
Python
source
directory
@rem
Assume
we
start
inside
the
Python
source
directory
call
"Tools\buildbot\external-common.bat"
call
"Tools\buildbot\external-common.bat"
call
"
%VS1
00COMNTOOLS
%
\vsvars32.bat"
call
"
%VS1
00COMNTOOLS
%
\vsvars32.bat"
if
not
exist
tcltk
\bin\tcl86tg.dll
(
if
not
exist
tcltk
\bin\tcl86tg.dll
(
@rem
all
and
install
need
to
be
separate
invocations
,
otherwise
nmakehlp
is
not
found
on
install
@rem
all
and
install
need
to
be
separate
invocations
,
otherwise
nmakehlp
is
not
found
on
install
cd
tcl
-
8
.6.1.0\win
cd
tcl
-
8
.6.1.0\win
nmake
-f
makefile
.vc
OPTS
=
symbols
INSTALLDIR
=
..\..\tcltk
clean
core
shell
dlls
nmake
-f
makefile
.vc
OPTS
=
symbols
INSTALLDIR
=
..\..\tcltk
clean
core
shell
dlls
nmake
-f
makefile
.vc
OPTS
=
symbols
INSTALLDIR
=
..\..\tcltk
install
-binaries
install
-libraries
nmake
-f
makefile
.vc
OPTS
=
symbols
INSTALLDIR
=
..\..\tcltk
install
-binaries
install
-libraries
cd
..\..
cd
..\..
)
)
if
not
exist
tcltk
\bin\tk86tg.dll
(
if
not
exist
tcltk
\bin\tk86tg.dll
(
cd
tk
-
8
.6.1.0\win
cd
tk
-
8
.6.1.0\win
nmake
-f
makefile
.vc
OPTS
=
symbols
INSTALLDIR
=
..\..\tcltk
TCLDIR
=
..\..\tcl
-
8
.6.1.0
clean
nmake
-f
makefile
.vc
OPTS
=
symbols
INSTALLDIR
=
..\..\tcltk
TCLDIR
=
..\..\tcl
-
8
.6.1.0
clean
nmake
-f
makefile
.vc
OPTS
=
symbols
INSTALLDIR
=
..\..\tcltk
TCLDIR
=
..\..\tcl
-
8
.6.1.0
all
nmake
-f
makefile
.vc
OPTS
=
symbols
INSTALLDIR
=
..\..\tcltk
TCLDIR
=
..\..\tcl
-
8
.6.1.0
all
nmake
-f
makefile
.vc
OPTS
=
symbols
INSTALLDIR
=
..\..\tcltk
TCLDIR
=
..\..\tcl
-
8
.6.1.0
install
-binaries
install
-libraries
nmake
-f
makefile
.vc
OPTS
=
symbols
INSTALLDIR
=
..\..\tcltk
TCLDIR
=
..\..\tcl
-
8
.6.1.0
install
-binaries
install
-libraries
cd
..\..
cd
..\..
)
)
if
not
exist
tcltk
\lib\tix8.4.3\tix84g.dll
(
if
not
exist
tcltk
\lib\tix8.4.3\tix84g.dll
(
cd
tix
-
8
.4.3.4\win
cd
tix
-
8
.4.3.4\win
nmake
-f
python
.mak
DEBUG
=
1
MACHINE
=
IX86
TCL_DIR
=
..\..\tcl
-
8
.6.1.0
TK_DIR
=
..\..\tk
-
8
.6.1.0
INSTALL_DIR
=
..\..\tcltk
clean
nmake
-f
python
.mak
DEBUG
=
1
MACHINE
=
IX86
TCL_DIR
=
..\..\tcl
-
8
.6.1.0
TK_DIR
=
..\..\tk
-
8
.6.1.0
INSTALL_DIR
=
..\..\tcltk
clean
nmake
-f
python
.mak
DEBUG
=
1
MACHINE
=
IX86
TCL_DIR
=
..\..\tcl
-
8
.6.1.0
TK_DIR
=
..\..\tk
-
8
.6.1.0
INSTALL_DIR
=
..\..\tcltk
all
nmake
-f
python
.mak
DEBUG
=
1
MACHINE
=
IX86
TCL_DIR
=
..\..\tcl
-
8
.6.1.0
TK_DIR
=
..\..\tk
-
8
.6.1.0
INSTALL_DIR
=
..\..\tcltk
all
nmake
-f
python
.mak
DEBUG
=
1
MACHINE
=
IX86
TCL_DIR
=
..\..\tcl
-
8
.6.1.0
TK_DIR
=
..\..\tk
-
8
.6.1.0
INSTALL_DIR
=
..\..\tcltk
install
nmake
-f
python
.mak
DEBUG
=
1
MACHINE
=
IX86
TCL_DIR
=
..\..\tcl
-
8
.6.1.0
TK_DIR
=
..\..\tk
-
8
.6.1.0
INSTALL_DIR
=
..\..\tcltk
install
cd
..\..
cd
..\..
)
)
Tools/buildbot/test-amd64.bat
View file @
20d31b51
@rem
Used
by
the
buildbot
"test"
step
.
@rem
Used
by
the
buildbot
"test"
step
.
cd
PCbuild
cd
PCbuild
call
rt
.bat
-d -q -x
64
-uall -rwW -n
-
-timeout
=
3600
%
1
%
2
%
3
%
4
%
5
%
6
%
7
%
8
%
9
call
rt
.bat
-d -q -x
64
-uall -rwW -n
-
-timeout
=
3600
%
1
%
2
%
3
%
4
%
5
%
6
%
7
%
8
%
9
Tools/buildbot/test.bat
View file @
20d31b51
@rem
Used
by
the
buildbot
"test"
step
.
@rem
Used
by
the
buildbot
"test"
step
.
cd
PCbuild
cd
PCbuild
call
rt
.bat
-d -q -uall -rwW -n
-
-timeout
=
3600
%
1
%
2
%
3
%
4
%
5
%
6
%
7
%
8
%
9
call
rt
.bat
-d -q -uall -rwW -n
-
-timeout
=
3600
%
1
%
2
%
3
%
4
%
5
%
6
%
7
%
8
%
9
Tools/unicode/genwincodecs.bat
View file @
20d31b51
@rem
Recreate
some
python
charmap
codecs
from
the
Windows
function
@rem
Recreate
some
python
charmap
codecs
from
the
Windows
function
@rem
MultiByteToWideChar
.
@rem
MultiByteToWideChar
.
@cd
/d
%~dp0
@cd
/d
%~dp0
@mkdir
build
@mkdir
build
@rem
Arabic
DOS
code
page
@rem
Arabic
DOS
code
page
c
:\python30\python
genwincodec
.py
720
>
build
/cp
720
.py
c
:\python30\python
genwincodec
.py
720
>
build
/cp
720
.py
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment