• [^] # Re: Questions

    Posté par . En réponse au journal Le début de la fin pour Intel ?. Évalué à 10.

    Les portages ne semblent pas triviaux vu qu'Apple a annoncer vouloir aider les projets open source à faire leur portage.

    Ca depend lesquels. Une très très grosse majorité des applis importantes sur macOS ont très peu, voir aucun, de code spécifique x86.
    Une simple recompilation et ca repart. J'en ai vu quelques un faire les coqs sur twitter a ce sujet. Et il me semble qu'un des studios de jeux (pas epic du coup...) qui était la pour la demo disait qu'ils avaient un build macOS ARM en moins de qq heures.

    La ou Apple a offert d'aider c'est sur le code assembleur, les changements bas niveau (me rappelle avoir vu passer des threads twitter la dessus, en gros des applis qui faisait des assomptions erronées sur certains comportements du système qui petent avec le passage a ARM). Et j'imagine aussi sur les scripts de builds.
    En gros, ca fait plus de 10 ans que tout le monde part du principe que si ca build pour macOS, c'est forcement x86, et que donc si ca build pour arm, c'est forcement pour iOS.
    Entre les #if arch(x86_64) qui veulent vraiment dire #if targetEnvironment(simulator) et les builds de script qui déterminent la platforme a partir de l'archi du CPU, ya un certain nombre de librairies multiplateformes dont les builds vont peter.
    Genre libgit2 (ou plutot, les scripts d'objective-git2 pour libgit2) est plein a craquer de ce genre de choses. J'ai deja galeré pour sortir un build catalyst (donc iOS ARM + iOS sim x86 + macOS x86) dans un xcframework, je m'approche pas de ce script pour macOS ARM.