internals:windows:stepbystepbuild_sdk_2
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
internals:windows:stepbystepbuild_sdk_2 [2017/04/26 11:29] – ab | internals:windows:stepbystepbuild_sdk_2 [2018/12/29 18:56] – note on intrinsics switch ab | ||
---|---|---|---|
Line 17: | Line 17: | ||
* Visual C++ 14.0 (Visual Studio 2015) for **PHP 7.0** or **PHP 7.1**. | * Visual C++ 14.0 (Visual Studio 2015) for **PHP 7.0** or **PHP 7.1**. | ||
- | * Visual C++ 15.0 (Visual Studio 2017) for **PHP 7.2** | + | * Visual C++ 15.0 (Visual Studio 2017) for **PHP 7.2** or **PHP 7.3**. |
==== Setup ==== | ==== Setup ==== | ||
- | * Fetch the latest stable SDK tag from https:// | + | * Fetch the latest stable SDK tag from https:// |
* The new PHP SDK is required, when building PHP 7.2+ | * The new PHP SDK is required, when building PHP 7.2+ | ||
* Read the PHP SDK specific notes on the Github repository page | * Read the PHP SDK specific notes on the Github repository page | ||
Line 36: | Line 36: | ||
==== Command prompt ==== | ==== Command prompt ==== | ||
- | The PHP SDK 2.0.0+ provides starter scripts, that automaticaly | + | The PHP SDK 2.0.0+ provides starter scripts, that automatically |
* PHP_SDK_ARCH - the target build architecture used for environment setup | * PHP_SDK_ARCH - the target build architecture used for environment setup | ||
* PHP_SDK_OS_ARCH - the operating system architecture | * PHP_SDK_OS_ARCH - the operating system architecture | ||
* PHP_SDK_PHP_CMD - integrated PHP binary wrapper script | * PHP_SDK_PHP_CMD - integrated PHP binary wrapper script | ||
- | * PHP_SDK_ROOT_PATH - the path to the PHP SDK rood directory | + | * PHP_SDK_ROOT_PATH - the path to the PHP SDK root directory |
* PHP_SDK_VC - Visual C++ version used for the environment | * PHP_SDK_VC - Visual C++ version used for the environment | ||
* several other less relevant vars are available, that can be viewed by the '' | * several other less relevant vars are available, that can be viewed by the '' | ||
Line 47: | Line 47: | ||
The full list of the tools included with the PHP SDK can be found on the repository readme page. | The full list of the tools included with the PHP SDK can be found on the repository readme page. | ||
- | Each version of Visual Studio (or Windows SDK) provides a command prompt environment for compiling (available from the Start Menu group). It is usable, for example, if you want to ommit the starter scripts usage or want to test a pre release Visual Studio version. | + | Each version of Visual Studio (or Windows SDK) provides a command prompt environment for compiling (available from the Start Menu group). It is usable, for example, if you want to omit the starter scripts usage or want to test a pre release Visual Studio version. |
* If compiling **PHP 7.0+** open either the **" | * If compiling **PHP 7.0+** open either the **" | ||
Line 59: | Line 59: | ||
* clone the [[http:// | * clone the [[http:// | ||
- Get the binary tools: | - Get the binary tools: | ||
- | * available from [[https:// | + | * available from [[https:// |
* either fetch a tag as zip, or clone the git repository and checkout the tag | * either fetch a tag as zip, or clone the git repository and checkout the tag | ||
- Get the libraries on which PHP depends: | - Get the libraries on which PHP depends: | ||
- | * use the PHP SDK tools to fetch the suitable dependencies automatically by calling '' | + | * use the PHP SDK tools to fetch the suitable dependencies automatically by calling '' |
- | * download the packaged deps from [[http:// | + | * alternatively, |
- | * dependency archives are named '' | + | |
- | | + | |
* **Note:** This should include the libraries needed to build most the core extensions. However, some other extensions may need additional libraries, header files and helper apps. See [[internals/ | * **Note:** This should include the libraries needed to build most the core extensions. However, some other extensions may need additional libraries, header files and helper apps. See [[internals/ | ||
Line 85: | Line 83: | ||
- In the same directory where you extracted the PHP source there is a '' | - In the same directory where you extracted the PHP source there is a '' | ||
* switch into the php source directory and run '' | * switch into the php source directory and run '' | ||
- | * If you downloaded the dependencies manually in the perevious | + | * If you downloaded the dependencies manually in the previous |
===== Compile ===== | ===== Compile ===== | ||
Line 92: | Line 90: | ||
- Invoke the starter script to automatically setup the environment for the desired build config, fe <code bash> | - Invoke the starter script to automatically setup the environment for the desired build config, fe <code bash> | ||
- | - Change directory to the location of your PHP source code, e.g. <code bash> | + | - Change directory to the location of your PHP source code, e.g. <code bash>cd C: |
- Run: <code bash> | - Run: <code bash> | ||
- To get an overview of the compiling flags: <code bash> | - To get an overview of the compiling flags: <code bash> | ||
Line 134: | Line 132: | ||
- For possible PHP SDK issues, please consult the PHP SDK readme | - For possible PHP SDK issues, please consult the PHP SDK readme | ||
+ | - As of PHP 7.3 the switch --enable-native-intrinsics is available. The resulting binary will then require a processor with the corresponding feature set available. For example, if you set --enable-native-intrinsics=avx2, | ||
internals/windows/stepbystepbuild_sdk_2.txt · Last modified: 2022/01/10 09:43 by cmb