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

buildsystem: evaluate the USE_IOPL, USE_DEV_IO, USE_IOPERM macros

Determine which macro has to be set for the target system.
Do this in the buildsystem instead of using preprocessor macros.

Change-Id: Ic41ea025e35feb93f07ce7a94c0d15e6e84f38b9
Signed-off-by: Thomas Heijligen <thomas.heijligen@secunet.de>
Reviewed-on: https://review.coreboot.org/c/flashrom/+/58278
Reviewed-by: Nico Huber <nico.h@gmx.de>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
Thomas Heijligen 2021-10-12 17:58:35 +02:00 committed by Nico Huber
parent c9d947576b
commit 1379e54f51
3 changed files with 37 additions and 20 deletions

View File

@ -278,6 +278,25 @@ $(call mark_unsupported,CONFIG_DRKAISER CONFIG_NICINTEL CONFIG_NICINTEL_SPI)
$(call mark_unsupported,CONFIG_NICINTEL_EEPROM CONFIG_OGP_SPI CONFIG_IT8212)
endif
ifeq ($(TARGET_OS), $(filter $(TARGET_OS), Linux Darwin NetBSD OpenBSD))
FEATURE_CFLAGS += -D'USE_IOPL=1'
else
FEATURE_CFLAGS += -D'USE_IOPL=0'
endif
ifeq ($(TARGET_OS), $(filter $(TARGET_OS), FreeBSD FreeBSD-glibc DragonFlyBSD))
FEATURE_CFLAGS += -D'USE_DEV_IO=1'
else
FEATURE_CFLAGS += -D'USE_DEV_IO=0'
endif
ifeq ($(TARGET_OS), $(filter $(TARGET_OS), Hurd))
FEATURE_CFLAGS += -D'USE_IOPERM=1'
else
FEATURE_CFLAGS += -D'USE_IOPERM=0'
endif
###############################################################################
# Flash chip drivers and bus support infrastructure.

View File

@ -30,26 +30,6 @@
#include "programmer.h"
#include "hwaccess.h"
#if !(defined(__gnu_linux__) || defined(__linux__) || defined(__APPLE__) && defined(__MACH__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__DragonFly__) || defined(__DJGPP__) || defined(__LIBPAYLOAD__) || defined(__sun) || defined(__gnu_hurd__))
#error "Unknown operating system"
#endif
#if defined(__gnu_linux__) || defined(__linux__) || defined(__APPLE__) && defined(__MACH__) || defined(__NetBSD__) || defined(__OpenBSD__)
#define USE_IOPL 1
#else
#define USE_IOPL 0
#endif
#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__DragonFly__)
#define USE_DEV_IO 1
#else
#define USE_DEV_IO 0
#endif
#if defined(__gnu_hurd__)
#define USE_IOPERM 1
#else
#define USE_IOPERM 0
#endif
#if USE_IOPERM
#include <sys/io.h>
#endif

View File

@ -42,6 +42,24 @@ else
add_project_arguments('-DIS_WINDOWS=0', language : 'c')
endif
if host_machine.system() in ['linux', 'darwin', 'netbsd', 'openbsd']
add_project_arguments('-DUSE_IOPL=1', language : 'c')
else
add_project_arguments('-DUSE_IOPL=0', language : 'c')
endif
if host_machine.system() in ['freebsd', 'dragonfly']
add_project_arguments('-DUSE_DEV_IO=1', language : 'c')
else
add_project_arguments('-DUSE_DEV_IO=0', language : 'c')
endif
if host_machine.system() in ['gnu']
add_project_arguments('-DUSE_IOPERM=1', language : 'c')
else
add_project_arguments('-DUSE_IOPERM=0', language : 'c')
endif
# get defaults from configure
config_atahpt = get_option('config_atahpt')
config_atapromise = get_option('config_atapromise')