Was cross-compilation mentioned yet in the thread yet (I didn't find anything when quickly glancing over the posts).
Since there was mention of universal binaries in the WWDC presentations, maybe it will actually be fairly simple to cross-compile binaries for ARM Macs on existing x86 build machines? (it is already trivial for binaries running on iOS devices versus on the iOS simulator, since the simulator is running x86 code, you just give it a different target triple, e.g. "-target arm64-apple-ios13.5" vs "-target x86_64-apple-ios13.5-simulator", so maybe cross-compiling for Macs will be equally simple...) Cheers, -Floh. On Friday, 10 July 2020 at 02:12:51 UTC+2 [email protected] wrote: > Yeah lets create an emsdk issue for this.. > > On Thu, Jul 9, 2020 at 2:24 PM Brion Vibber <[email protected]> wrote: > >> Yeah, polling for new branches will do in a pinch. :) >> >> I'll see what I can get running on my local machine and then we'll see if >> we can get it working downloaded by emsdk... >> >> Shall I move detail discussion on this over to a GitHub issue or private >> email chain? >> >> And thanks! I'm very excited, this is gonna be helpful for me for now ;) >> and hopefully more people down the road! >> >> -- brion >> >> On Thu, Jul 9, 2020, 2:18 PM 'Sam Clegg' via emscripten-discuss < >> [email protected]> wrote: >> >>> >>> >>> On Thu, Jul 9, 2020 at 1:36 PM Brion Vibber <[email protected]> wrote: >>> >>>> What would be needed for emsdk distribution is automated builds made >>>> during the release process, requiring no manual intervention. >>>> >>>> If I personally must see the release announcement, run a build, and >>>> upload it before people can update and install, then we have failed >>>> because >>>> there will be frequent delays in the best case. >>>> >>>> So if I can set up a VM that is pinged by your system when you're >>>> creating a new release and no manual tweaking, naming, testing, or command >>>> line invocations are necessary, but the build will go straight into where >>>> emsdk downloads from and no delays are present between Linux/x86_64 >>>> availability and Linux/ARM64 availability, then I'm happy to rent a VM to >>>> make it happen. :) >>>> >>> >>> When releases happen we commit a change to >>> `emscripten-releases-tags.txt` the emsdk repo, so presumably it should be >>> possible today to simply write script to poll that repo every hour or so, >>> then build and upload the results? >>> >>> The downside is that the binaries that we release are actually not built >>> by the emsdk repro but at a python script in the waterfall repo: >>> https://github.com/WebAssembly/waterfall. So even though emsdk can >>> build from source the binaries it expects are not build by that same code. >>> This is a kind of a sad state of affairs, but it should still be possible >>> to setup a builder that uses those two repos to do your build and upload. >>> >>> We could start by doing one manually if you like? You could upload an >>> linux/arm64 tar ball and we can modify emsdk such that it is installable? >>> >>> >>> cheers, >>> sam >>> >>> >>> >>> >>> >>> >>> >>> >>> >>>> >>>> -- brion >>>> >>>> On Thu, Jul 9, 2020, 12:52 PM 'Sam Clegg' via emscripten-discuss < >>>> [email protected]> wrote: >>>> >>>>> I don't its is very likely that we will want to add these new >>>>> architectures to the ones that we pre-build and test on our >>>>> infrastructure. >>>>> >>>>> The exception being macOS, but as you say that is a ways out still. >>>>> >>>>> I'm afraid I view linux/arm64 a lot like FreeBSD or some other unix >>>>> with relatively few users. I'm a big fan of these niche platforms but >>>>> until there is a large enough userbase I don't think it worth our time to >>>>> try to support them officially. Bear in mind that we don't even provide >>>>> pre-built binaries for linux/x86_32 (which I imagine has way more users >>>>> than linux/arm64). >>>>> >>>>> Having said that its seems reasonable that we could allow emsdk to >>>>> support these platforms if community members such as yourself want to >>>>> take >>>>> the time to build and upload binary packages for them. For example you >>>>> could put your binaries in gcs/s3 bucket and emsdk could look there when >>>>> running on linux/asm64. Do you think that could work? >>>>> >>>>> cheers, >>>>> sam >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> On Thu, Jul 9, 2020 at 11:43 AM 'Thomas Lively' via emscripten-discuss >>>>> <[email protected]> wrote: >>>>> >>>>>> Oh wow it didn't even cross my mind that we would be affected by >>>>>> Apple switching to ARM. I assume ARM MacOS is something we will want to >>>>>> support natively at some point, but I don't know whether or not the best >>>>>> solution is to just wait for our CI providers to add support. You're >>>>>> also >>>>>> right that ideally we would support ARM64 on all three OSes, but that >>>>>> would >>>>>> double our testing burden even if all our CI providers supported that. >>>>>> I'm >>>>>> not sure what the best path forward is. >>>>>> >>>>>> On Thu, Jul 9, 2020 at 11:30 AM Brion Vibber <[email protected]> wrote: >>>>>> >>>>>>> I've been a bit of an ARM64 enthusiast of late, trying out Linux, >>>>>>> Windows 10, and iOS devices that run on the ARM64/Aarch64 family of >>>>>>> processors. Emscripten works fine on these machines if one cares to do >>>>>>> some >>>>>>> light development work on them, but since there's no binaries built >>>>>>> from >>>>>>> CI, the standard emsdk can only install by building from source -- >>>>>>> which >>>>>>> can take hours on a middleweight portable machine. >>>>>>> >>>>>>> Now that Apple is switching their Mac product line to ARM64 >>>>>>> processors over the next two years, it will likely become much more >>>>>>> common >>>>>>> next year for people to have ARM64-based laptop and desktop computers, >>>>>>> and >>>>>>> some of them will need to build something with emscripten in their >>>>>>> workflows either on macOS or on a virtualized Linux in Docker etc. >>>>>>> >>>>>>> From what I've seen presented at WWDC, the ARM64 Macs will support >>>>>>> emulated processes, so it may work to ship the x86_64 binaries with the >>>>>>> caveat that they will run much slower than native builds. >>>>>>> >>>>>>> Virtualized Linux builds would also need native ARM64 binaries to >>>>>>> run, or else they'd have to sit there for a couple hours compiling >>>>>>> after >>>>>>> every upgrade. >>>>>>> >>>>>>> And of course there are already Windows 10 and Linux computers >>>>>>> available with ARM64 processes, on sale since a couple years ago and >>>>>>> used >>>>>>> in the wild in modest numbers. >>>>>>> >>>>>>> I get the impression that the biggest roadblock to explicit ARM64 >>>>>>> support in emscripten is getting it into the CI infrastructure: >>>>>>> * Linux/ARM64 builds and testing? >>>>>>> * macOS/ARM64 builds and testing? >>>>>>> * Windows/ARM64 builds and testing? >>>>>>> >>>>>>> It's too soon to start on macOS since it's in beta, dev kits aren't >>>>>>> shipped yet, and there's no obvious way yet to figure out how to run >>>>>>> tests >>>>>>> on a macOS ARM system in CI. :) >>>>>>> >>>>>>> And I'm less sure how important Win/ARM64 is, given you can use the >>>>>>> Linux/ARM64 version in WSL virtualization. But some folks prefer to >>>>>>> develop >>>>>>> on native Windows, too. >>>>>>> >>>>>>> If there's any way we can start talking about Linux/ARM64 builds and >>>>>>> testing, I would be very happy about it! I would even kick in a few >>>>>>> bucks >>>>>>> for a VM or something if that would help any. ;) >>>>>>> >>>>>>> Thanks for your time and your consideration! >>>>>>> >>>>>>> -- brion vibber (brion @ pobox.com / brion @ wikimedia.org) >>>>>>> Wikimedia Foundation >>>>>>> >>>>>>> -- >>>>>>> You received this message because you are subscribed to the Google >>>>>>> Groups "emscripten-discuss" group. >>>>>>> To unsubscribe from this group and stop receiving emails from it, >>>>>>> send an email to [email protected]. >>>>>>> To view this discussion on the web visit >>>>>>> https://groups.google.com/d/msgid/emscripten-discuss/CAFnWYT%3D3OLskq1KBtVrgKsq1PTS7eHDxyzpcBpmE8_Bfk7m6Kw%40mail.gmail.com >>>>>>> >>>>>>> <https://groups.google.com/d/msgid/emscripten-discuss/CAFnWYT%3D3OLskq1KBtVrgKsq1PTS7eHDxyzpcBpmE8_Bfk7m6Kw%40mail.gmail.com?utm_medium=email&utm_source=footer> >>>>>>> . >>>>>>> >>>>>> -- >>>>>> You received this message because you are subscribed to the Google >>>>>> Groups "emscripten-discuss" group. >>>>>> To unsubscribe from this group and stop receiving emails from it, >>>>>> send an email to [email protected]. >>>>>> To view this discussion on the web visit >>>>>> https://groups.google.com/d/msgid/emscripten-discuss/CAJZD_EVv%3DLHPDF4nZeOUX7ryEEAWvAPWRMPKwxX%3DbUh3JTFdnQ%40mail.gmail.com >>>>>> >>>>>> <https://groups.google.com/d/msgid/emscripten-discuss/CAJZD_EVv%3DLHPDF4nZeOUX7ryEEAWvAPWRMPKwxX%3DbUh3JTFdnQ%40mail.gmail.com?utm_medium=email&utm_source=footer> >>>>>> . >>>>>> >>>>> -- >>>>> You received this message because you are subscribed to the Google >>>>> Groups "emscripten-discuss" group. >>>>> To unsubscribe from this group and stop receiving emails from it, send >>>>> an email to [email protected]. >>>>> To view this discussion on the web visit >>>>> https://groups.google.com/d/msgid/emscripten-discuss/CAL_va28OryMnv1oKm%3DaE1Y3DK_X0nZayknT8VrUX-0kMM3BGhA%40mail.gmail.com >>>>> >>>>> <https://groups.google.com/d/msgid/emscripten-discuss/CAL_va28OryMnv1oKm%3DaE1Y3DK_X0nZayknT8VrUX-0kMM3BGhA%40mail.gmail.com?utm_medium=email&utm_source=footer> >>>>> . >>>>> >>>> -- >>>> You received this message because you are subscribed to the Google >>>> Groups "emscripten-discuss" group. >>>> To unsubscribe from this group and stop receiving emails from it, send >>>> an email to [email protected]. >>>> To view this discussion on the web visit >>>> https://groups.google.com/d/msgid/emscripten-discuss/CAFnWYTnUY1NWzAV_TO0HwiF-uft8fxdKEwB2tbrYYyB_Q5ocRw%40mail.gmail.com >>>> >>>> <https://groups.google.com/d/msgid/emscripten-discuss/CAFnWYTnUY1NWzAV_TO0HwiF-uft8fxdKEwB2tbrYYyB_Q5ocRw%40mail.gmail.com?utm_medium=email&utm_source=footer> >>>> . >>>> >>> -- >>> You received this message because you are subscribed to the Google >>> Groups "emscripten-discuss" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to [email protected]. >>> To view this discussion on the web visit >>> https://groups.google.com/d/msgid/emscripten-discuss/CAL_va2-TsGSBBhn%2B6nFyFsNG7xpZUOsJJSrz32-o1paQT%2B%2Bo7g%40mail.gmail.com >>> >>> <https://groups.google.com/d/msgid/emscripten-discuss/CAL_va2-TsGSBBhn%2B6nFyFsNG7xpZUOsJJSrz32-o1paQT%2B%2Bo7g%40mail.gmail.com?utm_medium=email&utm_source=footer> >>> . >>> >> -- >> You received this message because you are subscribed to the Google Groups >> "emscripten-discuss" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected]. >> > To view this discussion on the web visit >> https://groups.google.com/d/msgid/emscripten-discuss/CAFnWYTnX%2BcQGi45h-qbLJZ%2Bhc2b1ZFSivvpzPzjBP1msvx6b_A%40mail.gmail.com >> >> <https://groups.google.com/d/msgid/emscripten-discuss/CAFnWYTnX%2BcQGi45h-qbLJZ%2Bhc2b1ZFSivvpzPzjBP1msvx6b_A%40mail.gmail.com?utm_medium=email&utm_source=footer> >> . >> > -- You received this message because you are subscribed to the Google Groups "emscripten-discuss" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/emscripten-discuss/7cdb69c6-7357-4e3a-ad3f-4035ab73f1b5n%40googlegroups.com.
