[FFmpeg-devel] [PATCH] configure: Avoid use of nonstandard features of sed

Mark Thompson sw at jkqxz.net
Fri Nov 23 00:47:43 EET 2018


Standard sed does not support EREs.
---
The Darwin version script part was only tested by running it on the version scripts and looking at the output, not actually building on that platform - it would be helpful if someone could check that it actually works.

 configure | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/configure b/configure
index b4f944cfb0..370c6e9993 100755
--- a/configure
+++ b/configure
@@ -3723,8 +3723,7 @@ find_things_extern(){
 
 find_filters_extern(){
     file=$source_path/$1
-    #sed -n "s/^extern AVFilter ff_\([avfsinkrc]\{2,5\}\)_\(\w\+\);/\2_filter/p" $file
-    sed -E -n "s/^extern AVFilter ff_([avfsinkrc]{2,5})_([a-zA-Z0-9_]+);/\2_filter/p" $file
+    sed -n 's/^extern AVFilter ff_[avfsinkrc]\{2,5\}_\([[:alnum:]_]\{1,\}\);/\1_filter/p' $file
 }
 
 FILTER_LIST=$(find_filters_extern libavfilter/allfilters.c)
@@ -5190,7 +5189,7 @@ case $target_os in
             is_in -isysroot $ld $LDFLAGS          || check_ldflags  -isysroot $sysroot
         fi
         version_script='-exported_symbols_list'
-        VERSION_SCRIPT_POSTPROCESS_CMD='tr " " "\n" | sed -n /global:/,/local:/p | grep ";" | tr ";" "\n" | sed -E "s/(.+)/_\1/g" | sed -E "s/(.+[^*])$$$$/\1*/"'
+        VERSION_SCRIPT_POSTPROCESS_CMD='tr " " "\n" | sed -n /global:/,/local:/p | grep ";" | tr ";" "\n" | sed "s/\(.\{1,\}\)/_\1/g" | sed "s/\(.\{1,\}[^*]\)$$$$/\1*/"'
         ;;
     msys*)
         die "Native MSYS builds are discouraged, please use the MINGW environment."
-- 
2.19.1


More information about the ffmpeg-devel mailing list