Skip to content

Instantly share code, notes, and snippets.

@ladislas
Created September 9, 2019 14:31
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ladislas/58afbfbd5fe7482e532642fcee548580 to your computer and use it in GitHub Desktop.
Save ladislas/58afbfbd5fe7482e532642fcee548580 to your computer and use it in GitHub Desktop.
YCM for mbed
import os
import ycm_core
# You can set a directory with a lot of libraries to be search recursively here
nestedLibDirs = ["lib"]
include_flags = [
'-I.'
,'-I./mbed-os'
,'-I./mbed-os/cmsis'
,'-I./mbed-os/cmsis/TARGET_CORTEX_M'
,'-I./mbed-os/components'
,'-I./mbed-os/components/802.15.4_RF'
,'-I./mbed-os/components/802.15.4_RF/atmel-rf-driver'
,'-I./mbed-os/components/802.15.4_RF/atmel-rf-driver/atmel-rf-driver'
,'-I./mbed-os/components/802.15.4_RF/atmel-rf-driver/source'
,'-I./mbed-os/components/802.15.4_RF/mcr20a-rf-driver'
,'-I./mbed-os/components/802.15.4_RF/mcr20a-rf-driver/mcr20a-rf-driver'
,'-I./mbed-os/components/802.15.4_RF/mcr20a-rf-driver/source'
,'-I./mbed-os/components/802.15.4_RF/stm-s2lp-rf-driver'
,'-I./mbed-os/components/802.15.4_RF/stm-s2lp-rf-driver/source'
,'-I./mbed-os/components/802.15.4_RF/stm-s2lp-rf-driver/stm-s2lp-rf-driver'
,'-I./mbed-os/components/wifi'
,'-I./mbed-os/components/wifi/esp8266-driver'
,'-I./mbed-os/components/wifi/esp8266-driver/ESP8266'
,'-I./mbed-os/drivers'
,'-I./mbed-os/drivers/internal'
,'-I./mbed-os/events'
,'-I./mbed-os/events/internal'
,'-I./mbed-os/features'
,'-I./mbed-os/features/FEATURE_BLE'
,'-I./mbed-os/features/FEATURE_BLE/ble'
,'-I./mbed-os/features/FEATURE_BLE/ble/common'
,'-I./mbed-os/features/FEATURE_BLE/ble/gap'
,'-I./mbed-os/features/FEATURE_BLE/ble/generic'
,'-I./mbed-os/features/FEATURE_BLE/ble/pal'
,'-I./mbed-os/features/FEATURE_BLE/ble/services'
,'-I./mbed-os/features/FEATURE_BLE/source'
,'-I./mbed-os/features/FEATURE_BLE/source/gap'
,'-I./mbed-os/features/FEATURE_BLE/source/generic'
,'-I./mbed-os/features/FEATURE_BLE/targets/TARGET_CORDIO'
,'-I./mbed-os/features/FEATURE_BLE/targets/TARGET_CORDIO/driver'
,'-I./mbed-os/features/FEATURE_BLE/targets/TARGET_CORDIO/source'
,'-I./mbed-os/features/FEATURE_BLE/targets/TARGET_CORDIO/stack'
,'-I./mbed-os/features/FEATURE_BLE/targets/TARGET_CORDIO/stack/ble-host'
,'-I./mbed-os/features/FEATURE_BLE/targets/TARGET_CORDIO/stack/ble-host/include'
,'-I./mbed-os/features/FEATURE_BLE/targets/TARGET_CORDIO/stack/ble-host/sources'
,'-I./mbed-os/features/FEATURE_BLE/targets/TARGET_CORDIO/stack/ble-host/sources/hci'
,'-I./mbed-os/features/FEATURE_BLE/targets/TARGET_CORDIO/stack/ble-host/sources/hci/dual_chip'
,'-I./mbed-os/features/FEATURE_BLE/targets/TARGET_CORDIO/stack/ble-host/sources/sec'
,'-I./mbed-os/features/FEATURE_BLE/targets/TARGET_CORDIO/stack/ble-host/sources/sec/common'
,'-I./mbed-os/features/FEATURE_BLE/targets/TARGET_CORDIO/stack/ble-host/sources/stack'
,'-I./mbed-os/features/FEATURE_BLE/targets/TARGET_CORDIO/stack/ble-host/sources/stack/att'
,'-I./mbed-os/features/FEATURE_BLE/targets/TARGET_CORDIO/stack/ble-host/sources/stack/cfg'
,'-I./mbed-os/features/FEATURE_BLE/targets/TARGET_CORDIO/stack/ble-host/sources/stack/dm'
,'-I./mbed-os/features/FEATURE_BLE/targets/TARGET_CORDIO/stack/ble-host/sources/stack/hci'
,'-I./mbed-os/features/FEATURE_BLE/targets/TARGET_CORDIO/stack/ble-host/sources/stack/l2c'
,'-I./mbed-os/features/FEATURE_BLE/targets/TARGET_CORDIO/stack/ble-host/sources/stack/smp'
,'-I./mbed-os/features/FEATURE_BLE/targets/TARGET_CORDIO/stack/platform'
,'-I./mbed-os/features/FEATURE_BLE/targets/TARGET_CORDIO/stack/platform/include'
,'-I./mbed-os/features/FEATURE_BLE/targets/TARGET_CORDIO/stack/wsf'
,'-I./mbed-os/features/FEATURE_BLE/targets/TARGET_CORDIO/stack/wsf/include'
,'-I./mbed-os/features/FEATURE_BLE/targets/TARGET_CORDIO/stack/wsf/include/util'
,'-I./mbed-os/features/FEATURE_BLE/targets/TARGET_CORDIO/stack/wsf/sources'
,'-I./mbed-os/features/FEATURE_BLE/targets/TARGET_CORDIO/stack/wsf/sources/port'
,'-I./mbed-os/features/FEATURE_BLE/targets/TARGET_CORDIO/stack/wsf/sources/port/baremetal'
,'-I./mbed-os/features/FEATURE_BLE/targets/TARGET_CORDIO/stack_adaptation'
,'-I./mbed-os/features/FEATURE_BLE/targets/TARGET_STM/TARGET_NUCLEO_WB55RG'
,'-I./mbed-os/features/cellular'
,'-I./mbed-os/features/cellular/framework'
,'-I./mbed-os/features/cellular/framework/API'
,'-I./mbed-os/features/cellular/framework/AT'
,'-I./mbed-os/features/cellular/framework/common'
,'-I./mbed-os/features/cellular/framework/device'
,'-I./mbed-os/features/cellular/framework/targets'
,'-I./mbed-os/features/cellular/framework/targets/GEMALTO'
,'-I./mbed-os/features/cellular/framework/targets/GEMALTO/CINTERION'
,'-I./mbed-os/features/cellular/framework/targets/GENERIC'
,'-I./mbed-os/features/cellular/framework/targets/GENERIC/GENERIC_AT3GPP'
,'-I./mbed-os/features/cellular/framework/targets/MultiTech'
,'-I./mbed-os/features/cellular/framework/targets/MultiTech/DragonflyNano'
,'-I./mbed-os/features/cellular/framework/targets/MultiTech/DragonflyNano/PPP'
,'-I./mbed-os/features/cellular/framework/targets/QUECTEL'
,'-I./mbed-os/features/cellular/framework/targets/QUECTEL/BC95'
,'-I./mbed-os/features/cellular/framework/targets/QUECTEL/BG96'
,'-I./mbed-os/features/cellular/framework/targets/QUECTEL/EC2X'
,'-I./mbed-os/features/cellular/framework/targets/QUECTEL/M26'
,'-I./mbed-os/features/cellular/framework/targets/QUECTEL/UG96'
,'-I./mbed-os/features/cellular/framework/targets/RiotMicro'
,'-I./mbed-os/features/cellular/framework/targets/RiotMicro/AT'
,'-I./mbed-os/features/cellular/framework/targets/TELIT'
,'-I./mbed-os/features/cellular/framework/targets/TELIT/HE910'
,'-I./mbed-os/features/cellular/framework/targets/TELIT/ME910'
,'-I./mbed-os/features/cellular/framework/targets/UBLOX'
,'-I./mbed-os/features/cellular/framework/targets/UBLOX/AT'
,'-I./mbed-os/features/cellular/framework/targets/UBLOX/N2XX'
,'-I./mbed-os/features/cellular/framework/targets/UBLOX/PPP'
,'-I./mbed-os/features/device_key'
,'-I./mbed-os/features/device_key/source'
,'-I./mbed-os/features/frameworks'
,'-I./mbed-os/features/frameworks/greentea-client'
,'-I./mbed-os/features/frameworks/greentea-client/greentea-client'
,'-I./mbed-os/features/frameworks/mbed-client-cli'
,'-I./mbed-os/features/frameworks/mbed-client-cli/mbed-client-cli'
,'-I./mbed-os/features/frameworks/mbed-client-randlib'
,'-I./mbed-os/features/frameworks/mbed-client-randlib/mbed-client-randlib'
,'-I./mbed-os/features/frameworks/mbed-client-randlib/mbed-client-randlib/platform'
,'-I./mbed-os/features/frameworks/mbed-coap'
,'-I./mbed-os/features/frameworks/mbed-coap/mbed-coap'
,'-I./mbed-os/features/frameworks/mbed-coap/source'
,'-I./mbed-os/features/frameworks/mbed-coap/source/include'
,'-I./mbed-os/features/frameworks/mbed-trace'
,'-I./mbed-os/features/frameworks/mbed-trace/mbed-trace'
,'-I./mbed-os/features/frameworks/nanostack-libservice'
,'-I./mbed-os/features/frameworks/nanostack-libservice/mbed-client-libservice'
,'-I./mbed-os/features/frameworks/nanostack-libservice/mbed-client-libservice/platform'
,'-I./mbed-os/features/frameworks/unity'
,'-I./mbed-os/features/frameworks/unity/unity'
,'-I./mbed-os/features/frameworks/utest'
,'-I./mbed-os/features/frameworks/utest/utest'
,'-I./mbed-os/features/lorawan'
,'-I./mbed-os/features/lorawan/lorastack'
,'-I./mbed-os/features/lorawan/lorastack/mac'
,'-I./mbed-os/features/lorawan/lorastack/phy'
,'-I./mbed-os/features/lorawan/system'
,'-I./mbed-os/features/lwipstack'
,'-I./mbed-os/features/lwipstack/lwip'
,'-I./mbed-os/features/lwipstack/lwip-sys'
,'-I./mbed-os/features/lwipstack/lwip-sys/arch'
,'-I./mbed-os/features/lwipstack/lwip/src'
,'-I./mbed-os/features/lwipstack/lwip/src/include'
,'-I./mbed-os/features/lwipstack/lwip/src/include/compat'
,'-I./mbed-os/features/lwipstack/lwip/src/include/compat/posix'
,'-I./mbed-os/features/lwipstack/lwip/src/include/compat/posix/arpa'
,'-I./mbed-os/features/lwipstack/lwip/src/include/compat/posix/net'
,'-I./mbed-os/features/lwipstack/lwip/src/include/compat/posix/sys'
,'-I./mbed-os/features/lwipstack/lwip/src/include/lwip'
,'-I./mbed-os/features/lwipstack/lwip/src/include/lwip/priv'
,'-I./mbed-os/features/lwipstack/lwip/src/include/lwip/prot'
,'-I./mbed-os/features/lwipstack/lwip/src/include/netif'
,'-I./mbed-os/features/mbedtls'
,'-I./mbed-os/features/mbedtls/inc'
,'-I./mbed-os/features/mbedtls/inc/mbedtls'
,'-I./mbed-os/features/mbedtls/mbed-crypto'
,'-I./mbed-os/features/mbedtls/mbed-crypto/inc'
,'-I./mbed-os/features/mbedtls/mbed-crypto/inc/mbedtls'
,'-I./mbed-os/features/mbedtls/mbed-crypto/inc/psa'
,'-I./mbed-os/features/mbedtls/mbed-crypto/platform/COMPONENT_PSA_SRV_IMPL'
,'-I./mbed-os/features/mbedtls/mbed-crypto/platform/COMPONENT_PSA_SRV_IMPL/COMPONENT_NSPE'
,'-I./mbed-os/features/mbedtls/platform'
,'-I./mbed-os/features/mbedtls/platform/inc'
,'-I./mbed-os/features/mbedtls/targets/TARGET_STM'
,'-I./mbed-os/features/nanostack'
,'-I./mbed-os/features/nanostack/coap-service'
,'-I./mbed-os/features/nanostack/coap-service/coap-service'
,'-I./mbed-os/features/nanostack/coap-service/source'
,'-I./mbed-os/features/nanostack/coap-service/source/include'
,'-I./mbed-os/features/nanostack/mbed-mesh-api'
,'-I./mbed-os/features/nanostack/mbed-mesh-api/mbed-mesh-api'
,'-I./mbed-os/features/nanostack/mbed-mesh-api/source'
,'-I./mbed-os/features/nanostack/mbed-mesh-api/source/include'
,'-I./mbed-os/features/nanostack/nanostack-hal-mbed-cmsis-rtos'
,'-I./mbed-os/features/nanostack/nanostack-interface'
,'-I./mbed-os/features/nanostack/sal-stack-nanostack'
,'-I./mbed-os/features/nanostack/sal-stack-nanostack-eventloop'
,'-I./mbed-os/features/nanostack/sal-stack-nanostack-eventloop/nanostack-event-loop'
,'-I./mbed-os/features/nanostack/sal-stack-nanostack-eventloop/nanostack-event-loop/platform'
,'-I./mbed-os/features/nanostack/sal-stack-nanostack-eventloop/source'
,'-I./mbed-os/features/nanostack/sal-stack-nanostack/nanostack'
,'-I./mbed-os/features/nanostack/sal-stack-nanostack/nanostack/platform'
,'-I./mbed-os/features/nanostack/sal-stack-nanostack/source'
,'-I./mbed-os/features/nanostack/sal-stack-nanostack/source/6LoWPAN'
,'-I./mbed-os/features/nanostack/sal-stack-nanostack/source/6LoWPAN/Bootstraps'
,'-I./mbed-os/features/nanostack/sal-stack-nanostack/source/6LoWPAN/Fragmentation'
,'-I./mbed-os/features/nanostack/sal-stack-nanostack/source/6LoWPAN/IPHC_Decode'
,'-I./mbed-os/features/nanostack/sal-stack-nanostack/source/6LoWPAN/MAC'
,'-I./mbed-os/features/nanostack/sal-stack-nanostack/source/6LoWPAN/Mesh'
,'-I./mbed-os/features/nanostack/sal-stack-nanostack/source/6LoWPAN/ND'
,'-I./mbed-os/features/nanostack/sal-stack-nanostack/source/6LoWPAN/NVM'
,'-I./mbed-os/features/nanostack/sal-stack-nanostack/source/6LoWPAN/Thread'
,'-I./mbed-os/features/nanostack/sal-stack-nanostack/source/6LoWPAN/ws'
,'-I./mbed-os/features/nanostack/sal-stack-nanostack/source/BorderRouter'
,'-I./mbed-os/features/nanostack/sal-stack-nanostack/source/Common_Protocols'
,'-I./mbed-os/features/nanostack/sal-stack-nanostack/source/Core'
,'-I./mbed-os/features/nanostack/sal-stack-nanostack/source/Core/include'
,'-I./mbed-os/features/nanostack/sal-stack-nanostack/source/DHCPv6_Server'
,'-I./mbed-os/features/nanostack/sal-stack-nanostack/source/DHCPv6_client'
,'-I./mbed-os/features/nanostack/sal-stack-nanostack/source/MAC'
,'-I./mbed-os/features/nanostack/sal-stack-nanostack/source/MAC/IEEE802_15_4'
,'-I./mbed-os/features/nanostack/sal-stack-nanostack/source/MAC/virtual_rf'
,'-I./mbed-os/features/nanostack/sal-stack-nanostack/source/MLE'
,'-I./mbed-os/features/nanostack/sal-stack-nanostack/source/MPL'
,'-I./mbed-os/features/nanostack/sal-stack-nanostack/source/NWK_INTERFACE'
,'-I./mbed-os/features/nanostack/sal-stack-nanostack/source/NWK_INTERFACE/Include'
,'-I./mbed-os/features/nanostack/sal-stack-nanostack/source/RPL'
,'-I./mbed-os/features/nanostack/sal-stack-nanostack/source/Security'
,'-I./mbed-os/features/nanostack/sal-stack-nanostack/source/Security/Common'
,'-I./mbed-os/features/nanostack/sal-stack-nanostack/source/Security/PANA'
,'-I./mbed-os/features/nanostack/sal-stack-nanostack/source/Security/TLS'
,'-I./mbed-os/features/nanostack/sal-stack-nanostack/source/Security/eapol'
,'-I./mbed-os/features/nanostack/sal-stack-nanostack/source/Security/kmp'
,'-I./mbed-os/features/nanostack/sal-stack-nanostack/source/Security/protocols'
,'-I./mbed-os/features/nanostack/sal-stack-nanostack/source/Security/protocols/eap_tls_sec_prot'
,'-I./mbed-os/features/nanostack/sal-stack-nanostack/source/Security/protocols/fwh_sec_prot'
,'-I./mbed-os/features/nanostack/sal-stack-nanostack/source/Security/protocols/gkh_sec_prot'
,'-I./mbed-os/features/nanostack/sal-stack-nanostack/source/Security/protocols/key_sec_prot'
,'-I./mbed-os/features/nanostack/sal-stack-nanostack/source/Security/protocols/tls_sec_prot'
,'-I./mbed-os/features/nanostack/sal-stack-nanostack/source/Service_Libs'
,'-I./mbed-os/features/nanostack/sal-stack-nanostack/source/Service_Libs/Neighbor_cache'
,'-I./mbed-os/features/nanostack/sal-stack-nanostack/source/Service_Libs/Trickle'
,'-I./mbed-os/features/nanostack/sal-stack-nanostack/source/Service_Libs/blacklist'
,'-I./mbed-os/features/nanostack/sal-stack-nanostack/source/Service_Libs/etx'
,'-I./mbed-os/features/nanostack/sal-stack-nanostack/source/Service_Libs/fhss'
,'-I./mbed-os/features/nanostack/sal-stack-nanostack/source/Service_Libs/fnv_hash'
,'-I./mbed-os/features/nanostack/sal-stack-nanostack/source/Service_Libs/hmac'
,'-I./mbed-os/features/nanostack/sal-stack-nanostack/source/Service_Libs/ieee_802_11'
,'-I./mbed-os/features/nanostack/sal-stack-nanostack/source/Service_Libs/load_balance'
,'-I./mbed-os/features/nanostack/sal-stack-nanostack/source/Service_Libs/mac_neighbor_table'
,'-I./mbed-os/features/nanostack/sal-stack-nanostack/source/Service_Libs/mdns'
,'-I./mbed-os/features/nanostack/sal-stack-nanostack/source/Service_Libs/mdns/fnet'
,'-I./mbed-os/features/nanostack/sal-stack-nanostack/source/Service_Libs/mdns/fnet/fnet_stack'
,'-I./mbed-os/features/nanostack/sal-stack-nanostack/source/Service_Libs/mdns/fnet/fnet_stack/port'
,'-I./mbed-os/features/nanostack/sal-stack-nanostack/source/Service_Libs/mdns/fnet/fnet_stack/port/compiler'
,'-I./mbed-os/features/nanostack/sal-stack-nanostack/source/Service_Libs/mdns/fnet/fnet_stack/port/cpu'
,'-I./mbed-os/features/nanostack/sal-stack-nanostack/source/Service_Libs/mdns/fnet/fnet_stack/services'
,'-I./mbed-os/features/nanostack/sal-stack-nanostack/source/Service_Libs/mdns/fnet/fnet_stack/services/dns'
,'-I./mbed-os/features/nanostack/sal-stack-nanostack/source/Service_Libs/mdns/fnet/fnet_stack/services/mdns'
,'-I./mbed-os/features/nanostack/sal-stack-nanostack/source/Service_Libs/mdns/fnet/fnet_stack/services/poll'
,'-I./mbed-os/features/nanostack/sal-stack-nanostack/source/Service_Libs/mdns/fnet/fnet_stack/services/serial'
,'-I./mbed-os/features/nanostack/sal-stack-nanostack/source/Service_Libs/mdns/fnet/fnet_stack/stack'
,'-I./mbed-os/features/nanostack/sal-stack-nanostack/source/Service_Libs/mle_service'
,'-I./mbed-os/features/nanostack/sal-stack-nanostack/source/Service_Libs/nd_proxy'
,'-I./mbed-os/features/nanostack/sal-stack-nanostack/source/Service_Libs/nist_aes_kw'
,'-I./mbed-os/features/nanostack/sal-stack-nanostack/source/Service_Libs/pan_blacklist'
,'-I./mbed-os/features/nanostack/sal-stack-nanostack/source/Service_Libs/utils'
,'-I./mbed-os/features/nanostack/sal-stack-nanostack/source/Service_Libs/whiteboard'
,'-I./mbed-os/features/nanostack/sal-stack-nanostack/source/configs'
,'-I./mbed-os/features/nanostack/sal-stack-nanostack/source/configs/base'
,'-I./mbed-os/features/nanostack/sal-stack-nanostack/source/ipv6_stack'
,'-I./mbed-os/features/nanostack/sal-stack-nanostack/source/libDHCPv6'
,'-I./mbed-os/features/nanostack/sal-stack-nanostack/source/libNET'
,'-I./mbed-os/features/nanostack/sal-stack-nanostack/source/libNET/src'
,'-I./mbed-os/features/netsocket'
,'-I./mbed-os/features/netsocket/cellular'
,'-I./mbed-os/features/netsocket/ppp'
,'-I./mbed-os/features/netsocket/ppp/include'
,'-I./mbed-os/features/netsocket/ppp/include/polarssl'
,'-I./mbed-os/features/nfc'
,'-I./mbed-os/features/nfc/acore'
,'-I./mbed-os/features/nfc/acore/acore'
,'-I./mbed-os/features/nfc/controllers'
,'-I./mbed-os/features/nfc/nfc'
,'-I./mbed-os/features/nfc/nfc/ndef'
,'-I./mbed-os/features/nfc/nfc/ndef/common'
,'-I./mbed-os/features/nfc/stack'
,'-I./mbed-os/features/nfc/stack/ndef'
,'-I./mbed-os/features/nfc/stack/platform'
,'-I./mbed-os/features/nfc/stack/tech'
,'-I./mbed-os/features/nfc/stack/tech/iso7816'
,'-I./mbed-os/features/nfc/stack/tech/isodep'
,'-I./mbed-os/features/nfc/stack/tech/type4'
,'-I./mbed-os/features/nfc/stack/transceiver'
,'-I./mbed-os/features/nfc/stack/transceiver/pn512'
,'-I./mbed-os/features/storage'
,'-I./mbed-os/features/storage/blockdevice'
,'-I./mbed-os/features/storage/filesystem'
,'-I./mbed-os/features/storage/filesystem/fat'
,'-I./mbed-os/features/storage/filesystem/fat/ChaN'
,'-I./mbed-os/features/storage/filesystem/littlefs'
,'-I./mbed-os/features/storage/filesystem/littlefs/littlefs'
,'-I./mbed-os/features/storage/kvstore'
,'-I./mbed-os/features/storage/kvstore/conf'
,'-I./mbed-os/features/storage/kvstore/direct_access_devicekey'
,'-I./mbed-os/features/storage/kvstore/filesystemstore'
,'-I./mbed-os/features/storage/kvstore/global_api'
,'-I./mbed-os/features/storage/kvstore/include'
,'-I./mbed-os/features/storage/kvstore/kv_map'
,'-I./mbed-os/features/storage/kvstore/securestore'
,'-I./mbed-os/features/storage/kvstore/tdbstore'
,'-I./mbed-os/features/storage/nvstore'
,'-I./mbed-os/features/storage/nvstore/source'
,'-I./mbed-os/features/storage/system_storage'
,'-I./mbed-os/hal'
,'-I./mbed-os/hal/storage_abstraction'
,'-I./mbed-os/hal/usb'
,'-I./mbed-os/platform'
,'-I./mbed-os/platform/cxxsupport'
,'-I./mbed-os/platform/internal'
,'-I./mbed-os/platform/source'
,'-I./mbed-os/platform/source/TARGET_CORTEX_M'
,'-I./mbed-os/platform/source/minimal-printf'
,'-I./mbed-os/rtos'
,'-I./mbed-os/rtos/source'
,'-I./mbed-os/rtos/source/TARGET_CORTEX'
,'-I./mbed-os/rtos/source/TARGET_CORTEX/rtx4'
,'-I./mbed-os/rtos/source/TARGET_CORTEX/rtx5'
,'-I./mbed-os/rtos/source/TARGET_CORTEX/rtx5/Include'
,'-I./mbed-os/rtos/source/TARGET_CORTEX/rtx5/RTX'
,'-I./mbed-os/rtos/source/TARGET_CORTEX/rtx5/RTX/Config'
,'-I./mbed-os/rtos/source/TARGET_CORTEX/rtx5/RTX/Include'
,'-I./mbed-os/rtos/source/TARGET_CORTEX/rtx5/RTX/Source'
,'-I./mbed-os/targets/TARGET_STM'
,'-I./mbed-os/targets/TARGET_STM/TARGET_STM32WB'
,'-I./mbed-os/targets/TARGET_STM/TARGET_STM32WB/TARGET_STM32WB55xG'
,'-I./mbed-os/targets/TARGET_STM/TARGET_STM32WB/TARGET_STM32WB55xG/TARGET_NUCLEO_WB55RG'
,'-I./mbed-os/targets/TARGET_STM/TARGET_STM32WB/TARGET_STM32WB55xG/device'
,'-I./mbed-os/targets/TARGET_STM/TARGET_STM32WB/device'
,'-I./mbed-os'
]
c_flags = [
'-x'
,'c'
,'-std=gnu11'
,'-include'
,'mbed_config.h'
,'-DTARGET_CORTEX'
,'-DDEVICE_INTERRUPTIN=1'
,'-D__MBED_CMSIS_RTOS_CM'
,'-DEXTRA_IDLE_STACK_REQUIRED'
,'-DTARGET_RTOS_M4_M7'
,'-DMBED_BUILD_TIMESTAMP=1567674049.202993'
,'-DTRANSACTION_QUEUE_SIZE_SPI=2'
,'-DTARGET_CORDIO'
,'-DUSE_HAL_DRIVER'
,'-DDEVICE_FLASH=1'
,'-DTARGET_LIKE_MBED'
,'-DDEVICE_RESET_REASON=1'
,'-DMBED_TICKLESS'
,'-DDEVICE_PWMOUT=1'
,'-D__CORTEX_M4'
,'-DCOMPONENT_NSPE=1'
,'-DTOOLCHAIN_GCC_ARM'
,'-DDEVICE_ANALOGIN=1'
,'-DDEVICE_LPTICKER=1'
,'-DDEVICE_PORTINOUT=1'
,'-DARM_MATH_CM4'
,'-DDEVICE_MPU=1'
,'-DTOOLCHAIN_GCC'
,'-DTARGET_LIKE_CORTEX_M4'
,'-DTARGET_STM32WB'
,'-DTARGET_STM32WB55RG'
,'-DDEVICE_TRNG=1'
,'-DDEVICE_RTC=1'
,'-DDEVICE_SERIAL_FC=1'
,'-D__MBED__=1'
,'-DTARGET_STM'
,'-DDEVICE_SERIAL_ASYNCH=1'
,'-DTARGET_M4'
,'-DDEVICE_I2C=1'
,'-DTARGET_FAMILY_STM32'
,'-DTARGET_CORTEX_M'
,'-DDEVICE_I2CSLAVE=1'
,'-DDEVICE_SERIAL=1'
,'-DDEVICE_SPISLAVE=1'
,'-DTARGET_NAME=NUCLEO_WB55RG'
,'-DCOMPONENT_PSA_SRV_IMPL=1'
,'-DDEVICE_SLEEP=1'
,'-DDEVICE_CRC=1'
,'-DTARGET_FF_MORPHO'
,'-DTARGET_RELEASE'
,'-DDEVICE_SPI=1'
,'-DTARGET_STM32WB55xx'
,'-D__FPU_PRESENT=1'
,'-DTARGET_FF_ARDUINO'
,'-DTARGET_STM32WB55xG'
,'-DUSE_FULL_LL_DRIVER'
,'-DDEVICE_WATCHDOG=1'
,'-D__CMSIS_RTOS'
,'-DCOMPONENT_PSA_SRV_EMUL=1'
,'-DTARGET_NUCLEO_WB55RG'
,'-DDEVICE_SPI_ASYNCH=1'
,'-DDEVICE_PORTIN=1'
,'-DDEVICE_PORTOUT=1'
,'-DDEVICE_I2C_ASYNCH=1'
,'-DFEATURE_BLE=1'
,'-DDEVICE_USTICKER=1'
,'-DDEVICE_STDIO_MESSAGES=1'
,'-include'
,'mbed_config.h'
,'-std=gnu11'
,'-c'
,'-Wall'
,'-Wextra'
,'-Wno-unused-parameter'
,'-Wno-missing-field-initializers'
,'-fmessage-length=0'
,'-fno-exceptions'
,'-ffunction-sections'
,'-fdata-sections'
,'-funsigned-char'
,'-MMD'
,'-fno-delete-null-pointer-checks'
,'-fomit-frame-pointer'
,'-Og'
,'-g3'
,'-DMBED_DEBUG'
,'-DMBED_TRAP_ERRORS_ENABLED=1'
,'-mcpu=cortex-m4'
,'-mthumb'
,'-mfpu=fpv4-sp-d16'
,'-mfloat-abi=softfp'
]
cxx_flags = [
'-x'
,'c++'
,'-std=gnu++14'
,'-fno-rtti'
,'-Wvla'
,'-include'
,'mbed_config.h'
,'-DTARGET_CORTEX'
,'-DDEVICE_INTERRUPTIN=1'
,'-D__MBED_CMSIS_RTOS_CM'
,'-DEXTRA_IDLE_STACK_REQUIRED'
,'-DTARGET_RTOS_M4_M7'
,'-DMBED_BUILD_TIMESTAMP=1567674049.202993'
,'-DTRANSACTION_QUEUE_SIZE_SPI=2'
,'-DTARGET_CORDIO'
,'-DUSE_HAL_DRIVER'
,'-DDEVICE_FLASH=1'
,'-DTARGET_LIKE_MBED'
,'-DDEVICE_RESET_REASON=1'
,'-DMBED_TICKLESS'
,'-DDEVICE_PWMOUT=1'
,'-D__CORTEX_M4'
,'-DCOMPONENT_NSPE=1'
,'-DTOOLCHAIN_GCC_ARM'
,'-DDEVICE_ANALOGIN=1'
,'-DDEVICE_LPTICKER=1'
,'-DDEVICE_PORTINOUT=1'
,'-DARM_MATH_CM4'
,'-DDEVICE_MPU=1'
,'-DTOOLCHAIN_GCC'
,'-DTARGET_LIKE_CORTEX_M4'
,'-DTARGET_STM32WB'
,'-DTARGET_STM32WB55RG'
,'-DDEVICE_TRNG=1'
,'-DDEVICE_RTC=1'
,'-DDEVICE_SERIAL_FC=1'
,'-D__MBED__=1'
,'-DTARGET_STM'
,'-DDEVICE_SERIAL_ASYNCH=1'
,'-DTARGET_M4'
,'-DDEVICE_I2C=1'
,'-DTARGET_FAMILY_STM32'
,'-DTARGET_CORTEX_M'
,'-DDEVICE_I2CSLAVE=1'
,'-DDEVICE_SERIAL=1'
,'-DDEVICE_SPISLAVE=1'
,'-DTARGET_NAME=NUCLEO_WB55RG'
,'-DCOMPONENT_PSA_SRV_IMPL=1'
,'-DDEVICE_SLEEP=1'
,'-DDEVICE_CRC=1'
,'-DTARGET_FF_MORPHO'
,'-DTARGET_RELEASE'
,'-DDEVICE_SPI=1'
,'-DTARGET_STM32WB55xx'
,'-D__FPU_PRESENT=1'
,'-DTARGET_FF_ARDUINO'
,'-DTARGET_STM32WB55xG'
,'-DUSE_FULL_LL_DRIVER'
,'-DDEVICE_WATCHDOG=1'
,'-D__CMSIS_RTOS'
,'-DCOMPONENT_PSA_SRV_EMUL=1'
,'-DTARGET_NUCLEO_WB55RG'
,'-DDEVICE_SPI_ASYNCH=1'
,'-DDEVICE_PORTIN=1'
,'-DDEVICE_PORTOUT=1'
,'-DDEVICE_I2C_ASYNCH=1'
,'-DFEATURE_BLE=1'
,'-DDEVICE_USTICKER=1'
,'-DDEVICE_STDIO_MESSAGES=1'
,'-include'
,'mbed_config.h'
,'-std=gnu++14'
,'-fno-rtti'
,'-Wvla'
,'-c'
,'-Wall'
,'-Wextra'
,'-Wno-unused-parameter'
,'-Wno-missing-field-initializers'
,'-fmessage-length=0'
,'-fno-exceptions'
,'-ffunction-sections'
,'-fdata-sections'
,'-funsigned-char'
,'-MMD'
,'-fno-delete-null-pointer-checks'
,'-fomit-frame-pointer'
,'-Og'
,'-g3'
,'-DMBED_DEBUG'
,'-DMBED_TRAP_ERRORS_ENABLED=1'
,'-mcpu=cortex-m4'
,'-mthumb'
,'-mfpu=fpv4-sp-d16'
,'-mfloat-abi=softfp'
]
specific_flags = [
'-D__ARMCC_VERSION'
,'-target'
,'arm-none-eabi'
]
system_include_flags = [
# '-isystem/usr/local/Cellar/arm-none-eabi-gcc/8-2018-q4-major/gcc/bin/../lib/gcc/arm-none-eabi/8.2.1/'
# ,'-isystem/usr/local/Cellar/arm-none-eabi-gcc/8-2018-q4-major/gcc/bin/../lib/gcc/'
# ,'-isystem/usr/local/Cellar/arm-none-eabi-gcc/8-2018-q4-major/gcc/bin/../lib/gcc/arm-none-eabi/8.2.1/../../../../arm-none-eabi/lib/'
# ,'-isystem/usr/local/Cellar/arm-none-eabi-gcc/8-2018-q4-major/gcc/bin/../arm-none-eabi/lib/'
'-isystem/usr/local/Cellar/arm-none-eabi-gcc/8-2018-q4-major/gcc/arm-none-eabi/include'
,'-isystem/usr/local/Cellar/arm-none-eabi-gcc/8-2018-q4-major/gcc/arm-none-eabi/include/machine'
,'-isystem/usr/local/Cellar/arm-none-eabi-gcc/8-2018-q4-major/gcc/arm-none-eabi/include/newlib-nano'
,'-isystem/usr/local/Cellar/arm-none-eabi-gcc/8-2018-q4-major/gcc/arm-none-eabi/include/ssp'
,'-isystem/usr/local/Cellar/arm-none-eabi-gcc/8-2018-q4-major/gcc/arm-none-eabi/include/ssp'
]
flags = specific_flags + c_flags + cxx_flags + system_include_flags + include_flags
compilation_database_folder = ''
if os.path.exists( compilation_database_folder ):
database = ycm_core.CompilationDatabase( compilation_database_folder )
else:
database = None
SOURCE_EXTENSIONS = [ '.cpp', '.cxx', '.cc', '.c', '.m', '.mm' ]
def DirectoryOfThisScript():
return os.path.dirname( os.path.abspath( __file__ ) )
def MakeRelativePathsInFlagsAbsolute( flags, working_directory ):
if not working_directory:
return list( flags )
new_flags = []
make_next_absolute = False
path_flags = [ '-isystem', '-I', '-iquote', '--sysroot=' ]
for libDir in nestedLibDirs:
for path, dirs, files in os.walk(libDir):
for d in dirs:
flag = '-I' + os.path.join(path, d)
flags.append(flag)
for flag in flags:
new_flag = flag
if make_next_absolute:
make_next_absolute = False
if not flag.startswith( '/' ):
new_flag = os.path.join( working_directory, flag )
for path_flag in path_flags:
if flag == path_flag:
make_next_absolute = True
break
if flag.startswith( path_flag ):
path = flag[ len( path_flag ): ]
new_flag = path_flag + os.path.join( working_directory, path )
break
if new_flag:
new_flags.append( new_flag )
return new_flags
# def IsHeaderFile( filename ):
# extension = os.path.splitext( filename )[ 1 ]
# return extension in [ '.h', '.hxx', '.hpp', '.hh' ]
# def GetCompilationInfoForFile( filename ):
# # The compilation_commands.json file generated by CMake does not have entries
# # for header files. So we do our best by asking the db for flags for a
# # corresponding source file, if any. If one exists, the flags for that file
# # should be good enough.
# if IsHeaderFile( filename ):
# basename = os.path.splitext( filename )[ 0 ]
# for extension in SOURCE_EXTENSIONS:
# replacement_file = basename + extension
# if os.path.exists( replacement_file ):
# compilation_info = database.GetCompilationInfoForFile(
# replacement_file )
# if compilation_info.compiler_flags_:
# return compilation_info
# return None
# return database.GetCompilationInfoForFile( filename )
# def FlagsForFile( filename, **kwargs ):
# if database:
# # Bear in mind that compilation_info.compiler_flags_ does NOT return a
# # python list, but a "list-like" StringVec object
# compilation_info = GetCompilationInfoForFile( filename )
# if not compilation_info:
# return None
# final_flags = MakeRelativePathsInFlagsAbsolute(
# compilation_info.compiler_flags_,
# compilation_info.compiler_working_dir_ )
# # NOTE: This is just for YouCompleteMe; it's highly likely that your project
# # does NOT need to remove the stdlib flag. DO NOT USE THIS IN YOUR
# # ycm_extra_conf IF YOU'RE NOT 100% SURE YOU NEED IT.
# #try:
# # final_flags.remove( '-stdlib=libc++' )
# #except ValueError:
# # pass
# else:
# relative_to = DirectoryOfThisScript()
# final_flags = MakeRelativePathsInFlagsAbsolute( flags, relative_to )
# return {
# 'flags': final_flags,
# 'do_cache': True
# }
def Settings( **kwargs ):
relative_to = DirectoryOfThisScript()
final_flags = MakeRelativePathsInFlagsAbsolute( flags, relative_to )
return {
'flags': final_flags,
'do_cache': True
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment