1*4882a593Smuzhiyun# HG changeset patch 2*4882a593Smuzhiyun# User Bertrand Jacquin <bertrand@jacquin.bzh> 3*4882a593Smuzhiyun# Date 1444431941 -3600 4*4882a593Smuzhiyun# Node ID 5c6d2a6f2f9a0534933cc999b3845be4344e1af0 5*4882a593Smuzhiyun# Parent b6156a08b1def3584647f26096866c1a0c11e54a 6*4882a593Smuzhiyunbuild: Disable -march selection from CMakeLists.txt 7*4882a593Smuzhiyun 8*4882a593Smuzhiyunx32 arch as defined on https://sites.google.com/site/x32abi is neither 9*4882a593SmuzhiyunX86 nor X64, then forcing -march=i686 leads to build failure as wrong 10*4882a593Smuzhiyun-march is used. 11*4882a593Smuzhiyun 12*4882a593SmuzhiyunForcing -march, -mfloat-abi and -mfpu for ARM is also wrong 13*4882a593Smuzhiyun 14*4882a593SmuzhiyunAs a global sanity sake, disable all forced -march in CMakeLists 15*4882a593Smuzhiyun 16*4882a593SmuzhiyunBackported from upstream pull request: 17*4882a593Smuzhiyunhttps://bitbucket.org/multicoreware/x265/pull-requests/21 18*4882a593Smuzhiyun 19*4882a593SmuzhiyunSigned-off-by: Bernd Kuhls <bernd.kuhls@t-online.de> 20*4882a593Smuzhiyun 21*4882a593Smuzhiyundiff -r 58dddcf01b7d source/CMakeLists.txt 22*4882a593Smuzhiyun--- a/source/CMakeLists.txt Mon Jan 23 09:50:33 2017 +0530 23*4882a593Smuzhiyun+++ b/source/CMakeLists.txt Mon Jan 23 21:03:10 2017 +0100 24*4882a593Smuzhiyun@@ -194,28 +194,6 @@ 25*4882a593Smuzhiyun if(NATIVE_BUILD) 26*4882a593Smuzhiyun if(INTEL_CXX) 27*4882a593Smuzhiyun add_definitions(-xhost) 28*4882a593Smuzhiyun- else() 29*4882a593Smuzhiyun- add_definitions(-march=native) 30*4882a593Smuzhiyun- endif() 31*4882a593Smuzhiyun- elseif(X86 AND NOT X64) 32*4882a593Smuzhiyun- string(FIND "${CMAKE_CXX_FLAGS}" "-march" marchPos) 33*4882a593Smuzhiyun- if(marchPos LESS "0") 34*4882a593Smuzhiyun- add_definitions(-march=i686) 35*4882a593Smuzhiyun- if(WIN32 AND NOT INTEL_CXX AND NOT CLANG AND 36*4882a593Smuzhiyun- CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 6.0 AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 7.0) 37*4882a593Smuzhiyun- add_definitions(-mpreferred-stack-boundary=2) 38*4882a593Smuzhiyun- endif() 39*4882a593Smuzhiyun- endif() 40*4882a593Smuzhiyun- endif() 41*4882a593Smuzhiyun- if(ARM AND CROSS_COMPILE_ARM) 42*4882a593Smuzhiyun- set(ARM_ARGS -march=armv6 -mfloat-abi=soft -mfpu=vfp -marm -fPIC) 43*4882a593Smuzhiyun- elseif(ARM) 44*4882a593Smuzhiyun- find_package(Neon) 45*4882a593Smuzhiyun- if(CPU_HAS_NEON) 46*4882a593Smuzhiyun- set(ARM_ARGS -mcpu=native -mfloat-abi=hard -mfpu=neon -marm -fPIC) 47*4882a593Smuzhiyun- add_definitions(-DHAVE_NEON) 48*4882a593Smuzhiyun- else() 49*4882a593Smuzhiyun- set(ARM_ARGS -mcpu=native -mfloat-abi=hard -mfpu=vfp -marm) 50*4882a593Smuzhiyun endif() 51*4882a593Smuzhiyun endif() 52*4882a593Smuzhiyun add_definitions(${ARM_ARGS}) 53