mirror of
https://github.com/mkxp-z/mkxp-z.git
synced 2025-04-21 21:52:04 +02:00
Fix Windows build errors
This commit is contained in:
parent
961a8fb63b
commit
8f78a4cf17
7 changed files with 28 additions and 35 deletions
|
@ -81,8 +81,6 @@ RB_METHOD(httpPost) {
|
|||
req.headers().insert(headers.begin(), headers.end());
|
||||
}
|
||||
|
||||
VALUE keys = NUM2INT(rb_funcall(postDataHash, rb_intern("keys"), 0));
|
||||
|
||||
auto postData = hash2StringMap(postDataHash);
|
||||
auto res = req.post(postData);
|
||||
ret = rb_hash_new();
|
||||
|
|
|
@ -3,7 +3,7 @@ if get_option('mri_includes') == ''
|
|||
ver = get_option('mri_version')
|
||||
if ver.version_compare('<=1.8')
|
||||
global_args += '-DMKXPZ_LEGACY_RUBY'
|
||||
elif ver.version_compare('>=3.0')
|
||||
elif ver.version_compare('>=3.0') and compilers['cpp'].get_id() == 'clang'
|
||||
global_args += '-fdeclspec'
|
||||
endif
|
||||
global_dependencies += dependency('ruby-' + ver)
|
||||
|
@ -46,6 +46,7 @@ endif
|
|||
|
||||
if miniffi == true
|
||||
binding_source += files('miniffi-binding.cpp')
|
||||
binding_source += files('miniffi.cpp')
|
||||
endif
|
||||
|
||||
global_sources += binding_source
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
#define MVAL2RB(v) ULONG2NUM(v)
|
||||
#define RB2MVAL(v) (mffi_value)NUM2ULONG(v)
|
||||
#else
|
||||
#ifdef _WIN64
|
||||
#ifdef __MINGW64__
|
||||
#define MVAL2RB(v) ULL2NUM(v)
|
||||
#define RB2MVAL(v) (mffi_value)NUM2ULL(v)
|
||||
#else
|
||||
|
@ -214,7 +214,7 @@ RB_METHOD(MiniFFI_call) {
|
|||
VALUE func = rb_iv_get(self, "_func");
|
||||
VALUE own_imports = rb_iv_get(self, "_imports");
|
||||
VALUE own_exports = rb_iv_get(self, "_exports");
|
||||
MINIFFI_FUNC ApiFunction = (MINIFFI_FUNC)NUM2ULONG(func);
|
||||
MINIFFI_FUNC ApiFunction = (MINIFFI_FUNC)RB2MVAL(func);
|
||||
VALUE args;
|
||||
int items = rb_scan_args(argc, argv, "0*", &args);
|
||||
int nimport = RARRAY_LEN(own_imports);
|
||||
|
@ -234,7 +234,7 @@ RB_METHOD(MiniFFI_call) {
|
|||
} else {
|
||||
StringValue(str);
|
||||
rb_str_modify(str);
|
||||
lParam = (unsigned long)RSTRING_PTR(str);
|
||||
lParam = (mffi_value)RSTRING_PTR(str);
|
||||
}
|
||||
break;
|
||||
|
||||
|
|
|
@ -8,13 +8,10 @@ mffi_value miniffi_call_intern(MINIFFI_FUNC target, MiniFFIFuncArgs *p, int npar
|
|||
p->params[4], p->params[5], p->params[6], p->params[7]);
|
||||
}
|
||||
#else
|
||||
mffi_value miniffi_call_intern(MINIFFI_FUNC target, MiniFFIFuncArgs *p, size_t nparams) {
|
||||
return call_asm(target, p, nparams);
|
||||
}
|
||||
|
||||
#define INTEL_ASM ".intel_syntax noprefix\n"
|
||||
__attribute__((noinline))
|
||||
#ifndef __MINGW64__
|
||||
mffi_value call_asm(MINIFFI_FUNC target, MINIFFIFuncArgs *p, size_t nparams) {
|
||||
mffi_value miniffi_call_intern(MINIFFI_FUNC target, MiniFFIFuncArgs *p, int nparams) {
|
||||
mffi_value ret;
|
||||
void *old_esp = 0;
|
||||
|
||||
|
@ -39,7 +36,7 @@ mffi_value call_asm(MINIFFI_FUNC target, MINIFFIFuncArgs *p, size_t nparams) {
|
|||
"call edx\n"
|
||||
|
||||
: "=a"(ret)
|
||||
: "b"(nparams), "S"(params), "d"(target), "D"(&old_esp)
|
||||
: "b"(nparams), "S"(p), "d"(target), "D"(&old_esp)
|
||||
: "ecx"
|
||||
);
|
||||
|
||||
|
@ -57,7 +54,7 @@ mffi_value call_asm(MINIFFI_FUNC target, MINIFFIFuncArgs *p, size_t nparams) {
|
|||
return ret;
|
||||
}
|
||||
#else
|
||||
mffi_value call_asm(MINIFFI_FUNC target, MINIFFIFuncArgs *p, size_t nparams) {
|
||||
mffi_value miniffi_call_intern(MINIFFI_FUNC target, MiniFFIFuncArgs *p, int nparams) {
|
||||
mffi_value ret;
|
||||
void *old_rsp = 0;
|
||||
asm volatile(INTEL_ASM
|
||||
|
@ -81,7 +78,7 @@ mffi_value call_asm(MINIFFI_FUNC target, MINIFFIFuncArgs *p, size_t nparams) {
|
|||
"call rdx\n"
|
||||
|
||||
: "=a"(ret)
|
||||
: "b"(nparams), "S"(params), "d"(target), "D"(&old_rsp)
|
||||
: "b"(nparams), "S"(p), "d"(target), "D"(&old_rsp)
|
||||
: "rcx"
|
||||
);
|
||||
asm volatile(INTEL_ASM
|
|
@ -1,8 +1,6 @@
|
|||
#pragma once
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
#include <cstdint>
|
||||
|
||||
#if defined(__linux__) || defined(__APPLE__)
|
||||
#define MINIFFI_MAX_ARGS 8l
|
||||
|
@ -26,7 +24,3 @@ typedef struct {
|
|||
} MiniFFIFuncArgs;
|
||||
|
||||
mffi_value miniffi_call_intern(MINIFFI_FUNC target, MiniFFIFuncArgs *p, int nparams);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
|
|
@ -117,12 +117,12 @@
|
|||
3B10EE092568E96A00372D13 /* binding-mri.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3B10EDF02568E96A00372D13 /* binding-mri.cpp */; };
|
||||
3B10EE0B2568E96A00372D13 /* module_rpg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3B10EDF32568E96A00372D13 /* module_rpg.cpp */; };
|
||||
3B10EE0C2568E96A00372D13 /* viewport-binding.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3B10EDF42568E96A00372D13 /* viewport-binding.cpp */; };
|
||||
3B312843259E7DC1002EAB43 /* miniffi.c in Sources */ = {isa = PBXBuildFile; fileRef = 3B312842259E7DC1002EAB43 /* miniffi.c */; };
|
||||
3B312844259E7DC1002EAB43 /* miniffi.c in Sources */ = {isa = PBXBuildFile; fileRef = 3B312842259E7DC1002EAB43 /* miniffi.c */; };
|
||||
3B312845259E7DC1002EAB43 /* miniffi.c in Sources */ = {isa = PBXBuildFile; fileRef = 3B312842259E7DC1002EAB43 /* miniffi.c */; };
|
||||
3B312846259E7DC1002EAB43 /* miniffi.c in Sources */ = {isa = PBXBuildFile; fileRef = 3B312842259E7DC1002EAB43 /* miniffi.c */; };
|
||||
3B312847259E7DC1002EAB43 /* miniffi.c in Sources */ = {isa = PBXBuildFile; fileRef = 3B312842259E7DC1002EAB43 /* miniffi.c */; };
|
||||
3B312848259E7DC1002EAB43 /* miniffi.c in Sources */ = {isa = PBXBuildFile; fileRef = 3B312842259E7DC1002EAB43 /* miniffi.c */; };
|
||||
3B312843259E7DC1002EAB43 /* miniffi.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3B312842259E7DC1002EAB43 /* miniffi.cpp */; };
|
||||
3B312844259E7DC1002EAB43 /* miniffi.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3B312842259E7DC1002EAB43 /* miniffi.cpp */; };
|
||||
3B312845259E7DC1002EAB43 /* miniffi.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3B312842259E7DC1002EAB43 /* miniffi.cpp */; };
|
||||
3B312846259E7DC1002EAB43 /* miniffi.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3B312842259E7DC1002EAB43 /* miniffi.cpp */; };
|
||||
3B312847259E7DC1002EAB43 /* miniffi.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3B312842259E7DC1002EAB43 /* miniffi.cpp */; };
|
||||
3B312848259E7DC1002EAB43 /* miniffi.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3B312842259E7DC1002EAB43 /* miniffi.cpp */; };
|
||||
3B426F77256BA847009EA00F /* libsigc-2.0.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3B426F76256BA847009EA00F /* libsigc-2.0.a */; };
|
||||
3B522DA9259BAA42003301C4 /* libfluidsynth.dylib in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 3B522DA1259BAA13003301C4 /* libfluidsynth.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
|
||||
3B522DAA259BAA4A003301C4 /* libfluidsynth.dylib in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 3B522DA1259BAA13003301C4 /* libfluidsynth.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
|
||||
|
@ -1166,7 +1166,7 @@
|
|||
3B10EDF42568E96A00372D13 /* viewport-binding.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = "viewport-binding.cpp"; sourceTree = "<group>"; };
|
||||
3B10EE1F2569348E00372D13 /* json5pp.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = json5pp.hpp; sourceTree = "<group>"; };
|
||||
3B312841259E7DC1002EAB43 /* miniffi.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = miniffi.h; sourceTree = "<group>"; };
|
||||
3B312842259E7DC1002EAB43 /* miniffi.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = miniffi.c; sourceTree = "<group>"; };
|
||||
3B312842259E7DC1002EAB43 /* miniffi.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = miniffi.cpp; sourceTree = "<group>"; };
|
||||
3B426F6B256B8AC0009EA00F /* fs_std_impl.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = fs_std_impl.hpp; sourceTree = "<group>"; };
|
||||
3B426F6C256B8AC0009EA00F /* fs_fwd.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = fs_fwd.hpp; sourceTree = "<group>"; };
|
||||
3B426F6D256B8AC0009EA00F /* fs_std.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = fs_std.hpp; sourceTree = "<group>"; };
|
||||
|
@ -1822,7 +1822,7 @@
|
|||
3B10EDE62568E96A00372D13 /* etc-binding.cpp */,
|
||||
3B10EDE72568E96A00372D13 /* tilemap-binding.cpp */,
|
||||
3B10EDE82568E96A00372D13 /* miniffi-binding.cpp */,
|
||||
3B312842259E7DC1002EAB43 /* miniffi.c */,
|
||||
3B312842259E7DC1002EAB43 /* miniffi.cpp */,
|
||||
3B312841259E7DC1002EAB43 /* miniffi.h */,
|
||||
3B10EDE92568E96A00372D13 /* graphics-binding.cpp */,
|
||||
3B10EDEA2568E96A00372D13 /* plane-binding.cpp */,
|
||||
|
@ -2345,7 +2345,7 @@
|
|||
3B8E43752587B200008218FC /* windowvx.cpp in Sources */,
|
||||
3B522DEA259C2039003301C4 /* LUrlParser.cpp in Sources */,
|
||||
3B8E43762587B200008218FC /* module_rpg.cpp in Sources */,
|
||||
3B312848259E7DC1002EAB43 /* miniffi.c in Sources */,
|
||||
3B312848259E7DC1002EAB43 /* miniffi.cpp in Sources */,
|
||||
3B8E43772587B200008218FC /* autotiles.cpp in Sources */,
|
||||
3B8E43782587B200008218FC /* audiostream.cpp in Sources */,
|
||||
3B8E43792587B200008218FC /* binding-util.cpp in Sources */,
|
||||
|
@ -2440,7 +2440,7 @@
|
|||
3BC65CE52584EDC60063AFF1 /* windowvx.cpp in Sources */,
|
||||
3B522DE7259C2039003301C4 /* LUrlParser.cpp in Sources */,
|
||||
3BC65CE62584EDC60063AFF1 /* module_rpg.cpp in Sources */,
|
||||
3B312845259E7DC1002EAB43 /* miniffi.c in Sources */,
|
||||
3B312845259E7DC1002EAB43 /* miniffi.cpp in Sources */,
|
||||
3BC65CE72584EDC60063AFF1 /* autotiles.cpp in Sources */,
|
||||
3BC65CE82584EDC60063AFF1 /* audiostream.cpp in Sources */,
|
||||
3BC65CE92584EDC60063AFF1 /* binding-util.cpp in Sources */,
|
||||
|
@ -2528,7 +2528,7 @@
|
|||
3BC65DA62584F3AD0063AFF1 /* windowvx.cpp in Sources */,
|
||||
3B522DE5259C2039003301C4 /* LUrlParser.cpp in Sources */,
|
||||
3BC65DA72584F3AD0063AFF1 /* module_rpg.cpp in Sources */,
|
||||
3B312843259E7DC1002EAB43 /* miniffi.c in Sources */,
|
||||
3B312843259E7DC1002EAB43 /* miniffi.cpp in Sources */,
|
||||
3BC65DA82584F3AD0063AFF1 /* autotiles.cpp in Sources */,
|
||||
3BC65DA92584F3AD0063AFF1 /* audiostream.cpp in Sources */,
|
||||
3BC65DAA2584F3AD0063AFF1 /* binding-util.cpp in Sources */,
|
||||
|
@ -2616,7 +2616,7 @@
|
|||
3B10EDBC2568E95E00372D13 /* windowvx.cpp in Sources */,
|
||||
3B522DE6259C2039003301C4 /* LUrlParser.cpp in Sources */,
|
||||
3B10EE0B2568E96A00372D13 /* module_rpg.cpp in Sources */,
|
||||
3B312844259E7DC1002EAB43 /* miniffi.c in Sources */,
|
||||
3B312844259E7DC1002EAB43 /* miniffi.cpp in Sources */,
|
||||
3B10EDD22568E95E00372D13 /* autotiles.cpp in Sources */,
|
||||
3B10EDB92568E95E00372D13 /* audiostream.cpp in Sources */,
|
||||
3B10EE082568E96A00372D13 /* binding-util.cpp in Sources */,
|
||||
|
@ -2704,7 +2704,7 @@
|
|||
3BF694F02595FE5F0016920C /* windowvx.cpp in Sources */,
|
||||
3B522DE9259C2039003301C4 /* LUrlParser.cpp in Sources */,
|
||||
3BF694F12595FE5F0016920C /* module_rpg.cpp in Sources */,
|
||||
3B312847259E7DC1002EAB43 /* miniffi.c in Sources */,
|
||||
3B312847259E7DC1002EAB43 /* miniffi.cpp in Sources */,
|
||||
3BF694F22595FE5F0016920C /* autotiles.cpp in Sources */,
|
||||
3BF694F32595FE5F0016920C /* audiostream.cpp in Sources */,
|
||||
3BF694F42595FE5F0016920C /* binding-util.cpp in Sources */,
|
||||
|
@ -2792,7 +2792,7 @@
|
|||
3BF6958E259608050016920C /* windowvx.cpp in Sources */,
|
||||
3B522DE8259C2039003301C4 /* LUrlParser.cpp in Sources */,
|
||||
3BF6958F259608050016920C /* module_rpg.cpp in Sources */,
|
||||
3B312846259E7DC1002EAB43 /* miniffi.c in Sources */,
|
||||
3B312846259E7DC1002EAB43 /* miniffi.cpp in Sources */,
|
||||
3BF69590259608050016920C /* autotiles.cpp in Sources */,
|
||||
3BF69591259608050016920C /* audiostream.cpp in Sources */,
|
||||
3BF69592259608050016920C /* binding-util.cpp in Sources */,
|
||||
|
|
|
@ -33,6 +33,9 @@ if get_option('enable-https') == true
|
|||
if openssl.found() == true
|
||||
global_dependencies += openssl
|
||||
global_args += '-DMKXPZ_SSL'
|
||||
if host_system == 'windows'
|
||||
global_link_args += '-lcrypt32'
|
||||
endif
|
||||
else
|
||||
warning('Could not locate OpenSSL. HTTPS will be disabled.')
|
||||
endif
|
||||
|
|
Loading…
Add table
Reference in a new issue