mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 02:01:24 +01:00
[SOLARIS] On Solaris, GCC is configured to use Sun's LD. Fix the build to use
the correct flags, and link against libsocket where necessary. Signed-off-by: John Levon <john.levon@sun.com>
This commit is contained in:
1 parent
7ffd47fbf6
commit
d61113c5c7
9 files changed
+25
-17
No files matched your search
@@ -20,6 +20,10 @@ INSTALL_PROG = $(INSTALL) -m0755
|
||||
|
||||
LIB64DIR = lib64
|
||||
|
||||
SOCKET_LIBS =
|
||||
SONAME_LDFLAG = -soname
|
||||
SHLIB_CFLAGS = -shared
|
||||
|
||||
ifneq ($(debug),y)
|
||||
# Optimisation flags are overridable
|
||||
CFLAGS ?= -O2 -fomit-frame-pointer
|
||||
|
||||
@@ -20,6 +20,10 @@ INSTALL_PROG = $(INSTALL) -m0755
|
||||
|
||||
LIB64DIR = lib/amd64
|
||||
|
||||
SOCKET_LIBS = -lsocket
|
||||
SONAME_LDFLAG = -h
|
||||
SHLIB_CFLAGS = -static-libgcc -shared
|
||||
|
||||
ifneq ($(debug),y)
|
||||
# Optimisation flags are overridable
|
||||
CFLAGS ?= -O2 -fno-omit-frame-pointer
|
||||
|
||||
@@ -52,8 +52,8 @@ clean:
|
||||
rm -rf *.a *.so* *.o *.rpm $(LIB) *~ $(DEPS) xen TAGS
|
||||
|
||||
libblktap.a: $(OBJS)
|
||||
$(CC) $(CFLAGS) -Wl,-soname -Wl,$(SONAME) -shared \
|
||||
-L$(XEN_XENSTORE) -l xenstore \
|
||||
$(CC) $(CFLAGS) -Wl,$(SONAME_LDFLAG) -Wl,$(SONAME) $(SHLIB_CFLAGS) \
|
||||
-L$(XEN_XENSTORE) -l xenstore \
|
||||
-o libblktap.so.$(MAJOR).$(MINOR) $^ $(LIBS)
|
||||
ln -sf libblktap.so.$(MAJOR).$(MINOR) libblktap.so.$(MAJOR)
|
||||
ln -sf libblktap.so.$(MAJOR) libblktap.so
|
||||
|
||||
@@ -22,11 +22,11 @@ clean:
|
||||
|
||||
xenconsoled: $(patsubst %.c,%.o,$(wildcard daemon/*.c))
|
||||
$(CC) $(CFLAGS) $^ -o $@ -L$(XEN_LIBXC) -L$(XEN_XENSTORE) \
|
||||
-lxenctrl -lxenstore
|
||||
$(SOCKET_LIBS) -lxenctrl -lxenstore
|
||||
|
||||
xenconsole: $(patsubst %.c,%.o,$(wildcard client/*.c))
|
||||
$(CC) $(CFLAGS) $^ -o $@ -L$(XEN_LIBXC) -L$(XEN_XENSTORE) \
|
||||
-lxenctrl -lxenstore
|
||||
$(SOCKET_LIBS) -lxenctrl -lxenstore
|
||||
|
||||
.PHONY: install
|
||||
install: $(BIN)
|
||||
|
||||
@@ -117,7 +117,7 @@ libxenctrl.so.$(MAJOR): libxenctrl.so.$(MAJOR).$(MINOR)
|
||||
ln -sf $< $@
|
||||
|
||||
libxenctrl.so.$(MAJOR).$(MINOR): $(CTRL_PIC_OBJS)
|
||||
$(CC) $(CFLAGS) $(LDFLAGS) -Wl,-soname -Wl,libxenctrl.so.$(MAJOR) -shared -o $@ $^
|
||||
$(CC) $(CFLAGS) $(LDFLAGS) -Wl,$(SONAME_LDFLAG) -Wl,libxenctrl.so.$(MAJOR) $(SHLIB_CFLAGS) -o $@ $^
|
||||
|
||||
# libxenguest
|
||||
|
||||
@@ -130,7 +130,7 @@ libxenguest.so.$(MAJOR): libxenguest.so.$(MAJOR).$(MINOR)
|
||||
ln -sf $< $@
|
||||
|
||||
libxenguest.so.$(MAJOR).$(MINOR): $(GUEST_PIC_OBJS) libxenctrl.so
|
||||
$(CC) $(CFLAGS) $(LDFLAGS) -Wl,-soname -Wl,libxenguest.so.$(MAJOR) -shared -o $@ $^ -lz -lxenctrl
|
||||
$(CC) $(CFLAGS) $(LDFLAGS) -Wl,$(SONAME_LDFLAG) -Wl,libxenguest.so.$(MAJOR) $(SHLIB_CFLAGS) -o $@ $^ -lz -lxenctrl
|
||||
|
||||
-include $(DEPS)
|
||||
|
||||
@@ -55,7 +55,7 @@ libxutil.so.$(MAJOR): libxutil.so.$(MAJOR).$(MINOR)
|
||||
ln -sf $^ $@
|
||||
|
||||
libxutil.so.$(MAJOR).$(MINOR): $(PIC_OBJS)
|
||||
$(CC) $(CFLAGS) -Wl,-soname -Wl,libxutil.so.$(MAJOR) -shared -o $@ $^
|
||||
$(CC) $(CFLAGS) -Wl,$(SONAME_LDFLAG) -Wl,libxutil.so.$(MAJOR) $(SHLIB_CFLAGS) -o $@ $^
|
||||
|
||||
libxutil.a: $(LIB_OBJS)
|
||||
$(AR) rc $@ $^
|
||||
|
||||
@@ -30,7 +30,7 @@ LIB=src/libxenstat.a
|
||||
SHLIB=src/libxenstat.so.$(MAJOR).$(MINOR)
|
||||
SHLIB_LINKS=src/libxenstat.so.$(MAJOR) src/libxenstat.so
|
||||
OBJECTS=src/xenstat.o
|
||||
SONAME_FLAGS=-Wl,-soname -Wl,libxenstat.so.$(MAJOR)
|
||||
SONAME_FLAGS=-Wl,$(SONAME_LDFLAG) -Wl,libxenstat.so.$(MAJOR)
|
||||
|
||||
WARN_FLAGS=-Wall -Werror
|
||||
|
||||
@@ -45,7 +45,7 @@ $(LIB): $(OBJECTS)
|
||||
$(RANLIB) $@
|
||||
|
||||
$(SHLIB): $(OBJECTS)
|
||||
$(CC) $(CFLAGS) $(LDFLAGS) $(SONAME_FLAGS) -shared -o $@ $(OBJECTS) \
|
||||
$(CC) $(CFLAGS) $(LDFLAGS) $(SONAME_FLAGS) $(SHLIB_CFLAGS) -o $@ $(OBJECTS) \
|
||||
-lxenstore -lxenctrl
|
||||
|
||||
src/xenstat.o: src/xenstat.c src/xenstat.h
|
||||
@@ -97,7 +97,7 @@ $(PYSRC) $(PYMOD): bindings/swig/xenstat.i
|
||||
swig -python $(SWIG_FLAGS) -outdir $(@D) -o $(PYSRC) $<
|
||||
|
||||
$(PYLIB): $(PYSRC)
|
||||
$(CC) $(CFLAGS) $(LDFLAGS) $(PYTHON_FLAGS) -shared -lxenstat -o $@ $<
|
||||
$(CC) $(CFLAGS) $(LDFLAGS) $(PYTHON_FLAGS) $(SHLIB_CFLAGS) -lxenstat -o $@ $<
|
||||
|
||||
python-bindings: $(PYLIB) $(PYMOD)
|
||||
|
||||
@@ -118,7 +118,7 @@ $(PERLSRC) $(PERLMOD): bindings/swig/xenstat.i
|
||||
swig -perl $(SWIG_FLAGS) -outdir $(@D) -o $(PERLSRC) $<
|
||||
|
||||
$(PERLLIB): $(PERLSRC)
|
||||
$(CC) $(CFLAGS) $(LDFLAGS) $(PERL_FLAGS) -shared -lxenstat -o $@ $<
|
||||
$(CC) $(CFLAGS) $(LDFLAGS) $(PERL_FLAGS) $(SHLIB_CFLAGS) -lxenstat -o $@ $<
|
||||
|
||||
.PHONY: perl-bindings
|
||||
perl-bindings: $(PERLLIB) $(PERLMOD)
|
||||
|
||||
@@ -25,7 +25,7 @@ sbindir=$(prefix)/sbin
|
||||
|
||||
CFLAGS += -DGCC_PRINTF -Wall -Werror -I$(XEN_LIBXENSTAT)
|
||||
LDFLAGS += -L$(XEN_LIBXENSTAT)
|
||||
LDLIBS += -lxenstat -lncurses
|
||||
LDLIBS += -lxenstat -lncurses $(SOCKET_LIBS)
|
||||
|
||||
.PHONY: all
|
||||
all: xentop
|
||||
|
||||
@@ -41,19 +41,19 @@ test_interleaved_transactions: test_interleaved_transactions.o
|
||||
testcode: xs_test xenstored_test xs_random
|
||||
|
||||
xenstored: $(XENSTORED_OBJS)
|
||||
$(LINK.o) $^ $(LOADLIBES) $(LDLIBS) -lxenctrl -o $@
|
||||
$(LINK.o) $^ $(LOADLIBES) $(LDLIBS) -lxenctrl $(SOCKET_LIBS) -o $@
|
||||
|
||||
$(CLIENTS): xenstore-%: xenstore_%.o libxenstore.so
|
||||
$(LINK.o) $< $(LOADLIBES) $(LDLIBS) -L. -lxenstore -o $@
|
||||
$(LINK.o) $< $(LOADLIBES) $(LDLIBS) -L. -lxenstore $(SOCKET_LIBS) -o $@
|
||||
|
||||
$(CLIENTS_OBJS): xenstore_%.o: xenstore_client.c
|
||||
$(COMPILE.c) -DCLIENT_$(*F) -o $@ $<
|
||||
|
||||
xenstore-control: xenstore_control.o libxenstore.so
|
||||
$(LINK.o) $< $(LOADLIBES) $(LDLIBS) -L. -lxenstore -o $@
|
||||
$(LINK.o) $< $(LOADLIBES) $(LDLIBS) -L. -lxenstore $(SOCKET_LIBS) -o $@
|
||||
|
||||
xenstore-ls: xsls.o libxenstore.so
|
||||
$(LINK.o) $< $(LOADLIBES) $(LDLIBS) -L. -lxenstore -o $@
|
||||
$(LINK.o) $< $(LOADLIBES) $(LDLIBS) -L. -lxenstore $(SOCKET_LIBS) -o $@
|
||||
|
||||
xenstored_test: xenstored_core_test.o xenstored_watch_test.o xenstored_domain_test.o xenstored_transaction_test.o xs_lib.o talloc_test.o fake_libxc.o utils.o tdb.o
|
||||
$(LINK.o) $^ $(LOADLIBES) $(LDLIBS) -o $@
|
||||
@@ -90,7 +90,7 @@ libxenstore.so.$(MAJOR): libxenstore.so.$(MAJOR).$(MINOR)
|
||||
ln -sf $< $@
|
||||
|
||||
libxenstore.so.$(MAJOR).$(MINOR): xs.opic xs_lib.opic
|
||||
$(CC) $(CFLAGS) $(LDFLAGS) -Wl,-soname -Wl,libxenstore.so.$(MAJOR) -shared -o $@ $^ -lpthread
|
||||
$(CC) $(CFLAGS) $(LDFLAGS) -Wl,$(SONAME_LDFLAG) -Wl,libxenstore.so.$(MAJOR) $(SHLIB_CFLAGS) -o $@ $^ -lpthread
|
||||
|
||||
libxenstore.a: xs.o xs_lib.o
|
||||
$(AR) rcs libxenstore.a $^
|
||||
|
||||