Bump Windows build to 3.5
This commit is contained in:
parent
42867c73c9
commit
6373ba5199
|
@ -62,7 +62,7 @@ main(int argc, char **argv)
|
|||
continue;
|
||||
|
||||
len = wcsnlen_s(me.szExePath, MAX_PATH) - KILL_PYTHON_EXE_LEN;
|
||||
wcsncpy_s(path, MAX_PATH+1, me.szExePath, len);
|
||||
wcsncpy_s(path, MAX_PATH+1, me.szExePath, len);
|
||||
|
||||
break;
|
||||
|
||||
|
@ -80,8 +80,8 @@ main(int argc, char **argv)
|
|||
* looking for python processes. When we find one, verify it lives
|
||||
* in the same directory we live in. If it does, kill it. If we're
|
||||
* unable to kill it, treat this as a fatal error and return 1.
|
||||
*
|
||||
* The rationale behind this is that we're called at the start of the
|
||||
*
|
||||
* The rationale behind this is that we're called at the start of the
|
||||
* build process on the basis that we'll take care of killing any
|
||||
* running instances, such that the build won't encounter permission
|
||||
* denied errors during linking. If we can't kill one of the processes,
|
||||
|
@ -104,11 +104,11 @@ main(int argc, char **argv)
|
|||
do {
|
||||
|
||||
/*
|
||||
* XXX TODO: if we really wanted to be fancy, we could check the
|
||||
* XXX TODO: if we really wanted to be fancy, we could check the
|
||||
* modules for all processes (not just the python[_d].exe ones)
|
||||
* and see if any of our DLLs are loaded (i.e. python34[_d].dll),
|
||||
* and see if any of our DLLs are loaded (i.e. python35[_d].dll),
|
||||
* as that would also inhibit our ability to rebuild the solution.
|
||||
* Not worth loosing sleep over though; for now, a simple check
|
||||
* Not worth loosing sleep over though; for now, a simple check
|
||||
* for just the python executable should be sufficient.
|
||||
*/
|
||||
|
||||
|
@ -119,7 +119,7 @@ main(int argc, char **argv)
|
|||
/* It's a python process, so figure out which directory it's in... */
|
||||
hsm = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, pe.th32ProcessID);
|
||||
if (hsm == INVALID_HANDLE_VALUE)
|
||||
/*
|
||||
/*
|
||||
* If our module snapshot fails (which will happen if we don't own
|
||||
* the process), just ignore it and continue. (It seems different
|
||||
* versions of Windows return different values for GetLastError()
|
||||
|
|
|
@ -38,7 +38,7 @@
|
|||
/>
|
||||
<UserMacro
|
||||
Name="PyDllName"
|
||||
Value="python34"
|
||||
Value="python35"
|
||||
/>
|
||||
<UserMacro
|
||||
Name="PythonExe"
|
||||
|
|
|
@ -39,7 +39,7 @@
|
|||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalOptions="/export:initexample"
|
||||
AdditionalDependencies="odbc32.lib odbccp32.lib python34.lib"
|
||||
AdditionalDependencies="odbc32.lib odbccp32.lib python35.lib"
|
||||
OutputFile=".\Release/example.pyd"
|
||||
LinkIncremental="1"
|
||||
SuppressStartupBanner="TRUE"
|
||||
|
@ -105,7 +105,7 @@
|
|||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalOptions="/export:initexample"
|
||||
AdditionalDependencies="odbc32.lib odbccp32.lib python34_d.lib"
|
||||
AdditionalDependencies="odbc32.lib odbccp32.lib python35_d.lib"
|
||||
OutputFile=".\Debug/example_d.pyd"
|
||||
LinkIncremental="1"
|
||||
SuppressStartupBanner="TRUE"
|
||||
|
|
|
@ -322,11 +322,11 @@ Py_NO_ENABLE_SHARED to find out. Also support MS_NO_COREDLL for b/w compat */
|
|||
their Makefile (other compilers are generally
|
||||
taken care of by distutils.) */
|
||||
# if defined(_DEBUG)
|
||||
# pragma comment(lib,"python34_d.lib")
|
||||
# pragma comment(lib,"python35_d.lib")
|
||||
# elif defined(Py_LIMITED_API)
|
||||
# pragma comment(lib,"python3.lib")
|
||||
# else
|
||||
# pragma comment(lib,"python34.lib")
|
||||
# pragma comment(lib,"python35.lib")
|
||||
# endif /* _DEBUG */
|
||||
# endif /* _MSC_VER */
|
||||
# endif /* Py_BUILD_CORE */
|
||||
|
|
1398
PC/python3.def
1398
PC/python3.def
File diff suppressed because it is too large
Load Diff
|
@ -1,14 +1,14 @@
|
|||
$(OutDir)python3.dll: python3.def $(OutDir)python34stub.lib
|
||||
cl /LD /Fe$(OutDir)python3.dll python3dll.c python3.def $(OutDir)python34stub.lib
|
||||
$(OutDir)python3.dll: python3.def $(OutDir)python35stub.lib
|
||||
cl /LD /Fe$(OutDir)python3.dll python3dll.c python3.def $(OutDir)python35stub.lib
|
||||
|
||||
$(OutDir)python34stub.lib: python34stub.def
|
||||
lib /def:python34stub.def /out:$(OutDir)python34stub.lib /MACHINE:$(MACHINE)
|
||||
$(OutDir)python35stub.lib: python35stub.def
|
||||
lib /def:python35stub.def /out:$(OutDir)python35stub.lib /MACHINE:$(MACHINE)
|
||||
|
||||
clean:
|
||||
IF EXIST $(OutDir)python3.dll del $(OutDir)python3.dll
|
||||
IF EXIST $(OutDir)python3.lib del $(OutDir)python3.lib
|
||||
IF EXIST $(OutDir)python34stub.lib del $(OutDir)python34stub.lib
|
||||
IF EXIST $(OutDir)python35stub.lib del $(OutDir)python35stub.lib
|
||||
IF EXIST $(OutDir)python3.exp del $(OutDir)python3.exp
|
||||
IF EXIST $(OutDir)python34stub.exp del $(OutDir)python34stub.exp
|
||||
IF EXIST $(OutDir)python35stub.exp del $(OutDir)python35stub.exp
|
||||
|
||||
rebuild: clean $(OutDir)python3.dll
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
# Generate python34stub.def out of python3.def
|
||||
# Generate python35stub.def out of python3.def
|
||||
# The regular import library cannot be used,
|
||||
# since it doesn't provide the right symbols for
|
||||
# data forwarding
|
||||
out = open("python34stub.def", "w")
|
||||
out.write('LIBRARY "python34"\n')
|
||||
out = open("python35stub.def", "w")
|
||||
out.write('LIBRARY "python35"\n')
|
||||
out.write('EXPORTS\n')
|
||||
|
||||
inp = open("python3.def")
|
||||
|
@ -14,7 +14,7 @@ line = inp.readline() # LIBRARY
|
|||
assert line.strip()=='EXPORTS'
|
||||
|
||||
for line in inp:
|
||||
# SYM1=python34.SYM2[ DATA]
|
||||
# SYM1=python35.SYM2[ DATA]
|
||||
head, tail = line.split('.')
|
||||
if 'DATA' in tail:
|
||||
symbol, tail = tail.split(' ')
|
|
@ -1,4 +1,4 @@
|
|||
LIBRARY "python34"
|
||||
LIBRARY "python35"
|
||||
EXPORTS
|
||||
PyArg_Parse
|
||||
PyArg_ParseTuple
|
|
@ -2,10 +2,10 @@
|
|||
if not defined HOST_PYTHON (
|
||||
if %1 EQU Debug (
|
||||
set HOST_PYTHON=python_d.exe
|
||||
if not exist python34_d.dll exit 1
|
||||
if not exist python35_d.dll exit 1
|
||||
) ELSE (
|
||||
set HOST_PYTHON=python.exe
|
||||
if not exist python34.dll exit 1
|
||||
if not exist python35.dll exit 1
|
||||
)
|
||||
)
|
||||
%HOST_PYTHON% build_ssl.py %1 %2 %3
|
||||
|
|
|
@ -62,7 +62,7 @@ main(int argc, char **argv)
|
|||
continue;
|
||||
|
||||
len = wcsnlen_s(me.szExePath, MAX_PATH) - KILL_PYTHON_EXE_LEN;
|
||||
wcsncpy_s(path, MAX_PATH+1, me.szExePath, len);
|
||||
wcsncpy_s(path, MAX_PATH+1, me.szExePath, len);
|
||||
|
||||
break;
|
||||
|
||||
|
@ -80,8 +80,8 @@ main(int argc, char **argv)
|
|||
* looking for python processes. When we find one, verify it lives
|
||||
* in the same directory we live in. If it does, kill it. If we're
|
||||
* unable to kill it, treat this as a fatal error and return 1.
|
||||
*
|
||||
* The rationale behind this is that we're called at the start of the
|
||||
*
|
||||
* The rationale behind this is that we're called at the start of the
|
||||
* build process on the basis that we'll take care of killing any
|
||||
* running instances, such that the build won't encounter permission
|
||||
* denied errors during linking. If we can't kill one of the processes,
|
||||
|
@ -104,11 +104,11 @@ main(int argc, char **argv)
|
|||
do {
|
||||
|
||||
/*
|
||||
* XXX TODO: if we really wanted to be fancy, we could check the
|
||||
* XXX TODO: if we really wanted to be fancy, we could check the
|
||||
* modules for all processes (not just the python[_d].exe ones)
|
||||
* and see if any of our DLLs are loaded (i.e. python34[_d].dll),
|
||||
* and see if any of our DLLs are loaded (i.e. python35[_d].dll),
|
||||
* as that would also inhibit our ability to rebuild the solution.
|
||||
* Not worth loosing sleep over though; for now, a simple check
|
||||
* Not worth loosing sleep over though; for now, a simple check
|
||||
* for just the python executable should be sufficient.
|
||||
*/
|
||||
|
||||
|
@ -119,7 +119,7 @@ main(int argc, char **argv)
|
|||
/* It's a python process, so figure out which directory it's in... */
|
||||
hsm = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, pe.th32ProcessID);
|
||||
if (hsm == INVALID_HANDLE_VALUE)
|
||||
/*
|
||||
/*
|
||||
* If our module snapshot fails (which will happen if we don't own
|
||||
* the process), just ignore it and continue. (It seems different
|
||||
* versions of Windows return different values for GetLastError()
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<OutDir>$(SolutionDir)</OutDir>
|
||||
<IntDir>$(SolutionDir)$(PlatformName)-temp-$(Configuration)\$(ProjectName)\</IntDir>
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Platform)'=='x64'">
|
||||
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
|
||||
<_PropertySheetDisplayName>amd64</_PropertySheetDisplayName>
|
||||
|
@ -13,7 +13,7 @@
|
|||
<IntDir>$(SolutionDir)$(PlatformName)-temp-$(Configuration)\$(ProjectName)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Label="UserMacros">
|
||||
<PyDllName>python34$(PyDebugExt)</PyDllName>
|
||||
<PyDllName>python35$(PyDebugExt)</PyDllName>
|
||||
<PythonExe>$(OutDir)python$(PyDebugExt).exe</PythonExe>
|
||||
<KillPythonExe>$(OutDir)kill_python$(PyDebugExt).exe</KillPythonExe>
|
||||
<externalsDir>..\..</externalsDir>
|
||||
|
|
|
@ -37,7 +37,7 @@ Debug
|
|||
Used to build Python with extra debugging capabilities, equivalent
|
||||
to using ./configure --with-pydebug on UNIX. All binaries built
|
||||
using this configuration have "_d" added to their name:
|
||||
python34_d.dll, python_d.exe, parser_d.pyd, and so on. Both the
|
||||
python35_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
|
||||
option for debug builds. If you are building Python to help with
|
||||
development of CPython, you will most likely use this configuration.
|
||||
|
|
Loading…
Reference in New Issue