From 26539a087f7e0ff95c82e6fcd16f0017f4243e7e Mon Sep 17 00:00:00 2001 From: Brian McKenna Date: Fri, 31 Jan 2025 22:52:57 +1100 Subject: [PATCH] Add mbig-obj flag to allow cross-compiling libexpr to mingw32 --- nix-meson-build-support/big-objs/meson.build | 4 ++++ src/libexpr/meson.build | 1 + 2 files changed, 5 insertions(+) create mode 100644 nix-meson-build-support/big-objs/meson.build diff --git a/nix-meson-build-support/big-objs/meson.build b/nix-meson-build-support/big-objs/meson.build new file mode 100644 index 000000000..f5abd8bd8 --- /dev/null +++ b/nix-meson-build-support/big-objs/meson.build @@ -0,0 +1,4 @@ +# libexpr's primops creates a large object +# Without the following flag, we'll get errors when cross-compiling to mingw32: +# Fatal error: can't write 66 bytes to section .text of src/libexpr/libnixexpr.dll.p/primops.cc.obj: 'file too big' +add_project_arguments([ '-Wa,-mbig-obj' ], language: 'cpp') diff --git a/src/libexpr/meson.build b/src/libexpr/meson.build index b33aebc86..987300d58 100644 --- a/src/libexpr/meson.build +++ b/src/libexpr/meson.build @@ -24,6 +24,7 @@ deps_public_maybe_subproject = [ dependency('nix-fetchers'), ] subdir('nix-meson-build-support/subprojects') +subdir('nix-meson-build-support/big-objs') boost = dependency( 'boost',