xref: /OK3568_Linux_fs/buildroot/package/x265/0001-fix-gcc-options.patch (revision 4882a59341e53eb6f0b4789bf948001014eff981)
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