ocaml / ocaml/dune

Automatic translation of object file extensions

Open
#1,247 5 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

windows
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

Open the contributing guide

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 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.