diff options
author | Vekhir <vekhir@noreply.codeberg.org> | 2024-01-31 21:54:30 +0000 |
---|---|---|
committer | Vekhir <vekhir@noreply.codeberg.org> | 2024-01-31 21:54:30 +0000 |
commit | 431ef31d58b74e401cf182493bac098c78ae467c (patch) | |
tree | eed25baa131e748b4c137f86db9f11deb33cc170 | |
parent | 3386a05f22ec14ad6383228771966b2f82ae6a58 (diff) | |
download | xmobar-431ef31d58b74e401cf182493bac098c78ae467c.tar.gz xmobar-431ef31d58b74e401cf182493bac098c78ae467c.tar.bz2 |
Enable use of shared libraries
Haskell libraries can be linked statically or dynamically. Either way, all packages must be linked the same way. This means that if all dependencies of `xmobar` are shared libraries, then `xmobar` itself must be built using dynamic linking.
Therefore, to compile the individual `xmobar` executables, add the `-dynamic` flag to signal that they are built with shared libraries.
This flag is put behind an #ifdef to easily configure static vs dynamic linking.
To use shared libraries, define SHARED_LIBRARIES
-rw-r--r-- | src/Xmobar/App/Compile.hs | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/Xmobar/App/Compile.hs b/src/Xmobar/App/Compile.hs index 80dbac7..368c3e6 100644 --- a/src/Xmobar/App/Compile.hs +++ b/src/Xmobar/App/Compile.hs @@ -168,6 +168,9 @@ recompile confDir dataDir execName force verb = liftIO $ do #ifdef RTSOPTS ++ ["-rtsopts", "-with-rtsopts", "-V0"] #endif +#ifdef SHARED_LIBRARIES + ++ ["-dynamic"] +#endif ++ ["-o", bin] runGHC bin = runProc "ghc" (opts bin) runScript script bin = runProc script [bin] |