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
c89e255f
Commit
c89e255f
authored
Jul 16, 2016
by
Steve Dower
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fixes use of Py_IntDir and Py_OutDir to control build directories.
parent
478736fb
Changes
7
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
68 additions
and
29 deletions
+68
-29
PCbuild/pcbuild.proj
PCbuild/pcbuild.proj
+30
-2
PCbuild/pyproject.props
PCbuild/pyproject.props
+4
-7
PCbuild/python.props
PCbuild/python.props
+7
-2
Tools/msi/bundle/bootstrap/pythonba.vcxproj
Tools/msi/bundle/bootstrap/pythonba.vcxproj
+1
-1
Tools/msi/make_zip.proj
Tools/msi/make_zip.proj
+1
-1
Tools/msi/make_zip.py
Tools/msi/make_zip.py
+18
-15
Tools/msi/msi.props
Tools/msi/msi.props
+7
-1
No files found.
PCbuild/pcbuild.proj
View file @
c89e255f
...
...
@@ -21,6 +21,15 @@
<CleanAllTarget>
CleanAll
</CleanAllTarget>
<BuildInParallel>
true
</BuildInParallel>
</Projects>
<Projects2>
<Platform>
$(Platform)
</Platform>
<Configuration>
$(Configuration)
</Configuration>
<Properties></Properties>
<BuildTarget>
Build
</BuildTarget>
<CleanTarget>
Clean
</CleanTarget>
<CleanAllTarget>
CleanAll
</CleanAllTarget>
<BuildInParallel>
true
</BuildInParallel>
</Projects2>
</ItemDefinitionGroup>
<ItemGroup>
<!-- pythonXY.dll -->
...
...
@@ -35,6 +44,8 @@
</Projects>
<!-- python3.dll -->
<Projects
Include=
"python3dll.vcxproj"
/>
<!-- pyshellext.dll -->
<Projects
Include=
"pyshellext.vcxproj"
/>
<!-- py[w].exe -->
<Projects
Include=
"pylauncher.vcxproj;pywlauncher.vcxproj"
/>
<!-- _freeze_importlib -->
...
...
@@ -58,9 +69,9 @@
</Projects>
<!-- python[w].exe -->
<Projects
Include=
"python.vcxproj;pythonw.vcxproj"
>
<Projects
2
Include=
"python.vcxproj;pythonw.vcxproj"
>
<BuildInParallel>
false
</BuildInParallel>
</Projects>
</Projects
2
>
</ItemGroup>
<Target
Name=
"Build"
>
...
...
@@ -69,9 +80,20 @@
BuildInParallel=
"%(BuildInParallel)"
StopOnFirstFailure=
"true"
Targets=
"%(BuildTarget)"
/>
<MSBuild
Projects=
"@(Projects2)"
Properties=
"Configuration=%(Configuration);Platform=%(Platform);%(Properties)"
BuildInParallel=
"%(BuildInParallel)"
StopOnFirstFailure=
"true"
Targets=
"%(BuildTarget)"
/>
</Target>
<Target
Name=
"Clean"
>
<MSBuild
Projects=
"@(Projects2)"
Properties=
"Configuration=%(Configuration);Platform=%(Platform);%(Properties)"
BuildInParallel=
"%(BuildInParallel)"
StopOnFirstFailure=
"false"
Condition=
"%(CleanTarget) != ''"
Targets=
"%(CleanTarget)"
/>
<MSBuild
Projects=
"@(Projects)"
Properties=
"Configuration=%(Configuration);Platform=%(Platform);%(Properties)"
BuildInParallel=
"%(BuildInParallel)"
...
...
@@ -81,6 +103,12 @@
</Target>
<Target
Name=
"CleanAll"
>
<MSBuild
Projects=
"@(Projects2)"
Properties=
"Configuration=%(Configuration);Platform=%(Platform);%(Properties)"
BuildInParallel=
"%(BuildInParallel)"
StopOnFirstFailure=
"false"
Condition=
"%(CleanAllTarget) != ''"
Targets=
"%(CleanAllTarget)"
/>
<MSBuild
Projects=
"@(Projects)"
Properties=
"Configuration=%(Configuration);Platform=%(Platform);%(Properties)"
BuildInParallel=
"%(BuildInParallel)"
...
...
PCbuild/pyproject.props
View file @
c89e255f
...
...
@@ -4,10 +4,8 @@
<_ProjectFileVersion>
10.0.30319.1
</_ProjectFileVersion>
<VisualStudioVersion
Condition=
"'$(VisualStudioVersion)' == ''"
>
10.0
</VisualStudioVersion>
<OutDir>
$(BuildPath)
</OutDir>
<OutDir
Condition=
"'$(Py_OutDir)' != ''"
>
$(Py_OutDir)
</OutDir>
<OutDir
Condition=
"!HasTrailingSlash($(OutDir))"
>
$(OutDir)\
</OutDir>
<Py_IntDir
Condition=
"'$(Py_IntDir)' == ''"
>
$(SolutionDir)obj\
</Py_IntDir>
<IntDir
Condition=
"!HasTrailingSlash($(IntDir))"
>
$(IntDir)\
</IntDir>
<Py_IntDir
Condition=
"'$(PyIntDir)' == ''"
>
$(SolutionDir)obj\
</Py_IntDir>
<IntDir>
$(Py_IntDir)\$(ArchName)_$(Configuration)\$(ProjectName)\
</IntDir>
<IntDir
Condition=
"$(Configuration) == 'PGInstrument' or $(Configuration) == 'PGUpdate'"
>
$(Py_IntDir)\$(ArchName)_PGO\$(ProjectName)\
</IntDir>
<TargetName
Condition=
"'$(TargetName)' == ''"
>
$(ProjectName)
</TargetName>
...
...
@@ -29,7 +27,7 @@
</PropertyGroup>
<ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>
$(PySourcePath)Include;$(PySourcePath)PC;%(AdditionalIncludeDirectories)
</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>
$(PySourcePath)Include;$(PySourcePath)PC;
$(IntDir);
%(AdditionalIncludeDirectories)
</AdditionalIncludeDirectories>
<PreprocessorDefinitions>
WIN32;$(_PlatformPreprocessorDefinition)$(_DebugPreprocessorDefinition)$(_PydPreprocessorDefinition)%(PreprocessorDefinitions)
</PreprocessorDefinitions>
<Optimization>
MaxSpeed
</Optimization>
...
...
@@ -85,9 +83,8 @@
<SuppressStartupBanner>
true
</SuppressStartupBanner>
<TargetEnvironment>
Win32
</TargetEnvironment>
<TargetEnvironment
Condition=
"'$(Platform)' == 'x64'"
>
X64
</TargetEnvironment>
<TypeLibraryName>
$(OutDir)wininst.tlb
</TypeLibraryName>
<HeaderFileName>
</HeaderFileName>
<TypeLibraryName>
$(OutDir)%(Filename).tlb
</TypeLibraryName>
<HeaderFileName>
$(IntDir)%(Filename)_h.h
</HeaderFileName>
</Midl>
</ItemDefinitionGroup>
...
...
PCbuild/python.props
View file @
c89e255f
...
...
@@ -32,8 +32,13 @@
<PySourcePath
Condition=
"!HasTrailingSlash($(PySourcePath))"
>
$(PySourcePath)\
</PySourcePath>
<!-- Directory where build outputs are put -->
<BuildPath
Condition=
"'$(PyBuildPath)' == ''"
>
$(PySourcePath)PCBuild\$(ArchName)\
</BuildPath>
<BuildPath
Condition=
"'$(PyBuildPath)' != ''"
>
$(PyBuildPath)
</BuildPath>
<BuildPath32
Condition=
"'$(Py_OutDir)' == ''"
>
$(PySourcePath)PCBuild\win32\
</BuildPath32>
<BuildPath32
Condition=
"'$(Py_OutDir)' != ''"
>
$(Py_OutDir)\win32\
</BuildPath32>
<BuildPath64
Condition=
"'$(Py_OutDir)' == ''"
>
$(PySourcePath)PCBuild\amd64\
</BuildPath64>
<BuildPath64
Condition=
"'$(Py_OutDir)' != ''"
>
$(Py_OutDir)\amd64\
</BuildPath64>
<BuildPath
Condition=
"'$(ArchName)' == 'win32'"
>
$(BuildPath32)
</BuildPath>
<BuildPath
Condition=
"'$(ArchName)' == 'amd64'"
>
$(BuildPath64)
</BuildPath>
<BuildPath
Condition=
"'$(BuildPath)' == ''"
>
$(PySourcePath)PCBuild\$(ArchName)\
</BuildPath>
<BuildPath
Condition=
"!HasTrailingSlash($(BuildPath))"
>
$(BuildPath)\
</BuildPath>
<!-- Directories of external projects. tcltk is handled in tcltk.props -->
...
...
Tools/msi/bundle/bootstrap/pythonba.vcxproj
View file @
c89e255f
...
...
@@ -31,7 +31,7 @@
<PropertyGroup
Label=
"Configuration"
>
<ConfigurationType>
DynamicLibrary
</ConfigurationType>
<CharacterSet>
Unicode
</CharacterSet>
<IntDir>
$(Py
SourcePath)PCBuild\obj
\$(Configuration)_$(Platform)_Setup\Bootstrap\
</IntDir>
<IntDir>
$(Py
_IntDir)
\$(Configuration)_$(Platform)_Setup\Bootstrap\
</IntDir>
<OutDir>
$(IntDir)
</OutDir>
</PropertyGroup>
<Import
Project=
"$(VCTargetsPath)\Microsoft.Cpp.props"
/>
...
...
Tools/msi/make_zip.proj
View file @
c89e255f
...
...
@@ -16,7 +16,7 @@
<TargetPath>
$(OutputPath)\en-us\$(TargetName)$(TargetExt)
</TargetPath>
<CleanCommand>
rmdir /q/s "$(IntermediateOutputPath)\zip_$(ArchName)"
</CleanCommand>
<Arguments>
"$(PythonExe)" "$(MSBuildThisFileDirectory)\make_zip.py"
</Arguments>
<Arguments>
$(Arguments) -e -o "$(TargetPath)" -t "$(IntermediateOutputPath)\zip_$(ArchName)" -
a $(ArchName)
</Arguments>
<Arguments>
$(Arguments) -e -o "$(TargetPath)" -t "$(IntermediateOutputPath)\zip_$(ArchName)" -
b "$(OutDir.TrimEnd('\'))"
</Arguments>
<Environment>
set DOC_FILENAME=python$(PythonVersion).chm
set VCREDIST_PATH=$(VS140COMNTOOLS)\..\..\VC\redist\$(Platform)\Microsoft.VC140.CRT
</Environment>
</PropertyGroup>
...
...
Tools/msi/make_zip.py
View file @
c89e255f
...
...
@@ -90,23 +90,23 @@ def include_in_tools(p):
return p.suffix.lower() in {'
.
py
', '
.
pyw
', '
.
txt
'}
FULL_LAYOUT = [
('
/
', '
PCBuild
/
$
arch
', '
python
.
exe
', is_not_debug),
('
/
', '
PCBuild
/
$
arch
', '
pythonw
.
exe
', is_not_debug),
('
/
', '
PCBuild
/
$
arch
', '
python
{
0.
major
}.
dll
'.format(sys.version_info), is_not_debug),
('
/
', '
PCBuild
/
$
arch
', '
python
{
0.
major
}{
0.
minor
}.
dll
'.format(sys.version_info), is_not_debug),
('
DLLs
/
', '
PCBuild
/
$
arch
', '
*
.
pyd
', is_not_debug),
('
DLLs
/
', '
PCBuild
/
$
arch
', '
*
.
dll
', is_not_debug_or_python),
('
/
', '
$
build
', '
python
.
exe
', is_not_debug),
('
/
', '
$
build
', '
pythonw
.
exe
', is_not_debug),
('
/
', '
$
build
', '
python
{
0.
major
}.
dll
'.format(sys.version_info), is_not_debug),
('
/
', '
$
build
', '
python
{
0.
major
}{
0.
minor
}.
dll
'.format(sys.version_info), is_not_debug),
('
DLLs
/
', '
$
build
', '
*
.
pyd
', is_not_debug),
('
DLLs
/
', '
$
build
', '
*
.
dll
', is_not_debug_or_python),
('
include
/
', '
include
', '
*
.
h
', None),
('
include
/
', '
PC
', '
pyconfig
.
h
', None),
('
Lib
/
', '
Lib
', '
**/*
', include_in_lib),
('
libs
/
', '
PCBuild
/
$
arch
', '
*
.
lib
', include_in_libs),
('
libs
/
', '
$
build
', '
*
.
lib
', include_in_libs),
('
Tools
/
', '
Tools
', '
**/*
', include_in_tools),
]
EMBED_LAYOUT = [
('
/
', '
PCBuild
/
$
arch
', '
python
*
.
exe
', is_not_debug),
('
/
', '
PCBuild
/
$
arch
', '
*
.
pyd
', is_not_debug),
('
/
', '
PCBuild
/
$
arch
', '
*
.
dll
', is_not_debug),
('
/
', '
$
build
', '
python
*
.
exe
', is_not_debug),
('
/
', '
$
build
', '
*
.
pyd
', is_not_debug),
('
/
', '
$
build
', '
*
.
dll
', is_not_debug),
('
python
{
0.
major
}{
0.
minor
}.
zip
'.format(sys.version_info), '
Lib
', '
**/*
', include_in_lib),
]
...
...
@@ -168,18 +168,18 @@ def rglob(root, pattern, condition):
def main():
parser = argparse.ArgumentParser()
parser.add_argument('
-
s
', '
--
source
', metavar='
dir
', help='
The
directory
containing
the
repository
root
', type=Path)
parser.add_argument('
-
o
', '
--
out
', metavar='
file
', help='
The
name
of
the
output
self
-
extracting
archive
', type=Path, default=None)
parser.add_argument('
-
o
', '
--
out
', metavar='
file
', help='
The
name
of
the
output
archive
', type=Path, default=None)
parser.add_argument('
-
t
', '
--
temp
', metavar='
dir
', help='
A
directory
to
temporarily
extract
files
into
', type=Path, default=None)
parser.add_argument('
-
e
', '
--
embed
', help='
Create
an
embedding
layout
', action='
store_true
', default=False)
parser.add_argument('
-
a
', '
--
arch
', help='
Specify
the
architecture
to
use
(
win32
/
amd64
)
', type=str, default="win32"
)
parser.add_argument('
-
b', '
--
build
', help='
Specify
the
build
directory
', type=Path
)
ns = parser.parse_args()
source = ns.source or (Path(__file__).resolve().parent.parent.parent)
out = ns.out
arch = ns.arch
build = ns.build
assert isinstance(source, Path)
assert not out or isinstance(out, Path)
assert isinstance(
arch, str
)
assert isinstance(
build, Path
)
if ns.temp:
temp = ns.temp
...
...
@@ -202,7 +202,10 @@ def main():
try:
for t, s, p, c in layout:
s = source / s.replace("$arch", arch)
if s == '
$
build
':
s = build
else:
s = source / s
copied = copy_to_layout(temp / t.rstrip('
/
'), rglob(s, p, c))
print('
Copied
{}
files
'.format(copied))
...
...
Tools/msi/msi.props
View file @
c89e255f
...
...
@@ -47,7 +47,7 @@
</ItemGroup>
<PropertyGroup>
<IntermediateOutputPath>
$(Py
SourcePath)PCBuild\obj
\$(Configuration)_$(Platform)_Setup\$(OutputName)
</IntermediateOutputPath>
<IntermediateOutputPath>
$(Py
_IntDir)
\$(Configuration)_$(Platform)_Setup\$(OutputName)
</IntermediateOutputPath>
<IntermediateOutputPath
Condition=
"'$(OutputSuffix)' != ''"
>
$(IntermediateOutputPath)_$(OutputSuffix)
</IntermediateOutputPath>
<OutputPath
Condition=
"'$(OutputPath)' == ''"
>
$(BuildPath)
</OutputPath>
<OutputPath
Condition=
"!HasTrailingSlash($(OutputPath))"
>
$(OutputPath)\
</OutputPath>
...
...
@@ -124,6 +124,12 @@
<LinkerBindInputPaths
Include=
"$(VS140COMNTOOLS)\..\..\VC\redist\$(Platform)\Microsoft.VC140.CRT"
>
<BindName>
redist
</BindName>
</LinkerBindInputPaths>
<LinkerBindInputPaths
Include=
"$(BuildPath32)"
>
<BindName>
build32
</BindName>
</LinkerBindInputPaths>
<LinkerBindInputPaths
Include=
"$(BuildPath64)"
>
<BindName>
build64
</BindName>
</LinkerBindInputPaths>
</ItemGroup>
<Target
Name=
"_ValidateMsiProps"
BeforeTargets=
"PrepareForBuild"
>
...
...
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