TypePHP 编译器 https://swoole.com/aot/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

65 lines
1.2 KiB

name: typephp_os
mode: bin
sources:
- kernel
- thirdparty/openlibm/src
objects:
- build/objects/kernel64-entry.o
link-paths:
- build
link-libs:
- compiler-rt-builtins
build-dir: build/generated
output: build/kernel64.elf
cxx-std: c++17
include-paths:
- kernel/core/abi
- thirdparty/openlibm/include
- thirdparty/openlibm/src
- thirdparty/openlibm/amd64
defines:
- TYPEPHP_NO_MAIN=1
- PHPX_NO_EXCEPTION=1
- PHPX_NO_RTTI=1
- PHP_NANO_NO_LIBC=1
- __NO_CTYPE=1
- ZEND_MM_ERROR=0
- ZEND_MM_CUSTOM=0
- ASSEMBLER=1
- __BSD_VISIBLE=1
cxx-flags:
- -O2
- -U_FORTIFY_SOURCE
- -D_FORTIFY_SOURCE=0
- -ffreestanding
- -fno-builtin
- -fno-stack-protector
- -fno-pic
- -fno-pie
- -m64
- -mno-red-zone
- -mcmodel=small
- -fno-rtti
- -fno-threadsafe-statics
c-flags:
- -O2
- -U_FORTIFY_SOURCE
- -D_FORTIFY_SOURCE=0
- -ffreestanding
- -fno-builtin
- -fno-stack-protector
- -fno-pic
- -fno-pie
- -m64
- -mno-red-zone
- -mcmodel=small
asm-flags:
- -m64
- -mno-red-zone
- -mcmodel=small
ld-flags:
- -nostdlib
- -no-pie
- -Wl,-m,elf_x86_64
- -Wl,--build-id=none
- -Wl,-T,examples/typephp-os/boot/kernel64.ld