ir icon indicating copy to clipboard operation
ir copied to clipboard

Improve cross-compilation

Open jserv opened this issue 1 year ago • 0 comments

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:

  1. Arm64 code generation make CROSS_COMPILE=aarch64-none-linux-gnu-
  2. Arm64 code generation with sysroot make CROSS_COMPILE=aarch64-none-linux-gnu- SYSROOT=$(HOME)/php/ARM64
  3. 32-bit x86 code generation make TARGET=x86

jserv avatar May 07 '23 15:05 jserv