; The Portduino based 'native' environment. Currently supported on Linux targets with real LoRa hardware (or simulated).
[portduino_base]
platform =
  # renovate: datasource=git-refs depName=platform-native packageName=https://github.com/meshtastic/platform-native gitBranch=develop
  https://github.com/meshtastic/platform-native/archive/61067ac3774e4fe27aa9762c72cebea507f116c8.zip
framework = arduino

build_src_filter = 
  ${env.build_src_filter} 
  -<platform/esp32/> 
  -<nimble/> 
  -<platform/nrf52/> 
  -<platform/stm32wl/> 
  -<platform/rp2xx0>
  -<mesh/wifi/>
  -<mesh/http/>
  +<mesh/raspihttp/>
  -<mesh/eth/>
  -<modules/esp32>

lib_deps =
  ${env.lib_deps}
  ${networking_base.lib_deps}
  ${networking_extra.lib_deps}
  ${radiolib_base.lib_deps}
  ${environmental_base.lib_deps}
  # renovate: datasource=custom.pio depName=rweather/Crypto packageName=rweather/library/Crypto
  rweather/Crypto@0.4.0
  # renovate: datasource=custom.pio depName=LovyanGFX packageName=lovyan03/library/LovyanGFX
  lovyan03/LovyanGFX@1.2.21
  ; # renovate: datasource=git-refs depName=libch341-spi-userspace packageName=https://github.com/pine64/libch341-spi-userspace gitBranch=main
  https://github.com/pine64/libch341-spi-userspace/archive/2e5ff751d0c39667993df672cb683740ed5c9394.zip
  # renovate: datasource=custom.pio depName=adafruit/Adafruit seesaw Library packageName=adafruit/library/Adafruit seesaw Library
	adafruit/Adafruit seesaw Library@1.7.9
  # renovate: datasource=git-refs depName=RAK12034-BMX160 packageName=https://github.com/RAKWireless/RAK12034-BMX160 gitBranch=main
  https://github.com/RAKWireless/RAK12034-BMX160/archive/dcead07ffa267d3c906e9ca4a1330ab989e957e2.zip
  # renovate: datasource=github-tags depName=Adafruit_BME680 packageName=adafruit/Adafruit_BME680
  https://github.com/adafruit/Adafruit_BME680/archive/refs/tags/2.0.6.zip

; Cross-platform build flags shared between native (Linux) and native-macos builds.
; Anything Linux-only (libbluetooth, libgpiod, libi2c, /sys/class/gpio,
; PORTDUINO_LINUX_HARDWARE, glibc-style _FORTIFY_SOURCE) goes in `build_flags`
; instead. UDP multicast also lives there because the firmware's
; UdpMulticastHandler.h unconditionally `#include <WiFi.h>` on non-NRF52
; targets, which requires the framework's bundled WiFi shim that we
; lib_ignore on macOS.
build_flags_common =
  ${arduino_base.build_flags}
  -D ARCH_PORTDUINO
  -fPIC
  -Isrc/platform/portduino
  -DRADIOLIB_EEPROM_UNSUPPORTED
  -lpthread
  -lyaml-cpp
  -luv
  -std=gnu17
  -std=gnu++17

build_flags =
  ${portduino_base.build_flags_common}
  -DHAS_UDP_MULTICAST=1
  -D_FORTIFY_SOURCE=2
  -fstack-protector-all -Wstack-protector --param ssp-buffer-size=4
  -DPORTDUINO_LINUX_HARDWARE
  -lstdc++fs
  -lbluetooth
  -lgpiod
  -li2c
lib_ignore =
  Adafruit NeoPixel
  Adafruit ST7735 and ST7789 Library
  Adafruit SSD1306
  SD
