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

Unified Diff: generate_gypi.sh

Issue 1272583003: Break GN targets apart by library (Closed) Base URL: https://chromium.googlesource.com/chromium/deps/libvpx.git@master
Patch Set: Created 5 years, 4 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
« BUILD.gn ('K') | « BUILD.gn ('k') | libvpx_srcs.gni » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: generate_gypi.sh
diff --git a/generate_gypi.sh b/generate_gypi.sh
index a00618861d4935112736d87d34de408878736f43..0a316602b9cadd0648441ab5bc4345f893e047aa 100755
--- a/generate_gypi.sh
+++ b/generate_gypi.sh
@@ -249,37 +249,51 @@ function convert_srcs_to_project_files {
fi
# Write a single .gni file that includes all source files for all archs.
- if [ 0 -ne ${#x86_list} ]; then
- local c_sources=$(echo "$source_list" | egrep '.(c|h)$')
- local assembly_sources=$(echo "$source_list" | egrep '.asm$')
- local mmx_sources=$(echo "$intrinsic_list" | grep '_mmx\.c$')
- local sse2_sources=$(echo "$intrinsic_list" | grep '_sse2\.c$')
- local sse3_sources=$(echo "$intrinsic_list" | grep '_sse3\.c$')
- local ssse3_sources=$(echo "$intrinsic_list" | grep '_ssse3\.c$')
- local sse4_1_sources=$(echo "$intrinsic_list" | grep '_sse4\.c$')
- local avx_sources=$(echo "$intrinsic_list" | grep '_avx\.c$')
- local avx2_sources=$(echo "$intrinsic_list" | grep '_avx2\.c$')
-
- write_gni c_sources $2 "$BASE_DIR/libvpx_srcs.gni"
- write_gni assembly_sources $2_assembly "$BASE_DIR/libvpx_srcs.gni"
- write_gni mmx_sources $2_mmx "$BASE_DIR/libvpx_srcs.gni"
- write_gni sse2_sources $2_sse2 "$BASE_DIR/libvpx_srcs.gni"
- write_gni sse3_sources $2_sse3 "$BASE_DIR/libvpx_srcs.gni"
- write_gni ssse3_sources $2_ssse3 "$BASE_DIR/libvpx_srcs.gni"
- write_gni sse4_1_sources $2_sse4_1 "$BASE_DIR/libvpx_srcs.gni"
- write_gni avx_sources $2_avx "$BASE_DIR/libvpx_srcs.gni"
- 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 -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"
- if [ 0 -ne ${#neon_sources} ]; then
- write_gni neon_sources $2_neon "$BASE_DIR/libvpx_srcs.gni"
+ # First all the non-specific files not found in vp8, vp9, or vpx_dsp
+ local c_sources=$(echo "$source_list" | \
+ egrep -v "^vp(8|9|x_dsp)" | \
+ egrep ".(c|h)$")
+ local assembly_sources=$(echo "$source_list" | \
+ egrep -v "^vp(8|9|x_dsp)" | \
+ egrep ".asm$")
+ write_gni c_sources $2 "$BASE_DIR/libvpx_srcs.gni"
+ write_gni assembly_sources $2_assembly "$BASE_DIR/libvpx_srcs.gni"
+
+ # Break out the remaining files by specific targets. GN does not
+ # disambiguate by path so this is the only way to avoid name conflicts.
+ for library in vp8 vp9 vpx_dsp; do
+ if [ 0 -ne ${#x86_list} ]; then
+ local c_sources=$(echo "$source_list" | egrep "^${library}.+.(c|h)$")
+ local assembly_sources=$(echo "$source_list" | egrep "^${library}.+.asm$")
+ local mmx_sources=$(echo "$intrinsic_list" | egrep "^${library}.+_mmx\.c$")
+ local sse2_sources=$(echo "$intrinsic_list" | egrep "^${library}.+_sse2\.c$")
+ local sse3_sources=$(echo "$intrinsic_list" | egrep "^${library}.+_sse3\.c$")
+ local ssse3_sources=$(echo "$intrinsic_list" | egrep "^${library}.+_ssse3\.c$")
+ local sse4_1_sources=$(echo "$intrinsic_list" | egrep "^${library}.+_sse4\.c$")
+ local avx_sources=$(echo "$intrinsic_list" | egrep "^${library}.+_avx\.c$")
+ local avx2_sources=$(echo "$intrinsic_list" | egrep "^${library}.+_avx2\.c$")
+
+ write_gni c_sources ${library}_$2 "$BASE_DIR/libvpx_srcs.gni"
+ write_gni assembly_sources ${library}_$2_assembly "$BASE_DIR/libvpx_srcs.gni"
+ write_gni mmx_sources ${library}_$2_mmx "$BASE_DIR/libvpx_srcs.gni"
+ write_gni sse2_sources ${library}_$2_sse2 "$BASE_DIR/libvpx_srcs.gni"
+ write_gni sse3_sources ${library}_$2_sse3 "$BASE_DIR/libvpx_srcs.gni"
+ write_gni ssse3_sources ${library}_$2_ssse3 "$BASE_DIR/libvpx_srcs.gni"
+ write_gni sse4_1_sources ${library}_$2_sse4_1 "$BASE_DIR/libvpx_srcs.gni"
+ write_gni avx_sources ${library}_$2_avx "$BASE_DIR/libvpx_srcs.gni"
+ write_gni avx2_sources ${library}_$2_avx2 "$BASE_DIR/libvpx_srcs.gni"
+ else
+ local c_sources=$(echo "$source_list" | egrep "^${library}.+.(c|h)$")
+ local assembly_sources=$(echo -e "$source_list\n$intrinsic_list" | \
+ egrep "^${library}.+.asm$")
+ local neon_sources=$(echo "$intrinsic_list" | egrep "^${library}.+_neon\.c$")
+ write_gni c_sources ${library}_$2 "$BASE_DIR/libvpx_srcs.gni"
+ write_gni assembly_sources ${library}_$2_assembly "$BASE_DIR/libvpx_srcs.gni"
+ if [ 0 -ne ${#neon_sources} ]; then
+ write_gni neon_sources ${library}_$2_neon "$BASE_DIR/libvpx_srcs.gni"
+ fi
fi
- fi
+ done
}
# Clean files from previous make.
« BUILD.gn ('K') | « BUILD.gn ('k') | libvpx_srcs.gni » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698