forked from lix-project/lix
Fix library ordering in Makefiles
The existing ordering linked `libutil` before `libstore`, which causes link failures when building statically. This is due to `libstore` using functions from `libutil`, and the fact that symbol resolution works "forward" - i.e. if you pass `-lfoo -lbar -lbaz`, any symbols that `libbar` uses from `libbaz` will be resolved, but symbols from `libfoo` will not since it comes first in the command line. All this to say: this commit reorders the libraries which fixes the link errors.
This commit is contained in:
parent
040acdcee2
commit
3a918014b2
|
@ -4,6 +4,6 @@ build-remote_DIR := $(d)
|
||||||
|
|
||||||
build-remote_INSTALL_DIR := $(libexecdir)/nix
|
build-remote_INSTALL_DIR := $(libexecdir)/nix
|
||||||
|
|
||||||
build-remote_LIBS = libmain libutil libformat libstore
|
build-remote_LIBS = libmain libformat libstore libutil
|
||||||
|
|
||||||
build-remote_SOURCES := $(d)/build-remote.cc
|
build-remote_SOURCES := $(d)/build-remote.cc
|
||||||
|
|
|
@ -2,6 +2,6 @@ programs += nix-channel
|
||||||
|
|
||||||
nix-channel_DIR := $(d)
|
nix-channel_DIR := $(d)
|
||||||
|
|
||||||
nix-channel_LIBS = libmain libutil libformat libstore
|
nix-channel_LIBS = libmain libformat libstore libutil
|
||||||
|
|
||||||
nix-channel_SOURCES := $(d)/nix-channel.cc
|
nix-channel_SOURCES := $(d)/nix-channel.cc
|
||||||
|
|
|
@ -2,6 +2,6 @@ programs += nix-copy-closure
|
||||||
|
|
||||||
nix-copy-closure_DIR := $(d)
|
nix-copy-closure_DIR := $(d)
|
||||||
|
|
||||||
nix-copy-closure_LIBS = libmain libutil libformat libstore
|
nix-copy-closure_LIBS = libmain libformat libstore libutil
|
||||||
|
|
||||||
nix-copy-closure_SOURCES := $(d)/nix-copy-closure.cc
|
nix-copy-closure_SOURCES := $(d)/nix-copy-closure.cc
|
||||||
|
|
Loading…
Reference in a new issue