Skip to content

Commit

Permalink
Merge pull request wxWidgets#860 from RobinD42/fix-issue857
Browse files Browse the repository at this point in the history
Add builders for Python 3.7
(cherry picked from commit 430c61b)
  • Loading branch information
RobinD42 committed May 20, 2018
1 parent 943a453 commit ecbf517
Show file tree
Hide file tree
Showing 3 changed files with 63 additions and 9 deletions.
8 changes: 8 additions & 0 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,13 @@ jobs:
environment:
- MAKE_VENV: "python -m venv venv"

# "Python-3.7":
# <<: *shared
# docker:
# - image: circleci/python:3.7
# environment:
# - MAKE_VENV: "python -m venv venv"


# This workflow defines the jobs that comprise the "build" task. The jobs will
# be run in parallel.
Expand All @@ -90,3 +97,4 @@ workflows:
- "Python-2.7"
- "Python-3.5"
- "Python-3.6"
# - "Python-3.7"
38 changes: 37 additions & 1 deletion buildbot/master.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ c['slavePortnum'] = 9989

# TODO: Switch to the wxWidgets/Phoenix repo
phoenixGitUrl = 'https://github.com/RobinD42/Phoenix.git'
phoenixGitBranch = 'master'
phoenixGitBranch = 'wxPy-4.0.x'



Expand All @@ -99,12 +99,15 @@ c['schedulers'].append( SingleBranchScheduler(
builderNames=["build-win32-py27",
"build-win32-py35",
"build-win32-py36",
"build-win32-py37",
"build-win64-py27",
"build-win64-py35",
"build-win64-py36",
"build-win64-py37",
"build-osx-py27",
"build-osx-py35",
"build-osx-py36",
"build-osx-py37",
"build-gtk-py27",
"build-gtk-py35",
"build-gtk3-py27",
Expand All @@ -121,14 +124,17 @@ c['schedulers'].append( Nightly(
"dist-osx-py34",
"dist-osx-py35",
"dist-osx-py36",
"dist-osx-py37",
"dist-win32-py27",
"dist-win32-py34",
"dist-win32-py35",
"dist-win32-py36",
"dist-win32-py37",
"dist-win64-py27",
"dist-win64-py34",
"dist-win64-py35",
"dist-win64-py36",
"dist-win64-py37",
]))


Expand Down Expand Up @@ -158,12 +164,15 @@ c['schedulers'].append( ForceScheduler(
builderNames=["build-win32-py27",
"build-win32-py35",
"build-win32-py36",
"build-win32-py37",
"build-win64-py27",
"build-win64-py35",
"build-win64-py36",
"build-win64-py37",
"build-osx-py27",
"build-osx-py35",
"build-osx-py36",
"build-osx-py37",
"build-gtk-py27",
"build-gtk-py35",
"build-gtk3-py27",
Expand All @@ -172,14 +181,17 @@ c['schedulers'].append( ForceScheduler(
"dist-osx-py34",
"dist-osx-py35",
"dist-osx-py36",
"dist-osx-py37",
"dist-win32-py27",
"dist-win32-py34",
"dist-win32-py35",
"dist-win32-py36",
"dist-win32-py37",
"dist-win64-py27",
"dist-win64-py34",
"dist-win64-py35",
"dist-win64-py36",
"dist-win64-py37",
"dist-docs",
"dist-src",
#"vagrant-bldr",
Expand Down Expand Up @@ -305,6 +317,10 @@ c['builders'] = [
slavenames=["macosx-vm6"],
factory=makeFactory('osx', pyVer='3.6')),

BuilderConfig(name="build-osx-py37",
slavenames=["macosx-vm6"],
factory=makeFactory('osx', pyVer='3.7')),




Expand All @@ -320,6 +336,10 @@ c['builders'] = [
slavenames=["win7-py27"],
factory=makeFactory('win32', pyVer='3.6')),

BuilderConfig(name="build-win32-py37",
slavenames=["win7-py27"],
factory=makeFactory('win32', pyVer='3.7')),

BuilderConfig(name="build-win64-py27",
slavenames=["win7-py27"],
factory=makeFactory('win64', pyVer='2.7')),
Expand All @@ -332,6 +352,10 @@ c['builders'] = [
slavenames=["win7-py27"],
factory=makeFactory('win64', pyVer='3.6')),

BuilderConfig(name="build-win64-py37",
slavenames=["win7-py27"],
factory=makeFactory('win64', pyVer='3.7')),



BuilderConfig(name="build-gtk-py27",
Expand Down Expand Up @@ -377,6 +401,10 @@ c['builders'] = [
slavenames=["macosx-vm6"],
factory=makeFactory('osx', 'dist', pyVer='3.6')),

BuilderConfig(name="dist-osx-py37",
slavenames=["macosx-vm6"],
factory=makeFactory('osx', 'dist', pyVer='3.7')),


BuilderConfig(name="dist-win32-py27",
slavenames=["win7-py27"],
Expand All @@ -394,6 +422,10 @@ c['builders'] = [
slavenames=["win7-py27"],
factory=makeFactory('win32', 'dist', pyVer='3.6')),

BuilderConfig(name="dist-win32-py37",
slavenames=["win7-py27"],
factory=makeFactory('win32', 'dist', pyVer='3.7')),

BuilderConfig(name="dist-win64-py27",
slavenames=["win7-py27"],
factory=makeFactory('win64', 'dist', pyVer='2.7')),
Expand All @@ -410,6 +442,10 @@ c['builders'] = [
slavenames=["win7-py27"],
factory=makeFactory('win64', 'dist', pyVer='3.6')),

BuilderConfig(name="dist-win64-py37",
slavenames=["win7-py27"],
factory=makeFactory('win64', 'dist', pyVer='3.7')),


# BuilderConfig(name="vagrant-bldr",
# slavenames=["vagrant-bldr"],
Expand Down
26 changes: 18 additions & 8 deletions wscript
Original file line number Diff line number Diff line change
Expand Up @@ -53,14 +53,6 @@ def options(opt):
opt.add_option('--msvc_arch', dest='msvc_arch', default='x86', action='store',
help='The architecture to target for MSVC builds. Supported values '
'are: "x86" or "x64"')
#opt.add_option('--msvc_ver', dest='msvc_ver', default='9.0', action='store',
# help='The MSVC version to use for the build, if multiple versions are '
# 'installed. Currently supported values are: "9.0" or "10.0"')

# TODO: The waf msvc tool has --msvc_version and --msvc_target options
# already. We should just switch to those instead of adding our own
# option names...

opt.add_option('--msvc_relwithdebug', dest='msvc_relwithdebug', action='store_true', default=False,
help='Turn on debug info for release builds for MSVC builds.')

Expand All @@ -74,6 +66,24 @@ def configure(conf):
# Python to know what version of the compiler to use.
import distutils.msvc9compiler
msvc_version = str( distutils.msvc9compiler.get_build_version() )

# When building for Python 3.7 the msvc_version returned will be
# "14.1" as that is the version of the BasePlatformToolkit that
# stock Python 3.7 was built with, a.k.a v141, which is the
# default in Visual Studio 2017. However, waf is using "msvc
# 15.0" to designate that version rather than "14.1" so we'll
# need to catch that case and fix up the msvc_version
# accordingly.
if msvc_version == "14.1" and sys.version_info >= (3,7):
##msvc_version = '15.0'

# On the other hand, microsoft says that v141 and v140
# (Visual Studio 2015) are binary compatible, so for now
# let's just drop it back to "14.0" until I get all the
# details worked out for using VS 2017 everywhere for Python
# 3.7.
msvc_version = '14.0'

conf.env['MSVC_VERSIONS'] = ['msvc ' + msvc_version]
conf.env['MSVC_TARGETS'] = [conf.options.msvc_arch]
conf.load('msvc')
Expand Down

0 comments on commit ecbf517

Please sign in to comment.