[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v3] tools: honour --libdir when it is passed to ./configure
On Sat, 2012-06-23 at 22:12 +0100, Matt Wilson wrote: > Currently shared libraries are automatically installed into /usr/lib > or /usr/lib64, depending on the supplied --prefix value and > $(XEN_TARGET_ARCH). Some systems, like recent Debian and Ubuntu releases, > do not use /usr/lib64, but instead /usr/lib/x86_64-linux-gnu. > > With this change, packagers can supply the desired location for shared > libraries on the ./configure command line. Packagers need to note that > the default behaviour on 64-bit Linux systems will be to install shared > libraries in /usr/lib, not /usr/lib64, unless a --libdir value is provided > to ./configure. > > Additionally, the libfsimage plugins are now loaded explicitly from > $LIBDIR/fs, removing platform-based decision trees in code. > > Signed-off-by: Matt Wilson <msw@xxxxxxxxxx> Acked-by: Ian Campbell <ian.campbell@xxxxxxxxxx> Thanks Matt. Ian. > > Changes since v2: > * Drop the #ifndef check for FSIMAGE_FSDIR, let the normal compiler > error provide information that something is wrong. > * Don't include config/Tools.mk from the top level Config.mk. > * Just assume that libraries specified via EXTRA_PREFIX live in > $(EXTRA_LIB)/lib. EXTRA_PREFIX should probably just go away one day. > > diff -r 32034d1914a6 -r 177d5f1e353f Config.mk > --- a/Config.mk Thu Jun 07 19:46:57 2012 +0100 > +++ b/Config.mk Wed Jun 20 00:40:15 2012 +0000 > @@ -67,7 +67,7 @@ endef > > ifneq ($(EXTRA_PREFIX),) > EXTRA_INCLUDES += $(EXTRA_PREFIX)/include > -EXTRA_LIB += $(EXTRA_PREFIX)/$(LIBLEAFDIR) > +EXTRA_LIB += $(EXTRA_PREFIX)/lib > endif > > PYTHON ?= python > diff -r 32034d1914a6 -r 177d5f1e353f config/NetBSD.mk > --- a/config/NetBSD.mk Thu Jun 07 19:46:57 2012 +0100 > +++ b/config/NetBSD.mk Wed Jun 20 00:40:15 2012 +0000 > @@ -1,7 +1,6 @@ > include $(XEN_ROOT)/config/StdGNU.mk > > # Override settings for this OS > -LIBLEAFDIR_x86_64 = lib > LIBEXEC = $(PREFIX)/libexec > PRIVATE_BINDIR = $(BINDIR) > > diff -r 32034d1914a6 -r 177d5f1e353f config/StdGNU.mk > --- a/config/StdGNU.mk Thu Jun 07 19:46:57 2012 +0100 > +++ b/config/StdGNU.mk Wed Jun 20 00:40:15 2012 +0000 > @@ -32,13 +32,7 @@ INSTALL_PROG = $(INSTALL) -m0755 -p > PREFIX ?= /usr > BINDIR = $(PREFIX)/bin > INCLUDEDIR = $(PREFIX)/include > -LIBLEAFDIR = lib > -LIBLEAFDIR_x86_32 = lib > -LIBLEAFDIR_x86_64 ?= lib64 > -LIBDIR = $(PREFIX)/$(LIBLEAFDIR) > -LIBDIR_x86_32 = $(PREFIX)/$(LIBLEAFDIR_x86_32) > -LIBDIR_x86_64 = $(PREFIX)/$(LIBLEAFDIR_x86_64) > -LIBEXEC = $(LIBDIR_x86_32)/xen/bin > +LIBEXEC = $(PREFIX)/lib/xen/bin > SHAREDIR = $(PREFIX)/share > MANDIR = $(SHAREDIR)/man > MAN1DIR = $(MANDIR)/man1 > diff -r 32034d1914a6 -r 177d5f1e353f config/SunOS.mk > --- a/config/SunOS.mk Thu Jun 07 19:46:57 2012 +0100 > +++ b/config/SunOS.mk Wed Jun 20 00:40:15 2012 +0000 > @@ -22,10 +22,6 @@ INSTALL_PROG = $(INSTALL) -m0755 -p > PREFIX ?= /usr > BINDIR = $(PREFIX)/bin > INCLUDEDIR = $(PREFIX)/include > -LIBLEAFDIR = lib > -LIBLEAFDIR_x86_64 = lib/amd64 > -LIBDIR = $(PREFIX)/$(LIBLEAFDIR) > -LIBDIR_x86_64 = $(PREFIX)/$(LIBLEAFDIR_x86_64) > MANDIR = $(PREFIX)/share/man > MAN1DIR = $(MANDIR)/man1 > MAN8DIR = $(MANDIR)/man8 > diff -r 32034d1914a6 -r 177d5f1e353f config/Tools.mk.in > --- a/config/Tools.mk.in Thu Jun 07 19:46:57 2012 +0100 > +++ b/config/Tools.mk.in Wed Jun 20 00:40:15 2012 +0000 > @@ -1,6 +1,7 @@ > # Prefix and install folder > PREFIX := @prefix@ > -LIBLEAFDIR_x86_64 := @LIB_PATH@ > +exec_prefix := @exec_prefix@ > +LIBDIR := @libdir@ > > # A debug build of tools? > debug := @debug@ > diff -r 32034d1914a6 -r 177d5f1e353f config/x86_64.mk > --- a/config/x86_64.mk Thu Jun 07 19:46:57 2012 +0100 > +++ b/config/x86_64.mk Wed Jun 20 00:40:15 2012 +0000 > @@ -10,9 +10,6 @@ CONFIG_IOEMU := y > > CFLAGS += -m64 > > -LIBLEAFDIR = $(LIBLEAFDIR_x86_64) > -LIBDIR = $(LIBDIR_x86_64) > - > SunOS_LIBDIR = $(SunOS_LIBDIR_x86_64) > > # Use only if calling $(LD) directly. > diff -r 32034d1914a6 -r 177d5f1e353f tools/libfsimage/Rules.mk > --- a/tools/libfsimage/Rules.mk Thu Jun 07 19:46:57 2012 +0100 > +++ b/tools/libfsimage/Rules.mk Wed Jun 20 00:40:15 2012 +0000 > @@ -1,17 +1,12 @@ > include $(XEN_ROOT)/tools/Rules.mk > > -CFLAGS += -Wno-unknown-pragmas -I$(XEN_ROOT)/tools/libfsimage/common/ > +CFLAGS += -Wno-unknown-pragmas -I$(XEN_ROOT)/tools/libfsimage/common/ > -DFSIMAGE_FSDIR=\"$(FSDIR)\" > CFLAGS += -Werror -D_GNU_SOURCE > LDFLAGS += -L../common/ > > PIC_OBJS := $(patsubst %.c,%.opic,$(LIB_SRCS-y)) > > -FSDIR-$(CONFIG_Linux) = $(LIBDIR)/fs/$(FS) > -FSDIR-$(CONFIG_SunOS)-x86_64 = $(PREFIX)/lib/fs/$(FS)/64 > -FSDIR-$(CONFIG_SunOS)-x86_32 = $(PREFIX)/lib/fs/$(FS)/ > -FSDIR-$(CONFIG_SunOS) = $(FSDIR-$(CONFIG_SunOS)-$(XEN_TARGET_ARCH)) > -FSDIR-$(CONFIG_NetBSD) = $(LIBDIR)/fs/$(FS) > -FSDIR = $(FSDIR-y) > +FSDIR = $(LIBDIR)/fs > > FSLIB = fsimage.so > > @@ -20,8 +15,8 @@ fs-all: $(FSLIB) > > .PHONY: fs-install > fs-install: fs-all > - $(INSTALL_DIR) $(DESTDIR)$(FSDIR) > - $(INSTALL_PROG) $(FSLIB) $(DESTDIR)$(FSDIR) > + $(INSTALL_DIR) $(DESTDIR)$(FSDIR)/$(FS) > + $(INSTALL_PROG) $(FSLIB) $(DESTDIR)$(FSDIR)/$(FS) > > $(FSLIB): $(PIC_OBJS) > $(CC) $(LDFLAGS) $(SHLIB_LDFLAGS) -o $@ $^ -lfsimage $(FS_LIBDEPS) > $(APPEND_LDFLAGS) > diff -r 32034d1914a6 -r 177d5f1e353f tools/libfsimage/common/Makefile > --- a/tools/libfsimage/common/Makefile Thu Jun 07 19:46:57 2012 +0100 > +++ b/tools/libfsimage/common/Makefile Wed Jun 20 00:40:15 2012 +0000 > @@ -1,5 +1,5 @@ > XEN_ROOT = $(CURDIR)/../../.. > -include $(XEN_ROOT)/tools/Rules.mk > +include $(XEN_ROOT)/tools/libfsimage/Rules.mk > > MAJOR = 1.0 > MINOR = 0 > diff -r 32034d1914a6 -r 177d5f1e353f tools/libfsimage/common/fsimage_plugin.c > --- a/tools/libfsimage/common/fsimage_plugin.c Thu Jun 07 19:46:57 > 2012 +0100 > +++ b/tools/libfsimage/common/fsimage_plugin.c Wed Jun 20 00:40:15 > 2012 +0000 > @@ -122,7 +122,6 @@ fail: > static int load_plugins(void) > { > const char *fsdir = getenv("FSIMAGE_FSDIR"); > - const char *isadir = ""; > struct dirent *dp = NULL; > struct dirent *dpp; > DIR *dir = NULL; > @@ -131,26 +130,8 @@ static int load_plugins(void) > int err; > int ret = -1; > > -#if defined(FSIMAGE_FSDIR) > if (fsdir == NULL) > fsdir = FSIMAGE_FSDIR; > -#elif defined(__sun__) > - if (fsdir == NULL) > - fsdir = "/usr/lib/fs"; > - > - if (sizeof(void *) == 8) > - isadir = "64/"; > -#elif defined(__ia64__) > - if (fsdir == NULL) > - fsdir = "/usr/lib/fs"; > -#else > - if (fsdir == NULL) { > - if (sizeof(void *) == 8) > - fsdir = "/usr/lib64/fs"; > - else > - fsdir = "/usr/lib/fs"; > - } > -#endif > > if ((name_max = pathconf(fsdir, _PC_NAME_MAX)) == -1) > goto fail; > @@ -172,8 +153,8 @@ static int load_plugins(void) > if (strcmp(dpp->d_name, "..") == 0) > continue; > > - (void) snprintf(tmp, name_max, "%s/%s/%sfsimage.so", fsdir, > - dpp->d_name, isadir); > + (void) snprintf(tmp, name_max, "%s/%s/fsimage.so", fsdir, > + dpp->d_name); > > if (init_plugin(tmp) != 0) > goto fail; _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |