Skip to content

Commit 772cf77

Browse files
committed
Fix build and test on darwin
Signed-off-by: Evan Lezar <elezar@nvidia.com>
1 parent 812e6a2 commit 772cf77

File tree

3 files changed

+15
-8
lines changed

3 files changed

+15
-8
lines changed

Makefile

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -53,22 +53,26 @@ CLI_VERSION = $(VERSION)
5353
endif
5454
CLI_VERSION_PACKAGE = github.com/NVIDIA/nvidia-container-toolkit/internal/info
5555

56-
GOOS ?= linux
57-
5856
binaries: cmds
5957
ifneq ($(PREFIX),)
6058
cmd-%: COMMAND_BUILD_OPTIONS = -o $(PREFIX)/$(*)
6159
endif
6260
cmds: $(CMD_TARGETS)
61+
62+
ifneq ($(shell uname),Darwin)
63+
EXTLDFLAGS = -Wl,--export-dynamic -Wl,--unresolved-symbols=ignore-in-object-files
64+
else
65+
EXTLDFLAGS = -Wl,-undefined,dynamic_lookup
66+
endif
6367
$(CMD_TARGETS): cmd-%:
64-
GOOS=$(GOOS) go build -ldflags "-extldflags=-Wl,-z,lazy -s -w -X $(CLI_VERSION_PACKAGE).gitCommit=$(GIT_COMMIT) -X $(CLI_VERSION_PACKAGE).version=$(CLI_VERSION)" $(COMMAND_BUILD_OPTIONS) $(MODULE)/cmd/$(*)
68+
go build -ldflags "-s -w '-extldflags=$(EXTLDFLAGS)' -X $(CLI_VERSION_PACKAGE).gitCommit=$(GIT_COMMIT) -X $(CLI_VERSION_PACKAGE).version=$(CLI_VERSION)" $(COMMAND_BUILD_OPTIONS) $(MODULE)/cmd/$(*)
6569

6670
build:
67-
GOOS=$(GOOS) go build ./...
71+
go build ./...
6872

6973
examples: $(EXAMPLE_TARGETS)
7074
$(EXAMPLE_TARGETS): example-%:
71-
GOOS=$(GOOS) go build ./examples/$(*)
75+
go build ./examples/$(*)
7276

7377
all: check test build binary
7478
check: $(CHECK_TARGETS)
@@ -100,7 +104,7 @@ coverage: test
100104
generate:
101105
go generate $(MODULE)/...
102106

103-
$(DOCKER_TARGETS): docker-%:
107+
$(DOCKER_TARGETS): docker-%:
104108
@echo "Running 'make $(*)' in container image $(BUILDIMAGE)"
105109
$(DOCKER) run \
106110
--rm \

internal/cuda/cuda.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,8 @@ import (
2323
)
2424

2525
/*
26-
#cgo LDFLAGS: -Wl,--unresolved-symbols=ignore-in-object-files
26+
#cgo linux LDFLAGS: -Wl,--export-dynamic -Wl,--unresolved-symbols=ignore-in-object-files
27+
#cgo darwin LDFLAGS: -Wl,-undefined,dynamic_lookup
2728
2829
#ifdef _WIN32
2930
#define CUDAAPI __stdcall

internal/dxcore/dxcore.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,9 @@
1717
package dxcore
1818

1919
/*
20-
#cgo LDFLAGS: -Wl,--unresolved-symbols=ignore-in-object-files
20+
#cgo linux LDFLAGS: -Wl,--export-dynamic -Wl,--unresolved-symbols=ignore-in-object-files
21+
#cgo darwin LDFLAGS: -Wl,-undefined,dynamic_lookup
22+
2123
#include <dxcore.h>
2224
*/
2325
import "C"

0 commit comments

Comments
 (0)