Skip to content

Commit

Permalink
Merge branch '8.2.0-Dev' into remove_Bytes
Browse files Browse the repository at this point in the history
  • Loading branch information
player-03 committed May 27, 2024
2 parents adfd15e + d0b1f6b commit adb20de
Show file tree
Hide file tree
Showing 158 changed files with 31,640 additions and 3,449 deletions.
64 changes: 59 additions & 5 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ jobs:
- name: Install system dependencies
run: |
sudo apt-get update
sudo apt-get install -y libgl1-mesa-dev libglu1-mesa-dev g++-multilib gcc-multilib libasound2-dev libx11-dev libxext-dev libxi-dev libxrandr-dev libxinerama-dev libmbedtls-dev libpng-dev libturbojpeg-dev libuv1-dev libvorbis-dev
sudo apt-get install -y libgl1-mesa-dev libglu1-mesa-dev g++-multilib gcc-multilib libasound2-dev libx11-dev libxext-dev libxi-dev libxrandr-dev libxinerama-dev libpulse-dev libmbedtls-dev libpng-dev libturbojpeg-dev libuv1-dev libvorbis-dev
- uses: krdlab/setup-haxe@v1
with:
Expand Down Expand Up @@ -271,7 +271,7 @@ jobs:
uses: nttld/setup-ndk@v1
id: setup-ndk
with:
ndk-version: r15c
ndk-version: r21e

- uses: actions/setup-java@v3
with:
Expand Down Expand Up @@ -391,15 +391,15 @@ jobs:
# lime create HelloWorld -verbose -nocolor -eval
# lime build HelloWorld ios -simulator -release -verbose -nocolor -eval

- name: Build SimpleImage sample
- name: Build SimpleImage sample (Simulator)
run: |
lime create SimpleImage -verbose -nocolor -eval
lime build SimpleImage ios -simulator -release -verbose -nocolor -eval
- name: Build SimpleAudio sample
- name: Build SimpleAudio sample (Device)
run: |
lime create SimpleAudio -verbose -nocolor -eval
lime build SimpleAudio ios -simulator -release -verbose -nocolor -eval
lime build SimpleAudio ios -release -nosign -verbose -nocolor -eval
package-haxelib:
needs: [linux, macos, windows, android, ios]
Expand Down Expand Up @@ -436,6 +436,10 @@ jobs:
haxelib run lime rebuild tools -nocolor -verbose -nocffi
haxelib run lime setup -alias -y -nocffi
cp project/lib/hashlink/other/osx/entitlements.xml templates/bin/hl/entitlements.xml
mkdir templates/bin/hl/include
cp project/lib/hashlink/src/hlc.h templates/bin/hl/include/hlc.h
cp project/lib/hashlink/src/hl.h templates/bin/hl/include/hl.h
cp project/lib/hashlink/src/hlc_main.c templates/bin/hl/include/hlc_main.c
- uses: actions/download-artifact@v3
with:
Expand Down Expand Up @@ -680,6 +684,56 @@ jobs:
lime create SimpleAudio -verbose -nocolor
lime build SimpleAudio hl -release -verbose -nocolor
hashlinkc-samples:
needs: package-haxelib
strategy:
matrix:
os: [windows-latest, ubuntu-20.04, macos-12]
runs-on: ${{ matrix.os }}
steps:

- uses: krdlab/setup-haxe@v1
with:
haxe-version: 4.3.3 # minimum required version for HL/C

- name: Set HAXEPATH (Windows)
if: runner.os == 'Windows'
run: |
echo "HAXEPATH=$Env:HAXE_STD_PATH\.." >> $Env:GITHUB_ENV
- name: Set HAXEPATH (Mac/Linux)
if: runner.os != 'Windows'
run: |
echo "HAXEPATH=$HAXE_STD_PATH/.." >> $GITHUB_ENV
- name: Install Haxe dependencies
run: |
haxelib git lime-samples https://github.com/openfl/lime-samples --quiet
- uses: actions/download-artifact@v3
with:
name: lime-haxelib
path: lime-haxelib

- name: Prepare Lime
run: |
haxelib dev lime lime-haxelib
haxelib run lime setup -alias -y -nocffi
- name: Build HelloWorld sample
run: |
lime create HelloWorld -verbose -nocolor
lime build HelloWorld hlc -release -verbose -nocolor
- name: Build SimpleImage sample
run: |
lime create SimpleImage -verbose -nocolor
lime build SimpleImage hlc -release -verbose -nocolor
- name: Build SimpleAudio sample
run: |
lime create SimpleAudio -verbose -nocolor
lime build SimpleAudio hlc -release -verbose -nocolor
html5-samples:
runs-on: ubuntu-20.04
steps:
Expand Down
54 changes: 37 additions & 17 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -1,64 +1,84 @@
[submodule "project/lib/vorbis"]
path = project/lib/vorbis
url = https://github.com/openfl/libvorbis
url = https://github.com/xiph/vorbis
shallow = true
[submodule "project/lib/sdl"]
path = project/lib/sdl
url = https://github.com/openfl/libsdl
url = https://github.com/libsdl-org/SDL
shallow = true
[submodule "project/lib/openal"]
path = project/lib/openal
url = https://github.com/openfl/libopenal
url = https://github.com/kcat/openal-soft
shallow = true
[submodule "project/lib/curl"]
path = project/lib/curl
url = https://github.com/curl/curl
shallow = true
[submodule "project/lib/ogg"]
path = project/lib/ogg
url = https://github.com/openfl/libogg
url = https://github.com/xiph/ogg
shallow = true
[submodule "project/lib/zlib"]
path = project/lib/zlib
url = https://github.com/openfl/libzlib
url = https://github.com/madler/zlib
shallow = true
[submodule "project/lib/neko"]
path = project/lib/neko
url = https://github.com/openfl/libneko
url = https://github.com/HaxeFoundation/neko
shallow = true
[submodule "project/lib/png"]
path = project/lib/png
url = https://github.com/openfl/libpng
url = https://github.com/glennrp/libpng
shallow = true
[submodule "project/lib/jpeg"]
path = project/lib/jpeg
url = https://github.com/openfl/libjpeg
url = https://github.com/libjpeg-turbo/libjpeg-turbo
shallow = true
[submodule "project/lib/freetype"]
path = project/lib/freetype
url = https://github.com/openfl/libfreetype
url = https://github.com/freetype/freetype
shallow = true
[submodule "project/lib/harfbuzz"]
path = project/lib/harfbuzz
url = https://github.com/openfl/libharfbuzz
url = https://github.com/harfbuzz/harfbuzz
shallow = true
[submodule "project/lib/cairo"]
path = project/lib/cairo
url = https://github.com/openfl/libcairo
url = https://gitlab.freedesktop.org/cairo/cairo.git
shallow = true
[submodule "project/lib/pixman"]
path = project/lib/pixman
url = https://github.com/openfl/libpixman
url = https://gitlab.freedesktop.org/pixman/pixman.git
shallow = true
[submodule "project/lib/lzma"]
path = project/lib/lzma
url = https://github.com/openfl/liblzma
shallow = true
[submodule "project/lib/tinyfiledialogs"]
path = project/lib/tinyfiledialogs
url = https://github.com/openfl/libtinyfiledialogs
shallow = true
[submodule "project/lib/efsw"]
path = project/lib/efsw
url = https://github.com/openfl/libefsw
url = https://github.com/SpartanJ/efsw
shallow = true
[submodule "project/lib/vpx"]
path = project/lib/vpx
url = https://github.com/openfl/libvpx
url = https://github.com/webmproject/libvpx
shallow = true
[submodule "project/lib/webm"]
path = project/lib/webm
url = https://github.com/openfl/libwebm
url = https://github.com/webmproject/libwebm
shallow = true
[submodule "project/lib/mbedtls"]
path = project/lib/mbedtls
url = https://github.com/Mbed-TLS/mbedtls
shallow = true
[submodule "project/lib/mojoal"]
path = project/lib/mojoal
url = https://github.com/openfl/libmojoal
url = https://github.com/icculus/mojoAL
shallow = true
[submodule "project/lib/hashlink"]
path = project/lib/hashlink
url = https://github.com/HaxeFoundation/hashlink
shallow = true
17 changes: 17 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,23 @@
Changelog
=========

8.1.2 (03/13/2024)
------------------

* Fixed error handling when failing to get joystick information in html5.
* Fixed error handling when creating `openfl` alias on Linux.
* Fixed error handling when getting information about Haxelibs.
* Fixed error when loading fonts in HL.
* Fixed error when loading grouped music/sound assets.
* Fixed errors when building on Apple Silicon without Rosetta.
* Fixed assets not being loaded when using nested asset tags (e.g., `<assets path="assets"> <image path="MyImage.png" /> </assets>`).
* Fixed VC runtime potentially not being bundled into HL apps built on Windows.
* Fixed error in `AssetsMacro` when building with Haxe 4.3.4 or newer.
* Fixed crash on iOS during network operations.
* Updated howler.js to 2.2.3.
* Removed ARMv7 architecture from Android default architectures.
* Removed deprecated ARMv7 architecture from iOS default architectures.

8.1.1 (11/08/2023)
------------------

Expand Down
2 changes: 1 addition & 1 deletion LICENSE.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
MIT License
===========

Copyright (c) 2013-2023 Joshua Granick and other Lime contributors
Copyright (c) 2013-2024 Joshua Granick and other Lime contributors

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
2 changes: 1 addition & 1 deletion NOTICE.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ Notices
=======

### Lime
Copyright (c) 2013-2023 Joshua Granick and other Lime contributors
Copyright (c) 2013-2024 Joshua Granick and other Lime contributors

This product bundles cairo 1.15.2, which is available under an
"MPL 1.1" license. For details, see [project/lib/cairo/](project/lib).
Expand Down
32 changes: 10 additions & 22 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -53,36 +53,24 @@ To install a development build, use the "haxelib local" command:
Building from Source
====================

Clone the Lime repository, as well as the submodules:
1. Clone the Lime repository, as well as the submodules:

git clone --recursive https://github.com/openfl/lime
haxelib git lime https://github.com/openfl/lime

Tell haxelib where your development copy of Lime is installed:
2. Install required dependencies:

haxelib dev lime lime
haxelib install format
haxelib install hxp

The first time you run the "lime" command, it will attempt to build the Lime standard binary for your desktop platform as the command-line tools. To build these manually, use the following command (using "mac" or "linux" if appropriate):
3. Copy the ndll directory from the latest [Haxelib release](https://lib.haxe.org/p/lime/), or see [project/README.md](project/README.md) for details about building native binaries.

haxelib install format
haxelib install hxp
lime rebuild windows
4. After any changes to the [tools](tools) or [lime/tools](src/lime/tools) directories, rebuild from source:

You can build additional binaries, or rebuild binaries after making changes, using "lime rebuild":
lime rebuild tools

lime rebuild windows
lime rebuild linux -64 -release -clean
5. To switch away from a source build:

You can also rebuild the tools if you make changes to them:

lime rebuild tools

On a Windows machine, you should have Microsoft Visual Studio C++ (Express is just fine) installed. You will need Xcode on a Mac. To build on a Linux machine, you may need the following packages (or similar):

sudo apt-get install libgl1-mesa-dev libglu1-mesa-dev g++ g++-multilib gcc-multilib libasound2-dev libx11-dev libxext-dev libxi-dev libxrandr-dev libxinerama-dev

To switch away from a source build, use:

haxelib dev lime
haxelib set lime [version number]


Sample
Expand Down
1 change: 0 additions & 1 deletion docs/ImportAll.hx
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,6 @@ import lime.net.HTTPRequest;
import lime.net.HTTPRequestHeader;
import lime.net.HTTPRequestMethod;
import lime.net.URIParser;
import lime.system.BackgroundWorker;
import lime.system.CFFI;
import lime.system.CFFIPointer;
import lime.system.Clipboard;
Expand Down
4 changes: 2 additions & 2 deletions haxelib.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@
"license": "MIT",
"tags": [],
"description": "A foundational Haxe framework for cross-platform development",
"version": "8.1.1",
"releasenote": "Various bug fixes",
"version": "8.2.0",
"releasenote": "Update HashLink, iOS and Android build fixes, and ongoing improvements",
"contributors": [
"singmajesty",
"bowlerhat",
Expand Down
10 changes: 9 additions & 1 deletion include.xml
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,12 @@

<section unless="display">

<section unless="force-synchronous || force_synchronous">
<haxedef name="lime-threads" if="neko || cpp || html5" unless="emscripten" />
<!-- `target.threaded` isn't available, so enumerate the targets instead. -->
<haxedef name="lime-threads" if="cs || java || python || hl" unless="${${haxe_ver} < 4}" />
</section>

<section if="cpp ${${haxe_ver} < 3.3}" unless="static_link">
<ndll name="std" haxelib="hxcpp" />
<ndll name="regexp" haxelib="hxcpp" />
Expand All @@ -83,11 +89,13 @@
<ndll name="lime" if="native" unless="lime-console static_link || lime-switch static_link" />

<dependency name="extension-api" path="dependencies/extension-api" if="android" />

<dependency path="dependencies/howler.min.js" if="html5 howlerjs" embed="true" />
<dependency path="dependencies/pako.min.js" if="html5" embed="true" />
<dependency path="dependencies/pako.min.js" if="html5" embed="true" web-worker="true" />
<dependency path="dependencies/FileSaver.min.js" if="html5" embed="true" />
<dependency path="dependencies/webgl-debug.js" if="html5 webgl-debug" embed="true" />
<dependency path="dependencies/stats.min.js" if="html5 stats" embed="true" />

<dependency path="dependencies/angle/d3dcompiler_47.dll" if="windows angle" unless="static_link" />
<dependency path="dependencies/angle/libegl.dll" if="windows angle" unless="static_link" />
<dependency path="dependencies/angle/libglesv2.dll" if="windows angle" unless="static_link" />
Expand Down
Loading

0 comments on commit adb20de

Please sign in to comment.