1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2025-12-25 14:33:52 +01:00
RIOT/cpu/native/Makefile.features
Frederik Haxel 0c2cfe99e6 native64: Add Linux/x86_64 board
Adds a separate board for native64 instead of the `NATIVE_64BIT` workaround.
The files in `boards/native64` are more or less dummy files and just include
the `boards/native` logic (similar to `openlabs-kw41z-mini-256kib`).
The main logic for native is in `makefiles/arch/native.inc.mk`, `cpu/native`
and `boards/native`.

The remaining changes concern the build system, and change native board checks
to native CPU checks to cover both boards.
2024-02-05 22:01:40 +01:00

43 lines
1.3 KiB
Makefile

ifeq (FreeBSD,$(OS))
DISABLE_LIBSTDCPP ?= 1
endif
FEATURES_PROVIDED += arch_native
FEATURES_PROVIDED += cpp
ifneq ($(DISABLE_LIBSTDCPP),1)
# libstdc++ on FreeBSD is broken (does not work with -m32)
# Override with "export DISABLE_LIBSTDCPP=0"
FEATURES_PROVIDED += libstdcpp
endif
FEATURES_PROVIDED += periph_cpuid
FEATURES_PROVIDED += periph_eeprom
FEATURES_PROVIDED += periph_flashpage
FEATURES_PROVIDED += periph_flashpage_pagewise
FEATURES_PROVIDED += periph_hwrng
FEATURES_PROVIDED += periph_pm
FEATURES_PROVIDED += periph_pwm
FEATURES_PROVIDED += periph_timer_periodic
FEATURES_PROVIDED += periph_timer_query_freqs
ifeq ($(OS) $(OS_ARCH),Linux x86_64)
# TODO: Add rust support for native 64 bit.
ifneq ($(BOARD),native64)
FEATURES_PROVIDED += rust_target
endif
endif
FEATURES_PROVIDED += ssp
ifeq ($(OS),Linux)
# Access to hardware SPI bus is only supported on Linux hosts
FEATURES_PROVIDED += periph_spi
# Hardware GPIO access is only available on Linux hosts
FEATURES_PROVIDED += periph_gpio periph_gpio_irq
# CAN is only supported on Linux through socketCAN
FEATURES_PROVIDED += periph_can
endif
# This configuration enables modules that are only available when using Kconfig
# module modelling
ifeq (1, $(TEST_KCONFIG))
KCONFIG_CPU_CONFIG += $(RIOTCPU)/native/native.config
endif