Skip to content

Commit a4b4fca

Browse files
authored
Merge branch '8.3.0-Dev' into rm-armv7-armv5
2 parents 1545200 + c8beb39 commit a4b4fca

File tree

48 files changed

+1592
-719
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

48 files changed

+1592
-719
lines changed

.github/workflows/main.yml

Lines changed: 22 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ env:
77
jobs:
88

99
linux:
10-
runs-on: ubuntu-20.04
10+
runs-on: ubuntu-22.04
1111
steps:
1212

1313
- uses: actions/checkout@v4
@@ -30,6 +30,7 @@ jobs:
3030
- name: Install Haxe dependencies
3131
run: |
3232
curl --output ../hxcpp-4.3.45.zip --location https://github.com/HaxeFoundation/hxcpp/releases/download/v4.3.45/hxcpp-4.3.45.zip
33+
haxelib --global update haxelib --quiet
3334
haxelib install ../hxcpp-4.3.45.zip --quiet
3435
haxelib install format --quiet
3536
haxelib install hxp --quiet
@@ -116,6 +117,7 @@ jobs:
116117
rm /usr/local/bin/idle3*
117118
rm /usr/local/bin/pydoc3*
118119
rm /usr/local/bin/python3*
120+
rm /usr/local/bin/pip3*
119121
brew bundle
120122
popd
121123
@@ -272,7 +274,11 @@ jobs:
272274
lime build SimpleAudio windows -release -verbose -nocolor
273275
274276
android:
275-
runs-on: ubuntu-20.04
277+
runs-on: ubuntu-22.04
278+
strategy:
279+
matrix:
280+
ndk-version: [r28c, stable]
281+
fail-fast: false
276282
steps:
277283

278284
- uses: actions/checkout@v4
@@ -282,8 +288,9 @@ jobs:
282288
- name: Install Android NDK
283289
uses: nttld/setup-ndk@v1
284290
id: setup-ndk
291+
if: matrix.ndk-version != 'stable'
285292
with:
286-
ndk-version: r21e
293+
ndk-version: ${{ matrix.ndk-version }}
287294

288295
- uses: actions/setup-java@v4
289296
with:
@@ -317,10 +324,12 @@ jobs:
317324
- name: Configure Android support
318325
run: |
319326
lime config ANDROID_SDK $ANDROID_HOME -eval
320-
lime config ANDROID_NDK_ROOT ${{ steps.setup-ndk.outputs.ndk-path }} -eval
327+
lime config ANDROID_NDK_ROOT ${{ env.LIME_NDK_ROOT }} -eval
321328
lime config JAVA_HOME $JAVA_HOME -eval
322329
lime config ANDROID_SETUP true -eval
323330
lime config -eval
331+
env:
332+
LIME_NDK_ROOT: ${{ matrix.ndk-version == 'stable' && '$ANDROID_NDK_ROOT' || steps.setup-ndk.outputs.ndk-path }}
324333

325334
- name: Rebuild Lime (Android)
326335
run: |
@@ -333,6 +342,7 @@ jobs:
333342
ndll/Android/
334343
!**/.gitignore
335344
if-no-files-found: error
345+
if: matrix.ndk-version != 'stable'
336346

337347
- name: Install samples
338348
run: |
@@ -417,7 +427,7 @@ jobs:
417427
418428
package-haxelib:
419429
needs: [linux, macos, windows, android, ios]
420-
runs-on: ubuntu-20.04
430+
runs-on: ubuntu-22.04
421431
steps:
422432

423433
- uses: actions/checkout@v4
@@ -533,7 +543,7 @@ jobs:
533543
if-no-files-found: error
534544

535545
docs:
536-
runs-on: ubuntu-20.04
546+
runs-on: ubuntu-22.04
537547
steps:
538548

539549
- uses: actions/checkout@v4
@@ -563,7 +573,7 @@ jobs:
563573
if-no-files-found: error
564574

565575
flash-samples:
566-
runs-on: ubuntu-20.04
576+
runs-on: ubuntu-22.04
567577
steps:
568578

569579
- uses: actions/checkout@v4
@@ -659,7 +669,7 @@ jobs:
659669
needs: package-haxelib
660670
strategy:
661671
matrix:
662-
os: [windows-latest, ubuntu-20.04, macos-13]
672+
os: [windows-latest, ubuntu-22.04, macos-13]
663673
runs-on: ${{ matrix.os }}
664674
steps:
665675

@@ -709,7 +719,7 @@ jobs:
709719
needs: package-haxelib
710720
strategy:
711721
matrix:
712-
os: [windows-latest, ubuntu-20.04, macos-13]
722+
os: [windows-latest, ubuntu-22.04, macos-13]
713723
runs-on: ${{ matrix.os }}
714724
steps:
715725

@@ -757,7 +767,7 @@ jobs:
757767
758768
html5-samples:
759769
needs: package-haxelib
760-
runs-on: ubuntu-20.04
770+
runs-on: ubuntu-22.04
761771
strategy:
762772
matrix:
763773
haxe-version: [3.4.7, 4.0.5, 4.1.5, 4.2.5, 4.3.6]
@@ -826,7 +836,7 @@ jobs:
826836
strategy:
827837
matrix:
828838
haxe-version: [3.4.7, 4.2.5]
829-
os: [windows-latest, ubuntu-20.04, macos-13]
839+
os: [windows-latest, ubuntu-22.04, macos-13]
830840
runs-on: ${{ matrix.os }}
831841
steps:
832842

@@ -873,7 +883,7 @@ jobs:
873883
lime build SimpleAudio neko -release -verbose -nocolor
874884
875885
notify:
876-
runs-on: ubuntu-20.04
886+
runs-on: ubuntu-22.04
877887
needs: [package-haxelib, docs, android, flash-samples, air-samples, hashlink-samples, hashlinkc-samples, html5-samples, ios, linux, macos, neko-samples, windows]
878888
if: ${{ github.repository == 'openfl/lime' && github.event_name != 'pull_request' }}
879889
steps:

MAINTAINERS.md

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# Maintainer Collaboration Guidelines
2+
3+
## Ownership Boundaries
4+
Core ownership includes final authority on major project direction, branding, external representation (e.g., website, GitHub org settings), and financial decisions. Project leadership roles should support this structure, not compete with it.
5+
Joshua Granick remains the primary owner of OpenFL and related projects under its umbrella, including all copyrights, branding, and rights to external representations.
6+
7+
## Commit Transparency
8+
All commits — especially those involving the website or project structure — should be clearly described. Avoid vague or misleading commit messages.
9+
10+
## No Unilateral Decisions
11+
Significant changes to the public-facing site, GitHub structure, or future policies (including donation links) must be discussed with the core team before being merged.
12+
High contribution volume does not entitle anyone to override team consensus or operate outside the established process. We value impact, but we expect humility and collaboration in return.
13+
14+
## Respect Other Maintainers’ Work
15+
Reverting, overwriting, or contradicting another maintainer’s contribution must go through discussion first — ideally via PR, not direct commit.
16+
17+
## Escalation Policy
18+
If collaboration issues persist after a discussion, core owners may revoke elevated roles or privileges to protect the health of the project. This isn’t personal — it’s structural.
19+
20+
## Donations & Monetization
21+
Any personal monetization links (Patreon, Ko-fi, etc.) require approval by the core **owners**. We want to keep funding equitable and transparent.
22+
23+
## Communication First
24+
If you disagree with a decision or direction, bring it up in team chat or discussion threads — not by taking action in silence.
25+
26+
## We Are a Team
27+
Leadership means contributing to both the codebase and the culture. If you’re not supporting both, you’re not fulfilling the role.

include.xml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,9 @@
7878
<haxedef name="lime-threads" if="neko || cpp || html5" unless="emscripten" />
7979
<!-- `target.threaded` isn't available, so enumerate the targets instead. -->
8080
<haxedef name="lime-threads" if="cs || java || python || hl" unless="${${haxe_ver} < 4}" />
81+
82+
<!-- For internal use; may be removed or renamed without warning. -->
83+
<haxedef name="lime-threads-deque" if="neko || cpp || cs || java || python || hl" />
8184
</section>
8285

8386
<section if="cpp ${${haxe_ver} < 3.3}" unless="static_link">

project/Build.xml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
<xml>
22

3-
<set name="HXCPP_NO_CPP11" value="1" unless="mac" />
4-
<set name="HXCPP_CPP14" value="1" if="mac" />
3+
<set name="HXCPP_CPP11" value="1" />
54

65
<include name="${HXCPP}/build-tool/BuildCommon.xml" />
76

@@ -56,7 +55,8 @@
5655

5756
<files id="lime">
5857

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

6262
<file name="src/ExternalInterface.cpp" />

project/BuildHashlink.xml

Lines changed: 42 additions & 97 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,11 @@
77
<set name="ios" value="1" if="iphone" />
88
<set name="tvos" value="1" if="appletv" />
99

10+
<set name="NATIVE_TOOLKIT_PATH" value="lib" unless="NATIVE_TOOLKIT_PATH"/>
1011
<set name="HASHLINK_PATH" value="lib/hashlink" unless="HASHLINK_PATH" />
1112

13+
<include name="lib/mbedtls-files.xml"/>
14+
1215
<files id="hl">
1316
<compilerflag value="-I${HASHLINK_PATH}/src" />
1417

@@ -24,6 +27,8 @@
2427
<files id="libhl">
2528
<compilerflag value="-std=c11" unless="windows" />
2629
<compilerflag value="-DLIBHL_EXPORTS" />
30+
<compilerflag value="-DHAVE_CONFIG_H" />
31+
<compilerflag value="-DPCRE2_CODE_UNIT_WIDTH=16" />
2732

2833
<compilerflag value="-I${HASHLINK_PATH}/src" />
2934
<compilerflag value="-I${HASHLINK_PATH}/include" />
@@ -56,19 +61,34 @@
5661
<file name="${HASHLINK_PATH}/src/std/ucs2.c" />
5762

5863
<!-- PCRE -->
59-
<file name="${HASHLINK_PATH}/include/pcre/pcre16_ord2utf16.c" />
60-
<file name="${HASHLINK_PATH}/include/pcre/pcre_globals.c" />
61-
<file name="${HASHLINK_PATH}/include/pcre/pcre16_valid_utf16.c" />
62-
<file name="${HASHLINK_PATH}/include/pcre/pcre_newline.c" />
63-
<file name="${HASHLINK_PATH}/include/pcre/pcre_chartables.c" />
64-
<file name="${HASHLINK_PATH}/include/pcre/pcre_string_utils.c" />
65-
<file name="${HASHLINK_PATH}/include/pcre/pcre_compile.c" />
66-
<file name="${HASHLINK_PATH}/include/pcre/pcre_tables.c" />
67-
<file name="${HASHLINK_PATH}/include/pcre/pcre_dfa_exec.c" />
68-
<file name="${HASHLINK_PATH}/include/pcre/pcre_ucd.c" />
69-
<file name="${HASHLINK_PATH}/include/pcre/pcre_exec.c" />
70-
<file name="${HASHLINK_PATH}/include/pcre/pcre_xclass.c" />
71-
<file name="${HASHLINK_PATH}/include/pcre/pcre_fullinfo.c" />
64+
<file name="${HASHLINK_PATH}/include/pcre/pcre2_auto_possess.c"/>
65+
<file name="${HASHLINK_PATH}/include/pcre/pcre2_chartables.c"/>
66+
<file name="${HASHLINK_PATH}/include/pcre/pcre2_compile.c"/>
67+
<file name="${HASHLINK_PATH}/include/pcre/pcre2_config.c"/>
68+
<file name="${HASHLINK_PATH}/include/pcre/pcre2_context.c"/>
69+
<file name="${HASHLINK_PATH}/include/pcre/pcre2_convert.c"/>
70+
<file name="${HASHLINK_PATH}/include/pcre/pcre2_dfa_match.c"/>
71+
<file name="${HASHLINK_PATH}/include/pcre/pcre2_error.c"/>
72+
<file name="${HASHLINK_PATH}/include/pcre/pcre2_extuni.c"/>
73+
<file name="${HASHLINK_PATH}/include/pcre/pcre2_find_bracket.c"/>
74+
<file name="${HASHLINK_PATH}/include/pcre/pcre2_jit_compile.c"/>
75+
<file name="${HASHLINK_PATH}/include/pcre/pcre2_maketables.c"/>
76+
<file name="${HASHLINK_PATH}/include/pcre/pcre2_match.c"/>
77+
<file name="${HASHLINK_PATH}/include/pcre/pcre2_match_data.c"/>
78+
<file name="${HASHLINK_PATH}/include/pcre/pcre2_newline.c"/>
79+
<file name="${HASHLINK_PATH}/include/pcre/pcre2_ord2utf.c"/>
80+
<file name="${HASHLINK_PATH}/include/pcre/pcre2_pattern_info.c"/>
81+
<file name="${HASHLINK_PATH}/include/pcre/pcre2_script_run.c"/>
82+
<file name="${HASHLINK_PATH}/include/pcre/pcre2_serialize.c"/>
83+
<file name="${HASHLINK_PATH}/include/pcre/pcre2_string_utils.c"/>
84+
<file name="${HASHLINK_PATH}/include/pcre/pcre2_study.c"/>
85+
<file name="${HASHLINK_PATH}/include/pcre/pcre2_substitute.c"/>
86+
<file name="${HASHLINK_PATH}/include/pcre/pcre2_substring.c"/>
87+
<file name="${HASHLINK_PATH}/include/pcre/pcre2_tables.c"/>
88+
<file name="${HASHLINK_PATH}/include/pcre/pcre2_ucd.c"/>
89+
<file name="${HASHLINK_PATH}/include/pcre/pcre2_ucptables.c"/>
90+
<file name="${HASHLINK_PATH}/include/pcre/pcre2_valid_utf.c"/>
91+
<file name="${HASHLINK_PATH}/include/pcre/pcre2_xclass.c"/>
7292

7393
<!-- macOS debugging -->
7494
<file name="${HASHLINK_PATH}/include/mdbg/mdbg.c" if="mac" />
@@ -78,84 +98,15 @@
7898

7999
<files id="ssl">
80100
<compilerflag value="-I${HASHLINK_PATH}/src" />
81-
<compilerflag value="-I${HASHLINK_PATH}/include/mbedtls/include" />
82-
101+
<compilerflag value="-I${NATIVE_TOOLKIT_PATH}/custom/hl-ssl" />
102+
<compilerflag value="-I${NATIVE_TOOLKIT_PATH}/mbedtls/include" />
103+
<compilerflag value="-D_UNICODE" if="windows"/>
104+
<compilerflag value="-DUNICODE" if="windows"/>
105+
<compilerflag value="-DMBEDTLS_THREADING_C"/>
106+
<compilerflag value="-DMBEDTLS_THREADING_PTHREAD" unless="windows"/>
107+
<compilerflag value="-DMBEDTLS_THREADING_ALT" if="windows"/>
108+
<compilerflag value="/std:c11" if="windows"/>
83109
<file name="${HASHLINK_PATH}/libs/ssl/ssl.c" />
84-
85-
<compilerflag value="-I/usr/local/include" if="mac"/>
86-
87-
<section if="windows">
88-
<file name="${HASHLINK_PATH}/include/mbedtls/library/aes.c" />
89-
<file name="${HASHLINK_PATH}/include/mbedtls/library/aesni.c" />
90-
<file name="${HASHLINK_PATH}/include/mbedtls/library/arc4.c" />
91-
<file name="${HASHLINK_PATH}/include/mbedtls/library/asn1parse.c" />
92-
<file name="${HASHLINK_PATH}/include/mbedtls/library/asn1write.c" />
93-
<file name="${HASHLINK_PATH}/include/mbedtls/library/base64.c" />
94-
<file name="${HASHLINK_PATH}/include/mbedtls/library/bignum.c" />
95-
<file name="${HASHLINK_PATH}/include/mbedtls/library/blowfish.c" />
96-
<file name="${HASHLINK_PATH}/include/mbedtls/library/camellia.c" />
97-
<file name="${HASHLINK_PATH}/include/mbedtls/library/ccm.c" />
98-
<file name="${HASHLINK_PATH}/include/mbedtls/library/certs.c" />
99-
<file name="${HASHLINK_PATH}/include/mbedtls/library/cipher.c" />
100-
<file name="${HASHLINK_PATH}/include/mbedtls/library/cipher_wrap.c" />
101-
<file name="${HASHLINK_PATH}/include/mbedtls/library/ctr_drbg.c" />
102-
<file name="${HASHLINK_PATH}/include/mbedtls/library/debug.c" />
103-
<file name="${HASHLINK_PATH}/include/mbedtls/library/des.c" />
104-
<file name="${HASHLINK_PATH}/include/mbedtls/library/dhm.c" />
105-
<file name="${HASHLINK_PATH}/include/mbedtls/library/ecdh.c" />
106-
<file name="${HASHLINK_PATH}/include/mbedtls/library/ecdsa.c" />
107-
<file name="${HASHLINK_PATH}/include/mbedtls/library/ecjpake.c" />
108-
<file name="${HASHLINK_PATH}/include/mbedtls/library/ecp.c" />
109-
<file name="${HASHLINK_PATH}/include/mbedtls/library/ecp_curves.c" />
110-
<file name="${HASHLINK_PATH}/include/mbedtls/library/entropy.c" />
111-
<file name="${HASHLINK_PATH}/include/mbedtls/library/entropy_poll.c" />
112-
<file name="${HASHLINK_PATH}/include/mbedtls/library/error.c" />
113-
<file name="${HASHLINK_PATH}/include/mbedtls/library/gcm.c" />
114-
<file name="${HASHLINK_PATH}/include/mbedtls/library/havege.c" />
115-
<file name="${HASHLINK_PATH}/include/mbedtls/library/hmac_drbg.c" />
116-
<file name="${HASHLINK_PATH}/include/mbedtls/library/md.c" />
117-
<file name="${HASHLINK_PATH}/include/mbedtls/library/md2.c" />
118-
<file name="${HASHLINK_PATH}/include/mbedtls/library/md4.c" />
119-
<file name="${HASHLINK_PATH}/include/mbedtls/library/md5.c" />
120-
<file name="${HASHLINK_PATH}/include/mbedtls/library/md_wrap.c" />
121-
<file name="${HASHLINK_PATH}/include/mbedtls/library/memory_buffer_alloc.c" />
122-
<file name="${HASHLINK_PATH}/include/mbedtls/library/oid.c" />
123-
<file name="${HASHLINK_PATH}/include/mbedtls/library/padlock.c" />
124-
<file name="${HASHLINK_PATH}/include/mbedtls/library/pem.c" />
125-
<file name="${HASHLINK_PATH}/include/mbedtls/library/pk.c" />
126-
<file name="${HASHLINK_PATH}/include/mbedtls/library/pkcs11.c" />
127-
<file name="${HASHLINK_PATH}/include/mbedtls/library/pkcs12.c" />
128-
<file name="${HASHLINK_PATH}/include/mbedtls/library/pkcs5.c" />
129-
<file name="${HASHLINK_PATH}/include/mbedtls/library/pkparse.c" />
130-
<file name="${HASHLINK_PATH}/include/mbedtls/library/pkwrite.c" />
131-
<file name="${HASHLINK_PATH}/include/mbedtls/library/pk_wrap.c" />
132-
<file name="${HASHLINK_PATH}/include/mbedtls/library/platform.c" />
133-
<file name="${HASHLINK_PATH}/include/mbedtls/library/ripemd160.c" />
134-
<file name="${HASHLINK_PATH}/include/mbedtls/library/rsa.c" />
135-
<file name="${HASHLINK_PATH}/include/mbedtls/library/rsa_internal.c" />
136-
<file name="${HASHLINK_PATH}/include/mbedtls/library/sha1.c" />
137-
<file name="${HASHLINK_PATH}/include/mbedtls/library/sha256.c" />
138-
<file name="${HASHLINK_PATH}/include/mbedtls/library/sha512.c" />
139-
<file name="${HASHLINK_PATH}/include/mbedtls/library/ssl_cache.c" />
140-
<file name="${HASHLINK_PATH}/include/mbedtls/library/ssl_ciphersuites.c" />
141-
<file name="${HASHLINK_PATH}/include/mbedtls/library/ssl_cli.c" />
142-
<file name="${HASHLINK_PATH}/include/mbedtls/library/ssl_cookie.c" />
143-
<file name="${HASHLINK_PATH}/include/mbedtls/library/ssl_srv.c" />
144-
<file name="${HASHLINK_PATH}/include/mbedtls/library/ssl_ticket.c" />
145-
<file name="${HASHLINK_PATH}/include/mbedtls/library/ssl_tls.c" />
146-
<file name="${HASHLINK_PATH}/include/mbedtls/library/threading.c" />
147-
<file name="${HASHLINK_PATH}/include/mbedtls/library/timing.c" />
148-
<file name="${HASHLINK_PATH}/include/mbedtls/library/version.c" />
149-
<file name="${HASHLINK_PATH}/include/mbedtls/library/version_features.c" />
150-
<file name="${HASHLINK_PATH}/include/mbedtls/library/x509.c" />
151-
<file name="${HASHLINK_PATH}/include/mbedtls/library/x509write_crt.c" />
152-
<file name="${HASHLINK_PATH}/include/mbedtls/library/x509write_csr.c" />
153-
<file name="${HASHLINK_PATH}/include/mbedtls/library/x509_create.c" />
154-
<file name="${HASHLINK_PATH}/include/mbedtls/library/x509_crl.c" />
155-
<file name="${HASHLINK_PATH}/include/mbedtls/library/x509_crt.c" />
156-
<file name="${HASHLINK_PATH}/include/mbedtls/library/x509_csr.c" />
157-
<file name="${HASHLINK_PATH}/include/mbedtls/library/xtea.c" />
158-
</section>
159110
</files>
160111

161112
<files id="mysql">
@@ -371,6 +322,7 @@
371322
<outdir name="${OUTPUT_DIR}/${BINDIR}" />
372323
<ext value=".hdll" />
373324
<files id="ssl" />
325+
<files id="native-toolkit-mbedtls"/>
374326

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

@@ -383,13 +335,6 @@
383335
<lib name="Crypt32.lib" if="windows" />
384336
<lib name="ws2_32.lib" if="windows" />
385337

386-
<!-- Find homebrews mbedtls -->
387-
<lib name="-L/usr/local/lib" if="mac" />
388-
389-
<lib name="-lmbedtls" unless="windows" />
390-
<lib name="-lmbedx509" unless="windows" />
391-
<lib name="-lmbedcrypto" unless="windows" />
392-
393338
<vflag name="-framework" value="Security" if="mac || ios || tvos" />
394339
<vflag name="-framework" value="CoreFoundation" if="mac || ios || tvos" />
395340
</target>

project/include/text/Font.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,8 @@ namespace lime {
5656
int GetNumGlyphs ();
5757
int GetUnderlinePosition ();
5858
int GetUnderlineThickness ();
59+
int GetStrikethroughPosition ();
60+
int GetStrikethroughThickness ();
5961
int GetUnitsPerEM ();
6062
int RenderGlyph (int index, Bytes *bytes, int offset = 0);
6163
int RenderGlyphs (value indices, Bytes *bytes);

0 commit comments

Comments
 (0)