mirror of
https://review.coreboot.org/flashrom.git
synced 2025-04-27 15:12:36 +02:00

I found that cross-compiling with GCC 12.2.0 targeting DJGPP from Linux on x86_64 that meson used my system include directory (/usr/include/x86_64-linux-gnu/) and pulled in include files that are incompatible with DJGPP. Setting sys_root prevents meson from assuming they're compatible between the build and host systems, fixing those compile-time errors. TEST=meson setup --cross-file meson_cross/i586_djgpp_dos.txt; ninja libflashrom.h no longer causes "features.h: No such file or directory" errors via /usr/include/x86_64-linux-gnu/sys/types.h Change-Id: Ib9cf70f6f94782c5303fb232aaf4a46192907f66 Signed-off-by: Peter Marheine <pmarheine@chromium.org> Reviewed-on: https://review.coreboot.org/c/flashrom/+/82212 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Anastasia Klimchuk <aklm@chromium.org>
36 lines
955 B
Plaintext
36 lines
955 B
Plaintext
# This file is for cross compiling flashrom for DOS with DJGPP.
|
|
#
|
|
# Make sure the program names match your toolchain
|
|
#
|
|
# Make sure pkg-config can find your self compiles libpci
|
|
# or add the path of your libpci.pc as 'pkg_config_libdir'
|
|
# under [properies] below.
|
|
#
|
|
# If cross-compiling, you may need to set sys_root in the [properties]
|
|
# section because meson otherwise assumes the same sysroot as the
|
|
# system on which you're building and will get the wrong include files
|
|
# (from /usr/include/x86_64 for example) among other possible issues.
|
|
|
|
[binaries]
|
|
c = 'i586-pc-msdosdjgpp-gcc'
|
|
ar = 'i586-pc-msdosdjgpp-ar'
|
|
strip = 'i586-pc-msdosdjgpp-strip'
|
|
pkgconfig = 'pkg-config'
|
|
|
|
[host_machine]
|
|
system = 'dos'
|
|
cpu_family = 'x86'
|
|
cpu = 'i586'
|
|
endian = 'little'
|
|
|
|
[built-in options]
|
|
c_std = 'gnu99'
|
|
default_library = 'static'
|
|
|
|
[project options]
|
|
tests = 'disabled'
|
|
ich_descriptors_tool = 'disabled'
|
|
|
|
[properties]
|
|
sys_root = '/usr/local/djgpp'
|