Commit Graph

444 Commits

Author SHA1 Message Date
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
tobil4sk
653c8c92f7 Include MacArm64 when rebuilding tools 2024-05-31 14:40:23 -07:00
tobil4sk
45972bb733 Copy correct ndll on arm64 mac 2024-05-31 14:40:23 -07:00
tobil4sk
1ebce5faa3 Load ndlls from correct path on Apple Silicon Mac 2024-05-31 14:40:23 -07:00
Josh Tynjala
045920596c WindowsPlatform: fix Visual Studio path discovery for uwp target
It was hardcoding VS 2017, but now uses vswhere.exe to find newer Visual Studio versions too.

Newer versions of VS don't actually support UWP JavaScript, though. However, if users have UWP installed in VS, the error message will be clearer about that lack of support.
2024-02-12 10:46:48 -08:00
Josh Tynjala
c9605ee784 PlatformSetup: in verbose mode, failure to install lime alias logs a warning
On Windows, if HAXEPATH is not set, but it probably should be, and installing the alias fails, logs a warning suggesting to set HAXEPATH
2024-02-08 14:29:04 -08:00
player-03
4ed893afbd Use consistent capitalization.
Not that `dirSuffix` includes any letters yet, but it likely will in the future.
2024-02-04 18:05:54 -05:00
player-03
6fe43ea1e4 Merge pull request #1752 from tobil4sk/fix/mac-HXCPP_ARM64
Set HXCPP_ARM64 by default when building on Apple Silicon Mac
2024-02-03 22:23:24 -05:00
player-03
560ad5a6ba Don't force an architecture when building HL on Mac.
Originally, we forced compilation on x86, presumably because at the time HashLink lacked good 64-bit support. When this support improved, the line was changed to force x64 compilation rather than being removed, which may have been a mistake. Now that there are even more valid architectures, it just doesn't make sense to force one.
2024-01-29 20:30:06 -05:00
player-03
3ee35b05c0 Streamline architecture selection.
I don't know if there are any ARMv6 or ARMv7 Macs, but they were in the old switch block, so maybe?
2024-01-29 16:37:17 -05:00
player-03
17ad0577d7 Merge is64 and isArm64. 2024-01-28 16:17:24 -05:00
player-03
3d87dfeb97 Only set one of is64 and isArm64. 2024-01-28 16:03:37 -05:00
player-03
f0bae5692e Improve target selection logic in MacPlatform.rebuild().
The old logic could produce inappropriate results, such as attempting to compile an x86 binary on ARM64, or compiling no binary when "64" is specified on a 32-bit machine. I'd argue that it makes sense to only check the flags when they're supported, and not to bother otherwise.
2024-01-27 22:29:04 -05:00
tobil4sk
f06c78e82a Set HXCPP_ARM64 by default when building on Apple Silicon Mac 2024-01-27 13:20:22 +00:00
player-03
c121dfdd30 Merge pull request #1734 from soccertutor/fix/ios-rebuild
Remove armv7 from default iOS target architectures
2024-01-18 13:37:02 -05:00
player-03
86bcc7352d Tweak warning message. 2024-01-18 13:35:07 -05:00
Mihai Alexandru
d6a3954a57 Also warn the user about it. 2024-01-17 06:34:40 +02:00
Mihai Alexandru
380f64cb6e Forgot this 2024-01-17 06:17:00 +02:00
Mihai Alexandru
1f0ddb34cb Just in case 2024-01-17 05:59:08 +02:00
Mihai Alexandru
8648b05991 Update AndroidPlatform.hx 2024-01-16 15:15:06 +02:00
tobil4sk
186124dfd3 Avoid error no such file or directory: 'arm64' 2023-12-20 19:51:56 +00:00
Josh Tynjala
e6205bf3aa PlatformSetup: openfl alias setup on Linux was missing try/catch, but lime alias setup and other platforms had it 2023-12-08 09:46:21 -08:00
Joseph Cloutier
d931869dcf Only escape backslashes in Android paths.
Neither .properties nor .gradle files require anything else to be escaped. And at least in .gradle files, escaping anything else is incorrect.
2023-10-24 01:13:32 -04:00
Josh Tynjala
6cff64018a Add -npx flag for lime test electron to run the npx electron command instead of just electron.
This will prompt the user to install electron, if required. Saves a separate `npm install -g electron` command before testing.
2023-07-25 08:43:39 -07:00
Joshua Granick
1cb43f0b81 Use -O0 for now on WebAssembly (haxefoundation/hxcpp#987) 2023-05-30 08:54:25 -07:00
Joshua Granick
58275329cc Minor WebAssembly adjustments 2023-05-30 08:54:19 -07:00
Joshua Granick
2ccee960dc Rename Emscripten target to WebAssembly 2023-05-30 08:53:09 -07:00
Joshua Granick
f285df6f76 Support JS dependency embedding on Emscripten output 2023-05-30 08:52:56 -07:00
Joshua Granick
ab820f7c64 Add Emscripten source map on debug build 2023-05-30 08:49:02 -07:00
Joshua Granick
2ef647f1fc Progress on exception catching 2023-05-30 08:48:54 -07:00
Joshua Granick
9adab8f8c6 Add favicon to Emscripten output 2023-05-30 08:47:01 -07:00
Joshua Granick
be19381999 Emscripten fixes 2023-05-30 08:46:52 -07:00
Josh Tynjala
ed3d7efe19 Merge branch 'develop' into 8.1.0-Dev 2023-04-24 09:52:11 -07:00
player-03
16f96fadf7 Merge pull request #1494 from player-03/include.hxp
Add support for include.hxp.
2023-04-16 14:02:27 -04:00
Josh Tynjala
f34b595e70 IOSPlatform: remove armv7 from default iOS architectures because latest Xcode reports error
Fixes error: The armv7 architecture is deprecated. You should update your ARCHS build setting to remove the armv7 architecture. (in target 'Build Haxe' from project 'MyProject')
2023-04-10 15:20:50 -07:00
Josh Tynjala
72db242720 IOSPlatform: be explicit about armv6, just in case the default architecture used by hxcpp changes in the future
The default changed recently for the x86 simulator, so best to be safe
2023-04-10 15:03:45 -07:00
Josh Tynjala
1e6d883baf IOSPlatform: when building liblime.iphonesim.a, explicitly add -DHXCPP_M32
It looks like the new hxcpp update defaults to 64-bit now, so we need to be explicit
2023-04-10 14:58:24 -07:00
player-03
780ec7e837 Merge pull request #1615 from player-03/eval_tools
Add the `-eval` flag to run Lime tools using Eval.
2023-04-06 19:34:24 -04:00
Chris Speciale
3b5588267b tools.hxml: Remove -D no-inline
The no-inline macro was added previously to fix a compatibility issue with an older version of Haxe. It remains to be seen whether or not it is necessary as it seems to create conflicts with intermittent versions of Haxe. For this purpose we will remove it, unless it is deemed necessary again in the future. See: https://github.com/openfl/lime/discussions/1645 for more info.
2023-03-07 12:03:27 -05:00
Josh Tynjala
cebe8dff82 Merge branch 'develop' into 8.1.0-Dev 2023-02-22 08:52:43 -08:00
Joseph Cloutier
92e65370ee Allow using Eval to run Lime tools. 2023-01-05 12:38:45 -05:00
Joseph Cloutier
73202191cc Update Gradle. 2022-12-20 14:53:29 -05:00
player-03
cd9f0225a1 Fix null pointer error in IOSPlatform. 2022-10-21 19:39:30 -04:00
Joseph Cloutier
ab8e479abf Merge branch 'develop' into DeprecatedGradleFeatures 2022-09-03 18:36:04 -04:00
Josh Tynjala
fd0fc3da48 HashLink: fix the ability to double-click the .app file on macOS to run it
The HashLink executable expects hlboot.dat and libraries to be in the current working directory (it's not enough for them to be in the same directory as the executable). Make the .app file launch a shell script that 1) changes the current working directory 2) launches the HashLink executable
2022-07-13 10:01:57 -07:00
Joseph Cloutier
83b39e9184 Don't treat include.hxp as a complete project. 2022-06-13 15:57:23 -04:00
Joseph Cloutier
2a2b5ebd22 Update Android SDK setup instructions.
Not only are we no longer targeting API 19, the minimum is now 21.
2022-06-12 13:22:00 -04:00
Joseph Cloutier
9a81ae8798 Merge branch 'develop' into DeprecatedGradleFeatures 2022-06-12 10:00:23 -04:00
Joseph Cloutier
5ffbfd7f3a Add AndroidX options to <config:android />.
`enableJetifier` defaults to false because it can slow compilation.
2022-06-11 20:20:33 -04:00
Josh Tynjala
4be9bcf6ff CommandLineTools: mention new --template option from commit 3ba4c4c5c0 in help text 2022-06-10 09:55:50 -07:00