mbox series

[0/3] tools: avoid creating symbolic links during make

Message ID 20201002142214.3438-1-jgross@suse.com (mailing list archive)
Headers show
Series tools: avoid creating symbolic links during make | expand

Message

Jürgen Groß Oct. 2, 2020, 2:22 p.m. UTC
The rework of the Xen library build introduced creating some additional
symbolic links during the build process.

This series is undoing that by moving all official Xen library headers
to tools/include and by using include paths and the vpath directive
when access to some private headers of another directory is needed.

Juergen Gross (3):
  tools/libs: move official headers to common directory
  tools/libs/guest: don't use symbolic links for xenctrl headers
  tools/libs/store: don't use symbolic links for external files

 .gitignore                                    |  5 ++--
 stubdom/mini-os.mk                            |  2 +-
 tools/Rules.mk                                |  5 ++--
 tools/{libs/vchan => }/include/libxenvchan.h  |  0
 tools/{libs/light => }/include/libxl.h        |  0
 tools/{libs/light => }/include/libxl_event.h  |  0
 tools/{libs/light => }/include/libxl_json.h   |  0
 tools/{libs/light => }/include/libxl_utils.h  |  0
 tools/{libs/light => }/include/libxl_uuid.h   |  0
 tools/{libs/util => }/include/libxlutil.h     |  0
 tools/{libs/call => }/include/xencall.h       |  0
 tools/{libs/ctrl => }/include/xenctrl.h       |  0
 .../{libs/ctrl => }/include/xenctrl_compat.h  |  0
 .../devicemodel => }/include/xendevicemodel.h |  0
 tools/{libs/evtchn => }/include/xenevtchn.h   |  0
 .../include/xenforeignmemory.h                |  0
 tools/{libs/gnttab => }/include/xengnttab.h   |  0
 tools/{libs/guest => }/include/xenguest.h     |  0
 tools/{libs/hypfs => }/include/xenhypfs.h     |  0
 tools/{libs/stat => }/include/xenstat.h       |  0
 .../compat => include/xenstore-compat}/xs.h   |  0
 .../xenstore-compat}/xs_lib.h                 |  0
 tools/{libs/store => }/include/xenstore.h     |  0
 tools/{xenstore => include}/xenstore_lib.h    |  0
 .../{libs/toolcore => }/include/xentoolcore.h |  0
 .../include/xentoolcore_internal.h            |  0
 tools/{libs/toollog => }/include/xentoollog.h |  0
 tools/libs/call/Makefile                      |  3 ---
 tools/libs/ctrl/Makefile                      |  3 ---
 tools/libs/devicemodel/Makefile               |  3 ---
 tools/libs/evtchn/Makefile                    |  2 --
 tools/libs/foreignmemory/Makefile             |  3 ---
 tools/libs/gnttab/Makefile                    |  3 ---
 tools/libs/guest/Makefile                     | 12 ++-------
 tools/libs/hypfs/Makefile                     |  3 ---
 tools/libs/libs.mk                            | 10 +++----
 tools/libs/light/Makefile                     | 27 +++++++++----------
 tools/libs/stat/Makefile                      |  2 --
 tools/libs/store/Makefile                     | 15 +++--------
 tools/libs/toolcore/Makefile                  |  9 +++----
 tools/libs/toollog/Makefile                   |  2 --
 tools/libs/util/Makefile                      |  3 ---
 tools/libs/vchan/Makefile                     |  3 ---
 tools/ocaml/libs/xentoollog/Makefile          |  2 +-
 tools/ocaml/libs/xentoollog/genlevels.py      |  2 +-
 45 files changed, 32 insertions(+), 87 deletions(-)
 rename tools/{libs/vchan => }/include/libxenvchan.h (100%)
 rename tools/{libs/light => }/include/libxl.h (100%)
 rename tools/{libs/light => }/include/libxl_event.h (100%)
 rename tools/{libs/light => }/include/libxl_json.h (100%)
 rename tools/{libs/light => }/include/libxl_utils.h (100%)
 rename tools/{libs/light => }/include/libxl_uuid.h (100%)
 rename tools/{libs/util => }/include/libxlutil.h (100%)
 rename tools/{libs/call => }/include/xencall.h (100%)
 rename tools/{libs/ctrl => }/include/xenctrl.h (100%)
 rename tools/{libs/ctrl => }/include/xenctrl_compat.h (100%)
 rename tools/{libs/devicemodel => }/include/xendevicemodel.h (100%)
 rename tools/{libs/evtchn => }/include/xenevtchn.h (100%)
 rename tools/{libs/foreignmemory => }/include/xenforeignmemory.h (100%)
 rename tools/{libs/gnttab => }/include/xengnttab.h (100%)
 rename tools/{libs/guest => }/include/xenguest.h (100%)
 rename tools/{libs/hypfs => }/include/xenhypfs.h (100%)
 rename tools/{libs/stat => }/include/xenstat.h (100%)
 rename tools/{libs/store/include/compat => include/xenstore-compat}/xs.h (100%)
 rename tools/{libs/store/include/compat => include/xenstore-compat}/xs_lib.h (100%)
 rename tools/{libs/store => }/include/xenstore.h (100%)
 rename tools/{xenstore => include}/xenstore_lib.h (100%)
 rename tools/{libs/toolcore => }/include/xentoolcore.h (100%)
 rename tools/{libs/toolcore => }/include/xentoolcore_internal.h (100%)
 rename tools/{libs/toollog => }/include/xentoollog.h (100%)

Comments

Christian Lindig Oct. 5, 2020, 8:38 a.m. UTC | #1
--
Acked-by: Christian Lindig <christian.lindig@citrix.com>
Bertrand Marquis Oct. 5, 2020, 8:48 a.m. UTC | #2
--
Tested-by: Bertrand Marquis <bertrand.marquis@arm.com>

Work on Yocto Gategarth (including qemu and tools compilation).

Cheers
Bertrand

> On 2 Oct 2020, at 15:22, Juergen Gross <jgross@suse.com> wrote:
> 
> The rework of the Xen library build introduced creating some additional
> symbolic links during the build process.
> 
> This series is undoing that by moving all official Xen library headers
> to tools/include and by using include paths and the vpath directive
> when access to some private headers of another directory is needed.
> 
> Juergen Gross (3):
>  tools/libs: move official headers to common directory
>  tools/libs/guest: don't use symbolic links for xenctrl headers
>  tools/libs/store: don't use symbolic links for external files
> 
> .gitignore                                    |  5 ++--
> stubdom/mini-os.mk                            |  2 +-
> tools/Rules.mk                                |  5 ++--
> tools/{libs/vchan => }/include/libxenvchan.h  |  0
> tools/{libs/light => }/include/libxl.h        |  0
> tools/{libs/light => }/include/libxl_event.h  |  0
> tools/{libs/light => }/include/libxl_json.h   |  0
> tools/{libs/light => }/include/libxl_utils.h  |  0
> tools/{libs/light => }/include/libxl_uuid.h   |  0
> tools/{libs/util => }/include/libxlutil.h     |  0
> tools/{libs/call => }/include/xencall.h       |  0
> tools/{libs/ctrl => }/include/xenctrl.h       |  0
> .../{libs/ctrl => }/include/xenctrl_compat.h  |  0
> .../devicemodel => }/include/xendevicemodel.h |  0
> tools/{libs/evtchn => }/include/xenevtchn.h   |  0
> .../include/xenforeignmemory.h                |  0
> tools/{libs/gnttab => }/include/xengnttab.h   |  0
> tools/{libs/guest => }/include/xenguest.h     |  0
> tools/{libs/hypfs => }/include/xenhypfs.h     |  0
> tools/{libs/stat => }/include/xenstat.h       |  0
> .../compat => include/xenstore-compat}/xs.h   |  0
> .../xenstore-compat}/xs_lib.h                 |  0
> tools/{libs/store => }/include/xenstore.h     |  0
> tools/{xenstore => include}/xenstore_lib.h    |  0
> .../{libs/toolcore => }/include/xentoolcore.h |  0
> .../include/xentoolcore_internal.h            |  0
> tools/{libs/toollog => }/include/xentoollog.h |  0
> tools/libs/call/Makefile                      |  3 ---
> tools/libs/ctrl/Makefile                      |  3 ---
> tools/libs/devicemodel/Makefile               |  3 ---
> tools/libs/evtchn/Makefile                    |  2 --
> tools/libs/foreignmemory/Makefile             |  3 ---
> tools/libs/gnttab/Makefile                    |  3 ---
> tools/libs/guest/Makefile                     | 12 ++-------
> tools/libs/hypfs/Makefile                     |  3 ---
> tools/libs/libs.mk                            | 10 +++----
> tools/libs/light/Makefile                     | 27 +++++++++----------
> tools/libs/stat/Makefile                      |  2 --
> tools/libs/store/Makefile                     | 15 +++--------
> tools/libs/toolcore/Makefile                  |  9 +++----
> tools/libs/toollog/Makefile                   |  2 --
> tools/libs/util/Makefile                      |  3 ---
> tools/libs/vchan/Makefile                     |  3 ---
> tools/ocaml/libs/xentoollog/Makefile          |  2 +-
> tools/ocaml/libs/xentoollog/genlevels.py      |  2 +-
> 45 files changed, 32 insertions(+), 87 deletions(-)
> rename tools/{libs/vchan => }/include/libxenvchan.h (100%)
> rename tools/{libs/light => }/include/libxl.h (100%)
> rename tools/{libs/light => }/include/libxl_event.h (100%)
> rename tools/{libs/light => }/include/libxl_json.h (100%)
> rename tools/{libs/light => }/include/libxl_utils.h (100%)
> rename tools/{libs/light => }/include/libxl_uuid.h (100%)
> rename tools/{libs/util => }/include/libxlutil.h (100%)
> rename tools/{libs/call => }/include/xencall.h (100%)
> rename tools/{libs/ctrl => }/include/xenctrl.h (100%)
> rename tools/{libs/ctrl => }/include/xenctrl_compat.h (100%)
> rename tools/{libs/devicemodel => }/include/xendevicemodel.h (100%)
> rename tools/{libs/evtchn => }/include/xenevtchn.h (100%)
> rename tools/{libs/foreignmemory => }/include/xenforeignmemory.h (100%)
> rename tools/{libs/gnttab => }/include/xengnttab.h (100%)
> rename tools/{libs/guest => }/include/xenguest.h (100%)
> rename tools/{libs/hypfs => }/include/xenhypfs.h (100%)
> rename tools/{libs/stat => }/include/xenstat.h (100%)
> rename tools/{libs/store/include/compat => include/xenstore-compat}/xs.h (100%)
> rename tools/{libs/store/include/compat => include/xenstore-compat}/xs_lib.h (100%)
> rename tools/{libs/store => }/include/xenstore.h (100%)
> rename tools/{xenstore => include}/xenstore_lib.h (100%)
> rename tools/{libs/toolcore => }/include/xentoolcore.h (100%)
> rename tools/{libs/toolcore => }/include/xentoolcore_internal.h (100%)
> rename tools/{libs/toollog => }/include/xentoollog.h (100%)
> 
> -- 
> 2.26.2
> 
>
Jürgen Groß Oct. 14, 2020, 12:44 p.m. UTC | #3
Ping?

On 02.10.20 16:22, Juergen Gross wrote:
> The rework of the Xen library build introduced creating some additional
> symbolic links during the build process.
> 
> This series is undoing that by moving all official Xen library headers
> to tools/include and by using include paths and the vpath directive
> when access to some private headers of another directory is needed.
> 
> Juergen Gross (3):
>    tools/libs: move official headers to common directory
>    tools/libs/guest: don't use symbolic links for xenctrl headers
>    tools/libs/store: don't use symbolic links for external files
> 
>   .gitignore                                    |  5 ++--
>   stubdom/mini-os.mk                            |  2 +-
>   tools/Rules.mk                                |  5 ++--
>   tools/{libs/vchan => }/include/libxenvchan.h  |  0
>   tools/{libs/light => }/include/libxl.h        |  0
>   tools/{libs/light => }/include/libxl_event.h  |  0
>   tools/{libs/light => }/include/libxl_json.h   |  0
>   tools/{libs/light => }/include/libxl_utils.h  |  0
>   tools/{libs/light => }/include/libxl_uuid.h   |  0
>   tools/{libs/util => }/include/libxlutil.h     |  0
>   tools/{libs/call => }/include/xencall.h       |  0
>   tools/{libs/ctrl => }/include/xenctrl.h       |  0
>   .../{libs/ctrl => }/include/xenctrl_compat.h  |  0
>   .../devicemodel => }/include/xendevicemodel.h |  0
>   tools/{libs/evtchn => }/include/xenevtchn.h   |  0
>   .../include/xenforeignmemory.h                |  0
>   tools/{libs/gnttab => }/include/xengnttab.h   |  0
>   tools/{libs/guest => }/include/xenguest.h     |  0
>   tools/{libs/hypfs => }/include/xenhypfs.h     |  0
>   tools/{libs/stat => }/include/xenstat.h       |  0
>   .../compat => include/xenstore-compat}/xs.h   |  0
>   .../xenstore-compat}/xs_lib.h                 |  0
>   tools/{libs/store => }/include/xenstore.h     |  0
>   tools/{xenstore => include}/xenstore_lib.h    |  0
>   .../{libs/toolcore => }/include/xentoolcore.h |  0
>   .../include/xentoolcore_internal.h            |  0
>   tools/{libs/toollog => }/include/xentoollog.h |  0
>   tools/libs/call/Makefile                      |  3 ---
>   tools/libs/ctrl/Makefile                      |  3 ---
>   tools/libs/devicemodel/Makefile               |  3 ---
>   tools/libs/evtchn/Makefile                    |  2 --
>   tools/libs/foreignmemory/Makefile             |  3 ---
>   tools/libs/gnttab/Makefile                    |  3 ---
>   tools/libs/guest/Makefile                     | 12 ++-------
>   tools/libs/hypfs/Makefile                     |  3 ---
>   tools/libs/libs.mk                            | 10 +++----
>   tools/libs/light/Makefile                     | 27 +++++++++----------
>   tools/libs/stat/Makefile                      |  2 --
>   tools/libs/store/Makefile                     | 15 +++--------
>   tools/libs/toolcore/Makefile                  |  9 +++----
>   tools/libs/toollog/Makefile                   |  2 --
>   tools/libs/util/Makefile                      |  3 ---
>   tools/libs/vchan/Makefile                     |  3 ---
>   tools/ocaml/libs/xentoollog/Makefile          |  2 +-
>   tools/ocaml/libs/xentoollog/genlevels.py      |  2 +-
>   45 files changed, 32 insertions(+), 87 deletions(-)
>   rename tools/{libs/vchan => }/include/libxenvchan.h (100%)
>   rename tools/{libs/light => }/include/libxl.h (100%)
>   rename tools/{libs/light => }/include/libxl_event.h (100%)
>   rename tools/{libs/light => }/include/libxl_json.h (100%)
>   rename tools/{libs/light => }/include/libxl_utils.h (100%)
>   rename tools/{libs/light => }/include/libxl_uuid.h (100%)
>   rename tools/{libs/util => }/include/libxlutil.h (100%)
>   rename tools/{libs/call => }/include/xencall.h (100%)
>   rename tools/{libs/ctrl => }/include/xenctrl.h (100%)
>   rename tools/{libs/ctrl => }/include/xenctrl_compat.h (100%)
>   rename tools/{libs/devicemodel => }/include/xendevicemodel.h (100%)
>   rename tools/{libs/evtchn => }/include/xenevtchn.h (100%)
>   rename tools/{libs/foreignmemory => }/include/xenforeignmemory.h (100%)
>   rename tools/{libs/gnttab => }/include/xengnttab.h (100%)
>   rename tools/{libs/guest => }/include/xenguest.h (100%)
>   rename tools/{libs/hypfs => }/include/xenhypfs.h (100%)
>   rename tools/{libs/stat => }/include/xenstat.h (100%)
>   rename tools/{libs/store/include/compat => include/xenstore-compat}/xs.h (100%)
>   rename tools/{libs/store/include/compat => include/xenstore-compat}/xs_lib.h (100%)
>   rename tools/{libs/store => }/include/xenstore.h (100%)
>   rename tools/{xenstore => include}/xenstore_lib.h (100%)
>   rename tools/{libs/toolcore => }/include/xentoolcore.h (100%)
>   rename tools/{libs/toolcore => }/include/xentoolcore_internal.h (100%)
>   rename tools/{libs/toollog => }/include/xentoollog.h (100%)
>
Ian Jackson Oct. 23, 2020, 1:26 p.m. UTC | #4
Juergen Gross writes ("[PATCH 0/3] tools: avoid creating symbolic links during make"):
> The rework of the Xen library build introduced creating some additional
> symbolic links during the build process.
> 
> This series is undoing that by moving all official Xen library headers
> to tools/include and by using include paths and the vpath directive
> when access to some private headers of another directory is needed.

I'm OK with these changes and inclined to give my ack and commit all
three.

I did have one observation: it is rather odd that all the
autogenerated header files are each generated by the relevant
tools/libs/foo/Makefile, but the file is in tools/include/.

This is particularly odd given that tools/include/ has a Makefile of
its own which mostly does install stuff.

Can we at least have a comment in tools/include/Makefile saying that
it is forbidden to add rules which build include files here, and
suggesting to the reader which other Makefiles to read ?

Thanks,
Ian.