| 29 May 2024 |
| Ash joined the room. | 12:51:57 |
| tauphi changed their profile picture. | 16:44:12 |
| tauphi changed their profile picture. | 16:46:52 |
| raitobezarius (DECT: 7248) changed their display name from raitobezarius to raitobezarius (DECT: 7248). | 17:09:28 |
@irenes:matrix.org | wow this link think | 23:07:31 |
@irenes:matrix.org | I'm read in on it now | 23:07:35 |
@irenes:matrix.org | *thing | 23:07:38 |
| 30 May 2024 |
delroth | Qyriad: I'm curious, any details and/or wip CL showing how you're fixing the static builds? I'm sad I must have missed a less complex way to fix them when I tried a few weeks ago :p | 01:08:12 |
Qyriad | I'm just applying link_whole : where relevant conditional on get_option('default_library') == 'static' | 01:09:44 |
Qyriad | Plus some other stuff in the derivation that wasn't right for static builds | 01:09:57 |
delroth | oh, I couldn't get this to work because then stuff linking with libexpr would break due to libexpr link_whole-ing libstore but meson not passing the transitive dependencies of libstore to the builds | 01:10:59 |
delroth | must have missed something when I tried | 01:11:05 |
delroth | cool that this does end up working | 01:11:12 |
Qyriad | the trick is to only link_whole : on executables | 01:18:01 |
Qyriad | liblixexpr = declare_dependency(
include_directories : include_directories('.'),
link_with : libexpr,
)
if is_static
liblixexpr_mstatic = declare_dependency(
include_directories : include_directories('.'),
link_whole : libexpr,
)
else
liblixexpr_mstatic = liblixexpr
endif
and then
nix = executable(
'nix',
….
dependencies : [
liblixcmd,
liblixutil,
liblixstore_mstatic,
liblixexpr_mstatic,
liblixfetchers_mstatic,
liblixmain,
boehm,
nlohmann_json,
],
)
| 01:19:55 |
Qyriad | liblixexpr = declare_dependency(
include_directories : include_directories('.'),
link_with : libexpr,
)
if is_static
liblixexpr_mstatic = declare_dependency(
include_directories : include_directories('.'),
link_whole : libexpr,
)
else
liblixexpr_mstatic = liblixexpr
endif
and then
nix = executable(
'nix',
…
dependencies : [
liblixcmd,
liblixutil,
liblixstore_mstatic,
liblixexpr_mstatic,
liblixfetchers_mstatic,
liblixmain,
boehm,
nlohmann_json,
],
)
| 01:20:11 |
delroth | ugh, hacky | 01:22:12 |
delroth | hopefully #359 can deprecate this in the future, can you leave a comment on the issue once you've merged this? | 01:22:42 |
delroth | so we remember to have a look at removing it when static initializers are gone | 01:22:57 |
Qyriad | yep, we were also going to leave comments in these parts of the meson files saying to remove them when the static initializers are gone | 01:23:25 |
jade_ | https://gerrit.lix.systems/c/lix/+/1351 10% knocked off of build times :D | 04:17:46 |
Qyriad | I love you | 04:24:05 |
jade_ | btw | 04:24:06 |
jade_ |  Download image.png | 04:24:09 |
jade_ | in case you are wondering why error.hh is expensive | 04:24:12 |
jade_ | it's fucking boost fmt | 04:24:16 |
jade_ | 419ms of it is boost/format.hpp | 04:24:29 |
jade_ | don't you love when you can just attach a profiler to the bad thing and get 10% improvement in 30 minutes :D thanks so much to tom for splitting util.hh so we could do this | 04:25:27 |
quartz | In reply to @jade_:matrix.org https://gerrit.lix.systems/c/lix/+/1351 10% knocked off of build times :D that's A Lot | 04:26:28 |
jade_ | it's cpu-seconds, mind | 04:26:42 |