FreeRTOS-Kernel/FreeRTOS/Demo/Posix_GCC/SConscript
alfred gedeon 638262fab1
Fix Posix demo build and remove src directory (#213)
* Fix: build errors, remove src directory and bring all files up
* Fix: Remove not needed header
* Doc: fix main comments
* Doc: fix comment

Co-authored-by: Alfred Gedeon <gedeonag@amazon.com>
2020-08-27 00:41:42 -07:00

150 lines
5.3 KiB
Python

# FreeRTOS Kernel V10.3.0
# Copyright (C) 2020 Cambridge Consultants Ltd.
#
# Permission is hereby granted, free of charge, to any person obtaining a copy of
# this software and associated documentation files (the "Software"), to deal in
# the Software without restriction, including without limitation the rights to
# use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
# the Software, and to permit persons to whom the Software is furnished to do so,
# subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in all
# copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
# FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
# COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
# IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#
# http://www.FreeRTOS.org
# http://aws.amazon.com/freertos
Import("env")
env.Append(CPPPATH = [
".",
"./utils",
"FreeRTOS/Source/include",
"FreeRTOS/Source/portable/ThirdParty/GCC/Posix",
"FreeRTOS/Demo/Common/include",
"FreeRTOS-Plus/Source/FreeRTOS-Plus-Trace/Include",
"FreeRTOS-Plus/Source/FreeRTOS-Plus-TCP/portable/NetworkInterface/linux/",
"FreeRTOS-Plus/Source/FreeRTOS-Plus-TCP/include/",
"FreeRTOS-Plus/Source/FreeRTOS-Plus-TCP/portable/Compiler/GCC/",
])
env.Append(LIBS = [
"pthread",
"pcap",
])
src = [
"console.c",
"main.c",
"main_blinky.c",
"main_full.c",
"main_networking.c",
"run-time-stats-utils.c",
"utils/wait_for_event.c",
"SimpleTCPEchoServer.c",
"TCPEchoClient_SingleTasks.c",
# FreeRTOS kernel
"FreeRTOS/Source/event_groups.c",
"FreeRTOS/Source/list.c",
"FreeRTOS/Source/queue.c",
"FreeRTOS/Source/stream_buffer.c",
"FreeRTOS/Source/tasks.c",
"FreeRTOS/Source/timers.c",
# Memory manager (use malloc()/free()).
"FreeRTOS/Source/portable/MemMang/heap_3.c",
# Posix port.
"FreeRTOS/Source/portable/ThirdParty/GCC/Posix/port.c",
# FreeRTOS TCP
"FreeRTOS-Plus/Source/FreeRTOS-Plus-TCP/FreeRTOS_DNS.c",
"FreeRTOS-Plus/Source/FreeRTOS-Plus-TCP/FreeRTOS_DHCP.c",
"FreeRTOS-Plus/Source/FreeRTOS-Plus-TCP/FreeRTOS_ARP.c",
"FreeRTOS-Plus/Source/FreeRTOS-Plus-TCP/FreeRTOS_TCP_WIN.c",
"FreeRTOS-Plus/Source/FreeRTOS-Plus-TCP/FreeRTOS_Stream_Buffer.c",
"FreeRTOS-Plus/Source/FreeRTOS-Plus-TCP/portable/BufferManagement/BufferAllocation_2.c",
"FreeRTOS-Plus/Source/FreeRTOS-Plus-TCP/FreeRTOS_IP.c",
"FreeRTOS-Plus/Source/FreeRTOS-Plus-TCP/FreeRTOS_TCP_IP.c",
"FreeRTOS-Plus/Source/FreeRTOS-Plus-TCP/FreeRTOS_UDP_IP.c",
"FreeRTOS-Plus/Source/FreeRTOS-Plus-TCP/FreeRTOS_Sockets.c",
"FreeRTOS-Plus/Source/FreeRTOS-Plus-TCP/portable/NetworkInterface/linux/NetworkInterface.c",
# Demo library.
"FreeRTOS/Demo/Common/Minimal/AbortDelay.c",
"FreeRTOS/Demo/Common/Minimal/BlockQ.c",
"FreeRTOS/Demo/Common/Minimal/blocktim.c",
"FreeRTOS/Demo/Common/Minimal/countsem.c",
"FreeRTOS/Demo/Common/Minimal/death.c",
"FreeRTOS/Demo/Common/Minimal/dynamic.c",
"FreeRTOS/Demo/Common/Minimal/EventGroupsDemo.c",
"FreeRTOS/Demo/Common/Minimal/flop.c",
"FreeRTOS/Demo/Common/Minimal/GenQTest.c",
"FreeRTOS/Demo/Common/Minimal/integer.c",
"FreeRTOS/Demo/Common/Minimal/IntSemTest.c",
"FreeRTOS/Demo/Common/Minimal/MessageBufferAMP.c",
"FreeRTOS/Demo/Common/Minimal/MessageBufferDemo.c",
"FreeRTOS/Demo/Common/Minimal/PollQ.c",
"FreeRTOS/Demo/Common/Minimal/QPeek.c",
"FreeRTOS/Demo/Common/Minimal/QueueOverwrite.c",
"FreeRTOS/Demo/Common/Minimal/QueueSet.c",
"FreeRTOS/Demo/Common/Minimal/QueueSetPolling.c",
"FreeRTOS/Demo/Common/Minimal/recmutex.c",
"FreeRTOS/Demo/Common/Minimal/semtest.c",
"FreeRTOS/Demo/Common/Minimal/StaticAllocation.c",
"FreeRTOS/Demo/Common/Minimal/StreamBufferDemo.c",
"FreeRTOS/Demo/Common/Minimal/StreamBufferInterrupt.c",
"FreeRTOS/Demo/Common/Minimal/TaskNotify.c",
"FreeRTOS/Demo/Common/Minimal/TimerDemo.c",
]
if GetOption("coverage"):
env.Append(CPPDEFINES = [
"projCOVERAGE_TEST=1",
])
env.Append(CFLAGS = [
"-fprofile-arcs",
"-ftest-coverage",
"-ggdb3",
"-Og",
])
env.Append(LINKFLAGS = [
"-fprofile-arcs",
"-ftest-coverage",
"-ggdb3",
"-Og",
])
src += [
"code_coverage_additions.c",
]
else:
env.Append(CPPDEFINES = [
"projCOVERAGE_TEST=0",
])
src += [
# Trace library.
"FreeRTOS-Plus/Source/FreeRTOS-Plus-Trace/trcKernelPort.c",
"FreeRTOS-Plus/Source/FreeRTOS-Plus-Trace/trcSnapshotRecorder.c",
"FreeRTOS-Plus/Source/FreeRTOS-Plus-Trace/trcStreamingRecorder.c",
"FreeRTOS-Plus/Source/FreeRTOS-Plus-Trace/streamports/File/trcStreamingPort.c",
]
# Build the simple "blinky" demo application, or the full test
# applicaton?
if GetOption("simple"):
env.Append(CPPDEFINES = [
"mainCREATE_SIMPLE_BLINKY_DEMO_ONLY=1",
])
env.Program("posix_demo", src)