pypa / pypa/setuptools

Equivalent for distutils.ccompiler.new_compiler needed

Open
#4,540 4 comments 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

distutils deprecation Needs Triage
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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.