summaryrefslogtreecommitdiff
path: root/meta-xilinx/meta-xilinx-standalone/conf/distro
diff options
context:
space:
mode:
Diffstat (limited to 'meta-xilinx/meta-xilinx-standalone/conf/distro')
-rw-r--r--meta-xilinx/meta-xilinx-standalone/conf/distro/xilinx-freertos.conf9
-rw-r--r--meta-xilinx/meta-xilinx-standalone/conf/distro/xilinx-standalone-nolto.conf1
-rw-r--r--meta-xilinx/meta-xilinx-standalone/conf/distro/xilinx-standalone.conf21
-rw-r--r--meta-xilinx/meta-xilinx-standalone/conf/distro/xilinx-standalone.inc47
4 files changed, 68 insertions, 10 deletions
diff --git a/meta-xilinx/meta-xilinx-standalone/conf/distro/xilinx-freertos.conf b/meta-xilinx/meta-xilinx-standalone/conf/distro/xilinx-freertos.conf
new file mode 100644
index 000000000..cba5fd904
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-standalone/conf/distro/xilinx-freertos.conf
@@ -0,0 +1,9 @@
+require conf/distro/xilinx-standalone.inc
+
+DISTRO_NAME_append = " (freertos)"
+
+XLNX_CMAKE_SYSTEM_NAME = "FreeRTOS"
+
+# We need to pass FREERTOS_BSP compliler flag it is consumed
+# esw components.
+ESW_CFLAGS += " -DFREERTOS_BSP"
diff --git a/meta-xilinx/meta-xilinx-standalone/conf/distro/xilinx-standalone-nolto.conf b/meta-xilinx/meta-xilinx-standalone/conf/distro/xilinx-standalone-nolto.conf
new file mode 100644
index 000000000..315f555cb
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-standalone/conf/distro/xilinx-standalone-nolto.conf
@@ -0,0 +1 @@
+require conf/distro/xilinx-standalone.inc
diff --git a/meta-xilinx/meta-xilinx-standalone/conf/distro/xilinx-standalone.conf b/meta-xilinx/meta-xilinx-standalone/conf/distro/xilinx-standalone.conf
index 7cd23ccdb..4273230f0 100644
--- a/meta-xilinx/meta-xilinx-standalone/conf/distro/xilinx-standalone.conf
+++ b/meta-xilinx/meta-xilinx-standalone/conf/distro/xilinx-standalone.conf
@@ -1,13 +1,14 @@
-DISTRO = "xilinx-standalone"
-DISTRO_NAME = "Xilinx Standalone Distro"
-DISTRO_VERSION = "1.0"
-TARGET_VENDOR = "-xilinx"
+require conf/distro/xilinx-standalone.inc
-TCLIBC = "newlib"
-TCLIBCAPPEND =""
+DISTRO_NAME_append = " (lto)"
-# Change SDK name
-SDK_VERSION = "xilinx-standalone"
+# By default we want to optimize for size.
+FULL_OPTIMIZATION = "-O2 -pipe ${DEBUG_FLAGS}"
+
+# Workaround for microblaze -Os bug
+FULL_OPTIMIZATION_microblaze = "-O2 -pipe ${DEBUG_FLAGS}"
+
+# We also need to use Link Time Optimization for many items, make this the
+# default.
+ESW_CFLAGS += " -flto -ffat-lto-objects"
-require conf/distro/include/yocto-uninative.inc
-INHERIT += "uninative"
diff --git a/meta-xilinx/meta-xilinx-standalone/conf/distro/xilinx-standalone.inc b/meta-xilinx/meta-xilinx-standalone/conf/distro/xilinx-standalone.inc
new file mode 100644
index 000000000..5c8ae67a1
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-standalone/conf/distro/xilinx-standalone.inc
@@ -0,0 +1,47 @@
+DISTRO_NAME = "Xilinx Standalone Distro"
+DISTRO_VERSION = "1.0"
+TARGET_VENDOR = "-xilinx"
+
+# Make sure any users get the xilinx-standalone distro override
+DISTROOVERRIDES_prepend = "${@'xilinx-standalone:' if d.getVar('DISTRO') != "xilinx-standalone" else ''}"
+
+TCLIBC = "newlib"
+TCLIBCAPPEND =""
+
+# Change SDK name
+SDK_VERSION = "xilinx-standalone"
+
+require conf/distro/include/yocto-uninative.inc
+INHERIT += "uninative"
+
+# Hold this until it gets merged in core, we need libc.a and libgloss.a for cross-canadian
+LIBC_DEPENDENCIES_append = " newlib-staticdev libgloss-staticdev"
+
+ESW_CFLAGS ?= ""
+
+INHERIT += "buildhistory"
+
+# Cortex R5 requires an additional cflag to be passed for compatibility with the embeddedsw
+TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexr5', ' -DARMR5', '', d)}"
+
+# Make sure all regular recipes are excluded from compatibility
+# Avoid using this for native, nativesdk or cross recipes
+COMPATOS = ""
+# Set the regex for target recipes only, follow TARGET_OS default
+COMPATOS_class-target = ".*-linux${LIBCEXTENSION}${ABIEXTENSION}"
+COMPATIBLE_HOST ?= "${COMPATOS}"
+
+# Clear defaults
+DISTRO_FEATURES_BACKFILL_xilinx-standalone = ""
+VIRTUAL-RUNTIME_init_manager_xilinx-standalone = ""
+
+PREFERRED_PROVIDER_virtual/kernel = "linux-dummy"
+
+# Hold this until it gets merged in core, we need libc.a and libgloss.a for cross-canadian
+LIBC_DEPENDENCIES_append = " newlib-staticdev libgloss-staticdev"
+
+# No cached configsite files
+TOOLCHAIN_NEED_CONFIGSITE_CACHE = ""
+
+# Workaround for pulling in nativesdk-mingw-w64-winpthreads
+TOOLCHAIN_HOST_TASK_append_sdkmingw32 = " nativesdk-mingw-w64-winpthreads"