meson: fix executable extensions for windows build

This commit is contained in:
Jörg Thalheim 2024-10-11 21:50:50 +02:00
parent 30655dd146
commit bd1961b7cc

View File

@ -212,18 +212,23 @@ nix_symlinks = [
'nix-store', 'nix-store',
] ]
name_suffix = ''
if host_machine.system() == 'windows'
name_suffix = '.exe'
endif
foreach linkname : nix_symlinks foreach linkname : nix_symlinks
install_symlink( install_symlink(
linkname, linkname + name_suffix,
# TODO(Qyriad): should these continue to be relative symlinks? # TODO(Qyriad): should these continue to be relative symlinks?
pointing_to : 'nix', pointing_to : fs.name(this_exe),
install_dir : get_option('bindir'), install_dir : get_option('bindir'),
# The 'runtime' tag is what executables default to, which we want to emulate here. # The 'runtime' tag is what executables default to, which we want to emulate here.
install_tag : 'runtime' install_tag : 'runtime'
) )
t = custom_target( t = custom_target(
command: ['ln', '-sf', fs.name(this_exe), '@OUTPUT@'], command: ['ln', '-sf', fs.name(this_exe), '@OUTPUT@'],
output: linkname, output: linkname + name_suffix,
# TODO(Ericson2314): Don't do this once we have the `meson.override_find_program` working) # TODO(Ericson2314): Don't do this once we have the `meson.override_find_program` working)
build_by_default: true build_by_default: true
) )
@ -233,15 +238,15 @@ endforeach
install_symlink( install_symlink(
'build-remote', 'build-remote',
pointing_to : '..' / '..'/ get_option('bindir') / 'nix', pointing_to : '..' / '..'/ get_option('bindir') / fs.name(this_exe),
install_dir : get_option('libexecdir') / 'nix', install_dir : get_option('libexecdir') / fs.name(this_exe),
# The 'runtime' tag is what executables default to, which we want to emulate here. # The 'runtime' tag is what executables default to, which we want to emulate here.
install_tag : 'runtime' install_tag : 'runtime'
) )
custom_target( custom_target(
command: ['ln', '-sf', fs.name(this_exe), '@OUTPUT@'], command: ['ln', '-sf', fs.name(this_exe), '@OUTPUT@'],
output: 'build-remote', output: 'build-remote' + name_suffix,
# TODO(Ericson2314): Don't do this once we have the `meson.override_find_program` working) # TODO(Ericson2314): Don't do this once we have the `meson.override_find_program` working)
build_by_default: true build_by_default: true
) )