diff options
author | Thomas Heijligen <thomas.heijligen@secunet.de> | 2021-10-12 17:58:35 +0200 |
---|---|---|
committer | Nico Huber <nico.h@gmx.de> | 2021-10-15 14:36:09 +0000 |
commit | 1379e54f519234c07b7e0995de84ab782581c552 (patch) | |
tree | 1f54911858840716722f02d604c2a828b4ff2db2 | |
parent | c9d947576bad1854fe7899e9bccc22ce0e649554 (diff) | |
download | flashrom-1379e54f519234c07b7e0995de84ab782581c552.tar.gz flashrom-1379e54f519234c07b7e0995de84ab782581c552.tar.bz2 flashrom-1379e54f519234c07b7e0995de84ab782581c552.zip |
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>
-rw-r--r-- | Makefile | 19 | ||||
-rw-r--r-- | hwaccess.c | 20 | ||||
-rw-r--r-- | meson.build | 18 |
3 files changed, 37 insertions, 20 deletions
@@ -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. @@ -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 diff --git a/meson.build b/meson.build index a971a6a6..86657cef 100644 --- a/meson.build +++ b/meson.build @@ -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') |