Skip to content
Snippets Groups Projects
  • Simon McVittie's avatar
    91478a07
    Build -system-info and -check-locale with relative DT_RPATH · 91478a07
    Simon McVittie authored
    
    This ensures that they can find the non-ubiquitous json-glib library,
    and the steam-runtime-tools library, even if relocated into a
    non-standard prefix like the LD_LIBRARY_PATH Steam Runtime.
    
    Using DT_RPATH in preference to DT_RUNPATH means we take all our direct
    and indirect dependencies from the same place. This is important when
    libjson-glib (which won't ordinarily have a RUNPATH or RPATH) pulls in
    GIO as an indirect dependency of check-locale, which doesn't directly
    depend on GIO. The GIO library we get must match the versions of GLib
    and GObject we're using.
    
    This also bypasses LD_LIBRARY_PATH.
    
    Signed-off-by: default avatarSimon McVittie <smcv@collabora.com>
    91478a07
    History
    Build -system-info and -check-locale with relative DT_RPATH
    Simon McVittie authored
    
    This ensures that they can find the non-ubiquitous json-glib library,
    and the steam-runtime-tools library, even if relocated into a
    non-standard prefix like the LD_LIBRARY_PATH Steam Runtime.
    
    Using DT_RPATH in preference to DT_RUNPATH means we take all our direct
    and indirect dependencies from the same place. This is important when
    libjson-glib (which won't ordinarily have a RUNPATH or RPATH) pulls in
    GIO as an indirect dependency of check-locale, which doesn't directly
    depend on GIO. The GIO library we get must match the versions of GLib
    and GObject we're using.
    
    This also bypasses LD_LIBRARY_PATH.
    
    Signed-off-by: default avatarSimon McVittie <smcv@collabora.com>
meson.build 1.83 KiB
# Copyright © 2019 Collabora Ltd.
#
# SPDX-License-Identifier: MIT
#
# Permission is hereby granted, free of charge, to any person obtaining
# a copy of this software and associated documentation files (the
# "Software"), to deal in the Software without restriction, including
# without limitation the rights to use, copy, modify, merge, publish,
# distribute, sublicense, and/or sell copies of the Software, and to
# permit persons to whom the Software is furnished to do so, subject to
# the following conditions:
#
# The above copyright notice and this permission notice shall be included
# in all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
# CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

executable(
  'steam-runtime-system-info',
  'system-info.c',
  dependencies : [glib, libsteamrt_dep, json_glib],
  install : true,
  # Use the adjacent libsteam-runtime-tools and json-glib, ignoring
  # LD_LIBRARY_PATH even if set
  build_rpath : bin_rpath,
  install_rpath : bin_rpath,
)

if get_option('man')
  custom_target(
    'steam-runtime-system-info.1',
    build_by_default : true,
    command : [
      pandoc,
      '-s',
      '-o', '@OUTPUT@',
      '-f', pandoc_markdown_nosmart,
      '-t', 'man',
      '@INPUT@',
    ],
    input : 'system-info.md',
    output : 'steam-runtime-system-info.1',
    install : true,
    install_dir : join_paths(get_option('prefix'), get_option('mandir'), 'man1'),
  )
endif

# vim:set sw=2 sts=2 et: