mesonbuild / mesonbuild/meson-python
Add a test package and docs for the "C/C++ lib with optional Python bindings" use case
Nessuno ha ancora preso questa issue.
- Lingua principale
- Python
- Stelle
- 180
- Fork
- 93
- Merge medio
- 2g 7h
- PR unite (30g)
- 18
Descrizione
This follows up on the discussion at https://github.com/mesonbuild/meson-python/pull/728#discussion_r2069077299. The use case is multi-language projects, like the Arrow projects, where the root of the repo contains a core C/C++ library and bindings for Python (and perhaps other languages) are present in sub-directories. This is a fairly common layout:
```
meson.build
src/
meson.build
python/
pyproject.toml
meson.build
```
The challenge here is to get the top-level library built and linked against. The idea in the linked discussion is to add:
```
python/
dist_script.py # replaces symlink with a copy for sdist generation
subprojects/
```
We've seen other people struggle with this puzzle when trying to adopt `meson-python`, e.g. in https://github.com/mesonbuild/meson-python/discussions/674. It would be good to have a test package for this project structure, and a bit of documentation to point out how this can be handled.
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Inizia dalla discussione della pull request collegata e dalla struttura del progetto descritta nell’issue, poi esamina i pacchetti di test esistenti e la documentazione per individuare casi d’uso correlati. Aggiungi un pacchetto di test che copra una libreria C/C++ con binding Python in una sottodirectory, insieme a indicazioni sulla struttura e sulla gestione di sdist. Il lavoro è completo quando i test del pacchetto compilano e collegano la libreria di livello superiore e il workflow documentato è chiaro.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- c, cpp, python
- Ambito
- build-system, documentation, testing
- Tipo di issue
- Documentazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 45/100