Equivalent for distutils.ccompiler.new_compiler needed
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 2.9k
- Forks
- 1.4k
- Avg merge
- 1d 1h
- Merged PRs (30d)
- 1
Description
setuptools version
Any version
Python version
Python 312
OS
Windows, Linux
Additional environment information
No response
Description
I use distutils ccompiler.new_compiler() to compile and link .c files (created via cython (with different, modue specific flags), obj files , .rc files, .res files and libraries in dynamic libraries or executables. I also do some (platform) specific changes to the compiler returned (like additional include or library paths, or compiler or linker flags).
By deprecating distutils you are removing this functionality (which does a pretty good job in abstracting different installastion scenarios (C compiler and SDK versions, installation locations, OS, Python versions).
NB: I create some modules automatically (with jinja2) and I want to do my own dependency management
How to Reproduce
Try to do it withot new_compiler()
Other detail
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the described distutils.ccompiler.new_compiler() workflow on Python 3.12, including Cython-generated C files, object and resource files, libraries, and custom compiler or linker paths and flags on Windows and Linux. Determine whether setuptools has a supported equivalent or whether the request needs a new design; done means the replacement supports the stated compilation, linking, platform customization, and independent dependency management.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- build-system
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100