3DS: Fixes for new dkA release

This commit is contained in:
Vicki Pfau 2017-03-20 20:52:35 -07:00
parent 1844e37f5c
commit 7bd46ec6a2
1 changed files with 20 additions and 2 deletions

View File

@ -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) source_group("Generated sources" FILES ${CMAKE_CURRENT_BINARY_DIR}/version.c)
# Advanced settings # 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(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_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") set(PGO_DIR "/tmp/gba-pgo/" CACHE PATH "Profiling-guided optimization profiles path")
@ -235,6 +242,10 @@ if(WII)
add_definitions(-U__STRICT_ANSI__) add_definitions(-U__STRICT_ANSI__)
endif() endif()
if(DEFINED 3DS)
add_definitions(-D_GNU_SOURCE)
endif()
include(CheckFunctionExists) include(CheckFunctionExists)
check_function_exists(strdup HAVE_STRDUP) check_function_exists(strdup HAVE_STRDUP)
check_function_exists(strndup HAVE_STRNDUP) 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(uselocale HAVE_USELOCALE)
check_function_exists(setlocale HAVE_SETLOCALE) check_function_exists(setlocale HAVE_SETLOCALE)
else() 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) 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) set(DISABLE_DEPS ON CACHE BOOL "This platform cannot build with dependencies" FORCE)
endif() endif()
@ -276,7 +294,7 @@ if(HAVE_LOCALTIME_R)
list(APPEND FUNCTION_DEFINES HAVE_LOCALTIME_R) list(APPEND FUNCTION_DEFINES HAVE_LOCALTIME_R)
endif() 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) list(APPEND FUNCTION_DEFINES HAVE_LOCALE)
if (HAVE_STRTOF_L) if (HAVE_STRTOF_L)
list(APPEND FUNCTION_DEFINES HAVE_STRTOF_L) list(APPEND FUNCTION_DEFINES HAVE_STRTOF_L)