Skip to content

2.7.18.10 dev - #60

Closed
icanhasmath wants to merge 11 commits into
2.7.18.x_oldfrom
2.7.18.10_dev
Closed

icanhasmath wants to merge 11 commits into
2.7.18.x_oldfrom
2.7.18.10_dev

Conversation

@icanhasmath

Copy link
Copy Markdown

Review additional Compiler Updates

@rickprice rickprice left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@ucodery ucodery left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Don't see anything alarming here

Comment thread Lib/ctypes/util.py
Comment on lines +22 to +23
if majorVersion >= 13:
majorVersion += 1

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why are we doing this?

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I saw the comment in all the other places this was done. Still not sure I understand it, but a reason was given.

# Use the .lib files for the correct architecture
if self.plat_name == 'win32':
suffix = ''
suffix = 'win32'

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This leaves suffix undefined in certain circumstances.

@icanhasmath

Copy link
Copy Markdown
Author

Closing as stale. This PR targets 2.7.18.x_old, which nothing ships from any more. 2.7.18.10 shipped through #64, and 2.7.18.10–2.7.18.15 have all been built for Windows (VS 14+) from 2.7 without this PR.

Some of its content still isn't on 2.7 and is being carried forward as focused, Windows-verified changes in a follow-up Linear ticket:

  1. Windows socket errno values (Modules/errnomodule.c, Objects/exceptions.c): undefine the VS2010+ errno.h socket constants, so errno.ECONNRESET and similar use the WSAE* values sockets actually report, as CPython 3.5+ does. Several 2.7.18.14 commits work around this mismatch.
  2. distutils VC14+ detection (msvc9compiler.py, msvccompiler.py, command/build_ext.py): for an MSC v.19xx build, get_build_version() currently returns 13.0, a version Microsoft skipped. It should map to 14, and build_ext should use the right library suffix.

Not carried forward: the remaining changes (BaseAddress removal, dynload_win.c SxS guards, msvcrtmodule.c CRT constants, bdist_wininst prototypes) are build hygiene, and current Windows builds work without them.

@icanhasmath

Copy link
Copy Markdown
Author

The follow-up ticket for the two carried-forward changes is Linear PROD-1626.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants