meson: avoid calling the shell to resolve efi_libdir
authorMike Gilbert <floppym@gentoo.org>
Sun, 30 Sep 2018 20:18:43 +0000 (16:18 -0400)
committerMike Gilbert <floppym@gentoo.org>
Sun, 30 Sep 2018 20:22:07 +0000 (16:22 -0400)
src/boot/efi/meson.build

index d234743..aa897c6 100644 (file)
@@ -57,10 +57,13 @@ if conf.get('ENABLE_EFI') == 1 and get_option('gnu-efi') != 'false'
 
         efi_libdir = get_option('efi-libdir')
         if efi_libdir == ''
-                cmd = 'cd /usr/lib/$(@0@ -print-multi-os-directory) && pwd'.format(' '.join(efi_cc))
-                ret = run_command('sh', '-c', cmd)
+                ret = run_command(efi_cc + ['-print-multi-os-directory'])
                 if ret.returncode() == 0
-                        efi_libdir = ret.stdout().strip()
+                        path = join_paths('/usr/lib', ret.stdout().strip())
+                        ret = run_command('realpath', '-e', path)
+                        if ret.returncode() == 0
+                                efi_libdir = ret.stdout().strip()
+                        endif
                 endif
         endif