From mboxrd@z Thu Jan 1 00:00:00 1970 From: Roger Pau Monne Subject: [PATCH 1 of 2 v2] tools/build: create two new variables called APPEND_ and PREPEND_ to add compile flags at the beginning or at the end of the search path Date: Tue, 18 Oct 2011 11:29:57 +0200 Message-ID: <8e4ffea9c9d0e41c0887.1318930197@loki> References: Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: xen-devel@lists.xensource.com Cc: Ian.Jackson@eu.citrix.com List-Id: xen-devel@lists.xenproject.org # HG changeset patch # User Roger Pau Monne # Date 1318929988 -7200 # Node ID 8e4ffea9c9d0e41c0887b476aa34f305cf241b55 # Parent f3e94220364b30e49c3324100622a0b241880123 tools/build: create two new variables called APPEND_ and PREPEND_ to add compile flags at the beginning or at the end of the search path. Added a new semantic for user defined compile flags, here is the list of possible options: PREPEND_LIB: add libraries to the search path before xen (before xen installation folders). PREPEND_INCLUDES: add headers to the search path before xen (before xen installation folders). APPEND_LIB: add libraries to the search path at the end (after all xen installation folders have been added). APPEND_INCLUDES: add libraries to the search path at the end (after all xen installation folders have been added). EXTRA_INCLUDES and EXTRA_LIB can still be used, and they will have the same effect as PREPEND_INCLUDES and PREPEND_LIB. Signed-off-by: Roger Pau Monne diff -r f3e94220364b -r 8e4ffea9c9d0 Config.mk --- a/Config.mk Mon Oct 17 16:23:54 2011 +0200 +++ b/Config.mk Tue Oct 18 11:26:28 2011 +0200 @@ -171,6 +171,10 @@ CFLAGS-$(clang) += -Wno-parentheses -Wno LDFLAGS += $(foreach i, $(EXTRA_LIB), -L$(i)) CFLAGS += $(foreach i, $(EXTRA_INCLUDES), -I$(i)) +LDFLAGS += $(foreach i, $(PREPEND_LIB), -L$(i)) +CFLAGS += $(foreach i, $(PREPEND_INCLUDES), -I$(i)) +APPEND_LDFLAGS += $(foreach i, $(APPEND_LIB), -L$(i)) +APPEND_CFLAGS += $(foreach i, $(APPEND_INCLUDES), -I$(i)) EMBEDDED_EXTRA_CFLAGS := -nopie -fno-stack-protector -fno-stack-protector-all EMBEDDED_EXTRA_CFLAGS += -fno-exceptions diff -r f3e94220364b -r 8e4ffea9c9d0 tools/Rules.mk --- a/tools/Rules.mk Mon Oct 17 16:23:54 2011 +0200 +++ b/tools/Rules.mk Tue Oct 18 11:26:28 2011 +0200 @@ -86,18 +86,18 @@ INSTALL_PYTHON_PROG = \ $(XEN_ROOT)/tools/python/install-wrap "$(PYTHON_PATH)" $(INSTALL_PROG) %.opic: %.c - $(CC) $(CPPFLAGS) -DPIC $(CFLAGS) $(CFLAGS_$*.opic) -fPIC -c -o $@ $< + $(CC) $(CPPFLAGS) -DPIC $(CFLAGS) $(CFLAGS_$*.opic) -fPIC -c -o $@ $< $(APPEND_CFLAGS) %.o: %.c - $(CC) $(CPPFLAGS) $(CFLAGS) $(CFLAGS_$*.o) -c -o $@ $< + $(CC) $(CPPFLAGS) $(CFLAGS) $(CFLAGS_$*.o) -c -o $@ $< $(APPEND_CFLAGS) %.o: %.cc - $(CC) $(CPPFLAGS) $(CXXFLAGS) $(CXXFLAGS_$*.o) -c -o $@ $< + $(CC) $(CPPFLAGS) $(CXXFLAGS) $(CXXFLAGS_$*.o) -c -o $@ $< $(APPEND_CFLAGS) %.o: %.S - $(CC) $(CFLAGS) $(CFLAGS_$*.o) -c $< -o $@ + $(CC) $(CFLAGS) $(CFLAGS_$*.o) -c $< -o $@ $(APPEND_CFLAGS) %.opic: %.S - $(CC) $(CPPFLAGS) -DPIC $(CFLAGS) $(CFLAGS.opic) -fPIC -c -o $@ $< + $(CC) $(CPPFLAGS) -DPIC $(CFLAGS) $(CFLAGS.opic) -fPIC -c -o $@ $< $(APPEND_CFLAGS) subdirs-all subdirs-clean subdirs-install subdirs-distclean: .phony @set -e; for subdir in $(SUBDIRS) $(SUBDIRS-y); do \ diff -r f3e94220364b -r 8e4ffea9c9d0 tools/console/Makefile --- a/tools/console/Makefile Mon Oct 17 16:23:54 2011 +0200 +++ b/tools/console/Makefile Tue Oct 18 11:26:28 2011 +0200 @@ -23,10 +23,10 @@ clean: $(RM) client/*.o daemon/*.o xenconsoled: $(patsubst %.c,%.o,$(wildcard daemon/*.c)) - $(CC) $(LDFLAGS) $^ -o $@ $(LDLIBS) $(LDLIBS_xenconsoled) + $(CC) $(LDFLAGS) $^ -o $@ $(LDLIBS) $(LDLIBS_xenconsoled) $(APPEND_LDFLAGS) xenconsole: $(patsubst %.c,%.o,$(wildcard client/*.c)) - $(CC) $(LDFLAGS) $^ -o $@ $(LDLIBS) $(LDLIBS_xenconsole) + $(CC) $(LDFLAGS) $^ -o $@ $(LDLIBS) $(LDLIBS_xenconsole) $(APPEND_LDFLAGS) .PHONY: install install: $(BIN) diff -r f3e94220364b -r 8e4ffea9c9d0 tools/libfsimage/Rules.mk --- a/tools/libfsimage/Rules.mk Mon Oct 17 16:23:54 2011 +0200 +++ b/tools/libfsimage/Rules.mk Tue Oct 18 11:26:28 2011 +0200 @@ -24,7 +24,7 @@ fs-install: fs-all $(INSTALL_PROG) $(FSLIB) $(DESTDIR)$(FSDIR) $(FSLIB): $(PIC_OBJS) - $(CC) $(LDFLAGS) $(SHLIB_LDFLAGS) -o $@ $^ -lfsimage $(FS_LIBDEPS) + $(CC) $(LDFLAGS) $(SHLIB_LDFLAGS) -o $@ $^ -lfsimage $(FS_LIBDEPS) $(APPEND_LDFLAGS) clean distclean: rm -f $(PIC_OBJS) $(FSLIB) $(DEPS) diff -r f3e94220364b -r 8e4ffea9c9d0 tools/libvchan/Makefile --- a/tools/libvchan/Makefile Mon Oct 17 16:23:54 2011 +0200 +++ b/tools/libvchan/Makefile Tue Oct 18 11:26:28 2011 +0200 @@ -29,16 +29,16 @@ libxenvchan.so.$(MAJOR): libxenvchan.so. ln -sf $< $@ libxenvchan.so.$(MAJOR).$(MINOR): $(LIBVCHAN_PIC_OBJS) - $(CC) $(LDFLAGS) -Wl,$(SONAME_LDFLAG) -Wl,libxenvchan.so.$(MAJOR) $(SHLIB_LDFLAGS) -o $@ $^ $(LIBVCHAN_LIBS) + $(CC) $(LDFLAGS) -Wl,$(SONAME_LDFLAG) -Wl,libxenvchan.so.$(MAJOR) $(SHLIB_LDFLAGS) -o $@ $^ $(LIBVCHAN_LIBS) $(APPEND_LDFLAGS) libxenvchan.a: $(LIBVCHAN_OBJS) $(AR) rcs libxenvchan.a $^ vchan-node1: $(NODE_OBJS) libxenvchan.so - $(CC) $(LDFLAGS) -o $@ $(NODE_OBJS) $(LDLIBS_libxenvchan) + $(CC) $(LDFLAGS) -o $@ $(NODE_OBJS) $(LDLIBS_libxenvchan) $(APPEND_LDFLAGS) vchan-node2: $(NODE2_OBJS) libxenvchan.so - $(CC) $(LDFLAGS) -o $@ $(NODE2_OBJS) $(LDLIBS_libxenvchan) + $(CC) $(LDFLAGS) -o $@ $(NODE2_OBJS) $(LDLIBS_libxenvchan) $(APPEND_LDFLAGS) .PHONY: install install: all diff -r f3e94220364b -r 8e4ffea9c9d0 tools/libxc/Makefile --- a/tools/libxc/Makefile Mon Oct 17 16:23:54 2011 +0200 +++ b/tools/libxc/Makefile Tue Oct 18 11:26:28 2011 +0200 @@ -156,7 +156,7 @@ libxenctrl.so.$(MAJOR): libxenctrl.so.$( ln -sf $< $@ libxenctrl.so.$(MAJOR).$(MINOR): $(CTRL_PIC_OBJS) - $(CC) $(LDFLAGS) -Wl,$(SONAME_LDFLAG) -Wl,libxenctrl.so.$(MAJOR) $(SHLIB_LDFLAGS) -o $@ $^ $(DLOPEN_LIBS) $(PTHREAD_LIBS) + $(CC) $(LDFLAGS) -Wl,$(SONAME_LDFLAG) -Wl,libxenctrl.so.$(MAJOR) $(SHLIB_LDFLAGS) -o $@ $^ $(DLOPEN_LIBS) $(PTHREAD_LIBS) $(APPEND_LDFLAGS) # libxenguest @@ -192,10 +192,10 @@ xc_dom_bzimageloader.opic: CFLAGS += $(c libxenguest.so.$(MAJOR).$(MINOR): COMPRESSION_LIBS = $(call zlib-options,l) libxenguest.so.$(MAJOR).$(MINOR): $(GUEST_PIC_OBJS) libxenctrl.so - $(CC) $(LDFLAGS) -Wl,$(SONAME_LDFLAG) -Wl,libxenguest.so.$(MAJOR) $(SHLIB_LDFLAGS) -o $@ $(GUEST_PIC_OBJS) $(COMPRESSION_LIBS) -lz $(LDLIBS_libxenctrl) $(PTHREAD_LIBS) + $(CC) $(LDFLAGS) -Wl,$(SONAME_LDFLAG) -Wl,libxenguest.so.$(MAJOR) $(SHLIB_LDFLAGS) -o $@ $(GUEST_PIC_OBJS) $(COMPRESSION_LIBS) -lz $(LDLIBS_libxenctrl) $(PTHREAD_LIBS) $(APPEND_LDFLAGS) xenctrl_osdep_ENOSYS.so: $(OSDEP_PIC_OBJS) libxenctrl.so - $(CC) -g $(LDFLAGS) $(SHLIB_LDFLAGS) -o $@ $(OSDEP_PIC_OBJS) $(LDLIBS_libxenctrl) + $(CC) -g $(LDFLAGS) $(SHLIB_LDFLAGS) -o $@ $(OSDEP_PIC_OBJS) $(LDLIBS_libxenctrl) $(APPEND_LDFLAGS) -include $(DEPS) diff -r f3e94220364b -r 8e4ffea9c9d0 tools/libxen/Makefile --- a/tools/libxen/Makefile Mon Oct 17 16:23:54 2011 +0200 +++ b/tools/libxen/Makefile Tue Oct 18 11:26:28 2011 +0200 @@ -44,13 +44,13 @@ libxenapi.so.$(MAJOR): libxenapi.so.$(MA ln -sf $< $@ libxenapi.so.$(MAJOR).$(MINOR): $(LIBXENAPI_OBJS) - $(CC) $(LDFLAGS) -Wl,$(SONAME_LDFLAG) -Wl,libxenapi.so.$(MAJOR) $(SHLIB_LDFLAGS) -o $@ $^ + $(CC) $(LDFLAGS) -Wl,$(SONAME_LDFLAG) -Wl,libxenapi.so.$(MAJOR) $(SHLIB_LDFLAGS) -o $@ $^ $(APPEND_LDFLAGS) libxenapi.a: $(LIBXENAPI_OBJS) $(AR) rcs libxenapi.a $^ $(TEST_PROGRAMS): test/%: test/%.o libxenapi.so - $(CC) $(LDFLAGS) -o $@ $< -L . -lxenapi + $(CC) $(LDFLAGS) -o $@ $< -L . -lxenapi $(APPEND_LDFLAGS) .PHONY: install diff -r f3e94220364b -r 8e4ffea9c9d0 tools/libxl/Makefile --- a/tools/libxl/Makefile Mon Oct 17 16:23:54 2011 +0200 +++ b/tools/libxl/Makefile Tue Oct 18 11:26:28 2011 +0200 @@ -108,7 +108,7 @@ libxenlight.so.$(MAJOR): libxenlight.so. ln -sf $< $@ libxenlight.so.$(MAJOR).$(MINOR): $(LIBXL_OBJS) - $(CC) $(LDFLAGS) -Wl,$(SONAME_LDFLAG) -Wl,libxenlight.so.$(MAJOR) $(SHLIB_LDFLAGS) -o $@ $^ $(LIBXL_LIBS) + $(CC) $(LDFLAGS) -Wl,$(SONAME_LDFLAG) -Wl,libxenlight.so.$(MAJOR) $(SHLIB_LDFLAGS) -o $@ $^ $(LIBXL_LIBS) $(APPEND_LDFLAGS) libxenlight.a: $(LIBXL_OBJS) $(AR) rcs libxenlight.a $^ @@ -120,16 +120,16 @@ libxlutil.so.$(XLUMAJOR): libxlutil.so.$ ln -sf $< $@ libxlutil.so.$(XLUMAJOR).$(XLUMINOR): $(LIBXLU_OBJS) - $(CC) $(LDFLAGS) -Wl,$(SONAME_LDFLAG) -Wl,libxlutil.so.$(XLUMAJOR) $(SHLIB_LDFLAGS) -o $@ $^ $(LIBXLU_LIBS) + $(CC) $(LDFLAGS) -Wl,$(SONAME_LDFLAG) -Wl,libxlutil.so.$(XLUMAJOR) $(SHLIB_LDFLAGS) -o $@ $^ $(LIBXLU_LIBS) $(APPEND_LDFLAGS) libxlutil.a: $(LIBXLU_OBJS) $(AR) rcs libxlutil.a $^ xl: $(XL_OBJS) libxlutil.so libxenlight.so - $(CC) $(LDFLAGS) -o $@ $(XL_OBJS) libxlutil.so $(LDLIBS_libxenlight) $(LDLIBS_libxenctrl) + $(CC) $(LDFLAGS) -o $@ $(XL_OBJS) libxlutil.so $(LDLIBS_libxenlight) $(LDLIBS_libxenctrl) $(APPEND_LDFLAGS) testidl: testidl.o libxlutil.so libxenlight.so - $(CC) $(LDFLAGS) -o $@ testidl.o libxlutil.so $(LDLIBS_libxenlight) $(LDLIBS_libxenctrl) + $(CC) $(LDFLAGS) -o $@ testidl.o libxlutil.so $(LDLIBS_libxenlight) $(LDLIBS_libxenctrl) $(APPEND_LDFLAGS) .PHONY: install install: all diff -r f3e94220364b -r 8e4ffea9c9d0 tools/misc/Makefile --- a/tools/misc/Makefile Mon Oct 17 16:23:54 2011 +0200 +++ b/tools/misc/Makefile Tue Oct 18 11:26:28 2011 +0200 @@ -47,30 +47,30 @@ clean: set -e; for d in $(SUBDIRS); do $(MAKE) -C $$d clean; done xen-hvmctx: xen-hvmctx.o - $(CC) $(LDFLAGS) -o $@ $< $(LDLIBS_libxenctrl) + $(CC) $(LDFLAGS) -o $@ $< $(LDLIBS_libxenctrl) $(APPEND_LDFLAGS) xen-hvmcrash: xen-hvmcrash.o - $(CC) $(LDFLAGS) -o $@ $< $(LDLIBS_libxenctrl) + $(CC) $(LDFLAGS) -o $@ $< $(LDLIBS_libxenctrl) $(APPEND_LDFLAGS) xenperf: xenperf.o - $(CC) $(LDFLAGS) -o $@ $< $(LDLIBS_libxenctrl) + $(CC) $(LDFLAGS) -o $@ $< $(LDLIBS_libxenctrl) $(APPEND_LDFLAGS) xenpm: xenpm.o - $(CC) $(LDFLAGS) -o $@ $< $(LDLIBS_libxenctrl) + $(CC) $(LDFLAGS) -o $@ $< $(LDLIBS_libxenctrl) $(APPEND_LDFLAGS) gtracestat: gtracestat.o - $(CC) $(LDFLAGS) -o $@ $< + $(CC) $(LDFLAGS) -o $@ $< $(APPEND_LDFLAGS) xenlockprof: xenlockprof.o - $(CC) $(LDFLAGS) -o $@ $< $(LDLIBS_libxenctrl) + $(CC) $(LDFLAGS) -o $@ $< $(LDLIBS_libxenctrl) $(APPEND_LDFLAGS) xen-hptool: xen-hptool.o - $(CC) $(LDFLAGS) -o $@ $< $(LDLIBS_libxenctrl) $(LDLIBS_libxenguest) $(LDLIBS_libxenstore) + $(CC) $(LDFLAGS) -o $@ $< $(LDLIBS_libxenctrl) $(LDLIBS_libxenguest) $(LDLIBS_libxenstore) $(APPEND_LDFLAGS) xenwatchdogd: xenwatchdogd.o - $(CC) $(LDFLAGS) -o $@ $< $(LDLIBS_libxenctrl) + $(CC) $(LDFLAGS) -o $@ $< $(LDLIBS_libxenctrl) $(APPEND_LDFLAGS) gtraceview: gtraceview.o - $(CC) $(LDFLAGS) -o $@ $< $(CURSES_LIBS) + $(CC) $(LDFLAGS) -o $@ $< $(CURSES_LIBS) $(APPEND_LDFLAGS) -include $(DEPS) diff -r f3e94220364b -r 8e4ffea9c9d0 tools/xcutils/Makefile --- a/tools/xcutils/Makefile Mon Oct 17 16:23:54 2011 +0200 +++ b/tools/xcutils/Makefile Tue Oct 18 11:26:28 2011 +0200 @@ -27,16 +27,16 @@ all: build build: $(PROGRAMS) xc_restore: xc_restore.o - $(CC) $(LDFLAGS) $^ -o $@ $(LDLIBS_libxenctrl) $(LDLIBS_libxenguest) + $(CC) $(LDFLAGS) $^ -o $@ $(LDLIBS_libxenctrl) $(LDLIBS_libxenguest) $(APPEND_LDFLAGS) xc_save: xc_save.o - $(CC) $(LDFLAGS) $^ -o $@ $(LDLIBS_libxenctrl) $(LDLIBS_libxenguest) $(LDLIBS_libxenstore) + $(CC) $(LDFLAGS) $^ -o $@ $(LDLIBS_libxenctrl) $(LDLIBS_libxenguest) $(LDLIBS_libxenstore) $(APPEND_LDFLAGS) readnotes: readnotes.o - $(CC) $(LDFLAGS) $^ -o $@ $(LDLIBS_libxenctrl) $(LDLIBS_libxenguest) + $(CC) $(LDFLAGS) $^ -o $@ $(LDLIBS_libxenctrl) $(LDLIBS_libxenguest) $(APPEND_LDFLAGS) lsevtchn: lsevtchn.o - $(CC) $(LDFLAGS) $^ -o $@ $(LDLIBS_libxenctrl) + $(CC) $(LDFLAGS) $^ -o $@ $(LDLIBS_libxenctrl) $(APPEND_LDFLAGS) .PHONY: install install: build diff -r f3e94220364b -r 8e4ffea9c9d0 tools/xenbackendd/Makefile --- a/tools/xenbackendd/Makefile Mon Oct 17 16:23:54 2011 +0200 +++ b/tools/xenbackendd/Makefile Tue Oct 18 11:26:28 2011 +0200 @@ -33,6 +33,6 @@ clean: rm -f $(DEPS) xenbackendd: xenbackendd.o - $(CC) $(LDFLAGS) $< -o $@ $(LDLIBS) + $(CC) $(LDFLAGS) $< -o $@ $(LDLIBS) $(APPEND_LDFLAGS) -include $(DEPS) diff -r f3e94220364b -r 8e4ffea9c9d0 tools/xenmon/Makefile --- a/tools/xenmon/Makefile Mon Oct 17 16:23:54 2011 +0200 +++ b/tools/xenmon/Makefile Tue Oct 18 11:26:28 2011 +0200 @@ -41,9 +41,9 @@ clean: $(RM) -f xentrace_setmake setmask.o xenbaked: xenbaked.o Makefile - $(CC) $(LDFLAGS) $< -o $@ $(LDLIBS) + $(CC) $(LDFLAGS) $< -o $@ $(LDLIBS) $(APPEND_LDFLAGS) xentrace_setmask: setmask.o Makefile - $(CC) $(LDFLAGS) $< -o $@ $(LDLIBS) + $(CC) $(LDFLAGS) $< -o $@ $(LDLIBS) $(APPEND_LDFLAGS) -include $(DEPS) diff -r f3e94220364b -r 8e4ffea9c9d0 tools/xenpaging/Makefile --- a/tools/xenpaging/Makefile Mon Oct 17 16:23:54 2011 +0200 +++ b/tools/xenpaging/Makefile Tue Oct 18 11:26:28 2011 +0200 @@ -20,7 +20,7 @@ IBINS = xenpaging all: $(IBINS) xenpaging: $(OBJS) - $(CC) $(LDFLAGS) -o $@ $^ $(LDLIBS) + $(CC) $(LDFLAGS) -o $@ $^ $(LDLIBS) $(APPEND_LDFLAGS) install: all $(INSTALL_DIR) $(DESTDIR)/var/lib/xen/xenpaging diff -r f3e94220364b -r 8e4ffea9c9d0 tools/xenpmd/Makefile --- a/tools/xenpmd/Makefile Mon Oct 17 16:23:54 2011 +0200 +++ b/tools/xenpmd/Makefile Tue Oct 18 11:26:28 2011 +0200 @@ -19,6 +19,6 @@ clean: $(RM) -f xenpmd xenpmd.o $(DEPS) xenpmd: xenpmd.o Makefile - $(CC) $(LDFLAGS) $< -o $@ $(LDLIBS) + $(CC) $(LDFLAGS) $< -o $@ $(LDLIBS) $(APPEND_LDFLAGS) -include $(DEPS) diff -r f3e94220364b -r 8e4ffea9c9d0 tools/xenstat/libxenstat/Makefile --- a/tools/xenstat/libxenstat/Makefile Mon Oct 17 16:23:54 2011 +0200 +++ b/tools/xenstat/libxenstat/Makefile Tue Oct 18 11:26:28 2011 +0200 @@ -51,7 +51,7 @@ all: $(LIB) $(SHLIB) $(SHLIB_LINKS) $(SHLIB): $(OBJECTS-y) $(CC) $(LDFLAGS) $(SONAME_FLAGS) $(SHLIB_LDFLAGS) -o $@ \ - $(OBJECTS-y) $(LDLIBS-y) + $(OBJECTS-y) $(LDLIBS-y) $(APPEND_LDFLAGS) src/libxenstat.so.$(MAJOR): $(SHLIB) $(MAKE_LINK) $(