Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1938)

Unified Diff: generate_gypi.sh

Issue 1085023004: Fix arm/LTO build by moving neon asm files to intrinsics target. (Closed) Base URL: https://chromium.googlesource.com/chromium/deps/libvpx.git@master
Patch Set: Created 5 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: generate_gypi.sh
diff --git a/generate_gypi.sh b/generate_gypi.sh
index f0ce250f955766131540f8396258b2257eb115bf..341353a6d0c2f3cb18d4962c3bac5caf17eba75a 100755
--- a/generate_gypi.sh
+++ b/generate_gypi.sh
@@ -103,6 +103,7 @@ function write_target_definition {
done
echo " ]," >> "$2"
if [[ $4 == fpu=neon ]]; then
+ echo " 'includes': [ 'ads2gas.gypi' ]," >> "$2"
echo " 'cflags!': [ '-mfpu=vfpv3-d16' ]," >> "$2"
echo " 'conditions': [" >> $2
echo " # Disable LTO in neon targets due to compiler bug" >> "$2"
@@ -155,7 +156,7 @@ function write_intrinsics_gypi {
local sse4_1_sources=$(echo "$file_list" | grep '_sse4\.c$')
local avx_sources=$(echo "$file_list" | grep '_avx\.c$')
local avx2_sources=$(echo "$file_list" | grep '_avx2\.c$')
- local neon_sources=$(echo "$file_list" | grep '_neon\.c$')
+ local neon_sources=$(echo "$file_list" | grep '_neon\.c$\|\.asm$')
Johann 2015/04/15 15:38:45 while *most* of the neon code is named neon_asm.as
pcc1 2015/04/15 18:50:33 Makes sense, but this regex just grabs the asm fil
# Intrinsic functions and files are in flux. We can selectively generate them
# but we can not selectively include them in libvpx.gyp. Throw some errors
@@ -230,11 +231,12 @@ function convert_srcs_to_project_files {
# Select all neon files ending in C but only when building in RTCD mode
if [ "libvpx_srcs_arm_neon_cpu_detect" == "$2" ]; then
- # Select all arm neon files ending in _neon.c
+ # Select all arm neon files ending in _neon.c and all asm files.
+ # The asm files need to be included in the intrinsics target because
+ # they need the -mfpu=neon flag.
Johann 2015/04/15 15:38:45 is it sufficient to give them -mfpu=neon or do the
pcc1 2015/04/15 18:50:33 The former. The compiler driver will pass the -mfp
# the pattern may need to be updated if vpx_scale gets intrinics
local intrinsic_list=$(echo "$source_list" | \
- egrep 'vp[89]/(encoder|decoder|common)/arm/neon/' | \
- egrep '_neon.c$')
+ egrep 'vp[89]/(encoder|decoder|common)/arm/neon/.*_neon.c$|.asm$')
fi
# Remove these files from the main list.
@@ -273,7 +275,8 @@ function convert_srcs_to_project_files {
write_gni avx2_sources $2_avx2 "$BASE_DIR/libvpx_srcs.gni"
else
local c_sources=$(echo "$source_list" | egrep '.(c|h)$')
- local assembly_sources=$(echo "$source_list" | egrep '.asm$')
+ local assembly_sources=$(echo -e "$source_list\n$intrinsic_list" | \
+ egrep '.asm$')
local neon_sources=$(echo "$intrinsic_list" | grep '_neon\.c$')
write_gni c_sources $2 "$BASE_DIR/libvpx_srcs.gni"
write_gni assembly_sources $2_assembly "$BASE_DIR/libvpx_srcs.gni"
« no previous file with comments | « ads2gas.gypi ('k') | libvpx.gyp » ('j') | libvpx_srcs_arm_neon_cpu_detect_intrinsics.gypi » ('J')

Powered by Google App Engine
This is Rietveld 408576698