php / pie

The PHP Installer for Extensions
BSD 3-Clause "New" or "Revised" License
630 stars 18 forks source link

Stick to architecture naming conventions on Windows #87

Closed cmb69 closed 1 week ago

cmb69 commented 1 week ago

https://github.com/ThePHPF/pie-design?tab=readme-ov-file#windows-binaries mentions that the architecture should be x86_64 for 64bit Windows versions, while so far we used x64 everywhere (PHP on Windows binaries, PECL DLL packages etc.) I don't see any good reason to break with this convention.

asgrim commented 1 week ago

This was discussed a few times already; x64 is really named incorrectly (it is a shorthand for x86_64). For consistency, all platforms using the same architecture should refer to that architecture in a consistent way.

cc @derickr @shivammathur

cmb69 commented 1 week ago

x64 is really named incorrectly (it is a shorthand for x86_64).

Tell that Microsoft: https://learn.microsoft.com/en-us/cpp/build/how-to-enable-a-64-bit-visual-cpp-toolset-on-the-command-line?view=msvc-170. Or any Windows developer.

asgrim commented 1 week ago

The way I read this Wikipedia suggests that x86_64 (or, x86-64) is correct, and x64 is a short hand that Windows uses:

Since AMD64 and Intel 64 are substantially similar, many software and hardware products use one vendor-neutral term to indicate their compatibility with both implementations. AMD's original designation for this processor architecture, "x86-64", is still used for this purpose,[2] as is the variant "x86_64".[3][4] Other companies, such as Microsoft[6] and Sun Microsystems/Oracle Corporation,[5] use the contraction "x64" in marketing material.

We are trying to ensure PIE is platform agnostic, which means the architecture naming should be common throughout. Making an exception for Windows because Microsoft decided to use a different name may create extra unnecessary maintenance burden.

This feedback is unfortunately very late in the game, and we did actually already co-ordinate on this issue and have this discussion some time ago, and agreed that we should be consistent with the architecture naming (thus, x86_64). It is for this reason that https://github.com/php/php-windows-builder/ GH action produces the binaries named with x86_64.

cmb69 commented 1 week ago

Okay, I still don't see why it's useful to change the long standing naming convention, especially since binaries are only shipped for Windows, but that's a minor issue, and if you have already discussed this, I'm fine with it.