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
cmake change default build directory, configure script, Fedora support #460
Conversation
0e4f089
to
49e2cf7
Compare
@kmod I fixed the configure script here. For reasons I don't fully understand lz4 using CheckTypeSize causes a conflict between our imported version and the older system version. I resolved it by renaming the imported newer version to CheckTypeSizeof. |
Integration tests failing. Not sure how to get the unordered_map size into this compilation.
warning: PCTBuildPy: byte-compiling is disabled, skipping. In file included from /home/dagar/pyston-build/from_cpython/Include/Python.h:53:0, |
Cmake could copy object.h and dictobject.h to the build directory and insert the actual size, but I'm not sure how I feel about that. |
Ah ok, sounds like we should switch from having our own config.h to using the existing pyconfig.h. That entire file should be generated, so we'll eventually want to be using this process to generate it anyway, and it makes sense as a place for |
e312666
to
33297e7
Compare
Moved SIZEOF_UNORDEREDMAP to pyconfig.h and renamed to pyconfig.h.in so there's no confusion. |
I removed the original Makefile instructions because they'll no longer work. |
Resolves issue #316. |
Added Fedora dependencies, but ninja is actually ninja-build so we'll need to add a check to the Makefile. |
b21c11e
to
161a0ef
Compare
Added more header checks to pyconfig.h |
Sorry, can we split this up into different PRs? the stuff all looks good but I don't think we're ready to get rid of the makefile build system just yet, so we could get some of this in if we could split out a PR that doesn't remove the old system. for that PR, how about let's leave the makefile instructions in for now, and limit the pyconfig.h.in changes to the SIZEOF_UNORDEREDMAP define (which we can add makefile support for). I think the things that make us keep looking at the makefile build system are using a custom gcc build (we've been experimenting with patching it and I don't think we figured out how to get cmake to use the patched version -- maybe @toshok can comment), and the valgrind mode (didn't seem to work, maybe @rntz can comment). we're getting closer to not needing it though :) |
-use pyconfig.h instead of config.h
Conflicts: .travis.yml Makefile from_cpython/CMakeLists.txt
Conflicts: Makefile
Do you want to just leave this open until we've resolved the remaining issues instead of hacking a size check into the Makefile? |
Conflicts: from_cpython/Include/pyconfig.h.in
I merged with your pyconfig.h changes. Apologies for the continued merges, the rebase was getting pretty hairy. |
Conflicts: Makefile from_cpython/Include/dictobject.h from_cpython/Include/object.h from_cpython/Include/pyconfig.h.in src/CMakeLists.txt
Resolved the merge conflicts. Any outstanding issues here? |
Resolved .travis.yml merge conflicts |
@@ -1 +1 @@ | |||
Subproject commit 89f615a75fbc86d0dda71b407cb704077749c2cc | |||
Subproject commit 7f14a66674f6d65c717199512e7ca705110c8da1 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Was this change intentional? I wish github had better submodule support, but it looks like this is going back a few revisions so I assume it's a merge conflict.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not sure how this slipped in. I'll rebase the bad merge so history is intact and take a final look at the full PR after all the merges.
Looks great with some minor comments :) sorry again for the delay. after we get this merged we can delete a few hundred lines from the makefile :) |
2ca9a40
to
918d537
Compare
Conflicts: .travis.yml
-pyston build using the copied headers that include the generated pyconfig.h
@kmod - I fixed the libpypa submodule and set the pyston dependency to copy_stdlib instead of building the entire from_cpython. |
cmake change default build directory, configure script, Fedora support
congrats! long live the new build system :) |
Tried to hijack #441 for this, but couldn't once I deleted the original branch.
This changes the build directories to
$(SRC_DIR)/build/Debug
$(SRC_DIR)/build/Release
$(SRC_DIR)/build/Debug-gcc
I think the usual complaint about polluting the source directory is when the object files are right next to source, but I guess we'll see. It's easy to override BUILD_DIR.