build: add arc support to issm toolchain
Jira: ZEP-186 Change-Id: Ib58aaba3020d8db18130f7d73a394a79c972272a Signed-off-by: Juan Manuel Cruz <juan.m.cruz.alcaraz@intel.com>
This commit is contained in:
parent
2170ca79ff
commit
a0ed1ff1dc
3 changed files with 43 additions and 25 deletions
|
@ -100,16 +100,16 @@ To install ISSM use the link provided to download from the Intel Developer Zone:
|
|||
`ISSM 2016 Download`_ and install it into your system.
|
||||
|
||||
Finally, configure your environment variables for the ISSM 2016 toolchain.
|
||||
For example, using the default installation path for ISSM:
|
||||
:file:`/c/IntelSWTools/ISSM_2016.0.27/tools/compiler`
|
||||
For example, using the installation path for ISSM as:
|
||||
:file:`/c/IntelSWTools/ISSM_2016`
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
export ZEPHYR_GCC_VARIANT=iamcu
|
||||
export IAMCU_TOOLCHAIN_PATH=/c/IntelSWTools/ISSM_2016.0.27/tools/compiler
|
||||
export ZEPHYR_GCC_VARIANT=issm
|
||||
export ISSM_INSTALLATION_PATH=/c/IntelSWTools/ISSM_2016
|
||||
|
||||
.. note:: The format of the location for the toolchain installation directory
|
||||
(e.g. :envvar:`IAMCU_TOOLCHAIN_PATH`) must be in the linux format. E.g.
|
||||
(e.g. :envvar:`ISSM_INSTALLATION_PATH`) must be in the linux format. E.g.
|
||||
:file:`C:\toolchain` would be written as :file:`/c/toolchain/`.
|
||||
|
||||
.. _GIT Download: https://git-scm.com/download/win
|
||||
|
|
|
@ -1,20 +0,0 @@
|
|||
ifndef IAMCU_TOOLCHAIN_PATH
|
||||
$(error IAMCU_TOOLCHAIN_PATH is not set)
|
||||
endif
|
||||
|
||||
CROSS_COMPILE_TARGET_x86 = i586-intel-elfiamcu
|
||||
CROSS_COMPILE_x86=${IAMCU_TOOLCHAIN_PATH}/bin/${CROSS_COMPILE_TARGET_x86}-
|
||||
TOOLCHAIN_CFLAGS_x86 = -I${IAMCU_TOOLCHAIN_PATH}/$(CROSS_COMPILE_TARGET_x86)/include/
|
||||
CROSS_COMPILE_x86_version = $(shell $(CROSS_COMPILE_x86)gcc -dumpversion)
|
||||
|
||||
CROSS_COMPILE= $(CROSS_COMPILE_$(ARCH))
|
||||
|
||||
LIB_INCLUDE_DIR_x86 = -L $(IAMCU_TOOLCHAIN_PATH)/lib/gcc/$(CROSS_COMPILE_TARGET_x86)/$(CROSS_COMPILE_x86_version)
|
||||
LIB_INCLUDE_DIR_x86 += -L ${IAMCU_TOOLCHAIN_PATH}/$(CROSS_COMPILE_TARGET_x86)/lib
|
||||
|
||||
LIB_INCLUDE_DIR = $(LIB_INCLUDE_DIR_$(ARCH))
|
||||
|
||||
TOOLCHAIN_LIBS = gcc
|
||||
TOOLCHAIN_CFLAGS = $(TOOLCHAIN_CFLAGS_$(ARCH))
|
||||
|
||||
export CROSS_COMPILE TOOLCHAIN_LIBS LIB_INCLUDE_DIR TOOLCHAIN_CFLAGS
|
38
scripts/Makefile.toolchain.issm
Normal file
38
scripts/Makefile.toolchain.issm
Normal file
|
@ -0,0 +1,38 @@
|
|||
ifndef ISSM_INSTALLATION_PATH
|
||||
$(error ISSM_INSTALLATION_PATH is not set)
|
||||
endif
|
||||
|
||||
# IA_VERSION and ARC_VERSION can be used to adjust the toolchain
|
||||
# paths inside the ISSM installation to use an specific version, e.g.:
|
||||
# IA_VERSION ?= gcc-ia/5.2.1
|
||||
# ARC_VERSION ?= gcc-arc/4.8.5
|
||||
IA_VERSION ?= .
|
||||
ARC_VERSION ?= .
|
||||
ISSM_TOOLCHAIN_GCC_IA_ROOT ?= $(ISSM_INSTALLATION_PATH)/tools/compiler/$(IA_VERSION)
|
||||
ISSM_TOOLCHAIN_GCC_ARC_ROOT ?= $(ISSM_INSTALLATION_PATH)/tools/compiler/$(ARC_VERSION)
|
||||
|
||||
#x86
|
||||
CROSS_COMPILE_TARGET_x86 = i586-intel-elfiamcu
|
||||
CROSS_COMPILE_x86=$(ISSM_TOOLCHAIN_GCC_IA_ROOT)/bin/$(CROSS_COMPILE_TARGET_x86)-
|
||||
CROSS_COMPILE_x86_version = $(shell $(CROSS_COMPILE_x86)gcc -dumpversion)
|
||||
|
||||
LIB_INCLUDE_DIR_x86 = -L $(ISSM_TOOLCHAIN_GCC_IA_ROOT)/lib/gcc/$(CROSS_COMPILE_TARGET_x86)/$(CROSS_COMPILE_x86_version)
|
||||
LIB_INCLUDE_DIR_x86 += -L $(ISSM_TOOLCHAIN_GCC_IA_ROOT)/$(CROSS_COMPILE_TARGET_x86)/lib
|
||||
TOOLCHAIN_CFLAGS_x86 = -I$(ISSM_TOOLCHAIN_GCC_IA_ROOT)/$(CROSS_COMPILE_TARGET_x86)/include/
|
||||
|
||||
# arc
|
||||
CROSS_COMPILE_TARGET_arc = arc-elf32
|
||||
CROSS_COMPILE_arc=$(ISSM_TOOLCHAIN_GCC_ARC_ROOT)/bin/$(CROSS_COMPILE_TARGET_arc)-
|
||||
CROSS_COMPILE_arc_version = $(shell $(CROSS_COMPILE_arc)gcc -dumpversion)
|
||||
|
||||
LIB_INCLUDE_DIR_arc = -L $(ISSM_TOOLCHAIN_GCC_ARC_ROOT)/lib/gcc/$(CROSS_COMPILE_TARGET_arc)/$(CROSS_COMPILE_arc_version)
|
||||
LIB_INCLUDE_DIR_arc += -L $(ISSM_TOOLCHAIN_GCC_ARC_ROOT)/$(CROSS_COMPILE_TARGET_arc)/lib
|
||||
TOOLCHAIN_CFLAGS_arc = -I$(ISSM_TOOLCHAIN_GCC_ARC_ROOT)/$(CROSS_COMPILE_TARGET_arc)/include
|
||||
|
||||
TOOLCHAIN_LIBS = gcc
|
||||
|
||||
CROSS_COMPILE= $(CROSS_COMPILE_$(ARCH))
|
||||
LIB_INCLUDE_DIR = $(LIB_INCLUDE_DIR_$(ARCH))
|
||||
TOOLCHAIN_CFLAGS = $(TOOLCHAIN_CFLAGS_$(ARCH))
|
||||
|
||||
export CROSS_COMPILE TOOLCHAIN_LIBS LIB_INCLUDE_DIR TOOLCHAIN_CFLAGS
|
Loading…
Add table
Add a link
Reference in a new issue