<d_bot>
<Bluddy> well if the code generation runs on the same platform as the runtime, you'll have access to the correct value, right?
c4264035 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
c4264035 has joined #ocaml
c4264035 has quit [Client Quit]
narimiran has joined #ocaml
vicfred has quit [Quit: Leaving]
Serpent7776 has joined #ocaml
malc_ has joined #ocaml
Haudegen has joined #ocaml
vicfred has joined #ocaml
borne_ has joined #ocaml
vicfred has quit [Max SendQ exceeded]
vicfred has joined #ocaml
vicfred has quit [Max SendQ exceeded]
vicfred has joined #ocaml
vicfred has quit [Client Quit]
bartholin has quit [Quit: Leaving]
bartholin has joined #ocaml
g0d_shatter has joined #ocaml
ggole has joined #ocaml
osa1 has joined #ocaml
pippijn has quit [Ping timeout: 240 seconds]
srax has quit [Ping timeout: 240 seconds]
g0d_shatter has quit [Quit: Leaving]
pippijn has joined #ocaml
olle has joined #ocaml
srax has joined #ocaml
bartholin has quit [Quit: Leaving]
<Putonlalla>
I have a project that features a rather unorthodox mixture of languages and the only build system they have in common is Make. Can you recommend some resources on the proper use of Make (not just GNU Make) in an OCaml project?
<malc_>
Putonlalla: in my experience no only Shake is powerful enough to handle idiosyncrasies of OCaml, all the rest can handle the language only with ad-hoc hacks
<malc_>
-no
<Putonlalla>
I'm fine with hacks until Dune catches up.
<malc_>
Putonlalla: given your requirement of not being GNU, you are out of luck
<def>
yop, you have to resort to hacks in makefiles but (1) in practice they cause more rebuild than necessary, (2) it is possible to get the build to work well in the sequential case (make -j1), (3) I never got an incorrect build, at worst I had to clean and rebuild (rarely though)
<malc_>
even my 4k monitor is not enough to handle that beauty
<malc_>
Paskaa in other words if you will excuse my french
<Putonlalla>
I blame GraphViz for that.
<Putonlalla>
(It does fit if you stretch it across dual monitors.)
<malc_>
i have but one
<flux>
get one of those 32:9 ultrawide ones :)
<adrien>
you should try to look at gstreamer pipelines
jbrown has joined #ocaml
<gahr>
anybody noticed dune not printing a final \n before terminating?
<rgrinberg>
We're aware. I'll have a look at this bug for the 2.9 cycle (unless someone beats me to it)
<gahr>
thanks
<gahr>
do you have an issue for that?
<gahr>
ah, found it
inkbottle has quit [Remote host closed the connection]
inkbottle has joined #ocaml
nullcone has quit [Quit: Connection closed for inactivity]
<malc_>
flux: i have diplopia, even one is one too wide for me
tizoc has quit [Quit: Coyote finally caught me]
tizoc has joined #ocaml
osa1 has quit [Ping timeout: 240 seconds]
dhil has joined #ocaml
_whitelogger has joined #ocaml
mfp has joined #ocaml
osa1 has joined #ocaml
dhil has quit [Ping timeout: 265 seconds]
malc_ has quit [Remote host closed the connection]
malc_ has joined #ocaml
malc_ has quit [Ping timeout: 272 seconds]
<Putonlalla>
This OCamlMakefile seems to be more of a package deal than something I could adapt.
pgiarrusso has joined #ocaml
Haudegen has quit [Quit: Bin weg.]
dhil has joined #ocaml
rowbee has quit [Ping timeout: 256 seconds]
<Putonlalla>
At least the diagram should now fit onto your monitors.
worc3131 has quit [Ping timeout: 240 seconds]
<Drup>
the ocamlmakefile is indeed rather unflexible, and complicated, and a bit deprecated, really
dhil has quit [Ping timeout: 240 seconds]
dhil has joined #ocaml
<d_bot>
<Christophe> "paskaa" ? Finn in hiding ?
labor[m] has quit [Quit: killed]
defolos has quit [Quit: killed]
BitPuffin has quit [Quit: killed]
peddie has quit [Quit: killed]
swapnilraj[m] has quit [Quit: killed]
Manis[m] has quit [Quit: killed]
jimt[m] has quit [Quit: killed]
dash has quit [Quit: killed]
lnxw37d4 has quit [Quit: killed]
aspiwack[m] has quit [Quit: killed]
aecepoglu[m] has quit [Quit: killed]
swapnilrajOld[m] has quit [Quit: killed]
flux has quit [Quit: killed]
ansiwen[m] has quit [Quit: killed]
camlriot42 has quit [Quit: killed]
<d_bot>
<Christophe> Oh I remember now why at some point I had IRC on at the same time, no way to know who's connected from Discord
swapnilraj[m] has joined #ocaml
Haudegen has joined #ocaml
flux has joined #ocaml
jimt[m] has joined #ocaml
BitPuffin has joined #ocaml
aspiwack[m] has joined #ocaml
defolos has joined #ocaml
peddie has joined #ocaml
ansiwen[m] has joined #ocaml
camlriot42 has joined #ocaml
labor[m] has joined #ocaml
dash has joined #ocaml
aecepoglu[m] has joined #ocaml
lnxw37d4 has joined #ocaml
Manis[m] has joined #ocaml
swapnilrajOld[m] has joined #ocaml
ldbeth has joined #ocaml
waleee-cl has joined #ocaml
malc_ has joined #ocaml
rowbee has joined #ocaml
spew has joined #ocaml
ldbeth` has joined #ocaml
ldbeth has quit [Ping timeout: 260 seconds]
dckc has quit [Ping timeout: 240 seconds]
osa1 has quit [Ping timeout: 240 seconds]
dckc has joined #ocaml
osa1 has joined #ocaml
<flux>
finns just have the best swear words, possibly next the (rest of the) eastern block
troydm has joined #ocaml
nullcone has joined #ocaml
kanishka has joined #ocaml
kanishka has quit [Client Quit]
ldbeth` has quit [Ping timeout: 240 seconds]
<Putonlalla>
I'm drawn towards writing a dumb Make file that always compiles everything and then writing a more sensible build system for each component with Dune.
<Putonlalla>
Slow is better than wrong.
<malc_>
Putonlalla: why doing it in Make then? shell script ought to be better
<Putonlalla>
Because I already use one generated by Coq.
<malc_>
what was the question again?
<Putonlalla>
"Can you recommend some resources on the proper use of Make (not just GNU Make) in an OCaml project?"
<malc_>
Putonlalla: oh no idea then, mainly because "proper use" too vague
<Putonlalla>
If the answer is "don't even try", that's fine too.
<d_bot>
<Lupus> type for record on the left seems to be deduced first, producing HM constraint that run into a conflict with inferred type for person (which is explicitly annotated with type above, so it's not really inferred)
malc_ has left #ocaml ["ERC (IRC client for Emacs 28.0.50)"]
<rgrinberg>
Putonlalla if at all possible, what would work best is to build the OCaml targets with dune and then just wrap `dune build` commands in the makefile to build the targets the rest of the project needs.
osa1_ has quit [Ping timeout: 260 seconds]
<rgrinberg>
If you value correctness and your project isn't trivial, ocamlmakefile isn't a real option
c4264035 is now known as ransom
<Tuplanolla>
That's a sensible idea, rgrinberg, although at that point I could even wrap shell commands in the Dune build.
<rgrinberg>
You could. But I'm assuming the rest of your team is already using make for this large project, so it seems like going the other way will have less of an impact on workflows.
ransom has quit [Ping timeout: 240 seconds]
narimiran has quit [Ping timeout: 264 seconds]
bartholin has joined #ocaml
ransom has joined #ocaml
ransom has quit [Ping timeout: 260 seconds]
rig0rmortis has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
rig0rmortis has joined #ocaml
ggole has quit [Quit: Leaving]
jnavila has quit [Quit: Konversation terminated!]
borne_ has quit [Ping timeout: 260 seconds]
borne_ has joined #ocaml
rig0rmortis has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
rig0rmortis has joined #ocaml
rig0rmortis has quit [Client Quit]
Tuplanolla has quit [Ping timeout: 246 seconds]
spew has quit [Quit: Connection closed for inactivity]