diff --git a/libaegisub/common/charset_conv.cpp b/libaegisub/common/charset_conv.cpp index 47644eb1c9..f19090c154 100644 --- a/libaegisub/common/charset_conv.cpp +++ b/libaegisub/common/charset_conv.cpp @@ -420,7 +420,7 @@ size_t IconvWrapper::DstStrLen(const char* str) { bool IsConversionSupported(const char *src, const char *dst) { iconv_t cd = iconv_open(dst, src); bool supported = cd != iconv_invalid; - iconv_close(cd); + if (supported) iconv_close(cd); return supported; } diff --git a/meson.build b/meson.build index 2ae5280793..b17093b3b8 100644 --- a/meson.build +++ b/meson.build @@ -431,7 +431,7 @@ if host_machine.system() == 'windows' link_depends += manifest_file endif -aegisub = executable('aegisub', aegisub_src, version_h, acconf, +aegisub = executable('aegisub', aegisub_src, version_h, acconf, resrc, link_with: [libresrc, libluabins, libaegisub], link_args: link_args, link_depends: link_depends, diff --git a/subprojects/packagefiles/luajit/src/host/meson.build b/subprojects/packagefiles/luajit/src/host/meson.build index c7b825bb89..b3e963ef43 100644 --- a/subprojects/packagefiles/luajit/src/host/meson.build +++ b/subprojects/packagefiles/luajit/src/host/meson.build @@ -1,7 +1,3 @@ -minilua = executable('minilua', 'minilua.c', - dependencies: system_deps, - native: true) - cpu_family = host_machine.cpu_family() if cpu_family == 'x86_64' dynasm_arch = 'x64' @@ -54,7 +50,7 @@ buildvm_arch = custom_target('buildvm_arch.h', input: dynasm_dasc, output: 'buildvm_arch.h') -buildvm = executable('buildvm', buildvm_src, buildvm_arch, +buildvm = executable('buildvm', buildvm_src, buildvm_arch, luajit_h, dependencies: system_deps, include_directories: src_inc, native: true) diff --git a/subprojects/packagefiles/luajit/src/luajit_relver.txt.in b/subprojects/packagefiles/luajit/src/luajit_relver.txt.in new file mode 100644 index 0000000000..a380c6df95 --- /dev/null +++ b/subprojects/packagefiles/luajit/src/luajit_relver.txt.in @@ -0,0 +1 @@ +@VCS_CT@ diff --git a/subprojects/packagefiles/luajit/src/meson.build b/subprojects/packagefiles/luajit/src/meson.build index b1aeb0ca12..f4deb0079e 100644 --- a/subprojects/packagefiles/luajit/src/meson.build +++ b/subprojects/packagefiles/luajit/src/meson.build @@ -75,6 +75,23 @@ ljcore_src = files( src_inc = include_directories('.') +minilua = executable('minilua', 'host/minilua.c', + dependencies: system_deps, + native: true) + +relver = vcs_tag(command: ['git', 'show', '-s', '--format=%ct'], + fallback: 'ROLLING', + input: 'luajit_relver.txt.in', + output: 'luajit_relver.txt', + replace_string: '@VCS_CT@') + +luajit_rolling_h = files('luajit_rolling.h') + +luajit_h = custom_target('luajit_h', + command: [minilua, '@INPUT@', '@OUTPUT@'], + input: ['host/genversion.lua', 'luajit_rolling.h', relver], + output: 'luajit.h') + subdir('host') hdrgen = [ @@ -84,7 +101,8 @@ hdrgen = [ 'recdef', ] -genheaders = [] +genheaders = [luajit_h] + foreach h: hdrgen genheaders += custom_target(h, command: [buildvm, '-m', h, '-o', '@OUTPUT@', ljlib_src],