From 75d2e9cc45bc1bd58f33405f9fe3a9cb0166e9d5 Mon Sep 17 00:00:00 2001 From: Ikey Doherty Date: Wed, 11 Oct 2017 01:28:48 +0100 Subject: [PATCH] Restore option for controlling libcxx abi for LD_PRELOAD, fixes steam runtime Signed-off-by: Ikey Doherty --- README.md | 5 +++++ meson.build | 4 ++++ meson_options.txt | 1 + mkgobuildy.sh | 4 ++-- 4 files changed, 12 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index d4b81d9..fe43de9 100644 --- a/README.md +++ b/README.md @@ -70,6 +70,11 @@ There are a number of meson configure options you should be aware of when integr /usr/\$LIB/libX11.so.6:/usr/\$LIB/libstdc++.so.6 +`-Dwith-new-libcxx-abi=$boolean` + + Enable this if your distribution uses a recent libstdc++ build, from + GCC 6 or higher. + `-Dwith-frontend=$boolean` A small UI application is shipped to enable configuration of LSI, which presents diff --git a/meson.build b/meson.build index ccdbd6b..4f70837 100644 --- a/meson.build +++ b/meson.build @@ -60,6 +60,10 @@ endif with_frontend = get_option('with-frontend') +if get_option('with-new-libcxx-abi') == true + cdata.set('LSI_USE_NEW_ABI', '1') +endif + config_h = configure_file( configuration: cdata, output: 'config.h', diff --git a/meson_options.txt b/meson_options.txt index d08e269..68d22a9 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -5,3 +5,4 @@ option('with-frontend', type: 'boolean', description: 'Build the LSI Settings UI option('with-preload-libs', type: 'string', description: 'Colon separated list of libraries required to launch Steam games', value: '/usr/\$LIB/libxcb.so.1:/usr/\$LIB/libX11.so.6:/usr/\$LIB/libstdc++.so.6') option('with-libintercept', type: 'boolean', description: 'Enable libintercept library for controlling Steam linking', value: true) +option('with-new-libcxx-abi', type: 'boolean', description: 'Enable when using the new libstdc++ ABI', value: false) diff --git a/mkgobuildy.sh b/mkgobuildy.sh index 7b6775d..db2f46e 100755 --- a/mkgobuildy.sh +++ b/mkgobuildy.sh @@ -2,11 +2,11 @@ set -e if [[ ! -d buildroot/build32 ]]; then - CC="gcc -m32" linux32 meson buildroot/build32 --prefix=/usr --sysconfdir=/etc --datadir=/usr/share --libdir=/usr/lib32 -Dwith-shim=none + CC="gcc -m32" linux32 meson buildroot/build32 --prefix=/usr --sysconfdir=/etc --datadir=/usr/share --libdir=/usr/lib32 -Dwith-shim=none -Dwith-new-libcxx-abi=true fi if [[ ! -d buildroot/build64 ]]; then - meson buildroot/build64 --prefix=/usr --sysconfdir=/etc --datadir=/usr/share --libdir=/usr/lib64 -Dwith-shim=replacement -Dwith-steam-binary=/usr/lib64/steam/steam -Dwith-frontend=true + meson buildroot/build64 --prefix=/usr --sysconfdir=/etc --datadir=/usr/share --libdir=/usr/lib64 -Dwith-shim=replacement -Dwith-steam-binary=/usr/lib64/steam/steam -Dwith-frontend=true -Dwith-new-libcxx-abi=true fi ninja -C buildroot/build32