Commit Graph

256 Commits

Author SHA1 Message Date
Tobiasz Laskowski
755781fdf2 Fix mac -stdlib=libstdc++ compilation error
clang: warning: include path for libstdc++ headers not found; pass '-stdlib=libc++' on the command line to use the libc++ standard library instead [-Wstdlibcxx-not-found]
2025-03-13 21:15:45 +00:00
Tobiasz Laskowski
a13b3c37bb Avoid hxcpp overriding openal_soft's c++14 2025-03-13 21:15:34 +00:00
Chris Speciale
855996e122 Remove PLATFORM from Build.xml
We shouldn't need it anymore following this commit: 46aab0c80e
2025-03-13 05:59:14 -04:00
Chris Speciale
8d21626297 set PLATFORM to android 28 2025-03-12 18:55:09 -04:00
Josh Tynjala
9f9a5b9f31 Merge branch 'develop' into 8.3.0-Dev 2025-03-03 13:19:35 -08:00
Tobiasz Laskowski
22fb016d95 Link against hxcpp's mbedtls in static builds
This avoids lime's mbedtls overwriting hxcpp's, which has caused issues
in the past.
2025-02-10 09:24:47 -08:00
Josh Tynjala
af2299670f Display: add safeArea property
display.safeArea is a subset of display.bounds that accounts for notches, holes, or other display cutouts.
2025-01-30 15:56:27 -08:00
Josh Tynjala
8f0b8f356e Application: onDisplayOrientation and onDeviceOrientation events for iOS and Android
Device orientation is the orientation of the phone/tablet.

Display orientation is the orientation of what is rendered on the display.

By default, they should usually be the same. If orientation is locked, device orientation will update, but display orientation usually won't.
2025-01-29 09:38:00 -08:00
Josh Tynjala
62ab8eb6fc Font: fall back to using freetype's 2.9.1 algorithm for calculating font metrics like ascent/descent
This allows us to upgrade freetype beyond 2.9.1 (actually, 2.8.1 due to a bug in freetype 2.9) without wildly different font metrics. The reason that we don't want to change font metrics algorithms is that freetype's new algorithm is very different than the algorithm used for SWF fonts. The older freetype algorithm is closer to SWF, so we want to stick with it.

Thankfully, freetype supports accessing various metrics stored in font files in a more raw form, so we can provide our own custom algorithm in a way that is fully supported by freetype. I just copied the existing algorithm straight from 2.9.1 to restore our preferred behavior.

I confirmed that, after this change, OpenFL renders metrics like Lime 8.1.3. But we have the same upgraded freetype as Lime 8.2.0 that we had to revert for 8.2.1.

I plan to experiment with a mode that matches SWF even more closely, now that I have a better understanding of how fonts and freetype work.
2024-12-13 13:47:19 -08:00
Patrick Gutlich
40764acbf3 set correct paths for ndll for linxuarm and linuxarm64 (raspberrypi)
and remove conflicting legacy includepaths in build.xml
2024-08-18 17:12:47 +02:00
Josh Tynjala
8f3ea8d271 Merge branch 'develop' into 8.2.0-Dev 2024-07-08 14:31:23 -07:00
Josh Tynjala
84d7f39605 Revert "MacPlatform: use install_name_tool to add /usr/local/lib and /opt/hombrew/lib to rpath of lime.ndll"
This reverts commit 47936494ac.

Didn't work with Haxe/Neko installed from Apple Silicon Homebrew because Lime tools couldn't link to Neko.
2024-07-08 14:27:15 -07:00
Josh Tynjala
e257b7ebe4 Merge branch 'develop' into 8.2.0-Dev 2024-07-01 08:53:48 -07:00
Josh Tynjala
47936494ac MacPlatform: use install_name_tool to add /usr/local/lib and /opt/hombrew/lib to rpath of lime.ndll
Previously, we added these rpaths to lime.ndll when it was built in commits c70ec9f and 333d093, but it's actually necessary only for Neko, so now I made it happen specfically after calling `nekotools boot` to create the Neko executable.

I've tested cpp and hl, and I've confirmed that the executables still launch successfully when these rpaths are omitted. It's better for their security to use fewer rpaths.

As noted commit c70ec9f, adding these rpaths is necessary due to a change in Xcode 15 where /usr/local/lib used to be available on the rpath automatically, but now it isn't, which affects the executable's ability to find the libneko dylib.
2024-06-19 14:39:17 -07:00
Joseph Cloutier
d3d476a1f5 Merge branch 'develop' into 8.2.0-Dev 2024-05-27 16:04:31 -04:00
Tobi Laskowski
333d093df0 Build.xml: Add /opt/homebrew/lib as rpath on arm64 macos
This is where arm64 homebrew installs `libneko.dylib`. However, it may still be in `/usr/local/lib` if installed via the haxe .pkg installer, so we add both.
2024-05-15 09:18:39 -07:00
Josh Tynjala
c70ec9fbe0 Build.xml: on macOS, add /usr/local/lib to rpath when building lime.ndll
This seems to be required with Xcode 15, but was not required previously
2024-05-09 15:07:12 -07:00
Josh Tynjala
c81591c887 Windows: .lib files are needed to compile HL/C for Windows with Visual Studio 2023-11-03 15:08:01 -07:00
Josh Tynjala
21e8e619c3 HashLink: when building hdlls, use -install_name on macOS
This more closely matches official HashLink binaries, and ensures that the hdlls can be found next to a HL/C executable
2023-10-18 15:33:32 -07:00
Joseph Cloutier
9a9b89ae06 Merge branch 'develop' into 8.2.0-Dev 2023-08-17 21:07:12 -04:00
Josh Tynjala
5a87d77897 Merge branch 'develop' into 8.1.0-Dev 2023-06-05 10:29:26 -07:00
Josh Tynjala
9103be3c98 update curl and mbedtls submodules
Updated to match 8.2.0-Dev branch

Fixes SSL connect error on macOS
2023-05-30 09:03:55 -07:00
Joshua Granick
35d1436dcd Revert WebAssembly improvements (moved to 8.1.0-Dev branch) 2023-05-30 09:03:18 -07:00
Joshua Granick
a05ee5a009 Revert back to built-in Emscripten OpenAL implementation 2023-05-30 08:54:01 -07:00
Joshua Granick
9ca0531105 Include cURL and MojoAL in WebAssembly/Emscripten build 2023-05-30 08:53:43 -07:00
Joshua Granick
5ba432fd8b Revert back to built-in Emscripten OpenAL implementation 2023-05-23 20:28:53 -07:00
Joshua Granick
22fb444e71 Include cURL and MojoAL in WebAssembly/Emscripten build 2023-05-23 19:53:10 -07:00
Josh Tynjala
55ca39da44 slightly different compiler flags with Raspberry Pi ARM64 2023-03-01 15:55:55 -08:00
Joseph Cloutier
50ff65956f Add legacy Pi driver support.
Co-authored-by: Patrick Gutlich <patrick@gepatto.nl>
2022-06-03 18:39:45 -04:00
Joseph Cloutier
689fed4545 Merge branch 'develop' into submodules 2022-06-03 18:36:03 -04:00
Joseph Cloutier
34817221d8 Adjust RPI build settings.
Co-authored-by: Patrick Gutlich <patrick@gepatto.nl>
2022-06-01 00:27:46 -04:00
Joseph Cloutier
16166e1a0d Fix RPI compile errors (incomplete).
At least, these changes should be a step in the right direction.
2022-05-28 14:55:50 -04:00
Joseph Cloutier
87e779b971 Rename "overrides" to "custom."
This helps shift the emphasis from "replacing existing files" to "adding
missing files," without ruling either option out.
2022-05-22 23:27:47 -04:00
Joseph Cloutier
391d947338 Add CoreHaptics.framework via project.pbxproj.
Returning to the way  88d3fa7184 did this
because the alternative wasn't working.
2022-05-22 14:30:44 -04:00
Joseph Cloutier
b6d0af585d Always include CoreHaptics.framework on iOS. 2022-05-22 13:43:18 -04:00
Joseph Cloutier
2ce060788b Add SystemConfiguration.framework on Mac.
Required for `SCDynamicStoreCopyProxies()`, which is only called when
`CURL_OSX_CALL_COPYPROXIES` is defined, which is only defined on OSX.
2022-05-22 11:27:48 -04:00
Joseph Cloutier
51dfc56efb Use Build.xml to include CoreHaptics.framework.
Much simpler and more maintainable than in
88d3fa7184

(Sorting the flags a bit while I'm at it.)
2022-05-22 11:25:54 -04:00
Joseph Cloutier
104533fdde Sort and format build files. 2022-05-20 17:11:20 -04:00
Joseph Cloutier
19eab56416 Define HAVE_STDIO_H.
SDL can operate without stdio.h, but Lime requires it in most cases.
2022-05-19 18:21:48 -04:00
Apprentice-Alchemist
1c35f44634 Fix building lime.hdll. 2022-05-19 21:08:56 +02:00
Joseph Cloutier
b06f7b8789 Switch to libjpeg-turbo (version 2.0.7 ESR). 2022-05-13 19:13:30 -04:00
Joseph Cloutier
0938fdf00b Fix assembly code when using clang.
https://gitlab.freedesktop.org/pixman/pixman/-/issues/45
2022-05-13 14:01:24 -04:00
Joseph Cloutier
d8d3f74211 Add missing include paths. 2022-05-09 16:37:13 -04:00
Joseph Cloutier
1cf4ba09df Make overrides mirror submodule file structure. 2022-05-08 22:25:15 -04:00
Joseph Cloutier
749fb5ad4a Use the official Cairo repo as a submodule.
Continuing to use version 1.15.2 for now. The main difference is the
lack of this change:
70d5bd67f3
2022-05-08 16:32:38 -04:00
Joseph Cloutier
bc584ea611 Remove hxcpp build files from submodules. 2022-05-06 19:41:31 -04:00
Apprentice-Alchemist
f544134144 Fix libpaths. 2022-04-28 19:42:45 +02:00
Apprentice-Alchemist
a288feca96 Add hashlink as a submodule. 2022-04-28 19:42:41 +02:00
Apprentice-Alchemist
b15dcb94c1 Upgrade to android API level 21. 2022-02-03 17:23:43 +01:00
Joshua Granick
ba6fafeefa Remove iOS Bluetooth dependency 2020-09-29 11:04:23 -07:00