Automatic translation of object file extensions
Nobody has claimed this yet.
- Dominant language
- OCaml
- Stars
- 1.9k
- Forks
- 500
- Avg merge
- 15h 21m
- Merged PRs (30d)
- 277
Description
Related: #690, #962, #1189
IIRC Dune automatically adds .exe to filenames when installing executables for Windows contexts. In addition to the support for variables in the referenced PRs, I'm wondering if it would be better for Dune to perform automatic conversion of items ending .o to .obj and .a to .lib for contexts using the Microsoft C compiler.
There might want to be some kind of syntax or semantics which prevents this kind of translation for very special cases (for example FlexDLL) where you might manipulate both .o and .obj files in the same place. However, for 99% of cases, writing .o in a dune is not portable.
Contributor guide
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 by reading the related issues #690, #962, and #1189, then trace Dune's existing Windows executable-extension handling and Microsoft C compiler context logic. The issue does not name files or tests; completion would require defining and implementing portable .o/.a to .obj/.lib translation, including semantics for exceptional cases such as FlexDLL.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- ocaml
- Domain
- build-system
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100