From 9bc3cad79e609b4b0b1252009fa23bb18161ad2d Mon Sep 17 00:00:00 2001 From: arch1t3cht Date: Fri, 13 Oct 2023 23:26:01 +0200 Subject: [PATCH 1/2] Add remaining dasm flags in luajit wrap This now matches the makefile. Also stop hardcoding the flags for MSVC, since cc.get_define seems to work properly there now. --- .../packagefiles/luajit/src/host/meson.build | 51 ++++++++++--------- 1 file changed, 27 insertions(+), 24 deletions(-) diff --git a/subprojects/packagefiles/luajit/src/host/meson.build b/subprojects/packagefiles/luajit/src/host/meson.build index 2cde6b005..0fdc262a3 100644 --- a/subprojects/packagefiles/luajit/src/host/meson.build +++ b/subprojects/packagefiles/luajit/src/host/meson.build @@ -10,34 +10,37 @@ endif dynasm_dasc = files('../vm_@0@.dasc'.format(dynasm_arch)) dasm = [minilua, files('../../dynasm/dynasm.lua')] -if cc.get_id() == 'msvc' - # the cl.exe preprocessor seemingly removes/expands macros, so hardcode flags - dasm += ['-D', 'WIN', '-D', 'JIT', '-D', 'FFI'] - if host_machine.cpu_family() == 'x86_64' - dasm += ['-D', 'P64'] - endif -else - # BUG: meson does not resolve paths correctly for subprojects - hpre = '#include "@0@/../lj_arch.h"'.format(meson.current_source_dir()) +# BUG: meson does not resolve paths correctly for subprojects +hpre = '#include "@0@/../lj_arch.h"'.format(meson.current_source_dir()) - checkdefs = [ - ['LJ_LE', '1', ['-D', 'ENDIAN_LE']], - ['LJ_ARCH_BITS', '64', ['-D', 'P64']], - ['LJ_HASJIT', '1', ['-D', 'JIT']], - ['LJ_HASFFI', '1', ['-D', 'FFI']], - ] +checkdefs = [ + ['LJ_LE', '1', ['-D', 'ENDIAN_LE']], + ['LJ_ARCH_BITS', '64', ['-D', 'P64']], + ['LJ_HASJIT', '1', ['-D', 'JIT']], + ['LJ_HASFFI', '1', ['-D', 'FFI']], + ['LJ_DUALNUM', '1', ['-D', 'DUALNUM']], + ['LJ_ARCH_HASFPU', '1', ['-D', 'FPU']], + ['LJ_ABI_SOFTFP', '0', ['-D', 'HFABI']], + ['LJ_NO_UNWIND', '1', ['-D', 'NO_UNWIND']], + ['LJ_ABI_PAUTH', '1', ['-D', 'PAUTH']], +] - if host_machine.cpu_family() == 'x86' - checkdefs += ['__SSE2__', '1', ['-D', 'SSE']] - endif - - foreach def: checkdefs - if cc.get_define(def[0], prefix: hpre) == def[1] - dasm += def[2] - endif - endforeach +if host_machine.cpu_family() == 'x86' + checkdefs += ['__SSE2__', '1', ['-D', 'SSE']] endif +foreach def: checkdefs + if cc.get_define(def[0], prefix: hpre) == def[1] + dasm += def[2] + endif +endforeach + +if host_machine.system() == 'windows' + dasm += ['-D', 'WIN'] +endif + +dasm += ['-D', 'VER=' + cc.get_define('LJ_ARCH_VERSION', prefix: hpre)] + buildvm_src = files( 'buildvm.c', 'buildvm_asm.c', From b8f4c98c4cbc698e4adbba302c2dc328fe193435 Mon Sep 17 00:00:00 2001 From: arch1t3cht Date: Fri, 13 Oct 2023 23:52:26 +0200 Subject: [PATCH 2/2] Move iconv include to charset_conv.h On newer mac sdks iconv_t is defined differently, so it's harder to just have a typedef for it. --- libaegisub/common/charset_conv.cpp | 1 - libaegisub/include/libaegisub/charset_conv.h | 3 +-- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/libaegisub/common/charset_conv.cpp b/libaegisub/common/charset_conv.cpp index 47644eb1c..ae946c6b8 100644 --- a/libaegisub/common/charset_conv.cpp +++ b/libaegisub/common/charset_conv.cpp @@ -23,7 +23,6 @@ #include #include -#include #include "charset_6937.h" diff --git a/libaegisub/include/libaegisub/charset_conv.h b/libaegisub/include/libaegisub/charset_conv.h index c283c36ca..806a1197c 100644 --- a/libaegisub/include/libaegisub/charset_conv.h +++ b/libaegisub/include/libaegisub/charset_conv.h @@ -23,6 +23,7 @@ #include #include +#include namespace agi { namespace charset { @@ -34,8 +35,6 @@ DEFINE_EXCEPTION(BufferTooSmall, ConversionFailure); DEFINE_EXCEPTION(BadInput, ConversionFailure); DEFINE_EXCEPTION(BadOutput, ConversionFailure); -typedef void *iconv_t; - /// RAII handle for iconv class Iconv { iconv_t cd;