Skip to content
New issue

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

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

Already on GitHub? # to your account

setup.py: allow to override extra_compile_args #443

Merged
merged 3 commits into from
Aug 13, 2022

Conversation

giuliobenetti
Copy link
Contributor

At the moment extra_compile_args is set to -O2 by default. But m68k
toolchain has a bug that when trying to build Extension uvloop.loop enters
an infinite loop1. So we need to override -O2 with -O0 to make it
work. So let's getenv('MODULES_CFLAGS') and assign it to local
MODULES_CFLAGS (former CFLAGS) and assign it to extra_compile_args. If
not MODULES_CFLAGS is found then -O2 is kept as default.

Signed-off-by: Giulio Benetti giulio.benetti@benettiengineering.com

giuliobenetti and others added 3 commits September 23, 2021 01:16
At the moment extra_compile_args is set to -O2 by default. But m68k
toolchain has a bug that when trying to build Extension uvloop.loop enters
an infinite loop[1]. So we need to override -O2 with -O0 to make it
work. So let's getenv('MODULES_CFLAGS') and assign it to local
MODULES_CFLAGS (former CFLAGS) and assign it to extra_compile_args. If
not MODULES_CFLAGS is found then -O2 is kept as default.

[1]: http://autobuild.buildroot.net/results/17d/17d6e6422abadcd6313c430c40f2a5d7162dbbd3/build-end.log

Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
@fantix
Copy link
Member

fantix commented Aug 13, 2022

Thanks for the PR! I renamed the env to UVLOOP_OPT_CFLAGS

@fantix fantix merged commit a130375 into MagicStack:master Aug 13, 2022
fantix added a commit that referenced this pull request Sep 13, 2022
This release adds Python 3.11 support, updates bundled libuv to 1.43.0
and fixes a handful of issues.

Changes
=======

* Expose uv_loop_t pointer for integration with other C-extensions (#310)
  (by @pranavtbhat in b332eb8 for #310)

* Support python 3.11+ (#473)
  (by @zeroday0619 in 8e42921 for #473)

* Expose libuv uv_fs_event functionality (#474)
  (by @jensbjorgensen @fantix in 74d381e for #474)

* Activate debug mode when `-X dev` is used
  (by @jack1142 in 637a77a)

* Expose uv_version() for libuv API compatibility (#491)
  (by @fantix in 089f6cb for #491)

* Fix loop.getaddrinfo() and tests (#495)
  (by @fantix in 598b16f for #495)

* Bump to libuv 1.43.0
  (by @fantix in 94e5e53)

Fixes
=====

* _TransProtPair is no longer defined in asyncio.events
  (by @jensbjorgensen in fae5f7f)

* use a TypeVar for asyncio.BaseProtocol (#478)
  (by @graingert in 3aacb35 for #478)

* Fix segfault in TimerHandle.when() after cleared
  (by @jensbjorgensen in c39afff for #469)

* Avoid self._errpipe_write double close (#466)
  (by @graingert in 72140d7 for #466)

* Fix typo in test (#456)
  (by @kianmeng in 033d52d for #456)

* Fix potential infinite loop (#446)
  (by @kfur in ada43c0 for #446)

* use a stack of self._fds_to_close to prevent double closes (#481)
  (by @graingert in 3214cf6 for #481)

* Fix incorrect main thread id value forking from a thread  (#453)
  (by @horpto @fantix in e7934c8 for #453)

* create_subprocess_exec should treat env={} as empty environment (#439) (#454)
  (by @byllyfish in e04637e for #439)

* Queue write only after processing all buffers (#445)
  (by @jakirkham @fantix in 9c6ecb6 for #445)

* Drop Python 3.6 support for thread ident
  (by @fantix in 9c37930)

* bugfix: write to another transport in resume_writing() fails (#498)
  (by @fantix in d2deffe for #498)

Build
=====

* Upgrade GitHub Actions (#477) (#480)
  (by @cclauss in fcbf422 for #477, 1008694 for #480)

* typo `same as same`
  (by @YoSTEALTH in fedba80)

* setup.py: allow to override extra_compile_args (#443)
  (by @giuliobenetti in a130375 for #443)

* Drop hack in setup.py in finalize_options (492)
  (by @fantix in 2f1bc83 for #492)

* Fix tests invocation on release CI worklow (#489)
  (by @ben9923 in d6a2b59 for #489)

Documentation
=============

* use asyncio.Runner loop_factory on 3.11+ (#472)
  (by @graingert in 31ba48c for #472)

* Fix CI badge in docs, remove remaining Travis CI references from docs
  (by @Nothing4You in c6901a7)

* Fix typo in README
  (by @monosans in 73d7253)
@fantix fantix mentioned this pull request Sep 13, 2022
fantix added a commit that referenced this pull request Sep 14, 2022
This release adds Python 3.11 support, updates bundled libuv to 1.43.0
and fixes a handful of issues.

Changes
=======

* Expose uv_loop_t pointer for integration with other C-extensions (#310)
  (by @pranavtbhat in b332eb8 for #310)

* Support python 3.11+ (#473)
  (by @zeroday0619 in 8e42921 for #473)

* Expose libuv uv_fs_event functionality (#474)
  (by @jensbjorgensen @fantix in 74d381e for #474)

* Activate debug mode when `-X dev` is used
  (by @jack1142 in 637a77a)

* Expose uv_version() for libuv API compatibility (#491)
  (by @fantix in 089f6cb for #491)

* Fix loop.getaddrinfo() and tests (#495)
  (by @fantix in 598b16f for #495)

* Bump to libuv 1.43.0
  (by @fantix in 94e5e53)

Fixes
=====

* _TransProtPair is no longer defined in asyncio.events
  (by @jensbjorgensen in fae5f7f)

* use a TypeVar for asyncio.BaseProtocol (#478)
  (by @graingert in 3aacb35 for #478)

* Fix segfault in TimerHandle.when() after cleared
  (by @jensbjorgensen in c39afff for #469)

* Avoid self._errpipe_write double close (#466)
  (by @graingert in 72140d7 for #466)

* Fix typo in test (#456)
  (by @kianmeng in 033d52d for #456)

* Fix potential infinite loop (#446)
  (by @kfur in ada43c0 for #446)

* use a stack of self._fds_to_close to prevent double closes (#481)
  (by @graingert in 3214cf6 for #481)

* Fix incorrect main thread id value forking from a thread  (#453)
  (by @horpto @fantix in e7934c8 for #453)

* create_subprocess_exec should treat env={} as empty environment (#439) (#454)
  (by @byllyfish in e04637e for #439)

* Queue write only after processing all buffers (#445)
  (by @jakirkham @fantix in 9c6ecb6 for #445)

* Drop Python 3.6 support for thread ident
  (by @fantix in 9c37930)

* bugfix: write to another transport in resume_writing() fails (#498)
  (by @fantix in d2deffe for #498)

Build
=====

* Upgrade GitHub Actions (#477) (#480)
  (by @cclauss in fcbf422 for #477, 1008694 for #480)

* typo `same as same`
  (by @YoSTEALTH in fedba80)

* setup.py: allow to override extra_compile_args (#443)
  (by @giuliobenetti in a130375 for #443)

* Drop hack in setup.py in finalize_options (492)
  (by @fantix in 2f1bc83 for #492)

* Fix tests invocation on release CI worklow (#489)
  (by @ben9923 in d6a2b59 for #489)

Documentation
=============

* use asyncio.Runner loop_factory on 3.11+ (#472)
  (by @graingert in 31ba48c for #472)

* Fix CI badge in docs, remove remaining Travis CI references from docs
  (by @Nothing4You in c6901a7)

* Fix typo in README
  (by @monosans in 73d7253)
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants