ir
ir copied to clipboard
Improve cross-compilation
This commit introduces support for the CROSS_COMPILE variable, which is commonly used in cross-compilation projects such as the Linux kernel.
When CROSS_COMPILE is set, the build process will use it to detect the proper architecture for code generation. If CROSS_COMPILE is not set, the build system will assume a native build by consulting the results of "uname" command. The SYSROOT variable is used along with CROSS_COMPILE to prepend both header and library default directories.
In addition, users can enforce gcc-multilib to generate 32-bit code under x86-64 platforms by specifying TARGET=x86.
Examples:
- Arm64 code generation make CROSS_COMPILE=aarch64-none-linux-gnu-
- Arm64 code generation with sysroot make CROSS_COMPILE=aarch64-none-linux-gnu- SYSROOT=$(HOME)/php/ARM64
- 32-bit x86 code generation make TARGET=x86