aboutsummaryrefslogtreecommitdiffstats
path: root/platform
diff options
context:
space:
mode:
authorThomas Heijligen <thomas.heijligen@secunet.com>2022-08-18 12:16:29 +0200
committerThomas Heijligen <src@posteo.de>2022-09-12 07:15:03 +0000
commit3753d29b97cd10abe98846ec48ff4ec1d20baa80 (patch)
tree8fc20db5c272f5c7570bd94d718e8e6bed3b5e1e /platform
parent66dc554d7f72860ccb4cf6fcfd0eb89df9a7564f (diff)
downloadflashrom-3753d29b97cd10abe98846ec48ff4ec1d20baa80.tar.gz
flashrom-3753d29b97cd10abe98846ec48ff4ec1d20baa80.tar.bz2
flashrom-3753d29b97cd10abe98846ec48ff4ec1d20baa80.zip
meson: Refactor the programmer selection
This implements a positive selection choice of which programmers should be built. - Each programmer is represented through an entry in the programmer dictionary - The entry contains: - A list of systems and CPU families where the programmer can run on - A list of required dependencies - A list of sources needed to build the programmer - A list of compiler flags - A flag to determin if the programmer should be build on 'auto' - If an entry is not given it is set to the default value - If a programmer gets selected, an 'active' flag is added to the entry on runtime - All programmers with an 'active' flag will be included in the build - One or more programmers can be selected through '-Dprogrammer=<>' - 'auto' enables all programmers which are available, deps are found and have the 'default' flag - 'all' enables all programmers which are available and deps are found - 'group_***' enables all programmers which are available, deps are found and the programmer belongs to the selected group - '_programmer_name_' forces the programmer to be built or the build will fail. Change-Id: Ib44b26e3748fc71f116184082b4aed0bb208b4c1 Signed-off-by: Thomas Heijligen <thomas.heijligen@secunet.com> Reviewed-on: https://review.coreboot.org/c/flashrom/+/63724 Reviewed-by: Anastasia Klimchuk <aklm@chromium.org> Reviewed-by: Felix Singer <felixsinger@posteo.net> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Diffstat (limited to 'platform')
-rw-r--r--platform/meson.build31
1 files changed, 31 insertions, 0 deletions
diff --git a/platform/meson.build b/platform/meson.build
index 5a74cef7..42e85eea 100644
--- a/platform/meson.build
+++ b/platform/meson.build
@@ -9,3 +9,34 @@ endif
if host_machine.endian() == 'big'
add_project_arguments('-D__FLASHROM_BIG_ENDIAN__=1', language : 'c')
endif
+
+# OpenBSD requires libi386 or libamd64 for I/O port handling
+if host_machine.system() == 'openbsd'
+ if host_machine.cpu_family() == 'x86'
+ libi386 = cc.find_library('i386')
+ deps += libi386
+ elif host_machine.cpu_family() == 'x86_64'
+ libamd64 = cc.find_library('amd64')
+ deps += libamd64
+ endif
+endif
+
+# NetBSD requires libx86 or libx86_64 for I/O port handling
+if host_machine.system() == 'netbsd'
+ if host_machine.cpu_family() == 'x86'
+ libx86 = cc.find_library('x86')
+ deps += libx86
+ elif host_machine.cpu_family() == 'x86_64'
+ libx86_64 = cc.find_library('x86_64')
+ deps += libx86_64
+ endif
+endif
+
+
+# SunOS requires external libraries for network sockets
+# they are used to support serial devices via network
+if host_machine.system() == 'sunos'
+ libsocket = cc.find_library('socket')
+ libnsl = cc.find_library('nsl')
+ deps += [ libsocket, libnsl]
+endif