2024/05/20

Newest at the top

2024-05-20 20:54:00 +0200 <tomsmeding> but might contain pointers to stuff you need anyway
2024-05-20 20:53:47 +0200 <tomsmeding> says nothing about c++ specifically
2024-05-20 20:53:37 +0200 <lxsameer> oh cool thanks
2024-05-20 20:53:31 +0200 <lxsameer> but at the end I need a static executable
2024-05-20 20:53:24 +0200 <tomsmeding> lxsameer: this exists https://hasufell.github.io/posts/2024-04-21-static-linking.html
2024-05-20 20:53:21 +0200 <lxsameer> my aim is to write parts of my application with haskell and parts in C for interfacing with llvm
2024-05-20 20:53:14 +0200raehik(~raehik@rdng-25-b2-v4wan-169990-cust1344.vm39.cable.virginm.net)
2024-05-20 20:52:59 +0200 <tomsmeding> ah I see
2024-05-20 20:52:54 +0200 <lxsameer> tomsmeding: yeah, i use musl as well
2024-05-20 20:52:53 +0200 <tomsmeding> but maybe libc++ is easier on that
2024-05-20 20:52:39 +0200 <lxsameer> *static binary
2024-05-20 20:52:39 +0200 <tomsmeding> I know that glibc categorically disallows that
2024-05-20 20:52:33 +0200 <lxsameer> oh yeah, libc++ is pretty easy
2024-05-20 20:52:24 +0200 <lxsameer> in general I want a static library
2024-05-20 20:52:21 +0200 <tomsmeding> ... you can do that?
2024-05-20 20:52:19 +0200bgamari(~bgamari@64.223.238.64)
2024-05-20 20:52:06 +0200 <lxsameer> tomsmeding: i statically link against libc++
2024-05-20 20:52:05 +0200 <tomsmeding> might be as easy as also putting libstdc++ or something similar in extra-libraries
2024-05-20 20:51:47 +0200 <tomsmeding> though being implemented in c++ means that you'll need to also (dynamically) link against the c++ standard library
2024-05-20 20:50:50 +0200ezzieyguywuf(~Unknown@user/ezzieyguywuf)
2024-05-20 20:50:10 +0200 <tomsmeding> I mean, it can be implemented in C++ all you like, as long as you put the functions you want to expose in an `extern "C" { }` block
2024-05-20 20:50:06 +0200 <lxsameer> monochrom: yeah I need it to be static
2024-05-20 20:49:44 +0200 <lxsameer> tomsmeding: I can do a static C lib instead of cpp. I have control over that
2024-05-20 20:48:57 +0200 <monochrom> So you are just asking about static linking. I have never needed it, but I heard other people doing it.
2024-05-20 20:48:31 +0200 <tomsmeding> ('foreign' declarations)
2024-05-20 20:48:23 +0200 <tomsmeding> and then expose its functions in haskell via the FFI
2024-05-20 20:48:10 +0200bgamari(~bgamari@64.223.226.84) (Ping timeout: 255 seconds)
2024-05-20 20:48:03 +0200 <tomsmeding> tell cabal to link in extra-libraries
2024-05-20 20:47:42 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-05-20 20:47:40 +0200 <tomsmeding> interacting with a c++ API is probably a bad idea, with name mangling and so on, but if your c++ library exposes a C interface, then that should be doable via the standard procedures
2024-05-20 20:47:24 +0200ezzieyguywuf(~Unknown@user/ezzieyguywuf) (Read error: Connection reset by peer)
2024-05-20 20:46:48 +0200 <lxsameer> monochrom: my bad, I want to link the static lib (cpp) in the final binary and don't want to use dl_open or something to that sort
2024-05-20 20:43:53 +0200 <monochrom> I don't understand the question, especially "instead". You have to go through FFI.
2024-05-20 20:43:38 +0200peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com)
2024-05-20 20:41:33 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-05-20 20:39:10 +0200y04nn(~username@2a03:1b20:8:f011::e10d)
2024-05-20 20:38:35 +0200 <lxsameer> hey folks, sorry for my uneducated question: would it be possible to use a static c++ library with Haskell instead of FFI?
2024-05-20 20:33:23 +0200sawilagar(~sawilagar@user/sawilagar) (Quit: Leaving)
2024-05-20 20:29:50 +0200euphores(~SASL_euph@user/euphores)
2024-05-20 20:26:02 +0200ocra8(ocra8@user/ocra8)
2024-05-20 20:16:23 +0200Tuplanolla(~Tuplanoll@91-159-69-59.elisa-laajakaista.fi)
2024-05-20 20:14:46 +0200target_i(~target_i@user/target-i/x-6023099)
2024-05-20 20:11:59 +0200raehik(~raehik@rdng-25-b2-v4wan-169990-cust1344.vm39.cable.virginm.net) (Ping timeout: 264 seconds)
2024-05-20 20:09:51 +0200y04nn(~username@2a03:1b20:8:f011::e10d) (Ping timeout: 256 seconds)
2024-05-20 20:09:50 +0200euphores(~SASL_euph@user/euphores) (Quit: Leaving.)
2024-05-20 20:03:10 +0200euleritian(~euleritia@dynamic-176-006-180-037.176.6.pool.telefonica.de)
2024-05-20 20:02:53 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 240 seconds)
2024-05-20 20:00:06 +0200ocra8(ocra8@user/ocra8) (Quit: WeeChat 4.2.2)
2024-05-20 19:58:40 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2024-05-20 19:58:11 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 264 seconds)