[MPlayer-dev-eng] [PATCH] configure: deal with newer head's and tail's dislike of -1 (take 3)

Moritz Bunkus moritz at bunkus.org
Sat Nov 6 19:44:15 CET 2004


Hey,

after some constructive work with Reimer I have updated the patch. It
tests if 'tail -1' does work, and if it does, then it uses the -1 syntax
sending stderr to /dev/null.

Mosu

-- 
If Darl McBride was in charge, he'd probably make marriage
unconstitutional too, since clearly it de-emphasizes the commercial
nature of normal human interaction, and probably is a major impediment
to the commercial growth of prostitution. - Linus Torvalds
-------------- next part --------------
Index: configure
===================================================================
RCS file: /cvsroot/mplayer/main/configure,v
retrieving revision 1.934
diff -u -u -r1.934 configure
--- configure	5 Nov 2004 14:02:40 -0000	1.934
+++ configure	6 Nov 2004 18:43:21 -0000
@@ -539,14 +539,28 @@
   _ldd="otool -L"
 fi
 
+# Check how to call 'head' and 'tail'. Newer versions spit out warnings
+# if used as 'head -1' instead of 'head -n 1', but older versions don't
+# know about '-n'.
+if test "`(echo line1 ; echo line2) | head -1 2>/dev/null`" = "line1" ; then
+  _head() { head -$1 2>/dev/null ; }
+else
+  _head() { head -n $1 2>/dev/null ; }
+fi
+if test "`(echo line1 ; echo line2) | tail -1 2>/dev/null`" = "line2" ; then
+  _tail() { tail -$1 2>/dev/null ; }
+else
+  _tail() { tail -n $1 2>/dev/null ; }
+fi
+
 # Checking CC version...
 if test "$_skip_cc_check" != yes ; then
  # Intel C++ Compilers (no autoselect, use CC=/some/binary ./configure)
  if test "`basename $_cc`" = "icc" || test "`basename $_cc`" = "ecc"; then
   echocheck "$_cc version"
   cc_vendor=intel
-  cc_name=`( $_cc -V ) 2>&1 | head -n 1 | cut -d ',' -f 1`
-  cc_version=`( $_cc -V ) 2>&1 | head -n 1 | cut -d ',' -f 2 | cut -d ' ' -f 3`
+  cc_name=`( $_cc -V ) 2>&1 | _head 1 | cut -d ',' -f 1`
+  cc_version=`( $_cc -V ) 2>&1 | _head 1 | cut -d ',' -f 2 | cut -d ' ' -f 3`
   _cc_major=`echo $cc_version | cut -d '.' -f 1`
   _cc_minor=`echo $cc_version | cut -d '.' -f 2`
   # TODO verify older icc/ecc compatibility
@@ -569,7 +583,7 @@
  for _cc in "$_cc" gcc gcc-3.4 gcc-3.3 gcc-3.2 gcc-3.1 gcc3 gcc-3.0 cc ; do
   echocheck "$_cc version"
   cc_vendor=gnu
-  cc_name=`( $_cc -v ) 2>&1 | tail -n 1 | cut -d ' ' -f 1`
+  cc_name=`( $_cc -v ) 2>&1 | _tail 1 | cut -d ' ' -f 1`
   cc_version=`( $_cc -dumpversion ) 2>&1`
   if test "$?" -gt 0; then
     cc_version="not found"
@@ -684,9 +698,9 @@
 
 x86_exts_check()
 {
-  pparam=`$_cpuinfo | grep 'features' | cut -d ':' -f 2 | head -n 1`
+  pparam=`$_cpuinfo | grep 'features' | cut -d ':' -f 2 | _head 1`
   if test -z "$pparam" ; then
-    pparam=`$_cpuinfo | grep 'flags' | cut -d ':' -f 2 | head -n 1`
+    pparam=`$_cpuinfo | grep 'flags' | cut -d ':' -f 2 | _head 1`
   fi
 
   _mmx=no
@@ -715,11 +729,11 @@
   _def_arch="#define ARCH_X86 1"
   _target_arch="TARGET_ARCH_X86 = yes"
 
-  pname=`$_cpuinfo | grep 'model name' | cut -d ':' -f 2 | head -n 1`
-  pvendor=`$_cpuinfo | grep 'vendor_id' | cut -d ':' -f 2  | cut -d ' ' -f 2 | head -n 1`
-  pfamily=`$_cpuinfo | grep 'cpu family' | cut -d ':' -f 2 | cut -d ' ' -f 2 | head -n 1`
-  pmodel=`$_cpuinfo | grep -v 'model name' | grep 'model' | cut -d ':' -f 2 | cut -d ' ' -f 2 | head -n 1`
-  pstepping=`$_cpuinfo | grep 'stepping' | cut -d ':' -f 2 | cut -d ' ' -f 2 | head -n 1`
+  pname=`$_cpuinfo | grep 'model name' | cut -d ':' -f 2 | _head 1`
+  pvendor=`$_cpuinfo | grep 'vendor_id' | cut -d ':' -f 2  | cut -d ' ' -f 2 | _head 1`
+  pfamily=`$_cpuinfo | grep 'cpu family' | cut -d ':' -f 2 | cut -d ' ' -f 2 | _head 1`
+  pmodel=`$_cpuinfo | grep -v 'model name' | grep 'model' | cut -d ':' -f 2 | cut -d ' ' -f 2 | _head 1`
+  pstepping=`$_cpuinfo | grep 'stepping' | cut -d ':' -f 2 | cut -d ' ' -f 2 | _head 1`
 
   x86_exts_check
 
@@ -980,7 +994,7 @@
 
     echocheck "CPU type"
     if linux && test -n "$_cpuinfo"; then
-	proc=`$_cpuinfo | grep 'cpu' | cut -d ':' -f 2 | cut -d ',' -f 1 | cut -b 2- | head -n 1`
+	proc=`$_cpuinfo | grep 'cpu' | cut -d ':' -f 2 | cut -d ',' -f 1 | cut -b 2- | _head 1`
 	if test -n "`$_cpuinfo | grep altivec`"; then
 	    _altivec=yes
 	fi


More information about the MPlayer-dev-eng mailing list