Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Py39 #395

Merged
merged 24 commits into from
Oct 7, 2020
Merged

Py39 #395

Show file tree
Hide file tree
Changes from 8 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .ci_support/osx_64_target_platformosx-64.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,13 +18,17 @@ libffi:
- '3.2'
macos_machine:
- x86_64-apple-darwin13.4.0
ncurses:
- '6.2'
openssl:
- 1.1.1
pin_run_as_build:
bzip2:
max_pin: x
libffi:
max_pin: x.x
ncurses:
max_pin: x.x
openssl:
max_pin: x.x.x
python:
Expand Down
4 changes: 4 additions & 0 deletions .ci_support/osx_arm64_target_platformosx-arm64.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,13 +18,17 @@ libffi:
- '3.2'
macos_machine:
- arm64-apple-darwin20.0.0
ncurses:
- '6.2'
openssl:
- 1.1.1
pin_run_as_build:
bzip2:
max_pin: x
libffi:
max_pin: x.x
ncurses:
max_pin: x.x
openssl:
max_pin: x.x.x
python:
Expand Down
18 changes: 9 additions & 9 deletions README.md

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

33 changes: 21 additions & 12 deletions recipe/build_base.bat
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
setlocal EnableDelayedExpansion
echo on

:: brand Python with conda-forge startup message
%SYS_PYTHON% %RECIPE_DIR%\brand_python.py
Expand All @@ -15,13 +16,15 @@ if "%ARCH%"=="64" (
set BUILD_PATH=win32
)

set PY_VER=39

set "OPENSSL_DIR=%LIBRARY_PREFIX%"
set "SQLITE3_DIR=%LIBRARY_PREFIX%"
for /f "usebackq delims=" %%i in (`conda list -p %PREFIX% sqlite --no-show-channel-urls --json ^| findstr "version"`) do set SQLITE3_VERSION_LINE=%%i
for /f "tokens=2 delims==/ " %%i IN ('echo %SQLITE3_VERSION_LINE%') do (set SQLITE3_VERSION=%%~i)
echo SQLITE3_VERSION detected as %SQLITE3_VERSION%

if "%PY_INTERP_DEBUG%" neq "" (
if "%PY_INTERP_DEBUG%"=="yes" (
set CONFIG=-d
set _D=_d
) else (
Expand All @@ -41,25 +44,33 @@ set PGO=

cd PCbuild

:: Twice because:
:: error : importlib_zipimport.h updated. You will need to rebuild pythoncore to see the changes.
call build.bat %PGO% %CONFIG% -m -e -v -p %PLATFORM%
call build.bat %PGO% %CONFIG% -m -e -v -p %PLATFORM%
if errorlevel 1 exit 1
cd ..

:: Populate the root package directory
for %%x in (python38%_D%.dll python3%_D%.dll python%_D%.exe pythonw%_D%.exe venvlauncher%_D%.exe venvwlauncher%_D%.exe) do (
for %%x in (python%PY_VER%%_D%.dll python3%_D%.dll python%_D%.exe pythonw%_D%.exe venvlauncher%_D%.exe venvwlauncher%_D%.exe) do (
if exist %SRC_DIR%\PCbuild\%BUILD_PATH%\%%x (
copy /Y %SRC_DIR%\PCbuild\%BUILD_PATH%\%%x %PREFIX%
if errorlevel 1 exit 1
) else (
echo "WARNING :: %SRC_DIR%\PCbuild\%BUILD_PATH%\%%x does not exist"
)
)

for %%x in (python%_D%.pdb python38%_D%.pdb pythonw%_D%.pdb) do (
for %%x in (python%_D%.pdb python%PY_VER%%_D%.pdb pythonw%_D%.pdb) do (
if exist %SRC_DIR%\PCbuild\%BUILD_PATH%\%%x (
copy /Y %SRC_DIR%\PCbuild\%BUILD_PATH%\%%x %PREFIX%
if errorlevel 1 exit 1
) else (
echo "WARNING :: %SRC_DIR%\PCbuild\%BUILD_PATH%\%%x does not exist"
)
)

copy %SRC_DIR%\LICENSE %PREFIX%\LICENSE_PYTHON.txt
if errorlevel 1 exit 1


:: Populate the DLLs directory
mkdir %PREFIX%\DLLs
xcopy /s /y %SRC_DIR%\PCBuild\%BUILD_PATH%\*.pyd %PREFIX%\DLLs\
Expand All @@ -83,8 +94,6 @@ xcopy /s /y /i %SRC_DIR%\Tools\demo %PREFIX%\Tools\demo
if errorlevel 1 exit 1
xcopy /s /y /i %SRC_DIR%\Tools\i18n %PREFIX%\Tools\i18n
if errorlevel 1 exit 1
xcopy /s /y /i %SRC_DIR%\Tools\parser %PREFIX%\Tools\parser
if errorlevel 1 exit 1
xcopy /s /y /i %SRC_DIR%\Tools\pynche %PREFIX%\Tools\pynche
if errorlevel 1 exit 1
xcopy /s /y /i %SRC_DIR%\Tools\scripts %PREFIX%\Tools\scripts
Expand Down Expand Up @@ -132,12 +141,12 @@ copy /Y %SRC_DIR%\Tools\scripts\2to3 %SCRIPTS%
if errorlevel 1 exit 1

:: Populate the libs directory
mkdir %PREFIX%\libs
copy /Y %SRC_DIR%\PCbuild\%BUILD_PATH%\python38%_D%.lib %PREFIX%\libs\
if not exist %PREFIX%\libs mkdir %PREFIX%\libs
if exist %SRC_DIR%\PCbuild\%BUILD_PATH%\python%PY_VER%%_D%.lib copy /Y %SRC_DIR%\PCbuild\%BUILD_PATH%\python%PY_VER%%_D%.lib %PREFIX%\libs\
if errorlevel 1 exit 1
copy /Y %SRC_DIR%\PCbuild\%BUILD_PATH%\python3%_D%.lib %PREFIX%\libs\
if exist %SRC_DIR%\PCbuild\%BUILD_PATH%\python3%_D%.lib copy /Y %SRC_DIR%\PCbuild\%BUILD_PATH%\python3%_D%.lib %PREFIX%\libs\
if errorlevel 1 exit 1
copy /Y %SRC_DIR%\PCbuild\%BUILD_PATH%\_tkinter%_D%.lib %PREFIX%\libs\
if exist %SRC_DIR%\PCbuild\%BUILD_PATH%\_tkinter%_D%.lib copy /Y %SRC_DIR%\PCbuild\%BUILD_PATH%\_tkinter%_D%.lib %PREFIX%\libs\
if errorlevel 1 exit 1


Expand Down
14 changes: 10 additions & 4 deletions recipe/build_base.sh
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,6 @@ VERNODOTS=${VER//./}
TCLTK_VER=${tk}
# Disables some PGO/LTO
QUICK_BUILD=no
# Remove once: https://github.com/mingwandroid/conda-build/commit/c68a7d100866df7a3e9c0e3177fc7ef0ff76def9
CONDA_FORGE=yes

_buildd_static=build-static
_buildd_shared=build-shared
Expand Down Expand Up @@ -152,7 +150,9 @@ if [[ "${CONDA_BUILD_CROSS_COMPILATION}" == "1" ]]; then
${SRC_DIR}/configure --build=${BUILD} \
--host=${BUILD} \
--prefix=${BUILD_PYTHON_PREFIX} \
--with-ensurepip=no && \
--with-ensurepip=no \
--with-tzpath=${PREFIX}/share/zoneinfo \
--with-platlibdir=lib && \
make -j${CPU_COUNT} && \
make install)
export PATH=${BUILD_PYTHON_PREFIX}/bin:${PATH}
Expand Down Expand Up @@ -232,11 +232,13 @@ _common_configure_args+=(--build=${BUILD})
_common_configure_args+=(--host=${HOST})
_common_configure_args+=(--enable-ipv6)
_common_configure_args+=(--with-ensurepip=no)
_common_configure_args+=(--with-tzpath=${PREFIX}/share/zoneinfo)
_common_configure_args+=(--with-computed-gotos)
_common_configure_args+=(--with-system-ffi)
_common_configure_args+=(--enable-loadable-sqlite-extensions)
_common_configure_args+=(--with-tcltk-includes="-I${PREFIX}/include")
_common_configure_args+=("--with-tcltk-libs=-L${PREFIX}/lib -ltcl8.6 -ltk8.6")
_common_configure_args+=(--with-platlibdir=lib)

# Add more optimization flags for the static Python interpreter:
declare -a PROFILE_TASK=()
Expand All @@ -251,7 +253,11 @@ if [[ ${_OPTIMIZED} == yes ]]; then
# run while on Unix, all 400+ are run, making this slower and less well curated
_PROFILE_TASK+=(PROFILE_TASK="-m test --pgo")
else
_PROFILE_TASK+=(PROFILE_TASK="-m test --pgo-extended")
# From talking to Steve Dower, who implemented pgo/pgo-extended, it is really not worth
# it to run pgo-extended (which runs the whole test-suite). The --pgo set of tests are
# curated specifically to be useful/appropriate for pgo instrumentation.
# _PROFILE_TASK+=(PROFILE_TASK="-m test --pgo-extended")
_PROFILE_TASK+=(PROFILE_TASK="-m test --pgo")
fi
fi
if [[ ${CC} =~ .*gcc.* ]]; then
Expand Down
Loading