Skip to content

Migrate sdk files to http://downloads.php.net/~windows/php-sdk #5

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Mar 27, 2024

Conversation

bukka
Copy link
Member

@bukka bukka commented Aug 30, 2023

This migrates the sdk files with added 8.4 version.

@bukka
Copy link
Member Author

bukka commented Aug 31, 2023

This makes the master php-src build work again. I pushed the branch to php/php-sdk-binary-tools so this is what is being used: added in php/php-src#12085 .

It might be just a temporary things - we need to firsts decide if we are going to keep using windows.php.net or move it to downloads. This is really just to make things work in the meantime so I won't be merging this until we make some decisions on it.

Just a note that the preg_match_all change will be eventually merged in any case as it makes things more robust because currently it depends on html being on a single line which is not ideal...

@Jan-E
Copy link
Contributor

Jan-E commented Aug 31, 2023

On https://windows.php.net/download/ and on https://downloads.php.net/~windows/php-sdk/deps/ VS16 is still the newest version. Will there be a switch to VS17 (Visual Studio 2022) at some time? And/or for some PHP versions?

@bukka
Copy link
Member Author

bukka commented Aug 31, 2023

Yeah I hope we get it sorted for PHP 8.4. I have just started looking to those things so it might take me a bit of time to get up to speed. There might be also others that will look into it so hopefully we will get it sorted.

@auroraeosrose
Copy link

Binary compatibility is not quite as nasty as it used to be

https://learn.microsoft.com/en-us/cpp/porting/binary-compat-2015-2017?view=msvc-170

Sooo

I just built master (8.4) with vs17 (linked against the vc16 libs) with this and - it all just worked - ran the tests and all

note I had to comment out the phpsdk_deps.php check against mixing crts (line 129)
and apply this PR to get the deps downloaded properly

Note: I didn't do a PGO build or other such fun because of the restrictions on binary compatibility with /GL or /LTCG switches- but it'll do for now if you just want to build PHP and work on extensions using the shiny new compiler

@shivammathur shivammathur merged commit 19c8ccb into php:master Mar 27, 2024
@cmb69
Copy link
Member

cmb69 commented Jul 3, 2024

Thank you for taking care of this @bukka (and pardon me for being unavailable for such a long time due to private reasons).

To be able to do the PHP 8.4 prerelease builds (without modifications to the php-sdk), https://downloads.php.net/~windows/php-sdk/deps/series/ would need copies of the
packages-8.3-vs16-*-*.txt for that version (i.e. packages-8.4-vs16-*-*.txt). Could you upload these @bukka? Or should this be discussed elsewhere (if so, where?)

Wrt. vs17 (aka. Visual Studio 2022): these builds should also work (I've did some preliminary work in preparation for PHP 8.3 back then). To avoid changes to phpsdk_deps.bat, there only need to be copies of the respective series/packages-*.txt files ( vs17 instead of vs16 in the filenames).

Note: I didn't do a PGO build or other such fun because of the restrictions on binary compatibility with /GL or /LTCG switches- but it'll do for now if you just want to build PHP and work on extensions using the shiny new compiler

Isn't that solved as of php/php-src@7d7fe25?

@bukka
Copy link
Member Author

bukka commented Jul 3, 2024

@shivammathur actually took over all the Windows build stuff so he is the best position to do that as he has access to downloads.php.net/~windows .

@bukka
Copy link
Member Author

bukka commented Jul 3, 2024

I think it would be greate to try vs17 as this has been requested by people and if there are no specific blockers, we should at least try it for 8.4,

@cmb69
Copy link
Member

cmb69 commented Jul 3, 2024

I think it would be greate to try vs17 as this has been requested by people and if there are no specific blockers, we should at least try it for 8.4,

Actually. this is a must since vs16 extended support ends 2017-04-13 while PHP 8.4 is supposed to be supported for a longer time (even PHP 8.3 is). Nonsense, see below.

@shivammathur
Copy link
Member

shivammathur commented Jul 3, 2024

I have copied the series files for master, PHP 8.3, and PHP 8.4 with vs17.

@cmb69
Copy link
Member

cmb69 commented Jul 3, 2024

I have copied the series files for master, PHP 8.3, and PHP 8.4 with vs17.

Thank you, @shivammathur! Unfortunately, I've overlooked that there also should be a copy of https://downloads.php.net/~windows/php-sdk/deps/vs16/ (i.e. https://downloads.php.net/~windows/php-sdk/deps/vs17/). Could you please do that?

Anyhow, with a couple of tweaks and workarounds I've managed to build 8.4.0alpha von vs17. :)

@shivammathur
Copy link
Member

I have copied the directory.

cmb69 added a commit to php/web-windows that referenced this pull request Jul 3, 2024
According to a quick discussion[1], these will be build with VS17 (aka.
Visual Studio 2022), so we also update the respective info in the
sidebar.

[1] <php/php-sdk-binary-tools#5 (comment)>
@cmb69
Copy link
Member

cmb69 commented Jul 4, 2024

I have copied the directory.

Thank you; that works fine now.

And a correction regarding the EOL of Visual Studio: 2019 (aka. vs16) has still extended support until 2029-04-10, so there is no need to switch to Visual Studio 2022, but I still think it should be done for PHP 8.4.

cmb69 added a commit to php/web-windows that referenced this pull request Jul 5, 2024
* Show PHP 8.4 (pre-)releases on the Website

According to a quick discussion[1], these will be build with VS17 (aka.
Visual Studio 2022), so we also update the respective info in the
sidebar.

We also add an announcement regarding the update to Visual Studio 2022.

[1] <php/php-sdk-binary-tools#5 (comment)>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants