Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions project/Build.xml
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,8 @@

<files id="lime">

<!-- setting HXCPP_CPP11 doesn't seem to apply to .mm files -->
<compilerflag value="-std=c++11" unless="isMsvc" />
<compilerflag value="-Iinclude" />

<file name="src/ExternalInterface.cpp" />
Expand Down
111 changes: 14 additions & 97 deletions project/BuildHashlink.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,11 @@
<set name="ios" value="1" if="iphone" />
<set name="tvos" value="1" if="appletv" />

<set name="NATIVE_TOOLKIT_PATH" value="lib" unless="NATIVE_TOOLKIT_PATH"/>
<set name="HASHLINK_PATH" value="lib/hashlink" unless="HASHLINK_PATH" />

<include name="lib/mbedtls-files.xml"/>

<files id="hl">
<compilerflag value="-I${HASHLINK_PATH}/src" />

Expand Down Expand Up @@ -54,31 +57,20 @@
<file name="${HASHLINK_PATH}/src/std/ucs2.c" />

<!-- PCRE2 -->
<file name="${HASHLINK_PATH}/include/pcre/pcre16_ord2utf16.c" />
<file name="${HASHLINK_PATH}/include/pcre/pcre2_ord2utf.c" />
<compilerflag value="-DHAVE_CONFIG_H" />
<file name="${HASHLINK_PATH}/include/pcre/pcre_globals.c" />
<compilerflag value="-DPCRE2_CODE_UNIT_WIDTH=16" />
<file name="${HASHLINK_PATH}/include/pcre/pcre16_valid_utf16.c" />
<file name="${HASHLINK_PATH}/include/pcre/pcre2_valid_utf.c" />
<file name="${HASHLINK_PATH}/include/pcre/pcre2_auto_possess.c" />
<file name="${HASHLINK_PATH}/include/pcre/pcre_newline.c" />
<file name="${HASHLINK_PATH}/include/pcre/pcre2_chartables.c" />
<file name="${HASHLINK_PATH}/include/pcre/pcre_chartables.c" />
<file name="${HASHLINK_PATH}/include/pcre/pcre2_compile.c" />
<file name="${HASHLINK_PATH}/include/pcre/pcre_string_utils.c" />
<file name="${HASHLINK_PATH}/include/pcre/pcre2_config.c" />
<file name="${HASHLINK_PATH}/include/pcre/pcre_compile.c" />
<file name="${HASHLINK_PATH}/include/pcre/pcre2_context.c" />
<file name="${HASHLINK_PATH}/include/pcre/pcre_tables.c" />
<file name="${HASHLINK_PATH}/include/pcre/pcre2_convert.c" />
<file name="${HASHLINK_PATH}/include/pcre/pcre_dfa_exec.c" />
<file name="${HASHLINK_PATH}/include/pcre/pcre2_dfa_match.c" />
<file name="${HASHLINK_PATH}/include/pcre/pcre_ucd.c" />
<file name="${HASHLINK_PATH}/include/pcre/pcre2_error.c" />
<file name="${HASHLINK_PATH}/include/pcre/pcre_exec.c" />
<file name="${HASHLINK_PATH}/include/pcre/pcre2_extuni.c" />
<file name="${HASHLINK_PATH}/include/pcre/pcre_xclass.c" />
<file name="${HASHLINK_PATH}/include/pcre/pcre2_find_bracket.c" />
<file name="${HASHLINK_PATH}/include/pcre/pcre_fullinfo.c" />
<file name="${HASHLINK_PATH}/include/pcre/pcre2_jit_compile.c" />
<file name="${HASHLINK_PATH}/include/pcre/pcre2_maketables.c" />
<file name="${HASHLINK_PATH}/include/pcre/pcre2_match_data.c" />
Expand Down Expand Up @@ -106,84 +98,15 @@

<files id="ssl">
<compilerflag value="-I${HASHLINK_PATH}/src" />
<compilerflag value="-I${HASHLINK_PATH}/include/mbedtls/include" />

<compilerflag value="-I${NATIVE_TOOLKIT_PATH}/custom/hl-ssl" />
<compilerflag value="-I${NATIVE_TOOLKIT_PATH}/mbedtls/include" />
<compilerflag value="-D_UNICODE" if="windows"/>
<compilerflag value="-DUNICODE" if="windows"/>
<compilerflag value="-DMBEDTLS_THREADING_C"/>
<compilerflag value="-DMBEDTLS_THREADING_PTHREAD" unless="windows"/>
<compilerflag value="-DMBEDTLS_THREADING_ALT" if="windows"/>
<compilerflag value="/std:c11" if="windows"/>
<file name="${HASHLINK_PATH}/libs/ssl/ssl.c" />

<compilerflag value="-I/usr/local/include" if="mac"/>

<section if="windows">
<file name="${HASHLINK_PATH}/include/mbedtls/library/aes.c" />
<file name="${HASHLINK_PATH}/include/mbedtls/library/aesni.c" />
<file name="${HASHLINK_PATH}/include/mbedtls/library/arc4.c" />
<file name="${HASHLINK_PATH}/include/mbedtls/library/asn1parse.c" />
<file name="${HASHLINK_PATH}/include/mbedtls/library/asn1write.c" />
<file name="${HASHLINK_PATH}/include/mbedtls/library/base64.c" />
<file name="${HASHLINK_PATH}/include/mbedtls/library/bignum.c" />
<file name="${HASHLINK_PATH}/include/mbedtls/library/blowfish.c" />
<file name="${HASHLINK_PATH}/include/mbedtls/library/camellia.c" />
<file name="${HASHLINK_PATH}/include/mbedtls/library/ccm.c" />
<file name="${HASHLINK_PATH}/include/mbedtls/library/certs.c" />
<file name="${HASHLINK_PATH}/include/mbedtls/library/cipher.c" />
<file name="${HASHLINK_PATH}/include/mbedtls/library/cipher_wrap.c" />
<file name="${HASHLINK_PATH}/include/mbedtls/library/ctr_drbg.c" />
<file name="${HASHLINK_PATH}/include/mbedtls/library/debug.c" />
<file name="${HASHLINK_PATH}/include/mbedtls/library/des.c" />
<file name="${HASHLINK_PATH}/include/mbedtls/library/dhm.c" />
<file name="${HASHLINK_PATH}/include/mbedtls/library/ecdh.c" />
<file name="${HASHLINK_PATH}/include/mbedtls/library/ecdsa.c" />
<file name="${HASHLINK_PATH}/include/mbedtls/library/ecjpake.c" />
<file name="${HASHLINK_PATH}/include/mbedtls/library/ecp.c" />
<file name="${HASHLINK_PATH}/include/mbedtls/library/ecp_curves.c" />
<file name="${HASHLINK_PATH}/include/mbedtls/library/entropy.c" />
<file name="${HASHLINK_PATH}/include/mbedtls/library/entropy_poll.c" />
<file name="${HASHLINK_PATH}/include/mbedtls/library/error.c" />
<file name="${HASHLINK_PATH}/include/mbedtls/library/gcm.c" />
<file name="${HASHLINK_PATH}/include/mbedtls/library/havege.c" />
<file name="${HASHLINK_PATH}/include/mbedtls/library/hmac_drbg.c" />
<file name="${HASHLINK_PATH}/include/mbedtls/library/md.c" />
<file name="${HASHLINK_PATH}/include/mbedtls/library/md2.c" />
<file name="${HASHLINK_PATH}/include/mbedtls/library/md4.c" />
<file name="${HASHLINK_PATH}/include/mbedtls/library/md5.c" />
<file name="${HASHLINK_PATH}/include/mbedtls/library/md_wrap.c" />
<file name="${HASHLINK_PATH}/include/mbedtls/library/memory_buffer_alloc.c" />
<file name="${HASHLINK_PATH}/include/mbedtls/library/oid.c" />
<file name="${HASHLINK_PATH}/include/mbedtls/library/padlock.c" />
<file name="${HASHLINK_PATH}/include/mbedtls/library/pem.c" />
<file name="${HASHLINK_PATH}/include/mbedtls/library/pk.c" />
<file name="${HASHLINK_PATH}/include/mbedtls/library/pkcs11.c" />
<file name="${HASHLINK_PATH}/include/mbedtls/library/pkcs12.c" />
<file name="${HASHLINK_PATH}/include/mbedtls/library/pkcs5.c" />
<file name="${HASHLINK_PATH}/include/mbedtls/library/pkparse.c" />
<file name="${HASHLINK_PATH}/include/mbedtls/library/pkwrite.c" />
<file name="${HASHLINK_PATH}/include/mbedtls/library/pk_wrap.c" />
<file name="${HASHLINK_PATH}/include/mbedtls/library/platform.c" />
<file name="${HASHLINK_PATH}/include/mbedtls/library/ripemd160.c" />
<file name="${HASHLINK_PATH}/include/mbedtls/library/rsa.c" />
<file name="${HASHLINK_PATH}/include/mbedtls/library/rsa_internal.c" />
<file name="${HASHLINK_PATH}/include/mbedtls/library/sha1.c" />
<file name="${HASHLINK_PATH}/include/mbedtls/library/sha256.c" />
<file name="${HASHLINK_PATH}/include/mbedtls/library/sha512.c" />
<file name="${HASHLINK_PATH}/include/mbedtls/library/ssl_cache.c" />
<file name="${HASHLINK_PATH}/include/mbedtls/library/ssl_ciphersuites.c" />
<file name="${HASHLINK_PATH}/include/mbedtls/library/ssl_cli.c" />
<file name="${HASHLINK_PATH}/include/mbedtls/library/ssl_cookie.c" />
<file name="${HASHLINK_PATH}/include/mbedtls/library/ssl_srv.c" />
<file name="${HASHLINK_PATH}/include/mbedtls/library/ssl_ticket.c" />
<file name="${HASHLINK_PATH}/include/mbedtls/library/ssl_tls.c" />
<file name="${HASHLINK_PATH}/include/mbedtls/library/threading.c" />
<file name="${HASHLINK_PATH}/include/mbedtls/library/timing.c" />
<file name="${HASHLINK_PATH}/include/mbedtls/library/version.c" />
<file name="${HASHLINK_PATH}/include/mbedtls/library/version_features.c" />
<file name="${HASHLINK_PATH}/include/mbedtls/library/x509.c" />
<file name="${HASHLINK_PATH}/include/mbedtls/library/x509write_crt.c" />
<file name="${HASHLINK_PATH}/include/mbedtls/library/x509write_csr.c" />
<file name="${HASHLINK_PATH}/include/mbedtls/library/x509_create.c" />
<file name="${HASHLINK_PATH}/include/mbedtls/library/x509_crl.c" />
<file name="${HASHLINK_PATH}/include/mbedtls/library/x509_crt.c" />
<file name="${HASHLINK_PATH}/include/mbedtls/library/x509_csr.c" />
<file name="${HASHLINK_PATH}/include/mbedtls/library/xtea.c" />
</section>
</files>

<files id="mysql">
Expand Down Expand Up @@ -399,6 +322,7 @@
<outdir name="${OUTPUT_DIR}/${BINDIR}" />
<ext value=".hdll" />
<files id="ssl" />
<files id="native-toolkit-mbedtls"/>

<vflag name="-install_name" value="@executable_path/ssl.hdll" if="mac"/>

Expand All @@ -411,13 +335,6 @@
<lib name="Crypt32.lib" if="windows" />
<lib name="ws2_32.lib" if="windows" />

<!-- Find homebrews mbedtls -->
<lib name="-L/usr/local/lib" if="mac" />

<lib name="-lmbedtls" unless="windows" />
<lib name="-lmbedx509" unless="windows" />
<lib name="-lmbedcrypto" unless="windows" />

<vflag name="-framework" value="Security" if="mac || ios || tvos" />
<vflag name="-framework" value="CoreFoundation" if="mac || ios || tvos" />
</target>
Expand Down
6 changes: 6 additions & 0 deletions project/lib/custom/hl-ssl/threading_alt.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
#include <windows.h>

typedef struct {
CRITICAL_SECTION cs;
char is_valid;
} mbedtls_threading_mutex_t;
7 changes: 6 additions & 1 deletion project/lib/mbedtls-files.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,13 @@

<files id="native-toolkit-mbedtls">

<compilerflag value="-std=c11" unless="isMsvc" />
<compilerflag value="-I${NATIVE_TOOLKIT_PATH}/custom/hl-ssl" if="HASHLINK_PATH"/>
<compilerflag value="-I${NATIVE_TOOLKIT_PATH}/mbedtls/include/" />
<compilerflag value="-I${NATIVE_TOOLKIT_PATH}/zlib/" />
<compilerflag value="-DMBEDTLS_THREADING_C" if="HASHLINK_PATH"/>
<compilerflag value="-DMBEDTLS_THREADING_PTHREAD" unless="windows" if="HASHLINK_PATH"/>
<compilerflag value="-DMBEDTLS_THREADING_ALT" if="windows HASHLINK_PATH"/>
<file name="${NATIVE_TOOLKIT_PATH}/mbedtls/library/aes.c" />
<file name="${NATIVE_TOOLKIT_PATH}/mbedtls/library/aesni.c" />
<file name="${NATIVE_TOOLKIT_PATH}/mbedtls/library/arc4.c" />
Expand Down Expand Up @@ -43,7 +48,7 @@
<file name="${NATIVE_TOOLKIT_PATH}/mbedtls/library/memory_buffer_alloc.c" />
<file name="${NATIVE_TOOLKIT_PATH}/mbedtls/library/mps_reader.c" />
<file name="${NATIVE_TOOLKIT_PATH}/mbedtls/library/mps_trace.c" />
<file name="${NATIVE_TOOLKIT_PATH}/mbedtls/library/net_sockets.c" />
<file name="${NATIVE_TOOLKIT_PATH}/mbedtls/library/net_sockets.c" unless="HASHLINK_PATH" />
<file name="${NATIVE_TOOLKIT_PATH}/mbedtls/library/nist_kw.c" />
<file name="${NATIVE_TOOLKIT_PATH}/mbedtls/library/oid.c" />
<file name="${NATIVE_TOOLKIT_PATH}/mbedtls/library/padlock.c" />
Expand Down
5 changes: 3 additions & 2 deletions project/src/ExternalInterface.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -4304,7 +4304,7 @@ namespace lime {
DEFINE_HL_PRIM (_BYTES, hl_gamepad_get_device_name, _I32);
DEFINE_HL_PRIM (_TBYTES, hl_gzip_compress, _TBYTES _TBYTES);
DEFINE_HL_PRIM (_TBYTES, hl_gzip_decompress, _TBYTES _TBYTES);
DEFINE_HL_PRIM (_VOID, hl_haptic_vibrate, _I32 _I32);
DEFINE_HL_PRIM (_VOID, hl_haptic_vibrate, _I32 _I32 _F64);
DEFINE_HL_PRIM (_VOID, hl_image_data_util_color_transform, _TIMAGE _TRECTANGLE _TARRAYBUFFERVIEW);
DEFINE_HL_PRIM (_VOID, hl_image_data_util_copy_channel, _TIMAGE _TIMAGE _TRECTANGLE _TVECTOR2 _I32 _I32);
DEFINE_HL_PRIM (_VOID, hl_image_data_util_copy_pixels, _TIMAGE _TIMAGE _TRECTANGLE _TVECTOR2 _TIMAGE _TVECTOR2 _BOOL);
Expand Down Expand Up @@ -4362,7 +4362,7 @@ namespace lime {
DEFINE_HL_PRIM (_VOID, hl_system_open_url, _STRING _STRING);
DEFINE_HL_PRIM (_BOOL, hl_system_set_allow_screen_timeout, _BOOL);
DEFINE_HL_PRIM (_I32, hl_system_get_display_orientation, _I32);
DEFINE_HL_PRIM (_VOID, hl_system_get_hint, _STRING);
DEFINE_HL_PRIM (_BYTES, hl_system_get_hint, _STRING);
DEFINE_HL_PRIM (_BOOL, hl_system_set_windows_console_mode, _I32 _I32);
DEFINE_HL_PRIM (_VOID, hl_text_event_manager_register, _FUN (_VOID, _NO_ARG) _TTEXT_EVENT);
DEFINE_HL_PRIM (_VOID, hl_touch_event_manager_register, _FUN (_VOID, _NO_ARG) _TTOUCH_EVENT);
Expand Down Expand Up @@ -4409,6 +4409,7 @@ namespace lime {
DEFINE_HL_PRIM (_VOID, hl_window_warp_mouse, _TCFFIPOINTER _I32 _I32);
DEFINE_HL_PRIM (_F64, hl_window_get_opacity, _TCFFIPOINTER);
DEFINE_HL_PRIM (_VOID, hl_window_set_opacity, _TCFFIPOINTER _F64);
DEFINE_HL_PRIM (_BOOL, hl_window_set_vsync_mode, _TCFFIPOINTER _I32);
DEFINE_HL_PRIM (_TBYTES, hl_zlib_compress, _TBYTES _TBYTES);
DEFINE_HL_PRIM (_TBYTES, hl_zlib_decompress, _TBYTES _TBYTES);

Expand Down
1 change: 1 addition & 0 deletions project/src/ui/KeyEvent.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,7 @@ namespace lime {
eventObject->modifier = event->modifier;
eventObject->type = event->type;
eventObject->windowID = event->windowID;
eventObject->timestamp = event->timestamp;

}

Expand Down
2 changes: 1 addition & 1 deletion src/lime/_internal/backend/native/NativeCFFI.hx
Original file line number Diff line number Diff line change
Expand Up @@ -1292,7 +1292,7 @@ class NativeCFFI

@:hlNative("lime", "hl_window_alert") private static function lime_window_alert(handle:CFFIPointer, message:String, title:String):Void {}

@:hlNative("lime", "hl_window_set_vsync_mode") private static function lime_window_set_vsync_mode(handle:CFFIPointer, mode:Int):Bool {}
@:hlNative("lime", "hl_window_set_vsync_mode") private static function lime_window_set_vsync_mode(handle:CFFIPointer, mode:Int):Bool { return false; }

@:hlNative("lime", "hl_window_close") private static function lime_window_close(handle:CFFIPointer):Void {}

Expand Down