This project's code of conduct can be found in the CODE_OF_CONDUCT.md file (v1.4.0 of the http://contributor-covenant.org/ CoC).
If your contribution is large enough you will be asked to sign the Microsoft CLA (the CLA bot will tell you if it's necessary).
- For CoreCLR
- For CPython
- Git
- TortoiseSVN (required to get external dependencies)
- Visual Studio
This repository uses Git submodules, which means the best way to clone this repository is with the --recursive
flag:
git clone --recursive https://github.com/Microsoft/Pyjion.git
Run PatchDeps.bat
to patch Python to have JIT support and CoreCLR to disable COM support.
Run BuildDeps.cmd
to build CoreCLR and Python (which includes downloading Python's dependencies).
- From Visual Studio
- Open the
pyjion.sln
file - Build the solution (should default to a debug build for x64)
- Open the
- Using the "Developer Command Prompt for VS"
- Run
DebugBuild.bat
- Run
- Run
CopyFiles.bat
to copy files to key locations
- Run
x64\Debug\Test.exe
- Run
x64\Debug\Tests.exe
- Run
Python\python.bat -m test -n -f Tests\python_tests.txt
- Copy
x64\Debug\pyjit.dll
toPython\PCbuild\amd64\
(initially done byCopyFiles.bat
, so only do as necessary after rebuilding Pyjion) - Go into the
Python
directory and launchpython.bat
Once you have done the above steps you can avoid running them again during development in most situations.
The commands discussed in this section assume they are run from a Developer Command Prompt for VS for access to msbuild
.
The BuildDebugPython.bat
file will build CPython in debug mode for x64 as well as copy the appropriate files where they need to be to run Pyjion's tests.
The DebugBuild.bat
file will build Pyjion in debug mode for x64 and copy the appropriate files to CPython for use in testing.
You'll need to run git clean -d -f -x
in CoreCLR when switching between release and debug builds.