Skip to content

Commit

Permalink
Merge pull request #704 from ysangkok/freebsd-support
Browse files Browse the repository at this point in the history
FreeBSD support with knowledge about Linux emulation
  • Loading branch information
edolstra committed Nov 24, 2015
2 parents 6c10bd7 + 8a74a12 commit cad40ad
Show file tree
Hide file tree
Showing 6 changed files with 16 additions and 3 deletions.
2 changes: 2 additions & 0 deletions Makefile.config.in
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,12 @@ CFLAGS = @CFLAGS@
CXX = @CXX@
CXXFLAGS = @CXXFLAGS@
HAVE_SODIUM = @HAVE_SODIUM@
LIBCURL_LIBS = @LIBCURL_LIBS@
OPENSSL_LIBS = @OPENSSL_LIBS@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_VERSION = @PACKAGE_VERSION@
SODIUM_LIBS = @SODIUM_LIBS@
SQLITE3_LIBS = @SQLITE3_LIBS@
bash = @bash@
bindir = @bindir@
bsddiff_compat_include = @bsddiff_compat_include@
Expand Down
4 changes: 3 additions & 1 deletion mk/lib.mk
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,9 @@ ifeq ($(BUILD_SHARED_LIBS), 1)
endif
ifneq ($(OS), Darwin)
ifneq ($(OS), SunOS)
GLOBAL_LDFLAGS += -Wl,--no-copy-dt-needed-entries
ifneq ($(OS), FreeBSD)
GLOBAL_LDFLAGS += -Wl,--no-copy-dt-needed-entries
endif
endif
endif
SET_RPATH_TO_LIBS ?= 1
Expand Down
5 changes: 4 additions & 1 deletion src/libexpr/local.mk
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,10 @@ libexpr_CXXFLAGS := -Wno-deprecated-register

libexpr_LIBS = libutil libstore libformat

libexpr_LDFLAGS = -ldl
libexpr_LDFLAGS =
ifneq ($(OS), FreeBSD)
libexpr_LDFLAGS += -ldl
endif

# The dependency on libgc must be propagated (i.e. meaning that
# programs/libraries that use libexpr must explicitly pass -lgc),
Expand Down
2 changes: 2 additions & 0 deletions src/libstore/build.cc
Original file line number Diff line number Diff line change
Expand Up @@ -1276,6 +1276,8 @@ static bool canBuildLocally(const BasicDerivation & drv)
|| (drv.platform == "i686-linux" && settings.thisSystem == "x86_64-linux")
|| (drv.platform == "armv6l-linux" && settings.thisSystem == "armv7l-linux")
#endif
|| (platform == "i686-linux" && settings.thisSystem == "x86_64-freebsd")
|| (platform == "i686-linux" && settings.thisSystem == "i686-freebsd")
;
}

Expand Down
2 changes: 1 addition & 1 deletion src/libstore/local.mk
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ libstore_SOURCES := $(wildcard $(d)/*.cc)

libstore_LIBS = libutil libformat

libstore_LDFLAGS = -lsqlite3 -lbz2 -lcurl
libstore_LDFLAGS = $(SQLITE3_LIBS) -lbz2 $(LIBCURL_LIBS)

ifeq ($(OS), SunOS)
libstore_LDFLAGS += -lsocket
Expand Down
4 changes: 4 additions & 0 deletions src/nix-daemon/nix-daemon.cc
Original file line number Diff line number Diff line change
Expand Up @@ -692,6 +692,10 @@ static PeerInfo getPeerInfo(int remote)

#elif defined(LOCAL_PEERCRED)

#if !defined(SOL_LOCAL)
#define SOL_LOCAL 0
#endif

xucred cred;
socklen_t credLen = sizeof(cred);
if (getsockopt(remote, SOL_LOCAL, LOCAL_PEERCRED, &cred, &credLen) == -1)
Expand Down

0 comments on commit cad40ad

Please sign in to comment.