|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH RFC 41/59] libxl.go: Link statically rather than dynamically
From: George Dunlap <george.dunlap@xxxxxxxxxx>
Link statically rather than dynamically, because Go prefers that.
This also gets rid of the need for schedbench-report, so disable that
from the build (although keep the rule and the dummy file around just
in case.
Also update README.md.
Signed-off-by: George Dunlap <george.dunlap@xxxxxxxxxx>
---
Makefile | 11 +++++++----
libxl.go | 10 +++++++++-
2 files changed, 16 insertions(+), 5 deletions(-)
diff --git a/Makefile b/Makefile
index 0265dc8..699cc53 100644
--- a/Makefile
+++ b/Makefile
@@ -1,4 +1,4 @@
-BIN = schedbench schedbench-report
+BIN = schedbench
BINALL = $(BIN)
.PHONY: all
@@ -10,12 +10,15 @@ CGO_CFLAGS =
-I/build/hg/xen.git/dist/install/usr/local/include
# FIXME
XENLIB_PATH ?= /build/hg/xen.git/dist/install/usr/local/lib/
-CGO_LDFLAGS = -L$(XENLIB_PATH) -Wl,-rpath-link=$(XENLIB_PATH)
+CGO_LDFLAGS = -L$(XENLIB_PATH) -Wl,-rpath-link=$(XENLIB_PATH)
schedbench: main.go processworker.go xenworker.go benchmark.go run.go libxl.go
htmlreport.go plan.go
- CGO_LDFLAGS="$(CGO_LDFLAGS)" CGO_CFLAGS="$(CGO_CFLAGS)" go build -o $@
$^
+ CGO_LDFLAGS="$(CGO_LDFLAGS)" CGO_CFLAGS="$(CGO_CFLAGS)" go build
-ldflags '-linkmode external -extldflags "-static"' -o $@ $^
-# FIXME: Do with dlopen instead
+# If we use a statically linked binary we don't need this; the same
+# binary can be used on any system. Keep this version (without any
+# run support) support) around for now in case we want to go back to
+# it.
schedbench-report: main.go benchmark.go stubs.go htmlreport.go plan.go
go build -o $@ $^
diff --git a/libxl.go b/libxl.go
index 6621974..27e7766 100644
--- a/libxl.go
+++ b/libxl.go
@@ -19,12 +19,20 @@
package main
/*
-#cgo LDFLAGS: -lyajl -lxenlight
+#cgo LDFLAGS: -lxenlight -lyajl_s -lxengnttab -lxenstore -lxenguest
-lxentoollog -lxenevtchn -lxenctrl -lblktapctl -lxenforeignmemory -lxencall -lz
-luuid -lutil
#include <libxl.h>
#include <stdlib.h>
*/
import "C"
+/*
+ * Other flags that may be needed at some point:
+ * -lnl-route-3 -lnl-3
+ *
+ * To get back to simple dynamic linking:
+#cgo LDFLAGS: -lxenlight -lyajl
+*/
+
import (
"unsafe"
"fmt"
--
2.7.4
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |