From 7bd46ec6a2c6cf24786cf0e1ebc6e59d1830ad86 Mon Sep 17 00:00:00 2001 From: Vicki Pfau Date: Mon, 20 Mar 2017 20:52:35 -0700 Subject: [PATCH] 3DS: Fixes for new dkA release --- CMakeLists.txt | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 570500f50..adc1b2912 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -146,7 +146,14 @@ list(APPEND UTIL_SRC ${CMAKE_CURRENT_BINARY_DIR}/version.c) source_group("Generated sources" FILES ${CMAKE_CURRENT_BINARY_DIR}/version.c) # Advanced settings -set(BUILD_LTO ON CACHE BOOL "Build with link-time optimization") +if(NOT DEFINED 3DS) + # LTO appears to make 3DS binary slower + set(DEFAULT_LTO ON) +else() + set(DEFAULT_LTO OFF) +endif() + +set(BUILD_LTO ${DEFAULT_LTO} CACHE BOOL "Build with link-time optimization") set(BUILD_PGO OFF CACHE BOOL "Build with profiling-guided optimization") set(PGO_STAGE_2 CACHE BOOL "Rebuild for profiling-guided optimization after profiles have been generated") set(PGO_DIR "/tmp/gba-pgo/" CACHE PATH "Profiling-guided optimization profiles path") @@ -235,6 +242,10 @@ if(WII) add_definitions(-U__STRICT_ANSI__) endif() +if(DEFINED 3DS) + add_definitions(-D_GNU_SOURCE) +endif() + include(CheckFunctionExists) check_function_exists(strdup HAVE_STRDUP) check_function_exists(strndup HAVE_STRNDUP) @@ -252,6 +263,13 @@ if(NOT CMAKE_SYSTEM_NAME STREQUAL "Generic") check_function_exists(uselocale HAVE_USELOCALE) check_function_exists(setlocale HAVE_SETLOCALE) else() + if(DEFINED 3DS) + check_function_exists(snprintf_l HAVE_SNPRINTF_L) + check_function_exists(newlocale HAVE_NEWLOCALE) + check_function_exists(freelocale HAVE_FREELOCALE) + check_function_exists(uselocale HAVE_USELOCALE) + check_function_exists(setlocale HAVE_SETLOCALE) + endif() if(NOT DEFINED 3DS AND NOT DEFINED PSP2 AND NOT DEFINED WII) set(DISABLE_DEPS ON CACHE BOOL "This platform cannot build with dependencies" FORCE) endif() @@ -276,7 +294,7 @@ if(HAVE_LOCALTIME_R) list(APPEND FUNCTION_DEFINES HAVE_LOCALTIME_R) endif() -if(HAVE_NEWLOCALE AND HAVE_FREELOCALE AND HAVE_USELOCALE OR APPLE) +if(HAVE_NEWLOCALE AND HAVE_FREELOCALE AND HAVE_USELOCALE OR APPLE OR 3DS) list(APPEND FUNCTION_DEFINES HAVE_LOCALE) if (HAVE_STRTOF_L) list(APPEND FUNCTION_DEFINES HAVE_STRTOF_L)