From 0df3ba69cd11d1833a328cee93aa21669bba70e3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=A4rkl?= Date: Sat, 30 May 2020 15:26:27 +0200 Subject: [PATCH] Temporarily use local Switch Toolchain File --- CMakeLists.txt | 2 -- cmake/switch.cmake | 17 +++++++++++++++++ scripts/switch/build.sh | 2 +- 3 files changed, 18 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 9cffd0d..d32e8d0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -41,8 +41,6 @@ if(CHIAKI_ENABLE_SWITCH AND CHIAKI_ENABLE_SWITCH_LINUX) set(CMAKE_BUILD_TYPE Debug) elseif(CHIAKI_ENABLE_SWITCH) add_definitions(-D__SWITCH__) - # load switch.cmake toolchain form ./cmake folder - include(switch) # TODO check if android ... or other versions are enabled # force mbedtls as crypto lib set(CHIAKI_LIB_ENABLE_MBEDTLS ON) diff --git a/cmake/switch.cmake b/cmake/switch.cmake index 5409422..e9a07e5 100644 --- a/cmake/switch.cmake +++ b/cmake/switch.cmake @@ -45,6 +45,23 @@ switchvar(CMAKE_CPP_FLAGS CPPFLAGS "-D__SWITCH__ -I${PORTLIBS_PREFIX}/include -i switchvar(CMAKE_LD_FLAGS LDFLAGS "${ARCH} -L${PORTLIBS_PREFIX}/lib -L${DEVKITPRO}/libnx/lib") switchvar(LIBS LIBS "-lnx") + + +# cache flags +set( CMAKE_CXX_FLAGS "" CACHE STRING "c++ flags" ) +set( CMAKE_C_FLAGS "" CACHE STRING "c flags" ) +set( CMAKE_CXX_FLAGS_RELEASE "-O3 -DNDEBUG" CACHE STRING "c++ Release flags" ) +set( CMAKE_C_FLAGS_RELEASE "-O3 -DNDEBUG" CACHE STRING "c Release flags" ) +set( CMAKE_CXX_FLAGS_DEBUG "-O0 -g -DDEBUG -D_DEBUG" CACHE STRING "c++ Debug flags" ) +set( CMAKE_C_FLAGS_DEBUG "-O0 -g -DDEBUG -D_DEBUG" CACHE STRING "c Debug flags" ) +set( CMAKE_SHARED_LINKER_FLAGS "" CACHE STRING "shared linker flags" ) +set( CMAKE_MODULE_LINKER_FLAGS "" CACHE STRING "module linker flags" ) +set( CMAKE_EXE_LINKER_FLAGS "-mtp=soft -fPIE -L${DEVKITPRO}/portlibs/switch/lib -L${DEVKITPRO}/libnx/lib -specs=${DEVKITPRO}/libnx/switch.specs -g" CACHE STRING "executable linker flags" ) + +# we require the relocation table +set(CMAKE_C_FLAGS "-I/opt/devkitpro/libnx/include -D__SWITCH__ -march=armv8-a -mtune=cortex-a57 -mtp=soft -ffunction-sections -fdata-sections -fPIE") +set(CMAKE_CXX_FLAGS "${CMAKE_C_FLAGS} -fno-rtti") + # switchvar(CMAKE_CXX_FLAGS CXXFLAGS "${CMAKE_C_FLAGS} -fno-rtti") include_directories(${DEVKITPRO}/libnx/include ${PORTLIBS_PREFIX}/include) diff --git a/scripts/switch/build.sh b/scripts/switch/build.sh index ffec0b7..bd351f5 100755 --- a/scripts/switch/build.sh +++ b/scripts/switch/build.sh @@ -8,7 +8,7 @@ build="./build" if [ "$arg1" != "linux" ]; then CHIAKI_ENABLE_SWITCH_LINUX="OFF" source /opt/devkitpro/switchvars.sh - toolchain=/opt/devkitpro/switch.cmake + toolchain=../cmake/switch.cmake # TODO: devkitpro ships a toolchain in /opt/devkitpro/switch.cmake, but it's broken. export CC=${TOOL_PREFIX}gcc export CXX=${TOOL_PREFIX}g++