From 82cde9bb5e9fbc86a77f8d0fc12f010adb81f4f4 Mon Sep 17 00:00:00 2001 From: Jeremy Faivre Date: Sun, 1 Dec 2024 11:41:36 +0100 Subject: [PATCH 01/10] A few minor toolchain changes --- toolchain/android-toolchain-clang.xml | 12 ++++++------ toolchain/iphoneos-toolchain.xml | 2 +- toolchain/mac-toolchain.xml | 10 +++++----- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/toolchain/android-toolchain-clang.xml b/toolchain/android-toolchain-clang.xml index 9508d2592..27e986a2b 100644 --- a/toolchain/android-toolchain-clang.xml +++ b/toolchain/android-toolchain-clang.xml @@ -52,7 +52,7 @@ - + @@ -71,12 +71,12 @@ - + - + @@ -90,14 +90,14 @@ - + - + - + diff --git a/toolchain/iphoneos-toolchain.xml b/toolchain/iphoneos-toolchain.xml index 305aa6a49..663331c91 100644 --- a/toolchain/iphoneos-toolchain.xml +++ b/toolchain/iphoneos-toolchain.xml @@ -42,7 +42,7 @@ - + diff --git a/toolchain/mac-toolchain.xml b/toolchain/mac-toolchain.xml index f7928cdb0..97316ba46 100644 --- a/toolchain/mac-toolchain.xml +++ b/toolchain/mac-toolchain.xml @@ -6,9 +6,9 @@ - - - + + + @@ -87,7 +87,7 @@ - + @@ -109,7 +109,7 @@ - + From cccba8c6cb0b3311ca827e57e9eec450f5e7bc00 Mon Sep 17 00:00:00 2001 From: Jeremy Faivre Date: Wed, 4 Jun 2025 18:22:42 +0200 Subject: [PATCH 02/10] Prebuild HXCPP tools --- .gitignore | 1 - hxcpp.n | Bin 0 -> 248279 bytes run.n | Bin 41287 -> 41295 bytes 3 files changed, 1 deletion(-) create mode 100644 hxcpp.n mode change 100755 => 100644 run.n diff --git a/.gitignore b/.gitignore index fcc9ac911..d2172728b 100644 --- a/.gitignore +++ b/.gitignore @@ -19,7 +19,6 @@ test/cffi/project/ndll test/snippets/messagebox/cpp test/haxe/gc/big.txt tools/hxcpp/cpp -hxcpp.n .DS_Store *.swp diff --git a/hxcpp.n b/hxcpp.n new file mode 100644 index 0000000000000000000000000000000000000000..d7537cae52f0e1d4a997ce0d3bd01d0cc630aee4 GIT binary patch literal 248279 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�jh(t*DK{5bROtHibFj*=@<^1le;8{+ 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 literal 0 HcmV?d00001 diff --git a/run.n b/run.n old mode 100755 new mode 100644 index 2153e3e7135eeb2894c20e308ab7cff87fe27781..a6375e59217282148435fd2776fe50be32b9d187 GIT binary patch delta 1429 zcmYL|du&s66vxl`-9GnZ1vXZpdvs;(9%YZB;NY%%%PgC0uq_K@l&u?Mb(_1zF-({w zMo>sFxnV*E$(&3G>K}L$;v+$V&qX6dogq<~MvYryVxmNeLFe~3SZH!T{hseRzjMz0 zrTyfZxPDC}Hq<=cc#Mh4@dPdlCnE~-R^LPE?b z#Nrtf)NK>I4QAkk8QxD4brzt{0&iTZc?;@ltO#4I2yaOBqZMA24H&b*o3+6++o2wj zIBrKGE)HIK9Ks2Si*X*9A4&6DfP>ZHScG_y;$LZ}#sfaxEE?CeOSvzeEMgMiU`{TQk7Ht>M^S;zf!B2{?FE<}OHlnt;h)8Z#na@Gm->cd=LRFz;Np zBN=5zGASZ)8I)W9%skD-`bo>yb^oLgD`wi{_xn|`;6OHcIhfIaIZqGwhAgC9k`N?@N4h+g9cZx*pVR9~g*gB(Az}Co}NHtp2`jb(%Q?@+5$M zBgo&*K#zqC{SRBf<;cVWR?;G|j?UpOktsu_I8g*4YV~S+PQx}SwM?9OUMgLdSgEzQ zziVJv6R%|A{r<|rwb@A<(K@tfBr<3!@)wcVlZ`Vk=KymONgg0uziclZeOStRi9rw6 z8hEsr#JmjOSc?hUa?$cmE|l;Bd0r&eNodiO`Ec}232Q!$lJMrEb74N#Hc|inXjIhXquF7J*JbK&iDLz*pOP>N z5Pkq)Q~7!+M~~Ar3dh5cXIU{k;*j_3bj0~9#UKS zU0iEJ(B3VhvG)7lDklO`lcq=TW*DUw_(aT#~D|d*7Eo{C!cwV=+Kz@qFSE{<>0e>iBi8dKJ@G` zRsWz+5?9_Ns^x0OqOfqysU_3GwRgn*0t?sOy;o}C$DVlLZaHP_%G=3;5{>urlZ5we z#(~rL!C815>)zAYJ&(^sml9`-n2g^G8#b zqL44-%y3^x3YUl6yKgj8yAlfh7IOR6lztoud5)J$k@nxh!ot+tkeD*A_Z?XOKVtMC Ac>n+a delta 1417 zcmYL{drVt(6vxl`-M%R0Rak+tl@2K5(RNIjG6#1ZudxZm0D|i_x;hF&YC&3LEZHD2 z@e!kOxk_Si3E9)=)GRkHTQpPm&(t~P59ct>gc%>GQxlCEqsjdKaLbzfKKFaR=lst3 z-Cysg7sSO2A}!c_U&k{{vLd=OAdz8(*JMR_T;ffu2j)l8Tm(4K6iG&jmnlRl>;ehDW)vN(!cvZ;l1ZEdIMCb~ z9VA|+SkN97wO+Fg-5vxu&>l(dC0?dDV8g~|W$tx}%Qj5Ds$UV6f`8Q5xQl&S*tjz@ zl!3Cd8Kek%CRCYr$@n4Pt-WY!Uwbo)STRza-|tt2AsgA8Y&aRz7>Tb*x)af{p-60K ze^d;^7P(rM**o=g4rXmwLAY@$!}4O4i|!S~9Oz2+lPGqecD+NMwktU{6dxqf;y~+@ z5~n26a?v6#QI?0=={%_XeBe?(!Y?EmoWOR8sKhj&*eH=4TaAX{#As|NDUQm_Md0?J zhVcOsKWJZ>113iS=9Fs1mIiLs1}qz0?XEj@-6JEh1c}Qo+{xGQ#SQIU%gS7PA>Sw%gB=+c@}N`ie-PRl)-RCBV#Oua+# z{*j4WEtM`a{ysADXBDww|FF)NJIvs zg38fk6<}Bw-GFbn99xe|+^nD}67EWL_Eh5728xfzVxqnh%_b#|%G9qCk9$#nSmHG= z!nXm8sv&V*dNv>6^dV6pala1(r=)jChO-jy`_S*2gw>B*OQG1vp5gF>_Py1fTIfe< zwZwMakb0VVOh04$J&V2CtFCgPTJ_Idieh$fIhdxlq$xTZ{DmPCn)bp5n zQ0e8Ml8n!(bRJV0HY86T^aq52+Dfo)?e~ORs%2$|5 zc{b_fm!Bs(IHRWHVdukpi5&0f=RFS?n%=`EZdf2{;U@dCFmdy~+op+I7R0Rr6K}cp zf2oOEtM0g4_vyVAJ6SB+^tUS0McN!=!%O%UO+1^a&HM8BU;QUvM>;>LZ>-zQ`gr{g zr(zgzYxBKM^Tz{*K12ArexvtXc5cp68?}|UISY%=r$;um74M$!qLA{fesy@?`u_lb CxEMwN From c848c6dc21428c30f14d0136fb85d7f0b1ecc628 Mon Sep 17 00:00:00 2001 From: Jeremy Faivre Date: Thu, 10 Jul 2025 23:17:32 +0200 Subject: [PATCH 03/10] Add a way to set RPATH to $ORIGIN on linux --- toolchain/linux-toolchain.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/toolchain/linux-toolchain.xml b/toolchain/linux-toolchain.xml index b151ec211..2a933efa5 100644 --- a/toolchain/linux-toolchain.xml +++ b/toolchain/linux-toolchain.xml @@ -85,6 +85,7 @@ + From a2483cb0067626486a88ed764e890d1f748af31a Mon Sep 17 00:00:00 2001 From: Jeremy Faivre Date: Wed, 26 Nov 2025 12:03:28 +0100 Subject: [PATCH 04/10] Add initial support of custom targets, and more granularity in the runtime compilation with additional defines --- docs/build_xml/Defines.md | 68 +++++++++++++++++++++++++++++++++++ hxcpp.n | Bin 248279 -> 249045 bytes include/hx/HxcppMain.h | 6 ++++ src/hx/Date.cpp | 4 +-- src/hx/Lib.cpp | 2 +- src/hx/gc/GcCommon.cpp | 4 +-- src/hx/libs/std/Process.cpp | 2 +- src/hx/libs/std/Socket.cpp | 2 +- src/hx/libs/std/Sys.cpp | 40 +++++++++++---------- toolchain/common-defines.xml | 17 +++++++++ toolchain/finish-setup.xml | 2 ++ toolchain/gcc-toolchain.xml | 2 +- tools/hxcpp/BuildTool.hx | 30 ++++++++++++++++ 13 files changed, 152 insertions(+), 27 deletions(-) diff --git a/docs/build_xml/Defines.md b/docs/build_xml/Defines.md index 8308e2417..f1df56918 100755 --- a/docs/build_xml/Defines.md +++ b/docs/build_xml/Defines.md @@ -89,3 +89,71 @@ Defines affecting target architecture. | *HXCPP_MINGW* | Compile for windows using mingw | | *NO_AUTO_MSVC* | Do not detect msvc location, use the one already in the executable path | | *HXCPP_WINXP_COMPAT* | Remain compatible with Windows XP. Disables condition variables. No effect on ARM. | + +Custom External Target System +----------------------------- + +hxcpp supports loading external target toolchains from a separate folder. This allows console-specific or proprietary toolchains to be maintained separately from the main hxcpp repository. + +### Usage + +| Define | Meaning | +|--------------------------|--------------------| +| *HXCPP_TARGET_PATHS* | Path(s) to external target folders. Can be set via environment variable or `-D` command-line define. Multiple paths separated by `;` (Windows) or `:` (Unix). Command-line takes precedence over environment variable. | +| *HXCPP_CUSTOM_TARGET* | Name of the custom target (e.g., `myconsole`). Sets toolchain to `-toolchain.xml` and creates a define with the target name. | +| *HXCPP_CUSTOM_BINDIR* | Output directory name for the custom target. If not specified, capitalizes first letter only (e.g., `mytarget` → `Mytarget`). | + +### Example + +```bash +# Using environment variable +export HXCPP_TARGET_PATHS=/path/to/custom-targets +haxelib run hxcpp Build.xml -DHXCPP_CUSTOM_TARGET=mytarget + +# Using command-line define +haxelib run hxcpp Build.xml -DHXCPP_TARGET_PATHS=/path/to/custom-targets -DHXCPP_CUSTOM_TARGET=mytarget -DHXCPP_CUSTOM_BINDIR=MyTarget +``` + +This looks for `toolchain/mytarget-toolchain.xml` in the paths specified by `HXCPP_TARGET_PATHS`. + +### Generic Feature Flags + +External toolchains can use these generic flags to disable features not available on their platform. Set these in your custom toolchain XML: + +| Define | Purpose | +|---------------------------|---------| +| *HXCPP_NO_UNISTD* | Disable `unistd.h`, `dirent.h`, `termios.h` includes | +| *HXCPP_NO_ENVIRON* | Disable environment variable access (`getenv`, `environ`) | +| *HXCPP_NO_LOCALE* | Disable locale functions (`setlocale`, etc.) | +| *HXCPP_NO_FILESYSTEM* | Disable file operations | +| *HXCPP_NO_SYSTEM* | Disable `system()` / `sys_command()` | +| *HXCPP_NO_TERMINAL* | Disable terminal operations (`getch`, etc.) | +| *HXCPP_NO_SOCKET* | Disable socket networking | +| *HXCPP_NO_DLOPEN* | Disable dynamic library loading (`dlopen`, etc.) | +| *HXCPP_NO_TM_GMTOFF* | Use `mktime`-based GMT offset calculation (when `tm_gmtoff` unavailable) | +| *HXCPP_TIME_USE_CLOCK* | Use `clock()` for CPU time instead of `getrusage()` | +| *HXCPP_LOCALTIME_S* | Use `localtime_s`/`gmtime_s` instead of `localtime_r`/`gmtime_r` | +| *HXCPP_PLATFORM_NAME* | Custom platform name returned by `Sys.systemName()` (e.g., `"MyConsole"`) | +| *HXCPP_MAIN_ADDON* | Enable including `` for platform-specific main() additions | +| *HXCPP_DEFAULT_STATIC* | Platform defaults to static linking (sets `static_link` unless `dll_import` or `exe_link` is set) | +| *HXCPP_DEFAULT_LIBEXTRA* | Default library filename suffix (e.g., `.mycon` produces `libName.mycon.a`) | +| *HXCPP_GC_LARGE_DEFAULTS* | Use larger default values for GC memory pools | + +### External Target Folder Structure + +``` +my-custom-target/ +├── toolchain/ +│ └── mytarget-toolchain.xml # Toolchain configuration +├── include/ +│ └── hx/ +│ └── HxcppMainAddon.h # Platform-specific main() code (optional) +└── docs/ + └── MyTarget.md # Documentation (optional) +``` + +A typical toolchain XML may do something like that: +1. Set required compiler/linker flags +2. Set generic feature flags as needed +3. Optionally include `toolchain/gcc-toolchain.xml` or similar base toolchain +4. Include `toolchain/common-defines.xml` to convert flags to compiler defines diff --git a/hxcpp.n b/hxcpp.n index d7537cae52f0e1d4a997ce0d3bd01d0cc630aee4..1c10ba30304cbe00044d8870b1ad66000acfe542 100644 GIT binary patch delta 44180 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�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 delta 43777 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 diff --git a/include/hx/HxcppMain.h b/include/hx/HxcppMain.h index 309e9e97a..87371ebc0 100644 --- a/include/hx/HxcppMain.h +++ b/include/hx/HxcppMain.h @@ -1,3 +1,9 @@ +// External targets can provide platform-specific code via HxcppMainAddon.h +// Set HXCPP_MAIN_ADDON in toolchain and add include path to addon header +#if defined(HXCPP_MAIN_ADDON) +#include +#endif + #ifdef HXCPP_DLL_IMPORT extern "C" EXPORT_EXTRA void __main__() diff --git a/src/hx/Date.cpp b/src/hx/Date.cpp index cdc665b34..13becf6cf 100644 --- a/src/hx/Date.cpp +++ b/src/hx/Date.cpp @@ -18,7 +18,7 @@ #define USE_GETTIMEOFDAY #endif #endif - #if defined(__ORBIS__) + #if defined(HXCPP_LOCALTIME_S) // fill in for a missing localtime_r with localtime_s #define localtime_r localtime_s #define gmtime_r gmtime_s @@ -360,7 +360,7 @@ double __hxcpp_timezone_offset(double inSeconds) struct tm localTime; __internal_localtime( inSeconds, &localTime); - #if defined(HX_WINDOWS) || defined(__SNC__) || defined(__ORBIS__) + #if defined(HX_WINDOWS) || defined(__SNC__) || defined(HXCPP_NO_TM_GMTOFF) struct tm gmTime; __internal_gmtime(inSeconds, &gmTime ); diff --git a/src/hx/Lib.cpp b/src/hx/Lib.cpp index 3a1d3f267..f628f6d7a 100644 --- a/src/hx/Lib.cpp +++ b/src/hx/Lib.cpp @@ -11,7 +11,7 @@ #include #endif -#if (defined (IPHONE) || defined(EMSCRIPTEN) || defined(STATIC_LINK) || defined(APPLETV) ) && \ +#if (defined (IPHONE) || defined(EMSCRIPTEN) || defined(STATIC_LINK) || defined(APPLETV) || defined(HXCPP_NO_DLOPEN) ) && \ !defined(HXCPP_DLL_IMPORT) && (!defined(HXCPP_DLL_EXPORT) || defined(HXCPP_SCRIPTABLE) ) #define HXCPP_NO_DYNAMIC_LOADING #elif !defined(ANDROID) && !defined(HX_WINRT) && !defined(IPHONE) && !defined(EMSCRIPTEN) && \ diff --git a/src/hx/gc/GcCommon.cpp b/src/hx/gc/GcCommon.cpp index f336fd615..60026f9a2 100644 --- a/src/hx/gc/GcCommon.cpp +++ b/src/hx/gc/GcCommon.cpp @@ -26,7 +26,7 @@ extern void __hxt_new_string(void* result, int size); namespace hx { -#if defined(HX_MACOS) || defined(HX_WINDOWS) || defined(HX_LINUX) || defined(__ORBIS__) +#if defined(HX_MACOS) || defined(HX_WINDOWS) || defined(HX_LINUX) || defined(HXCPP_GC_LARGE_DEFAULTS) int sgMinimumWorkingMemory = 20*1024*1024; int sgMinimumFreeSpace = 10*1024*1024; #else @@ -44,7 +44,7 @@ int sgTargetFreeSpacePercentage = 100; // Called internally before and GC operations void CommonInitAlloc() { - #if !defined(HX_WINRT) && !defined(__SNC__) && !defined(__ORBIS__) + #if !defined(HX_WINRT) && !defined(__SNC__) && !defined(HXCPP_NO_ENVIRON) const char *minimumWorking = getenv("HXCPP_MINIMUM_WORKING_MEMORY"); if (minimumWorking) { diff --git a/src/hx/libs/std/Process.cpp b/src/hx/libs/std/Process.cpp index d9f020e1c..d7f523187 100644 --- a/src/hx/libs/std/Process.cpp +++ b/src/hx/libs/std/Process.cpp @@ -1,7 +1,7 @@ #include #include -#if !defined(HX_WINRT) && !defined(EPPC) +#if !defined(HX_WINRT) && !defined(EPPC) && !defined(HXCPP_NO_SYSTEM) #ifdef NEKO_WINDOWS # include diff --git a/src/hx/libs/std/Socket.cpp b/src/hx/libs/std/Socket.cpp index fe77cdc46..90502892b 100644 --- a/src/hx/libs/std/Socket.cpp +++ b/src/hx/libs/std/Socket.cpp @@ -1,4 +1,4 @@ -#if !defined(HX_WINRT) && !defined(EPPC) +#if !defined(HX_WINRT) && !defined(EPPC) && !defined(HXCPP_NO_SOCKET) #include #include diff --git a/src/hx/libs/std/Sys.cpp b/src/hx/libs/std/Sys.cpp index 371addf93..1c6252a2f 100644 --- a/src/hx/libs/std/Sys.cpp +++ b/src/hx/libs/std/Sys.cpp @@ -20,7 +20,7 @@ #include #else #include - #ifndef EPPC + #if !defined(EPPC) && !defined(HXCPP_NO_UNISTD) #include #include #include @@ -30,7 +30,7 @@ #include #ifndef ANDROID #include - #if !defined(BLACKBERRY) && !defined(EPPC) && !defined(GCW0) && !defined(__GLIBC__) + #if !defined(BLACKBERRY) && !defined(EPPC) && !defined(GCW0) && !defined(__GLIBC__) && !defined(HXCPP_NO_UNISTD) #include #endif #endif @@ -77,7 +77,7 @@ String _hx_std_get_env( String v ) { - #ifdef HX_WINRT + #if defined(HX_WINRT) || defined(HXCPP_NO_ENVIRON) return String(); #else #if defined(NEKO_WINDOWS) && defined(HX_SMART_STRINGS) @@ -96,7 +96,7 @@ String _hx_std_get_env( String v ) **/ void _hx_std_put_env( String e, String v ) { -#ifdef HX_WINRT +#if defined(HX_WINRT) || defined(HXCPP_NO_ENVIRON) // Do nothing #elif defined(NEKO_WINDOWS) String set = e + HX_CSTRING("=") + (v != null()?v:""); @@ -153,7 +153,7 @@ void _hx_std_sys_sleep( double f ) **/ bool _hx_std_set_time_locale( String l ) { -#if defined(ANDROID) || defined(GCW0) +#if defined(ANDROID) || defined(GCW0) || defined(HXCPP_NO_LOCALE) return false; #else @@ -190,7 +190,7 @@ String _hx_std_get_cwd() { #ifdef HX_WINRT return HX_CSTRING("ms-appdata:///local/"); - #elif defined(EPPC) + #elif defined(EPPC) || defined(HXCPP_NO_FILESYSTEM) return String(); #else #ifdef NEKO_WINDOWS @@ -224,7 +224,7 @@ String _hx_std_get_cwd() **/ bool _hx_std_set_cwd( String d ) { - #if !defined(HX_WINRT) && !defined(EPPC) + #if !defined(HX_WINRT) && !defined(EPPC) && !defined(HXCPP_NO_FILESYSTEM) #ifdef NEKO_WINDOWS return SetCurrentDirectoryW(d.wchar_str()) == 0; #else @@ -250,7 +250,9 @@ bool _hx_std_set_cwd( String d ) **/ String _hx_std_sys_string() { -#if defined(HX_WINRT) +#if defined(HXCPP_PLATFORM_NAME) + return HX_CSTRING(HXCPP_PLATFORM_NAME); +#elif defined(HX_WINRT) return HX_CSTRING("WinRT"); #elif defined(NEKO_WINDOWS) return HX_CSTRING("Windows"); @@ -296,7 +298,7 @@ bool _hx_std_sys_is64() **/ int _hx_std_sys_command( String cmd ) { - #if defined(HX_WINRT) || defined(EMSCRIPTEN) || defined(EPPC) || defined(IPHONE) || defined(APPLETV) || defined(HX_APPLEWATCH) + #if defined(HX_WINRT) || defined(EMSCRIPTEN) || defined(EPPC) || defined(IPHONE) || defined(APPLETV) || defined(HX_APPLEWATCH) || defined(HXCPP_NO_SYSTEM) return -1; #else if( !cmd.raw_ptr() || !cmd.length ) @@ -372,7 +374,7 @@ bool _hx_std_sys_exists( String path ) **/ void _hx_std_file_delete( String path ) { - #ifndef EPPC + #if !defined(EPPC) && !defined(HXCPP_NO_FILESYSTEM) hx::EnterGCFreeZone(); bool err = false; @@ -578,8 +580,8 @@ bool _hx_std_sys_create_dir( String path, int mode ) **/ void _hx_std_sys_remove_dir( String path ) { - #ifdef EPPC - return true; + #if defined(EPPC) || defined(HXCPP_NO_FILESYSTEM) + return; #else hx::EnterGCFreeZone(); @@ -648,7 +650,7 @@ double _hx_std_sys_cpu_time() if( !GetProcessTimes(GetCurrentProcess(),&unused,&unused,&stime,&utime) ) return 0; return ( ((double)(utime.dwHighDateTime+stime.dwHighDateTime)) * 65.536 * 6.5536 + (((double)utime.dwLowDateTime + (double)stime.dwLowDateTime) / 10000000) ); -#elif defined(EPPC) +#elif defined(EPPC) || defined(HXCPP_TIME_USE_CLOCK) return ((double)clock()/(double)CLOCKS_PER_SEC); #else struct tms t; @@ -713,7 +715,7 @@ Array _hx_std_sys_read_dir( String p ) break; } FindClose(handle); -#elif !defined(EPPC) +#elif !defined(EPPC) && !defined(HXCPP_NO_FILESYSTEM) const char *name = p.utf8_str(); hx::EnterGCFreeZone(); DIR *d = opendir(name); @@ -755,7 +757,7 @@ String _hx_std_file_full_path( String path ) if( GetFullPathNameW(path.wchar_str(&wbuf),MAX_PATH+1,buf,NULL) == 0 ) return null(); return String::create(buf); -#elif defined(EPPC) +#elif defined(EPPC) || defined(HXCPP_NO_FILESYSTEM) return path; #else char buf[PATH_MAX]; @@ -787,7 +789,7 @@ String _hx_std_sys_exe_path() if( _NSGetExecutablePath(path, &path_len) ) return null(); return String::create(path); -#elif defined(EPPC) +#elif defined(EPPC) || defined(HXCPP_NO_FILESYSTEM) return HX_CSTRING(""); #else { @@ -824,7 +826,7 @@ extern char **environ; Array _hx_std_sys_env() { Array result = Array_obj::__new(); - #ifndef HX_WINRT + #if !defined(HX_WINRT) && !defined(HXCPP_NO_ENVIRON) char **e = environ; while( *e ) { @@ -865,7 +867,7 @@ Array _hx_std_sys_env() **/ int _hx_std_sys_getch( bool b ) { -#if defined(HX_WINRT) || defined(EMSCRIPTEN) || defined(EPPC) +#if defined(HX_WINRT) || defined(EMSCRIPTEN) || defined(EPPC) || defined(HXCPP_NO_TERMINAL) return 0; #elif defined(NEKO_WINDOWS) hx::EnterGCFreeZone(); @@ -900,7 +902,7 @@ int _hx_std_sys_get_pid() { # ifdef NEKO_WINDOWS return (int)(GetCurrentProcessId()); -#elif defined(EPPC) +#elif defined(EPPC) || defined(HXCPP_NO_FILESYSTEM) return (1); # else return (getpid()); diff --git a/toolchain/common-defines.xml b/toolchain/common-defines.xml index 3d14752d4..d94aefded 100644 --- a/toolchain/common-defines.xml +++ b/toolchain/common-defines.xml @@ -52,6 +52,23 @@ + + + + + + + + + + + + + + + + + diff --git a/toolchain/finish-setup.xml b/toolchain/finish-setup.xml index eef2be1ec..a1a306b96 100644 --- a/toolchain/finish-setup.xml +++ b/toolchain/finish-setup.xml @@ -18,6 +18,7 @@ + @@ -64,6 +65,7 @@ + diff --git a/toolchain/gcc-toolchain.xml b/toolchain/gcc-toolchain.xml index 2471fa362..bd18a0168 100644 --- a/toolchain/gcc-toolchain.xml +++ b/toolchain/gcc-toolchain.xml @@ -27,7 +27,7 @@ -
+
diff --git a/tools/hxcpp/BuildTool.hx b/tools/hxcpp/BuildTool.hx index 4e4dfb89b..8980f6264 100644 --- a/tools/hxcpp/BuildTool.hx +++ b/tools/hxcpp/BuildTool.hx @@ -1707,6 +1707,23 @@ class BuildTool a++; } + // Add HXCPP_TARGET_PATHS for external target discovery + // Check command-line define first, then fall back to environment variable + var hxcppTargetPaths = defines.exists("HXCPP_TARGET_PATHS") ? + defines.get("HXCPP_TARGET_PATHS") : Sys.getEnv("HXCPP_TARGET_PATHS"); + if (hxcppTargetPaths != null && hxcppTargetPaths != "") { + // Support both ; and : as separators (: for Unix, ; for Windows) + var separator = hxcppTargetPaths.indexOf(";") >= 0 ? ";" : ":"; + for (targetPath in hxcppTargetPaths.split(separator)) { + var trimmed = StringTools.trim(targetPath); + if (trimmed != "") { + include_path.push(PathManager.standardize(trimmed)); + // Also set HXCPP_TARGETS for use in toolchain XML files (e.g., -I${HXCPP_TARGETS}/include) + defines.set("HXCPP_TARGETS", PathManager.standardize(trimmed)); + } + } + } + if (defines.exists("HXCPP_TIMES")) Profile.enable(); @@ -1969,6 +1986,19 @@ class BuildTool defines.set("emscripten","emscripten"); defines.set("BINDIR","Emscripten"); } + else if (defines.exists("HXCPP_CUSTOM_TARGET")) + { + // Custom external target support + // Usage: -DHXCPP_CUSTOM_TARGET=mytarget -DHXCPP_CUSTOM_BINDIR=MyTarget + // Toolchain loaded from HXCPP_TARGET_PATHS: toolchain/-toolchain.xml + var customTarget = defines.get("HXCPP_CUSTOM_TARGET"); + defines.set("toolchain", customTarget); + defines.set(customTarget, customTarget); + if (defines.exists("HXCPP_CUSTOM_BINDIR")) + defines.set("BINDIR", defines.get("HXCPP_CUSTOM_BINDIR")); + else + defines.set("BINDIR", customTarget.charAt(0).toUpperCase() + customTarget.substr(1)); + } else if (defines.exists("gph")) { defines.set("toolchain","gph"); From 210299ef7a86f6d25c0e720380b6234a5e903742 Mon Sep 17 00:00:00 2001 From: Jeremy Faivre Date: Mon, 2 Mar 2026 15:05:20 +0100 Subject: [PATCH 05/10] Improve support of ios simulator for ARM64 --- toolchain/finish-setup.xml | 7 +++++-- toolchain/iphonesim-toolchain.xml | 17 ++++++++++------- 2 files changed, 15 insertions(+), 9 deletions(-) diff --git a/toolchain/finish-setup.xml b/toolchain/finish-setup.xml index a1a306b96..86d0cc45d 100644 --- a/toolchain/finish-setup.xml +++ b/toolchain/finish-setup.xml @@ -41,8 +41,11 @@ - - +
+ + + +
diff --git a/toolchain/iphonesim-toolchain.xml b/toolchain/iphonesim-toolchain.xml index b98a703ad..2ebc7a43c 100644 --- a/toolchain/iphonesim-toolchain.xml +++ b/toolchain/iphonesim-toolchain.xml @@ -5,6 +5,7 @@ + @@ -53,15 +54,16 @@ - - + + + - - + + @@ -83,7 +85,7 @@ - + @@ -95,8 +97,9 @@ - - + + + From 318c73212448921dd5dbc45e06c81d6c4155bbaa Mon Sep 17 00:00:00 2001 From: Jeremy Faivre Date: Mon, 9 Mar 2026 23:44:31 +0100 Subject: [PATCH 06/10] Link with pthread when using HXCPP_MULTI_THREADED (emscripten) --- toolchain/emscripten-toolchain.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/toolchain/emscripten-toolchain.xml b/toolchain/emscripten-toolchain.xml index 61c73fffb..e86f11c40 100644 --- a/toolchain/emscripten-toolchain.xml +++ b/toolchain/emscripten-toolchain.xml @@ -94,6 +94,7 @@ + From ab6fc168cf5441b0863b39b97b4ee6c1e1057f1a Mon Sep 17 00:00:00 2001 From: Jeremy Faivre Date: Thu, 19 Mar 2026 18:48:25 +0100 Subject: [PATCH 07/10] Disable bitcode on ios --- toolchain/iphoneos-toolchain.xml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/toolchain/iphoneos-toolchain.xml b/toolchain/iphoneos-toolchain.xml index 663331c91..f547a2876 100644 --- a/toolchain/iphoneos-toolchain.xml +++ b/toolchain/iphoneos-toolchain.xml @@ -56,9 +56,10 @@ - + + From 69fa846e3d2f1409e99db393514cd297570886dd Mon Sep 17 00:00:00 2001 From: Jeremy Faivre Date: Sun, 22 Mar 2026 16:55:34 +0100 Subject: [PATCH 08/10] Add `HXCPP_IMMORTAL_STATICS` to heap-allocate static objects and never delete them --- include/hxcpp.h | 11 +++++++++++ src/hx/Debug.cpp | 4 ++-- src/hx/StdLibs.cpp | 2 +- src/hx/Thread.cpp | 2 +- src/hx/gc/Immix.cpp | 30 +++++++++++++++--------------- toolchain/common-defines.xml | 1 + 6 files changed, 31 insertions(+), 19 deletions(-) diff --git a/include/hxcpp.h b/include/hxcpp.h index 008f13545..c024e8347 100755 --- a/include/hxcpp.h +++ b/include/hxcpp.h @@ -358,5 +358,16 @@ typedef PropertyAccessMode PropertyAccess; #include #include +#ifdef HXCPP_IMMORTAL_STATICS +// Heap-allocate static objects and never delete them. Prevents static +// destruction order issues where CRT destroys objects in unpredictable +// order. OS reclaims all heap memory on process exit. +#define HX_IMMORTAL(Type, name) static Type &name = *new Type() +#define HX_IMMORTAL_GLOBAL(Type, name) Type &name = *new Type() +#else +#define HX_IMMORTAL(Type, name) static Type name +#define HX_IMMORTAL_GLOBAL(Type, name) Type name +#endif + #endif diff --git a/src/hx/Debug.cpp b/src/hx/Debug.cpp index 25c7d4dba..3e8ab1e3c 100644 --- a/src/hx/Debug.cpp +++ b/src/hx/Debug.cpp @@ -45,9 +45,9 @@ namespace hx const char* EXTERN_CLASS_NAME = "extern"; #ifdef HXCPP_STACK_IDS -static HxMutex sStackMapMutex; +HX_IMMORTAL(HxMutex, sStackMapMutex); typedef UnorderedMap StackMap; -static StackMap sStackMap; +HX_IMMORTAL(StackMap, sStackMap); #endif // User settable String->Void diff --git a/src/hx/StdLibs.cpp b/src/hx/StdLibs.cpp index f4c4890c7..a088725f2 100644 --- a/src/hx/StdLibs.cpp +++ b/src/hx/StdLibs.cpp @@ -748,7 +748,7 @@ Dynamic __hxcpp_create_var_args(Dynamic &inArrayFunc) -static HxMutex sgFieldMapMutex; +HX_IMMORTAL(HxMutex, sgFieldMapMutex); typedef std::map StringToField; diff --git a/src/hx/Thread.cpp b/src/hx/Thread.cpp index e5af49df3..6504dc2ee 100644 --- a/src/hx/Thread.cpp +++ b/src/hx/Thread.cpp @@ -6,7 +6,7 @@ DECLARE_TLS_DATA(class hxThreadInfo, tlsCurrentThread); // g_threadInfoMutex allows atomic access to g_nextThreadNumber -static HxMutex g_threadInfoMutex; +HX_IMMORTAL(HxMutex, g_threadInfoMutex); // Thread number 0 is reserved for the main thread static int g_nextThreadNumber = 1; diff --git a/src/hx/gc/Immix.cpp b/src/hx/gc/Immix.cpp index 880b51c62..dcaf00a65 100644 --- a/src/hx/gc/Immix.cpp +++ b/src/hx/gc/Immix.cpp @@ -43,7 +43,7 @@ namespace hx enum { gAlwaysMove = true }; typedef hx::UnorderedSet PointerMovedSet; -PointerMovedSet sgPointerMoved; +HX_IMMORTAL_GLOBAL(PointerMovedSet, sgPointerMoved); #else enum { gAlwaysMove = false }; @@ -575,7 +575,7 @@ typedef hx::QuickVec ObjectStack; typedef HxMutex ThreadPoolLock; -static ThreadPoolLock sThreadPoolLock; +HX_IMMORTAL(ThreadPoolLock, sThreadPoolLock); #if !defined(HX_WINDOWS) && !defined(EMSCRIPTEN) && \ !defined(__SNC__) && !defined(__ORBIS__) @@ -708,7 +708,7 @@ struct GroupInfo }; -hx::QuickVec gAllocGroups; +HX_IMMORTAL_GLOBAL(hx::QuickVec, gAllocGroups); @@ -1797,7 +1797,7 @@ struct GlobalChunks }; -GlobalChunks sGlobalChunks; +HX_IMMORTAL_GLOBAL(GlobalChunks, sGlobalChunks); class MarkContext { @@ -2390,7 +2390,7 @@ void MarkStringArray(String *inPtr, int inLength, hx::MarkContext *__inCtx) FILE_SCOPE HxMutex *sGCRootLock = 0; typedef hx::UnorderedSet RootSet; -static RootSet sgRootSet; +HX_IMMORTAL(RootSet, sgRootSet); typedef hx::UnorderedMap OffsetRootSet; static OffsetRootSet *sgOffsetRootSet=0; @@ -2439,7 +2439,7 @@ class WeakRef; typedef hx::QuickVec WeakRefs; FILE_SCOPE HxMutex *sFinalizerLock = 0; -FILE_SCOPE WeakRefs sWeakRefs; +HX_IMMORTAL(WeakRefs, sWeakRefs); class WeakRef : public hx::Object { @@ -2473,26 +2473,26 @@ typedef hx::QuickVec FinalizerList; FILE_SCOPE FinalizerList *sgFinalizers = 0; typedef hx::UnorderedMap FinalizerMap; -FILE_SCOPE FinalizerMap sFinalizerMap; +HX_IMMORTAL(FinalizerMap, sFinalizerMap); typedef void (*HaxeFinalizer)(Dynamic); typedef hx::UnorderedMap HaxeFinalizerMap; -FILE_SCOPE HaxeFinalizerMap sHaxeFinalizerMap; +HX_IMMORTAL(HaxeFinalizerMap, sHaxeFinalizerMap); -hx::QuickVec sFreeObjectIds; +HX_IMMORTAL_GLOBAL(hx::QuickVec, sFreeObjectIds); typedef hx::UnorderedMap ObjectIdMap; typedef hx::QuickVec IdObjectMap; -FILE_SCOPE ObjectIdMap sObjectIdMap; -FILE_SCOPE IdObjectMap sIdObjectMap; +HX_IMMORTAL(ObjectIdMap, sObjectIdMap); +HX_IMMORTAL(IdObjectMap, sIdObjectMap); typedef hx::UnorderedSet MakeZombieSet; -FILE_SCOPE MakeZombieSet sMakeZombieSet; +HX_IMMORTAL(MakeZombieSet, sMakeZombieSet); typedef hx::QuickVec ZombieList; -FILE_SCOPE ZombieList sZombieList; +HX_IMMORTAL(ZombieList, sZombieList); typedef hx::QuickVec WeakHashList; -FILE_SCOPE WeakHashList sWeakHashList; +HX_IMMORTAL(WeakHashList, sWeakHashList); InternalFinalizer::InternalFinalizer(hx::Object *inObj, finalizer inFinalizer) @@ -2620,7 +2620,7 @@ struct Finalizable } }; typedef hx::QuickVec< Finalizable > FinalizableList; -FILE_SCOPE FinalizableList sFinalizableList; +HX_IMMORTAL(FinalizableList, sFinalizableList); static double tFinalizers; diff --git a/toolchain/common-defines.xml b/toolchain/common-defines.xml index d94aefded..2e7fcba91 100644 --- a/toolchain/common-defines.xml +++ b/toolchain/common-defines.xml @@ -10,6 +10,7 @@ + From 34d8bc0981e89af135bccdcfeef9d4bcbbbc8cf8 Mon Sep 17 00:00:00 2001 From: Jeremy Faivre Date: Sun, 22 Mar 2026 19:59:04 +0100 Subject: [PATCH 09/10] Restore FILE_SCOPE on related statics, to make sure they are visible in debug builds --- include/hxcpp.h | 10 ++++++---- src/hx/gc/Immix.cpp | 18 +++++++++--------- 2 files changed, 15 insertions(+), 13 deletions(-) diff --git a/include/hxcpp.h b/include/hxcpp.h index c024e8347..9996c88cd 100755 --- a/include/hxcpp.h +++ b/include/hxcpp.h @@ -362,11 +362,13 @@ typedef PropertyAccessMode PropertyAccess; // Heap-allocate static objects and never delete them. Prevents static // destruction order issues where CRT destroys objects in unpredictable // order. OS reclaims all heap memory on process exit. -#define HX_IMMORTAL(Type, name) static Type &name = *new Type() -#define HX_IMMORTAL_GLOBAL(Type, name) Type &name = *new Type() +#define HX_IMMORTAL(Type, name) static Type &name = *new Type() +#define HX_IMMORTAL_GLOBAL(Type, name) Type &name = *new Type() +#define HX_IMMORTAL_FILE_SCOPE(Type, name) FILE_SCOPE Type &name = *new Type() #else -#define HX_IMMORTAL(Type, name) static Type name -#define HX_IMMORTAL_GLOBAL(Type, name) Type name +#define HX_IMMORTAL(Type, name) static Type name +#define HX_IMMORTAL_GLOBAL(Type, name) Type name +#define HX_IMMORTAL_FILE_SCOPE(Type, name) FILE_SCOPE Type name #endif #endif diff --git a/src/hx/gc/Immix.cpp b/src/hx/gc/Immix.cpp index dcaf00a65..2e363e7fb 100644 --- a/src/hx/gc/Immix.cpp +++ b/src/hx/gc/Immix.cpp @@ -2439,7 +2439,7 @@ class WeakRef; typedef hx::QuickVec WeakRefs; FILE_SCOPE HxMutex *sFinalizerLock = 0; -HX_IMMORTAL(WeakRefs, sWeakRefs); +HX_IMMORTAL_FILE_SCOPE(WeakRefs, sWeakRefs); class WeakRef : public hx::Object { @@ -2473,26 +2473,26 @@ typedef hx::QuickVec FinalizerList; FILE_SCOPE FinalizerList *sgFinalizers = 0; typedef hx::UnorderedMap FinalizerMap; -HX_IMMORTAL(FinalizerMap, sFinalizerMap); +HX_IMMORTAL_FILE_SCOPE(FinalizerMap, sFinalizerMap); typedef void (*HaxeFinalizer)(Dynamic); typedef hx::UnorderedMap HaxeFinalizerMap; -HX_IMMORTAL(HaxeFinalizerMap, sHaxeFinalizerMap); +HX_IMMORTAL_FILE_SCOPE(HaxeFinalizerMap, sHaxeFinalizerMap); HX_IMMORTAL_GLOBAL(hx::QuickVec, sFreeObjectIds); typedef hx::UnorderedMap ObjectIdMap; typedef hx::QuickVec IdObjectMap; -HX_IMMORTAL(ObjectIdMap, sObjectIdMap); -HX_IMMORTAL(IdObjectMap, sIdObjectMap); +HX_IMMORTAL_FILE_SCOPE(ObjectIdMap, sObjectIdMap); +HX_IMMORTAL_FILE_SCOPE(IdObjectMap, sIdObjectMap); typedef hx::UnorderedSet MakeZombieSet; -HX_IMMORTAL(MakeZombieSet, sMakeZombieSet); +HX_IMMORTAL_FILE_SCOPE(MakeZombieSet, sMakeZombieSet); typedef hx::QuickVec ZombieList; -HX_IMMORTAL(ZombieList, sZombieList); +HX_IMMORTAL_FILE_SCOPE(ZombieList, sZombieList); typedef hx::QuickVec WeakHashList; -HX_IMMORTAL(WeakHashList, sWeakHashList); +HX_IMMORTAL_FILE_SCOPE(WeakHashList, sWeakHashList); InternalFinalizer::InternalFinalizer(hx::Object *inObj, finalizer inFinalizer) @@ -2620,7 +2620,7 @@ struct Finalizable } }; typedef hx::QuickVec< Finalizable > FinalizableList; -HX_IMMORTAL(FinalizableList, sFinalizableList); +HX_IMMORTAL_FILE_SCOPE(FinalizableList, sFinalizableList); static double tFinalizers; From ca2ab856aa81747d3bd743e151218d1efadc6083 Mon Sep 17 00:00:00 2001 From: Jeremy Faivre Date: Mon, 8 Jun 2026 23:56:55 +0200 Subject: [PATCH 10/10] Fix wrong SDK being picked on macos 26 --- hxcpp.n | Bin 249045 -> 249035 bytes tools/hxcpp/BuildTool.hx | 23 +++++++++++++++++------ 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/hxcpp.n b/hxcpp.n index 1c10ba30304cbe00044d8870b1ad66000acfe542..1a338c2df1cd84293e6f6a430d2ff98c9a3c718d 100644 GIT binary patch delta 49088 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 delta 49481 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 diff --git a/tools/hxcpp/BuildTool.hx b/tools/hxcpp/BuildTool.hx index 8980f6264..69e484108 100644 --- a/tools/hxcpp/BuildTool.hx +++ b/tools/hxcpp/BuildTool.hx @@ -2225,21 +2225,32 @@ class BuildTool var dev_path = defines.get("DEVELOPER_DIR") + "/Platforms/MacOSX.platform/Developer/SDKs/"; if (FileSystem.exists(dev_path)) { - var best="0.0"; + // Pick the highest full SDK version (e.g. "26.2"), independent of + // directory order. Xcode 26 added a major-only alias (MacOSX26.sdk) + // next to the full MacOSX26.2.sdk, but "macosx26" is not a canonical + // SDK name for xcrun, so we must compare versions numerically and + // keep the most specific one. + var best = ""; + var bestMajor = -1.0, bestMinor = -1.0; var files = FileSystem.readDirectory(dev_path); - var extract_version = ~/^MacOSX(.*).sdk$/; + var extract_version = ~/^MacOSX([0-9.]+)\.sdk$/; for(file in files) { if (extract_version.match(file)) { var ver = extract_version.matched(1); - var split_best = best.split("."); - var split_ver = ver.split("."); - if (Std.parseFloat(split_ver[0]) > Std.parseFloat(split_best[0]) || Std.parseFloat(split_ver[1]) > Std.parseFloat(split_best[1])) + var parts = ver.split("."); + var major = Std.parseFloat(parts[0]); + var minor = parts.length > 1 ? Std.parseFloat(parts[1]) : 0.0; + if (major > bestMajor || (major == bestMajor && minor > bestMinor)) + { + bestMajor = major; + bestMinor = minor; best = ver; + } } } - if (best!="0.0") + if (best != "") defines.set("MACOSX_VER",best); else Log.v("Could not find MACOSX_VER!");