diff options
author | Paul Monson <paulmon@users.noreply.github.com> | 2019-04-12 16:36:38 (GMT) |
---|---|---|
committer | Steve Dower <steve.dower@microsoft.com> | 2019-04-12 16:36:38 (GMT) |
commit | aa25d5d026b21a6bac66ff1c47e96cbf6227473a (patch) | |
tree | 24d048d0cdf62eb7ef426aa2e97bc2f689653b20 | |
parent | b75b1a3504a0cea6fac6ecba44c10b2629577025 (diff) | |
download | cpython-aa25d5d026b21a6bac66ff1c47e96cbf6227473a.zip cpython-aa25d5d026b21a6bac66ff1c47e96cbf6227473a.tar.gz cpython-aa25d5d026b21a6bac66ff1c47e96cbf6227473a.tar.bz2 |
Enable building nuget packages for ARM32 (GH-12669)
-rw-r--r-- | Tools/nuget/build.bat | 19 | ||||
-rw-r--r-- | Tools/nuget/make_pkg.proj | 1 | ||||
-rw-r--r-- | Tools/nuget/pythonarm32.nuspec | 19 |
3 files changed, 36 insertions, 3 deletions
diff --git a/Tools/nuget/build.bat b/Tools/nuget/build.bat index f75cb3f..b532bd7 100644 --- a/Tools/nuget/build.bat +++ b/Tools/nuget/build.bat @@ -6,20 +6,24 @@ if "%Py_OutDir%"=="" set Py_OutDir=%PCBUILD% set BUILDX86= set BUILDX64= +set BUILDARM32= set REBUILD= set OUTPUT= set PACKAGES= +set PYTHON_EXE= :CheckOpts if "%~1" EQU "-h" goto Help if "%~1" EQU "-x86" (set BUILDX86=1) && shift && goto CheckOpts if "%~1" EQU "-x64" (set BUILDX64=1) && shift && goto CheckOpts +if "%~1" EQU "-arm32" (set BUILDARM32=1) && shift && goto CheckOpts if "%~1" EQU "-r" (set REBUILD=-r) && shift && goto CheckOpts if "%~1" EQU "-o" (set OUTPUT="/p:OutputPath=%~2") && shift && shift && goto CheckOpts if "%~1" EQU "--out" (set OUTPUT="/p:OutputPath=%~2") && shift && shift && goto CheckOpts if "%~1" EQU "-p" (set PACKAGES=%PACKAGES% %~2) && shift && shift && goto CheckOpts +if "%~1" EQU "--python-exe" (set PYTHON_EXE="/p:PythonExe=%~2") && shift && shift && goto CheckOpts -if not defined BUILDX86 if not defined BUILDX64 (set BUILDX86=1) && (set BUILDX64=1) +if not defined BUILDX86 if not defined BUILDX64 if not defined BUILDARM32 (set BUILDX86=1) && (set BUILDX64=1) && (set BUILDARM32=1) call "%D%..\msi\get_externals.bat" call "%PCBUILD%find_msbuild.bat" %MSBUILD% @@ -32,7 +36,7 @@ if defined BUILDX86 ( ) else if not exist "%Py_OutDir%win32\python.exe" call "%PCBUILD%build.bat" -e if errorlevel 1 goto :eof - %MSBUILD% "%D%make_pkg.proj" /p:Configuration=Release /p:Platform=x86 %OUTPUT% %PACKAGES% + %MSBUILD% "%D%make_pkg.proj" /p:Configuration=Release /p:Platform=x86 %OUTPUT% %PACKAGES% %PYTHON_EXE% if errorlevel 1 goto :eof ) @@ -41,7 +45,16 @@ if defined BUILDX64 ( ) else if not exist "%Py_OutDir%amd64\python.exe" call "%PCBUILD%build.bat" -p x64 -e if errorlevel 1 goto :eof - %MSBUILD% "%D%make_pkg.proj" /p:Configuration=Release /p:Platform=x64 %OUTPUT% %PACKAGES% + %MSBUILD% "%D%make_pkg.proj" /p:Configuration=Release /p:Platform=x64 %OUTPUT% %PACKAGES% %PYTHON_EXE% + if errorlevel 1 goto :eof +) + +if defined BUILDARM32 ( + if defined REBUILD ( call "%PCBUILD%build.bat" -p ARM -e -r --no-tkinter + ) else if not exist "%Py_OutDir%arm32\python.exe" call "%PCBUILD%build.bat" -p ARM -e --no-tkinter + if errorlevel 1 goto :eof + + %MSBUILD% "%D%make_pkg.proj" /p:Configuration=Release /p:Platform=ARM %OUTPUT% %PACKAGES% %PYTHON_EXE% if errorlevel 1 goto :eof ) diff --git a/Tools/nuget/make_pkg.proj b/Tools/nuget/make_pkg.proj index 5638952..b387b8e 100644 --- a/Tools/nuget/make_pkg.proj +++ b/Tools/nuget/make_pkg.proj @@ -4,6 +4,7 @@ <ProjectGuid>{10487945-15D1-4092-A214-338395C4116B}</ProjectGuid> <OutputName>python</OutputName> <OutputName Condition="$(Platform) == 'x86'">$(OutputName)x86</OutputName> + <OutputName Condition="$(Platform) == 'ARM'">$(OutputName)arm32</OutputName> <OutputName Condition="$(BuildForDaily) == 'true'">$(OutputName)daily</OutputName> <OutputSuffix></OutputSuffix> <SupportSigning>false</SupportSigning> diff --git a/Tools/nuget/pythonarm32.nuspec b/Tools/nuget/pythonarm32.nuspec new file mode 100644 index 0000000..273d79a --- /dev/null +++ b/Tools/nuget/pythonarm32.nuspec @@ -0,0 +1,19 @@ +<?xml version="1.0"?> +<package > + <metadata> + <id>pythonarm32</id> + <title>Python (ARM32)</title> + <authors>Python Software Foundation</authors> + <version>0.0.0.0</version> + <licenseUrl>https://docs.python.org/3/license.html</licenseUrl> + <projectUrl>https://www.python.org/</projectUrl> + <requireLicenseAcceptance>false</requireLicenseAcceptance> + <description>Installs Python ARM32 for use in build scenarios.</description> + <iconUrl>https://www.python.org/static/favicon.ico</iconUrl> + <tags>python</tags> + </metadata> + <files> + <file src="**\*" exclude="python.props" target="tools" /> + <file src="python.props" target="build\native" /> + </files> +</package> |