From dc31a4dc4abf0680d8ef4ad73f609ba5c7410d5f Mon Sep 17 00:00:00 2001 From: Tobiasz Laskowski Date: Sat, 31 Aug 2024 11:25:01 +0100 Subject: [PATCH 1/3] Add setup command for easier tools recompilation --- run.n | Bin 41287 -> 41391 bytes tools/run/RunMain.hx | 6 ++++++ 2 files changed, 6 insertions(+) mode change 100755 => 100644 run.n diff --git a/run.n b/run.n old mode 100755 new mode 100644 index 2153e3e7135eeb2894c20e308ab7cff87fe27781..b5daab1699e479934f28bed04e4fe5278974e7d4 GIT binary patch delta 5139 zcmZ`*30M?I7Vhd9hI0nF2I-cWfdRwFtq2Bj3XBJ82NXOa1Q3)_6afWe6a~Bq5(S?i zMg-!GdrEXY4&vf2^B05*K0cM7939XSQR z1%bp4Ps*Oo5exEP!W@235buQ5k`YMktC>YJIATHmO(z^!&SKjboOZ&_UzjiRfjqef z#3qddK!(lh;sj?*GdpuKUfBzoz86PiHe6wL(YyjUZ*!7_Lyh9qP{GwA$ApB07^90nfFqWt}uIUPG)Y-!fbve%6xxtu?;GH&mG&2_uz2zxd8kR!hZvw@4*og zn_M)Fki1)-2e_=4SH|CmqBa^%ko_nF|Bp}RV zP|2WOd4ka0Xy`l>$M+H8hAmZ$60y-_(Ay0q#bB}< ztS!^@B#zI|&n@J5PK*2Fp~Wg%Ei~JS>fwxEM!<>-Fd;&RMJW7iH&BzL!x`AJ9n6?I ze;Pl9xrB4z3y|Pb@!r04H zU9;SAFCmA_A2~g6Aw}?k#z6X;FKdqTLYSO0X%JjVEUrD0#9ib$<2&i+jajhUCy4w6 ztv-Ds@TDM-VQm~|B*U9z+{8DGCB}()8ZyETofH%EYE!zbk&|Juk=G!|*Q-w%7OOQH zx4fT}V8lPy*LaML+9u~_hBQH@ubXGyXroc_8sUsvMi~2})damS_!*<&E#Fy+^TyFh zNt%6n86i{5a=-V8wwZ8!$)@)NQeVY!CAG#1<7hQ9SF(8q$Eh!wkNbzn`2aaQH24p@ zDdSXR=rxWTL58_nh=L5S>lPJc#IJl;f`W{E+L@{#@nd_`QFZ3DeySJjWy=XM7+hY`;FV{oF1Trks^IAUHkYP7@%6$lO+iNM-z0a^)E`^E(S@c z`GY#uU{VRSJ#xBFI|>`D1lKkc>Z}AAC$%j%eJX71(WLfrNqDEnFPGH3$<_0DM@NSw zY=TXRT2c>(6DPTB?#Z!?X#o9LBdLO{u@R&RHjEvDczJA^%ez*2YMCT#fmg;Q_x+QV zimTZo=|2w$bNR4b3hkR#<-C)d%Wu6WY&9PlH;9mJ@UNszWII$RYrS_IG�O!p{A3 z`E(mO!kf%HXzGJz2mCErOLoBz$q}x*_nQ>$`Y{`~omk#tQe$ur3>a@BW_V|OT*7LD z$aYokI9#Ppz&^;@IkV zebSzXfs+2)lwS;cdom$zg1X-v+(R`lwbP#=<7I6A;s0%Jou+W{M2vF9g`Y) zatLk}=-_C|DAEF%)AjOpNw@-GsnO&rG^h4fxMAszgK#9Z4{S{p$aNI;Fg#6d{&%WG zU|O0QQq$~7E8I%+fQ4x$7J^mO6O`$Pdfn)m#y#Aqud!^u!6uuwd&140h=dKTUE!8h zOt>xSBjN)BQ)K0s1u+@xdtL7d@5e)T9d2fP^uNR~xH4r7c?7L~edG)x(DLGCSo&6VeMt&OB`AiiO^gNgPa(+(9#| zG8WI*Z@-)hO5shmZTHd*_^>2Abz1!=s!ZB>DN|$;u2FCB9&j>S@~@OSp&2Ck4H6`-OrK#8CzQ z_=NHcfP|T4b0YcDOTs0I?v}50=31kAVMURFM7J$_7S%=1F8r$sg8~aOkZ7rTLQ5Bo zpYABfpf?LLkm!vXM;$8oO5#KY5^a2ITsNIldN3S=r7XxmQc-qKP+H2QrRI}`K{lij z9=s{VzDGy;yL^VH;(f|aG?G74)2yAYNd7{b-`D7od_ePxTAY#WrB3Iz`yts!!y3#F zk$eQD3v{IikjX9CT&vU;xdq(=bjzHUTSyL4cBhd1m9hsU9KijfgWmc2yKqL9O`%*8 zZy9w6a}Lv}uxEpi9HBcd<}vayohVIXnx)`_6gj zws&{_fht>`vMT?if4{c$F`QrQ4QCgt@FV2zZB{gpMOo#S5Ei8n8MR9Zyxi)gn!Xp?o)q6@|gbk)d2P^f2F~%tv(GKO1w)C zZ=1r7U00DOe=M@RzBW#46v$XfPXJPqwL3&)vcCI4}=RVVw6Eld9a*6 zgQJ3>_sV!>h}Ec2n7uMa8E%!+A9F(B?n*&9z$z~S99PAVfe^oHh*u=jXPx=!SF9Li zl`{w$Ry8SKwo;;DO!){h7}k{!BQbEb+>Z=_r{#T=MynhO{%^fWVxi%!OmMCUfxL=d zFr-3H;^07q778jT?yfLZ!KuoR_(FJPr}Y58CdPgZWH1ZC?CaATbhoL%P*Zr}qQXyd^d5}O<$w#F7Bz#U4^Z>({HnaItU z(}=bW?IpC{>wUm}y*nhKHKJXGwh-+RwA;}BjP@UB`_}k?YmGakq8*90s-~yMBJ@wA z-&kXS$l6%2s||szwQ(@NHiVQwT$2}!t$hjZ*J|zA_XNA?Ww<3eRom9c9hOfFCM{u- z0;QeeQmESC=MXmeD06p-rSQpyK*#O>&0N7UM__0-*BZH}>yui)vhnNhBz$G=pcjru z;SLEq>7s$h+0XedIvT&Zk!+_Kr%W;=yJ_#X6<;CQ13`76WF=JNsutJz!TmaCxX|PZ zpCS+1*tu(V8~s4FS!b3ue!`P8kWr@rL%j$7zyEI zy(>Jf_aqgT4T!B#K*;8`_^ar%-W$H!EWpQ`HQ?6ZL7rHY5y)g+nYOS9z27YLcO!df z$++F%0cnj+P~YeZ9*rLOYsV_ZH+n$7Mhz6BecYgdU1$T)-fGlBS(7t3H-)c5lh_oF UZ~G-p6yGq%nkY20(7S{F1FSleYybcN delta 5016 zcmZu!30PBC7QXi-5Vo)<$cvCbh=Q!5f?CJ}7mE4>6p9K$KqVBRfIz3>0=S?kisC`k z5m{`tP8FAl?Pyo6Q1@1+W3|<3wN^`&s#WXK+B)Y37}C!8ef;OY|Jm;LUY`4oamPRA ziqgV|T1EZlVl_=`tK%VC<$0wRjtZtv0BAXM>uZEwU&E z^|t76vO{g09S(Oe*k`9h@e~uUBG8y|*=0F|nvvt|QC2Ys0V^)i%fM)nJ+bEAM4&O_ zr{?4mYDVr7%;QD|$sDlSbOahRIlJs-Le0o6cEH57%-7D~tOItwXu7}!a`YBZs|*?p z2CJEFX-*h+$caceS7&7Y&V<4jR-e!a*k(OB^tlV65-SoF5)z{4q;44C?uLpJ8Jk@= zxJ*-;Q<9fmkhdU*%SV~>08d#^s)+m!cq)#w3@`A)Ho;u_Kgh z!pUVNd4;)zi&J9hHyP|eT8V`jwFC-? z+*xnjmv2$$x)CHcq_n)$P+FE1sH2(Au=*8uW(M$Yo**?4K7>ai@Ryt z)4d=kr&t;m5{9<|RqhQxgr6CxbO@pFq3y8AV;P;sV6hHoRWy1i;U2N!;X&9Tb1;^) z@<-;xAkrTlQ4Hc3Ohyee!U_OuU|A4GZey@J2#4<>V4vZHyT&w!U<5uG9YYu-1!KQT zrq#3IsI3f-24lf14D3R1lWa*r(d>M~YuR~a68j!LyCesnB~BfJiNhGoFge&CptQvF zp~C|gyPyO@=y?ZgO5v!VJACHt!0GKwSG+qoC6N-NH-amT!Ci=;vFA9V&xChwpKQuT3l`tTDH!qahGgy`w`DhWybi@rjiTIfyVx;T=W zW@Mwrv|g*f%3=K%4^fhkkd`oYs(wM5e%4OCFO46bHdSvu$2ALkHtO};cTP>v<3HDt zEIxEXjg-s{!FQA^ooGWzYN|dVVQy;StXcYmiF)7Zl<2p|>0Qx!2klJLdqbmdzC#^O zbE%5Z75 zh*e5Nz71ZPlI*|dBRIWL}= zPQEmUlSqvk2%gT%&KRYcQo}XVgy}6DJq+K>(|~RI1bQ0w=4z#Qz8Ap9Fa+L6ccx#! z#dNiV=P#lSroXLlu`@+Vze4H_>oSzkkzwp{KuqR&=YRLNzk$2(HP#D_ z_@-ZEm&kI+U$yY@*F^2`c>lmONexE93PXeQrGEE8ye^mEURD^SWv%#sj)nARD9CQ& z_~#&>6`-<675U5kbwvIeOqrF2E8H`y8FA9=$5dh(J4azfolGd9QR+9Ap+n zC7(;14-G|U1#>bG9R+sNQCh;JC8m(FAS>Do>E&X~>%xmV zmt%PJI|O!Xk?a(V`R%Sqb_qvzdTWvVO(-lo06$! z@KaMqXYcY(W6T*yTsY9>bYFwsx@Te0LJj>Cwk`ChpRpeBYME~IJaoB-HpCpH(~JNO!_^nSge8S#cnQ+cj|t|3O@+{x}JUp$t^gwSQCL;VcDY) zhqwEBbPMt`&sgY>!dI7;K1R~J;5(qH(9pXOTcPo|S0n1gP`CJ^OQLp7uI^kKC!Bk< z@)S&~@EY*tnS&jebzkuKpyT)c^as#h;i-Kn>~)`g7u83?-OIz+IX)JGr`Mk7k9z_? zRA`{9!VLyiI?`Vtu+nqfufpS~f$UB{6Gk858Tn0E<2Z(G+V6t*W3OXfqKe={B21e1 z3SKQ0Wt_eE|65kY!PP2vnJ`_t=NJAqyk0qtO5xYac)1k|?YRspYe=e!a+NXVc=eB$ z@V@9@!D=?pTop@gu|O!b1Lq~7)E;7%43axoq{^Xm$%&zkOqub}|5MCzW_(oBb-Y0; zSH_<~Vvx>LKQo*uiI$QQe z!Aqp_f&F<}-l zLop@<#Fe}}+#+rml&*}T!(so*XwMN$&p&zZ3091-h=~O2npXKp3uP3TYU1c<_@!nX zeF213el!Zt#9bjc6AygJsiG}n^{{r;d@6wT>TJgt)cb!WAimBQR<3r0nYBu|TPKs* zpI9F*s$xK>^@8fv&d}bYI|%lpA8Pe}UBS$Gay9O4t#fap*73zZ)?8ex!91Vui&<*N`dpJyo5?9TMh_y_C9}Hv8amuQ@>Q0zuN1+ z8(?@|qh)JMuTz`X*Rug~8UuU!6=|WUngKrbKDHX|?r%L#iK;Ynk=k{>E`Qt%QI&39 z1eTFr6ICu8QSdT+fAHTFikLsz{s&4s7+!SrPqydj?ELGgwWP_)6<=jnJt z@Ot2XPDu|o2wRuGz@+>h3A#1}&;pp!pn-632N&>xT(og$o6s%+2{m9qXEJiW8mw?P-t$9g@jFNTlPV~p7u&yvj#Mqt!M=lZVI+#p9V}{iuypf zvq>gtS5?5NO@44>lg$1t^M?fUFK2miT{|N7k}DDWdOvx!D_Xv}CE`1BxA0jG&H3-!%jVA$pX z4O=wOxNRL|G<(C?W*&dbm}gpTVQ;g7a^^Go4wd!I4v^pC3LY&A`oJ7Fu|)w- zTD)N~+D^3l(HdGDpsCpvu4B|4bAM&4f<7_FPiR%cu2v_g*kBJ!TLU=Lgy@-`OX0`YAceCM#UTHU7m4`Ur?2><{9 diff --git a/tools/run/RunMain.hx b/tools/run/RunMain.hx index f5a4bb301..f8fd2dd4e 100644 --- a/tools/run/RunMain.hx +++ b/tools/run/RunMain.hx @@ -87,6 +87,12 @@ class RunMain public static function executeHxcpp() { + if (Sys.args()[0] == "setup") + { + setup(); + return true; + } + if (!sys.FileSystem.exists("./hxcpp.n")) return false; From 05d52f6960fa0c2ef448e27e1250cc4946b1392e Mon Sep 17 00:00:00 2001 From: Tobiasz Laskowski Date: Sat, 31 Aug 2024 11:32:48 +0100 Subject: [PATCH 2/3] Update documentation to mention setup command --- README.md | 33 ++++++++++++++++++++++++--------- tools/hxcpp/BuildTool.hx | 4 +++- tools/run/RunMain.hx | 3 +-- 3 files changed, 28 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index b20414b1e..b2b65a483 100644 --- a/README.md +++ b/README.md @@ -4,23 +4,38 @@ hxcpp is the runtime support for the c++ backend of the [haxe](http://haxe.org/) compiler. This contains the headers, libraries and support code required to generate a fully compiled executable from haxe code. +## Installing from haxelib -# building the tools +```sh +haxelib install hxcpp +``` + +## Installing from git +```sh +haxelib git hxcpp https://github.com/HaxeFoundation/hxcpp ``` -REPO=$(pwd) -cd ${REPO}/tools/run -haxe compile.hxml -cd ${REPO}/tools/hxcpp -haxe compile.hxml -cd $REPO + +Alternatively, if you plan on modifying hxcpp for development, you can clone manually and use `haxelib dev`: + +```sh +git clone https://github.com/HaxeFoundation/hxcpp +haxelib dev hxcpp ./hxcpp ``` -# cppia +### Build the tools -You first need to build the cppia host. +When installing from git, it is necessary to build the hxcpp build tool: +```sh +haxelib run hxcpp setup ``` + +### cppia + +You first need to build the cppia host. + +```sh REPO=$(pwd) cd ${REPO}/project haxe compile-cppia.hxml diff --git a/tools/hxcpp/BuildTool.hx b/tools/hxcpp/BuildTool.hx index 22f85d898..e173394b2 100644 --- a/tools/hxcpp/BuildTool.hx +++ b/tools/hxcpp/BuildTool.hx @@ -1847,6 +1847,8 @@ class BuildTool Log.println(' ${BOLD}resize${NORMAL} #megabytes -- Only keep #megabytes MB'); Log.println(' ${BOLD}list${NORMAL} -- list cache usage'); Log.println(' ${BOLD}details${NORMAL} -- list cache usage, per file'); + Log.println(' ${BOLD}haxelib run hxcpp${NORMAL} ${ITALIC}${WHITE}setup${NORMAL}'); + Log.println(' Rebuild the hxcpp build tool'); Log.println(''); } @@ -2348,7 +2350,7 @@ class BuildTool { var ver = Std.parseInt(inVersion); if (ver>6) - Log.error("Your version of hxcpp.n is out-of-date. Please update by compiling 'haxe compile.hxml' in hxcpp/tools/hxcpp."); + Log.error("Your version of hxcpp.n is out-of-date. Please update by running 'haxelib run hxcpp setup'"); } public function resolvePath(inPath:String) diff --git a/tools/run/RunMain.hx b/tools/run/RunMain.hx index f8fd2dd4e..38cabf0d7 100644 --- a/tools/run/RunMain.hx +++ b/tools/run/RunMain.hx @@ -23,8 +23,7 @@ class RunMain log('This version of hxcpp ($dir) appears to be a source/developement version.'); log("Before this can be used, you need to:"); log(" 1. Rebuild the main command-line tool, this can be done with:"); - log(" cd tools/hxcpp"); - log(" haxe compile.hxml"); + log(" haxelib run hxcpp setup"); log(" 2. FOR HXCPP API < 330:"); log(" Build the binaries appropriate to your system(s), this can be done with:"); log(" cd project"); From 11a73df20c80a46fa846dbc4c342e060ed656414 Mon Sep 17 00:00:00 2001 From: Tobiasz Laskowski Date: Sat, 31 Aug 2024 11:45:24 +0100 Subject: [PATCH 3/3] [ci] Use setup command in ci scripts --- .github/workflows/package.yml | 3 +-- .github/workflows/setup/action.yml | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/.github/workflows/package.yml b/.github/workflows/package.yml index ead482b54..1c34a5324 100644 --- a/.github/workflows/package.yml +++ b/.github/workflows/package.yml @@ -29,8 +29,7 @@ jobs: - name: Build Tool run: | - cd tools/hxcpp - haxe compile.hxml + haxelib run hxcpp setup - name: Check XCode diff --git a/.github/workflows/setup/action.yml b/.github/workflows/setup/action.yml index cb170b80b..a88acec9c 100644 --- a/.github/workflows/setup/action.yml +++ b/.github/workflows/setup/action.yml @@ -30,6 +30,5 @@ runs: run: haxe compile.hxml - name: build hxcpp - working-directory: tools/hxcpp shell: pwsh - run: haxe compile.hxml \ No newline at end of file + run: haxelib run hxcpp setup