mirror of
https://review.coreboot.org/flashrom.git
synced 2025-07-02 22:43:17 +02:00
hwaccess: replace macros by C code
Split the code for endian conversion into separate files for big and little endian. The buildsystem selects the correct file for the used endianness. Replace the swab macros with `static inline` c functions. Define macros for returning the same or swapped value. Call those macros in the endian specific files. Change-Id: I86d38d816b37c283279c485fac8027f8fb94364a Signed-off-by: Thomas Heijligen <thomas.heijligen@secunet.com> Reviewed-on: https://review.coreboot.org/c/flashrom/+/62898 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Nico Huber <nico.h@gmx.de>
This commit is contained in:

committed by
Nico Huber

parent
b94a5a21c3
commit
6272c71fbb
16
meson.build
16
meson.build
@ -29,13 +29,6 @@ add_project_arguments('-D_POSIX_C_SOURCE=200809L', language : 'c') # required fo
|
||||
add_project_arguments('-D_BSD_SOURCE', language : 'c') # required for glibc < v2.19
|
||||
add_project_arguments('-DFLASHROM_VERSION="' + meson.project_version() + '"', language : 'c')
|
||||
|
||||
if host_machine.endian() == 'little'
|
||||
add_project_arguments('-D__FLASHROM_LITTLE_ENDIAN__=1', language : 'c')
|
||||
endif
|
||||
if host_machine.endian() == 'big'
|
||||
add_project_arguments('-D__FLASHROM_BIG_ENDIAN__=1', language : 'c')
|
||||
endif
|
||||
|
||||
if host_machine.system() in ['cygwin', 'windows']
|
||||
add_project_arguments('-DIS_WINDOWS=1', language : 'c')
|
||||
else
|
||||
@ -142,6 +135,15 @@ if cc.check_header('sys/utsname.h')
|
||||
add_project_arguments('-DHAVE_UTSNAME=1', language : 'c')
|
||||
endif
|
||||
|
||||
if host_machine.endian() == 'little'
|
||||
srcs += 'hwaccess_endian_little.c'
|
||||
add_project_arguments('-D__FLASHROM_LITTLE_ENDIAN__=1', language : 'c')
|
||||
endif
|
||||
if host_machine.endian() == 'big'
|
||||
srcs += 'hwaccess_endian_big.c'
|
||||
add_project_arguments('-D__FLASHROM_BIG_ENDIAN__=1', language : 'c')
|
||||
endif
|
||||
|
||||
# some programmers require libusb
|
||||
if get_option('usb')
|
||||
srcs += 'usbdev.c'
|
||||
|
Reference in New Issue
Block a user