[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v2] tools/python: pass more -rpath-link options to ld



On Wed, Nov 04, 2020 at 03:57:49PM +0100, Jan Beulich wrote:
> With the split of libraries, I've observed a number of warnings from
> (old?) ld.
> 
> Instead of duplicating the additions in two places, introduce a setup.py
> make variable holding all the common parts of the invocations.
> 
> Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>

Acked-by: Marek Marczykowski-Górecki <marmarek@xxxxxxxxxxxxxxxxxxxxxx>

> ---
> v2: Pass on and use SHLIB_libxen*.
> ---
> It's unclear to me whether this is ld version dependent - the pattern
> of where I've seen such warnings doesn't suggest a clear version
> dependency.
> 
> Obviously (I think) the other similar variables (XEN_libxen*,
> CFLAGS_libxen*, etc) would better also be made use of to eliminate at
> least most of the PATH_* variables, but that's not the purpose of this
> change.
> 
> --- a/tools/python/Makefile
> +++ b/tools/python/Makefile
> @@ -8,19 +8,21 @@ PY_CFLAGS = $(CFLAGS) $(PY_NOOPT_CFLAGS)
>  PY_LDFLAGS = $(SHLIB_LDFLAGS) $(APPEND_LDFLAGS)
>  INSTALL_LOG = build/installed_files.txt
>  
> +setup.py = CC="$(CC)" CFLAGS="$(PY_CFLAGS)" LDSHARED="$(CC)" 
> LDFLAGS="$(PY_LDFLAGS)" \
> +           SHLIB_libxenctrl="$(SHLIB_libxenctrl)" \
> +           SHLIB_libxenguest="$(SHLIB_libxenguest)" \
> +           SHLIB_libxenstore="$(SHLIB_libxenstore)" \
> +           $(PYTHON) setup.py
> +
>  .PHONY: build
>  build:
> -     CC="$(CC)" CFLAGS="$(PY_CFLAGS)" LDSHARED="$(CC)" 
> LDFLAGS="$(PY_LDFLAGS)" $(PYTHON) setup.py build
> +     $(setup.py) build
>  
>  .PHONY: install
>  install:
>       $(INSTALL_DIR) $(DESTDIR)$(LIBEXEC_BIN)
> -
> -     CC="$(CC)" CFLAGS="$(PY_CFLAGS)" LDSHARED="$(CC)" \
> -             LDFLAGS="$(PY_LDFLAGS)" $(PYTHON) setup.py install \
> -             --record $(INSTALL_LOG) $(PYTHON_PREFIX_ARG) \
> +     $(setup.py) install --record $(INSTALL_LOG) $(PYTHON_PREFIX_ARG) \
>               --root="$(DESTDIR)" --force
> -
>       $(INSTALL_PYTHON_PROG) scripts/convert-legacy-stream 
> $(DESTDIR)$(LIBEXEC_BIN)
>       $(INSTALL_PYTHON_PROG) scripts/verify-stream-v2 $(DESTDIR)$(LIBEXEC_BIN)
>  
> --- a/tools/python/setup.py
> +++ b/tools/python/setup.py
> @@ -4,6 +4,10 @@ import os, sys
>  
>  XEN_ROOT = "../.."
>  
> +SHLIB_libxenctrl = os.environ['SHLIB_libxenctrl'].split()
> +SHLIB_libxenguest = os.environ['SHLIB_libxenguest'].split()
> +SHLIB_libxenstore = os.environ['SHLIB_libxenstore'].split()
> +
>  extra_compile_args  = [ "-fno-strict-aliasing", "-Werror" ]
>  
>  PATH_XEN      = XEN_ROOT + "/tools/include"
> @@ -24,7 +28,7 @@ xc = Extension("xc",
>                 library_dirs       = [ PATH_LIBXENCTRL, PATH_LIBXENGUEST ],
>                 libraries          = [ "xenctrl", "xenguest" ],
>                 depends            = [ PATH_LIBXENCTRL + "/libxenctrl.so", 
> PATH_LIBXENGUEST + "/libxenguest.so" ],
> -               extra_link_args    = [ "-Wl,-rpath-link="+PATH_LIBXENTOOLLOG 
> ],
> +               extra_link_args    = SHLIB_libxenctrl + SHLIB_libxenguest,
>                 sources            = [ "xen/lowlevel/xc/xc.c" ])
>  
>  xs = Extension("xs",
> @@ -33,6 +37,7 @@ xs = Extension("xs",
>                 library_dirs       = [ PATH_XENSTORE ],
>                 libraries          = [ "xenstore" ],
>                 depends            = [ PATH_XENSTORE + "/libxenstore.so" ],
> +               extra_link_args    = SHLIB_libxenstore,
>                 sources            = [ "xen/lowlevel/xs/xs.c" ])
>  
>  plat = os.uname()[0]

-- 
Best Regards,
Marek Marczykowski-Górecki
Invisible Things Lab
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?

Attachment: signature.asc
Description: PGP signature


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.