php / php-sdk-binary-tools

Tool kit for building PHP under Windows
BSD 2-Clause "Simplified" License
89 stars 35 forks source link

Arm64 aupport #1

Closed dixyes closed 2 years ago

dixyes commented 2 years ago

It "just work" for cross-compiling (no native MSVC toolset available yet)

the built binaries: php_aa64_521532ab.zip (using dixyes/php-src@521532ab )

cmb69 commented 2 years ago

Thank you for the PR! I'll have a closer look ASAP.

vladimir-aubrecht commented 2 years ago

It "just work" for cross-compiling (no native MSVC toolset available yet)

the built binaries: php_aa64_521532ab.zip (using dixyes/php-src@521532ab )

@dixyes Could you please share how did you manage to build php for arm64? :) I am trying to build it with help of your branch, but hitting several issues ... :-/ (seems configure.js in php is not arm64 compatible at this moment as it for example cannot properly parse version from cl.exe for arm64, etc., I did few workarounds, but still some more work is needed...)

dixyes commented 2 years ago

@vladimir-aubrecht

I've fixed sjlj dependency at makefile just now.

try this:

rem --single-branch --depth 1 is for speeding up cloning, you can omit it to fetch full source history
git clone --single-branch --depth 1 --branch arm64 https://github.com/dixyes/php-sdk-binary-tools
git clone --single-branch --depth 1 --branch win_arm64 https://github.com/dixyes/php-src
call php-sdk-binary-tools/phpsdk-starter.bat -c vs16 -a arm64
rem or run following commands in standalone sdk terminal
cd php-src
buildconf
rem only disable-all tested, some extension may not work yet
configure --disable-all -enable-cli
nmake
rem php is generated at arm64 dir
vladimir-aubrecht commented 2 years ago

@dixyes That works perfectly! Thank you :) (for anyone else who will try this after me, there is tiny typo in configure command, it's missing dash in --enable-cli).

Do you have pull request also for those php-src changes which I can follow? :)

Now my next steps will be to get it working with Apache ... :) (I have native Windows ARM64 build of Apache already).

dixyes commented 2 years ago

@dixyes That works perfectly! Thank you :) (for anyone else who will try this after me, there is tiny typo in configure command, it's missing dash in --enable-cli).

Missing dash fixed.

Do you have pull request also for those php-src changes which I can follow? :)

Modifications on php source code is in pr: php/php-src#7702 php/php-src#7703 php/php-src#7704

Modifications on php build system depends on this pr, so I have not send a pr for them