guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

04/12: build: haskell-build-system: Build static executables by default.


From: guix-commits
Subject: 04/12: build: haskell-build-system: Build static executables by default.
Date: Sun, 29 Jan 2023 13:06:04 -0500 (EST)

lbraun pushed a commit to branch wip-haskell
in repository guix.

commit 01b471d09e1c75ebfc7dcccde4d16870df95b86c
Author: Lars-Dominik Braun <lars@6xq.net>
AuthorDate: Sun Jan 29 18:50:10 2023 +0100

    build: haskell-build-system: Build static executables by default.
    
    This is the only way to get reasonably small binaries that don’t pull
    in a ton of ghc-* packages.
    
    * guix/build/haskell-build-system.scm (configure): Explicitly
    add --enable-static and --disable-executable-dynamic, as well as
    -split-sections to configure flags.
---
 guix/build/haskell-build-system.scm | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/guix/build/haskell-build-system.scm 
b/guix/build/haskell-build-system.scm
index d77f55da19..0e94cf59a5 100644
--- a/guix/build/haskell-build-system.scm
+++ b/guix/build/haskell-build-system.scm
@@ -99,10 +99,14 @@ and parameters ~s~%"
                    ,@(if tests?
                          '("--enable-tests")
                          '())
-                   ;; Build and link with shared libraries
+                   ;; Build static and shared libraries.
                    "--enable-shared"
-                   "--enable-executable-dynamic"
+                   "--enable-static"
+                   ;; Link executables statically by default.
+                   "--disable-executable-dynamic"
                    "--ghc-option=-fPIC"
+                   ;; Ensure static libraries can be used with 
-Wl,--gc-sections for size.
+                   "--ghc-option=-split-sections"
                    ,@configure-flags)))
     ;; Cabal errors if GHC_PACKAGE_PATH is set during 'configure', so unset
     ;; and restore it.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]