Em Wed, May 27, 2015 at 05:19:38AM +0000, Wang Nan escreveu: > This patch moves list.h from tools/perf/util/include/linux/list.h > to tools/include/linux/list.h to enable other libraries use macros in > it, like libbpf which will be introduced by further patches. Since > list.h depend on poison.h, poison.h is also moved. > Both file use relative path, so one '..' is removed for each header > to make them suit for new directory.
I'll apply this, but when doing these moves, one has to worry that these build targets continue working: [acme@ssdandy linux]$ make help | grep perf perf-tar-src-pkg - Build perf-4.1.0-rc2.tar source tarball perf-targz-src-pkg - Build perf-4.1.0-rc2.tar.gz source tarball perf-tarbz2-src-pkg - Build perf-4.1.0-rc2.tar.bz2 source tarball perf-tarxz-src-pkg - Build perf-4.1.0-rc2.tar.xz source tarball [acme@ssdandy linux]$ To explain what they are for, here is how they are used: [acme@ssdandy linux]$ ls -la *.gz ls: cannot access *.gz: No such file or directory [acme@ssdandy linux]$ make perf-targz-src-pkg TAR [acme@ssdandy linux]$ ls -la *.gz -rw-rw-r--. 1 acme acme 1014070 May 27 10:07 perf-4.1.0-rc2.tar.gz [acme@ssdandy linux]$ mkdir -p /tmp/on-some-other-machine-we-do/ [acme@ssdandy linux]$ mv perf-4.1.0-rc2.tar.gz /tmp/on-some-other-machine-we-do/ [acme@ssdandy linux]$ cd /tmp/on-some-other-machine-we-do/ [acme@ssdandy on-some-other-machine-we-do]$ tar xf perf-4.1.0-rc2.tar.gz [acme@ssdandy on-some-other-machine-we-do]$ ls perf-4.1.0-rc2 perf-4.1.0-rc2.tar.gz [acme@ssdandy on-some-other-machine-we-do]$ cd perf-4.1.0-rc2/ [acme@ssdandy perf-4.1.0-rc2]$ ls arch HEAD include lib PERF-VERSION-FILE tools [acme@ssdandy perf-4.1.0-rc2]$ make -C tools/perf make: Entering directory `/tmp/on-some-other-machine-we-do/perf-4.1.0-rc2/tools/perf' BUILD: Doing 'make -j8' parallel build Auto-detecting system features: ... dwarf: [ on ] ... glibc: [ on ] ... gtk2: [ on ] ... libaudit: [ on ] ... libbfd: [ on ] ... libelf: [ on ] ... libnuma: [ on ] ... libperl: [ on ] ... libpython: [ on ] ... libslang: [ on ] ... libunwind: [ on ] ... libdw-dwarf-unwind: [ on ] ... zlib: [ on ] ... lzma: [ on ] CC util/abspath.o CC arch/common.o CC ui/setup.o CC fs/fs.o CC event-parse.o PERF_VERSION = 4.1.rc2.g6bbda4 GEN common-cmds.h CC fd/array.o CC ui/gtk/browser.o In file included from /usr/include/linux/kernel.h:4:0, from util/util.h:73, from util/cache.h:5, from util/abspath.c:1: /usr/include/linux/sysinfo.h:8:2: error: unknown type name ‘__kernel_long_t’ __kernel_long_t uptime; /* Seconds since boot */ ^ /usr/include/linux/sysinfo.h:9:2: error: unknown type name ‘__kernel_ulong_t’ __kernel_ulong_t loads[3]; /* 1, 5, and 15 minute load averages */ ^ /usr/include/linux/sysinfo.h:10:2: error: unknown type name ‘__kernel_ulong_t’ __kernel_ulong_t totalram; /* Total usable main memory size */ <BIG, BIG SNIP> ^ cc1: all warnings being treated as errors make[3]: *** [ui/gtk/hists.o] Error 1 make[2]: *** [ui/gtk] Error 2 make[1]: *** [gtk-in.o] Error 2 LD libtraceevent-in.o LD plugin_scsi-in.o LINK libtraceevent.a LINK plugin_scsi.so LD plugin_xen-in.o LINK plugin_xen.so make: *** [all] Error 2 make: Leaving directory `/tmp/on-some-other-machine-we-do/perf-4.1.0-rc2/tools/perf' [acme@ssdandy perf-4.1.0-rc2]$ ======================================================================== This is because: [acme@ssdandy perf-4.1.0-rc2]$ ls -la tools/include/linux/kernel.h ls: cannot access tools/include/linux/kernel.h: No such file or directory You forgot to add this file to tools/perf/MANIFEST, that which effect would be equivalent to: [acme@ssdandy perf-4.1.0-rc2]$ cp ~acme/git/linux/tools/include/linux/kernel.h tools/include/linux/kernel.h [acme@ssdandy perf-4.1.0-rc2]$ make -C tools/perf make: Entering directory `/tmp/on-some-other-machine-we-do/perf-4.1.0-rc2/tools/perf' BUILD: Doing 'make -j8' parallel build CC arch/common.o CC util/abspath.o CC ui/gtk/browser.o CC util/alias.o <SNIP> LD util/scripting-engines/libperf-in.o LD util/libperf-in.o LD libperf-in.o AR libperf.a LINK perf LINK libperf-gtk.so make: Leaving directory `/tmp/on-some-other-machine-we-do/perf-4.1.0-rc2/tools/perf' [acme@ssdandy perf-4.1.0-rc2]$ [acme@ssdandy perf-4.1.0-rc2]$ tools/perf/perf --version perf version 4.1.rc2.g6bbda4 [acme@ssdandy perf-4.1.0-rc2]$ ls -la tools/perf/perf -rwxrwxr-x. 1 acme acme 11495170 May 27 10:12 tools/perf/perf [acme@ssdandy perf-4.1.0-rc2]$ strip tools/perf/perf [acme@ssdandy perf-4.1.0-rc2]$ ls -la tools/perf/perf -rwxrwxr-x. 1 acme acme 2441888 May 27 10:13 tools/perf/perf [acme@ssdandy perf-4.1.0-rc2]$ ======================================================================== This, BTW, would have been caught if you had run: make -C tools/perf build-test One of the last tests will do this packaging and building, alerting you that something is missing. I am doing this for the two patches in this series that moves things to tools, Regards, - Arnaldo > Signed-off-by: Wang Nan <wangn...@huawei.com> > --- > tools/{perf/util => }/include/linux/list.h | 6 +++--- > tools/include/linux/poison.h | 1 + > tools/perf/util/include/linux/poison.h | 1 - > 3 files changed, 4 insertions(+), 4 deletions(-) > rename tools/{perf/util => }/include/linux/list.h (90%) > create mode 100644 tools/include/linux/poison.h > delete mode 100644 tools/perf/util/include/linux/poison.h > > diff --git a/tools/perf/util/include/linux/list.h b/tools/include/linux/list.h > similarity index 90% > rename from tools/perf/util/include/linux/list.h > rename to tools/include/linux/list.h > index 76ddbc7..76b014c 100644 > --- a/tools/perf/util/include/linux/list.h > +++ b/tools/include/linux/list.h > @@ -1,10 +1,10 @@ > #include <linux/kernel.h> > #include <linux/types.h> > > -#include "../../../../include/linux/list.h" > +#include "../../../include/linux/list.h" > > -#ifndef PERF_LIST_H > -#define PERF_LIST_H > +#ifndef TOOLS_LIST_H > +#define TOOLS_LIST_H > /** > * list_del_range - deletes range of entries from list. > * @begin: first element in the range to delete from the list. > diff --git a/tools/include/linux/poison.h b/tools/include/linux/poison.h > new file mode 100644 > index 0000000..0c27bdf > --- /dev/null > +++ b/tools/include/linux/poison.h > @@ -0,0 +1 @@ > +#include "../../../include/linux/poison.h" > diff --git a/tools/perf/util/include/linux/poison.h > b/tools/perf/util/include/linux/poison.h > deleted file mode 100644 > index fef6dbc..0000000 > --- a/tools/perf/util/include/linux/poison.h > +++ /dev/null > @@ -1 +0,0 @@ > -#include "../../../../include/linux/poison.h" > -- > 1.8.3.4 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/