Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix #785, update vxworks 6.9 example toolchain #786

Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 17 additions & 7 deletions cmake/sample_defs/toolchain-ppc-vxworks6.9.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,24 @@ set(CMAKE_SYSTEM_PROCESSOR ppc)
set(CMAKE_SYSTEM_VERSION 6.9)
set(VXWORKS_GCC_VERSION 4.3.3)
set(VXWORKS_HOST_VERSION x86-linux2)

# The VxWorks toolchain relies on several environment variables,
# which should be set already by an environment setup script.

# WIND_HOME refers to the top-level installation directory
set(WIND_HOME_DFL "$ENV{WIND_HOME}")
if(NOT WIND_HOME_DFL)
set(WIND_HOME_DFL "/opt/WindRiver")
endif(NOT WIND_HOME_DFL)
set(WIND_HOME "${WIND_HOME_DFL}" CACHE PATH "Wind River installation directory")
set(WIND_HOME "${WIND_HOME_DFL}" CACHE PATH "Wind River top level installation directory")

# WIND_BASE refers to the system-specific installation directory (e.g. vxworks-<VERSION>)
set(WIND_BASE_DFL "$ENV{WIND_BASE}")
if(NOT WIND_BASE_DFL)
set(WIND_BASE_DFL "${WIND_HOME}/vxworks-${CMAKE_SYSTEM_VERSION}")
endif(NOT WIND_BASE_DFL)
set(WIND_BASE "${WIND_BASE_DFL}" CACHE PATH "Wind River product installation directory")

set(VXWORKS_TOOLS_PREFIX "${WIND_HOME}/gnu/${VXWORKS_GCC_VERSION}-vxworks-${CMAKE_SYSTEM_VERSION}/${VXWORKS_HOST_VERSION}")


Expand All @@ -30,10 +43,6 @@ SET(CMAKE_AR "${SDKHOSTBINDIR}/ar${TARGETSUFFIX}")
SET(CMAKE_OBJDUMP "${SDKHOSTBINDIR}/objdump${TARGETSUFFIX}")
SET(CMAKE_RANLIB "${SDKHOSTBINDIR}/ranlib${TARGETSUFFIX}")

# Note that CEXP is not a shared library loader - it will not support code compiled with -fPIC
# Also exception handling is very iffy. These two options disable eh_frame creation.
#set(CMAKE_C_COMPILE_OPTIONS_PIC -fno-exceptions -fno-asynchronous-unwind-tables)

# search for programs in the build host directories
SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)

Expand All @@ -46,6 +55,7 @@ SET(CMAKE_PREFIX_PATH /)
# these settings are specific to cFE/OSAL and determines which
# abstraction layers are built when using this toolchain
SET(CFE_SYSTEM_PSPNAME mcp750-vxworks)
SET(OSAL_SYSTEM_BSPTYPE mcp750-vxworks)
SET(OSAL_SYSTEM_OSTYPE vxworks)

include_directories(${WIND_BASE}/target/h/wrn/coreip)
include_directories(${WIND_BASE}/target/h)