Skip to content

Commit 7317164

Browse files
Add hashlink as a submodule.
1 parent c827c9e commit 7317164

File tree

10 files changed

+271
-932
lines changed

10 files changed

+271
-932
lines changed

.gitignore

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,12 @@
44
Export/
55
ndll/*/lime*
66
ndll/*/liblime*
7+
ndll/*/*.hdll
8+
ndll/*/*.hash
9+
ndll/*/*.so
10+
ndll/*/*.dylib
11+
ndll/*/*.lib
12+
ndll/*/hl*
713
project/all_objs
814
project/obj
915
project/vc*.pdb

.gitmodules

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,3 +58,6 @@
5858
[submodule "project/lib/mojoal"]
5959
path = project/lib/mojoal
6060
url = https://github.com/native-toolkit/mojoal
61+
[submodule "project/lib/hashlink"]
62+
path = project/lib/hashlink
63+
url = https://github.com/HaxeFoundation/hashlink

project/Build.xml

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,7 @@
127127
<section if="LIME_HASHLINK">
128128

129129
<compilerflag value="-DLIME_HASHLINK" />
130+
<compilerflag value="-I${NATIVE_TOOLKIT_PATH}/hashlink/src" />
130131

131132
</section>
132133

@@ -422,7 +423,7 @@
422423
<lib name="Xinput.lib" if="winrt" />
423424
<lib name="DXGI.lib" if="winrt" />
424425

425-
<lib name="-libpath:../templates/bin/hl/windows" if="LIME_HASHLINK" />
426+
<lib name="-libpath:${OUTPUT_DIR}/${BINDIR}" if="LIME_HASHLINK" />
426427
<lib name="libhl.lib" if="LIME_HASHLINK" />
427428
<!-- <lib name="-delayload:libhl.dll" /> -->
428429

@@ -436,7 +437,7 @@
436437
<lib name="-lgc" if="LIME_NEKO" />
437438
<lib name="-lm" if="LIME_NEKO" />
438439

439-
<lib name="-L../templates/bin/hl/linux" if="LIME_HASHLINK" />
440+
<lib name="-L${OUTPUT_DIR}/${BINDIR}" if="LIME_HASHLINK" />
440441
<lib name="-lhl" if="LIME_HASHLINK" />
441442

442443
</section>
@@ -460,7 +461,7 @@
460461
<lib name="/opt/local/lib/libgc.a" if="LIME_NEKO" />
461462
<lib name="-lm" if="LIME_NEKO" />
462463

463-
<lib name="-L../templates/bin/hl/mac" if="LIME_HASHLINK" />
464+
<lib name="-L${OUTPUT_DIR}/${BINDIR}" if="LIME_HASHLINK" />
464465
<lib name="-lhl" if="LIME_HASHLINK" />
465466

466467
</section>

project/BuildHashlink.xml

Lines changed: 241 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,241 @@
1+
<xml>
2+
3+
<set name="PLATFORM" value="android-16" if="android" unless="HXCPP_ARM64 || HXCPP_X86_64" />
4+
<set name="PLATFORM" value="android-21" if="android HXCPP_ARM64" />
5+
<set name="PLATFORM" value="android-21" if="android HXCPP_X86_64" />
6+
<set name="HXCPP_CPP11" value="1" />
7+
8+
<include name="${HXCPP}/build-tool/BuildCommon.xml" />
9+
10+
<set name="ios" value="1" if="iphone" />
11+
<set name="tvos" value="1" if="appletv" />
12+
13+
<set name="HASHLINK_PATH" value="lib/hashlink" unless="HASHLINK_PATH" />
14+
15+
<files id="hl">
16+
<compilerflag value="-I${HASHLINK_PATH}/src" />
17+
18+
<file name="${HASHLINK_PATH}/src/code.c" />
19+
<file name="${HASHLINK_PATH}/src/debugger.c" />
20+
<file name="${HASHLINK_PATH}/src/jit.c" />
21+
<file name="${HASHLINK_PATH}/src/main.c" />
22+
<file name="${HASHLINK_PATH}/src/module.c" />
23+
<file name="${HASHLINK_PATH}/src/profile.c" />
24+
</files>
25+
26+
<files id="libhl">
27+
<compilerflag value="-std=c11" unless="windows" />
28+
29+
<compilerflag value="-I${HASHLINK_PATH}/src" />
30+
<compilerflag value="-I${HASHLINK_PATH}/include" />
31+
<compilerflag value="-I${HASHLINK_PATH}/include/pcre" />
32+
33+
<file name="${HASHLINK_PATH}/src/gc.c" />
34+
<file name="${HASHLINK_PATH}/src/std/array.c" />
35+
<file name="${HASHLINK_PATH}/src/std/bytes.c" />
36+
<file name="${HASHLINK_PATH}/src/std/date.c" />
37+
<file name="${HASHLINK_PATH}/src/std/error.c" />
38+
<file name="${HASHLINK_PATH}/src/std/fun.c" />
39+
<file name="${HASHLINK_PATH}/src/std/obj.c" />
40+
<file name="${HASHLINK_PATH}/src/std/random.c" />
41+
<file name="${HASHLINK_PATH}/src/std/socket.c" />
42+
<file name="${HASHLINK_PATH}/src/std/string.c" />
43+
<file name="${HASHLINK_PATH}/src/std/sys.c" />
44+
<file name="${HASHLINK_PATH}/src/std/thread.c" />
45+
<file name="${HASHLINK_PATH}/src/std/types.c" />
46+
<file name="${HASHLINK_PATH}/src/std/buffer.c" />
47+
<file name="${HASHLINK_PATH}/src/std/cast.c" />
48+
<file name="${HASHLINK_PATH}/src/std/debug.c" />
49+
<file name="${HASHLINK_PATH}/src/std/file.c" />
50+
<file name="${HASHLINK_PATH}/src/std/maps.c" />
51+
<file name="${HASHLINK_PATH}/src/std/math.c" />
52+
<file name="${HASHLINK_PATH}/src/std/process.c" />
53+
<file name="${HASHLINK_PATH}/src/std/regexp.c" />
54+
<file name="${HASHLINK_PATH}/src/std/sys_android.c" if="android" />
55+
<file name="${HASHLINK_PATH}/src/std/sys_ios.m " if="ios" />
56+
<file name="${HASHLINK_PATH}/src/std/track.c" />
57+
<file name="${HASHLINK_PATH}/src/std/ucs2.c" />
58+
59+
<!-- PCRE -->
60+
<file name="${HASHLINK_PATH}/include/pcre/pcre16_ord2utf16.c" />
61+
<file name="${HASHLINK_PATH}/include/pcre/pcre_globals.c" />
62+
<file name="${HASHLINK_PATH}/include/pcre/pcre16_valid_utf16.c" />
63+
<file name="${HASHLINK_PATH}/include/pcre/pcre_newline.c" />
64+
<file name="${HASHLINK_PATH}/include/pcre/pcre_chartables.c" />
65+
<file name="${HASHLINK_PATH}/include/pcre/pcre_string_utils.c" />
66+
<file name="${HASHLINK_PATH}/include/pcre/pcre_compile.c" />
67+
<file name="${HASHLINK_PATH}/include/pcre/pcre_tables.c" />
68+
<file name="${HASHLINK_PATH}/include/pcre/pcre_dfa_exec.c" />
69+
<file name="${HASHLINK_PATH}/include/pcre/pcre_ucd.c" />
70+
<file name="${HASHLINK_PATH}/include/pcre/pcre_exec.c" />
71+
<file name="${HASHLINK_PATH}/include/pcre/pcre_xclass.c" />
72+
<file name="${HASHLINK_PATH}/include/pcre/pcre_fullinfo.c" />
73+
74+
<!-- macOS debugging -->
75+
<file name="${HASHLINK_PATH}/include/mdbg/mdbg.c" if="mac" />
76+
<file name="${HASHLINK_PATH}/include/mdbg/mach_excServer.c" if="mac" />
77+
<file name="${HASHLINK_PATH}/include/mdbg/mach_excUser.c" if="mac" />
78+
</files>
79+
80+
<files id="ssl">
81+
<compilerflag value="-I${HASHLINK_PATH}/src" />
82+
<compilerflag value="-I${HASHLINK_PATH}/include/mbedtls/include" />
83+
84+
<file name="${HASHLINK_PATH}/libs/ssl/ssl.c" />
85+
86+
<section if="windows">
87+
<file name="${HASHLINK_PATH}/include/mbedtls/library/aes.c" />
88+
<file name="${HASHLINK_PATH}/include/mbedtls/library/aesni.c" />
89+
<file name="${HASHLINK_PATH}/include/mbedtls/library/arc4.c" />
90+
<file name="${HASHLINK_PATH}/include/mbedtls/library/asn1parse.c" />
91+
<file name="${HASHLINK_PATH}/include/mbedtls/library/asn1write.c" />
92+
<file name="${HASHLINK_PATH}/include/mbedtls/library/base64.c" />
93+
<file name="${HASHLINK_PATH}/include/mbedtls/library/bignum.c" />
94+
<file name="${HASHLINK_PATH}/include/mbedtls/library/blowfish.c" />
95+
<file name="${HASHLINK_PATH}/include/mbedtls/library/camellia.c" />
96+
<file name="${HASHLINK_PATH}/include/mbedtls/library/ccm.c" />
97+
<file name="${HASHLINK_PATH}/include/mbedtls/library/certs.c" />
98+
<file name="${HASHLINK_PATH}/include/mbedtls/library/cipher.c" />
99+
<file name="${HASHLINK_PATH}/include/mbedtls/library/cipher_wrap.c" />
100+
<file name="${HASHLINK_PATH}/include/mbedtls/library/ctr_drbg.c" />
101+
<file name="${HASHLINK_PATH}/include/mbedtls/library/debug.c" />
102+
<file name="${HASHLINK_PATH}/include/mbedtls/library/des.c" />
103+
<file name="${HASHLINK_PATH}/include/mbedtls/library/dhm.c" />
104+
<file name="${HASHLINK_PATH}/include/mbedtls/library/ecdh.c" />
105+
<file name="${HASHLINK_PATH}/include/mbedtls/library/ecdsa.c" />
106+
<file name="${HASHLINK_PATH}/include/mbedtls/library/ecjpake.c" />
107+
<file name="${HASHLINK_PATH}/include/mbedtls/library/ecp.c" />
108+
<file name="${HASHLINK_PATH}/include/mbedtls/library/ecp_curves.c" />
109+
<file name="${HASHLINK_PATH}/include/mbedtls/library/entropy.c" />
110+
<file name="${HASHLINK_PATH}/include/mbedtls/library/entropy_poll.c" />
111+
<file name="${HASHLINK_PATH}/include/mbedtls/library/error.c" />
112+
<file name="${HASHLINK_PATH}/include/mbedtls/library/gcm.c" />
113+
<file name="${HASHLINK_PATH}/include/mbedtls/library/havege.c" />
114+
<file name="${HASHLINK_PATH}/include/mbedtls/library/hmac_drbg.c" />
115+
<file name="${HASHLINK_PATH}/include/mbedtls/library/md.c" />
116+
<file name="${HASHLINK_PATH}/include/mbedtls/library/md2.c" />
117+
<file name="${HASHLINK_PATH}/include/mbedtls/library/md4.c" />
118+
<file name="${HASHLINK_PATH}/include/mbedtls/library/md5.c" />
119+
<file name="${HASHLINK_PATH}/include/mbedtls/library/md_wrap.c" />
120+
<file name="${HASHLINK_PATH}/include/mbedtls/library/memory_buffer_alloc.c" />
121+
<file name="${HASHLINK_PATH}/include/mbedtls/library/oid.c" />
122+
<file name="${HASHLINK_PATH}/include/mbedtls/library/padlock.c" />
123+
<file name="${HASHLINK_PATH}/include/mbedtls/library/pem.c" />
124+
<file name="${HASHLINK_PATH}/include/mbedtls/library/pk.c" />
125+
<file name="${HASHLINK_PATH}/include/mbedtls/library/pkcs11.c" />
126+
<file name="${HASHLINK_PATH}/include/mbedtls/library/pkcs12.c" />
127+
<file name="${HASHLINK_PATH}/include/mbedtls/library/pkcs5.c" />
128+
<file name="${HASHLINK_PATH}/include/mbedtls/library/pkparse.c" />
129+
<file name="${HASHLINK_PATH}/include/mbedtls/library/pkwrite.c" />
130+
<file name="${HASHLINK_PATH}/include/mbedtls/library/pk_wrap.c" />
131+
<file name="${HASHLINK_PATH}/include/mbedtls/library/platform.c" />
132+
<file name="${HASHLINK_PATH}/include/mbedtls/library/ripemd160.c" />
133+
<file name="${HASHLINK_PATH}/include/mbedtls/library/rsa.c" />
134+
<file name="${HASHLINK_PATH}/include/mbedtls/library/rsa_internal.c" />
135+
<file name="${HASHLINK_PATH}/include/mbedtls/library/sha1.c" />
136+
<file name="${HASHLINK_PATH}/include/mbedtls/library/sha256.c" />
137+
<file name="${HASHLINK_PATH}/include/mbedtls/library/sha512.c" />
138+
<file name="${HASHLINK_PATH}/include/mbedtls/library/ssl_cache.c" />
139+
<file name="${HASHLINK_PATH}/include/mbedtls/library/ssl_ciphersuites.c" />
140+
<file name="${HASHLINK_PATH}/include/mbedtls/library/ssl_cli.c" />
141+
<file name="${HASHLINK_PATH}/include/mbedtls/library/ssl_cookie.c" />
142+
<file name="${HASHLINK_PATH}/include/mbedtls/library/ssl_srv.c" />
143+
<file name="${HASHLINK_PATH}/include/mbedtls/library/ssl_ticket.c" />
144+
<file name="${HASHLINK_PATH}/include/mbedtls/library/ssl_tls.c" />
145+
<file name="${HASHLINK_PATH}/include/mbedtls/library/threading.c" />
146+
<file name="${HASHLINK_PATH}/include/mbedtls/library/timing.c" />
147+
<file name="${HASHLINK_PATH}/include/mbedtls/library/version.c" />
148+
<file name="${HASHLINK_PATH}/include/mbedtls/library/version_features.c" />
149+
<file name="${HASHLINK_PATH}/include/mbedtls/library/x509.c" />
150+
<file name="${HASHLINK_PATH}/include/mbedtls/library/x509write_crt.c" />
151+
<file name="${HASHLINK_PATH}/include/mbedtls/library/x509write_csr.c" />
152+
<file name="${HASHLINK_PATH}/include/mbedtls/library/x509_create.c" />
153+
<file name="${HASHLINK_PATH}/include/mbedtls/library/x509_crl.c" />
154+
<file name="${HASHLINK_PATH}/include/mbedtls/library/x509_crt.c" />
155+
<file name="${HASHLINK_PATH}/include/mbedtls/library/x509_csr.c" />
156+
<file name="${HASHLINK_PATH}/include/mbedtls/library/xtea.c" />
157+
</section>
158+
</files>
159+
160+
<files id="mysql">
161+
<compilerflag value="-I${HASHLINK_PATH}/src" />
162+
163+
<file name="${HASHLINK_PATH}/libs/mysql/socket.c" />
164+
<file name="${HASHLINK_PATH}/libs/mysql/sha1.c" />
165+
<file name="${HASHLINK_PATH}/libs/mysql/my_proto.c" />
166+
<file name="${HASHLINK_PATH}/libs/mysql/my_api.c" />
167+
<file name="${HASHLINK_PATH}/libs/mysql/mysql.c" />
168+
</files>
169+
170+
<!-- <files id="fmt">
171+
<compilerflag value="-I${HASHLINK_PATH}/src" />
172+
<file name="${HASHLINK_PATH}/libs/fmt/fmt.o" />
173+
<file name="${HASHLINK_PATH}/libs/fmt/sha1.o" />
174+
<file name="${HASHLINK_PATH}/include/mikktspace/mikktspace.o" />
175+
<file name="${HASHLINK_PATH}/libs/fmt/mikkt.o" />
176+
<file name="${HASHLINK_PATH}/libs/fmt/dxt.o" />
177+
</files>
178+
<files id="ui">
179+
<file name="${HASHLINK_PATH}/libs/ui/ui_stub.c" unless="windows" />
180+
<file name="${HASHLINK_PATH}/libs/ui/ui_win32.c" if="windows" />
181+
</files>
182+
<files id="uv"></files> -->
183+
<set name="LIBSUFFIX" value="lib" if="windows" />
184+
<set name="LIBSUFFIX" value="dylib" if="mac || ios || tvos" />
185+
<set name="LIBSUFFIX" value="so" unless="LIBSUFFIX" />
186+
<set name="OUTPUT_DIR" value="../ndll" unless="OUTPUT_DIR" />
187+
188+
<target id="libhl" output="libhl" tool="linker" toolid="dll">
189+
<outdir name="${OUTPUT_DIR}/${BINDIR}" />
190+
<files id="libhl" />
191+
<ext value=".${LIBSUFFIX}" />
192+
193+
<section if="windows">
194+
<lib name="user32.lib" />
195+
<lib name="ws2_32.lib" />
196+
</section>
197+
</target>
198+
199+
<target id="ssl" output="ssl" tool="linker" toolid="dll">
200+
<outdir name="${OUTPUT_DIR}/${BINDIR}" />
201+
<ext value=".hdll" />
202+
<files id="ssl" />
203+
204+
<lib name="-lhl" unless="windows" />
205+
<lib name="libhl.lib" if="windows" />
206+
207+
<lib name="-lmbedtls" unless="windows" />
208+
<lib name="-lmbedx509" unless="windows" />
209+
<lib name="-lmbedcrypto" unless="windows" />
210+
211+
<vflag name="-framework" value="Security" if="max || ios || tvos" />
212+
<vflag name="-framework" value="CoreFoundation" if="max || ios || tvos" />
213+
</target>
214+
215+
<target id="mysql" output="mysql" tool="linker" toolid="dll">
216+
<outdir name="${OUTPUT_DIR}/${BINDIR}" />
217+
<ext value=".hdll" />
218+
<files id="mysql" />
219+
220+
<lib name="-lhl" unless="windows" />
221+
<lib name="libhl.lib" if="windows" />
222+
223+
</target>
224+
225+
<target id="hl" output="hl" tool="linker" toolid="exe">
226+
<outdir name="${OUTPUT_DIR}/${BINDIR}" />
227+
<files id="hl" />
228+
229+
<lib name="-lhl" unless="windows" />
230+
<lib name="libhl.lib" if="windows" />
231+
</target>
232+
233+
<target id="default">
234+
<outdir name="${OUTPUT_DIR}/${BINDIR}" />
235+
236+
<target id="libhl" />
237+
<target id="ssl" />
238+
<target id="mysql" />
239+
<target id="hl" />
240+
</target>
241+
</xml>

0 commit comments

Comments
 (0)