Chromium Code Reviews| 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" |