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

Fix Python-related redefinitions for builds using mingw-w64 #141

Open
wants to merge 1 commit into
base: develop
Choose a base branch
from
Open

Fix Python-related redefinitions for builds using mingw-w64 #141

wants to merge 1 commit into from

Conversation

sav-ix
Copy link

@sav-ix sav-ix commented Jul 20, 2017

Fixes #140.
Tested for builds using mingw-w64 with <Debug|Release><Shared|Static> configurations.
UPDATE: But it broke MSVC builds. Any suggestions?

@stefanseefeld
Copy link
Member

By "broke MSVC builds", are you referring to the Appveyor build failure ? That's an unrelated issue with the SCons build logic. Boost.Build is not involved in the CI builds. If not, can you show an error log ? (I'm only a casual Windows user, so I may not be able to help.)

@sav-ix
Copy link
Author

sav-ix commented Jul 20, 2017

Travis failures forced me to test this patch for MSVC builds. Which I missed to do before publishing this PR.
For builds using MSVC with Debug+Static and Release+Shared configurations got the same errors:

error: "gcc" is not a known value of feature <toolset>
error: legal values: "msvc"

(see logs in attachment).

@@ -36,6 +36,8 @@ py3-version = [ py-version 3 ] ;

project boost/python
: source-location ../src
: requirements <toolset>gcc <target-os>windows:<cxxflags>-D_hypot=hypot
: requirements <toolset>gcc <target-os>windows <link>shared:<cxxflags>-DMS_WIN64
Copy link
Member

Choose a reason for hiding this comment

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

I don't think this is doing what you expect. As far as I understand Boost.Build syntax, the last line above defines as requireents:

  • toolset=gcc
  • target-os=windows
  • cxxflags=-DMS_WIN64, whenever link=shared

It looks like what you intend to do is to define -DMS_WIN64 whenever all three features (toolset, target-os, and link) have the given values, yes ?
Please ask on the boost or boost.build mailing list what the right syntax for this is.
(I'm also not sure how this would fix the `"gcc is not a known value..." error. That's another thing to ask on boost.build ML).
Sorry I can't help more with this. Boost.Build is complicated and badly documented, which is one reason why I'm trying to move away from it...

@sav-ix
Copy link
Author

sav-ix commented Jul 20, 2017

I was trying to add rules to Boost.Python build system:
IF build using mingw-w64 THEN add -D_hypot=hypot to compiler keys,
IF build using mingw-w64 AND layout shared THEN add -DMS_WIN64 to compiler keys,
based on other Jamfiles as samples. But Boost.Build was more complicated then expected.

Please ask on the boost or boost.build mailing list what the right syntax for this is.

Or we can invite Boost.Build Developers to join this discussion.
@raffienficiaud, could you give a tip, how to solve this issue correctly?

@Kojoley Kojoley mentioned this pull request Mar 22, 2019
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.

2 participants