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

Moritz Bunkus moritz at bunkus.org
Fri Nov 5 23:38:32 CET 2004


Hey,

another attempt. Newer versions of head and tail don't like the '-1'
syntax while older versions don't know the '-n' parameter. With this
patch configure checks if head and tail can use '-1' without outputting
a warning and defines their own functions _head and _tail accordingly.

I can only test with heads and tails that DO support '-1' without
warnings, so someone else should test this with ones that issue
warnings.

/me dons his fireproof underwear and awaits the flames :)

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.932
diff -u -r1.932 configure
--- configure	3 Nov 2004 02:47:05 -0000	1.932
+++ configure	5 Nov 2004 22:34:41 -0000
@@ -538,14 +538,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 x"`echo '' | head -1 2>&1`" != x ; then
+  _head() { head -$1 ; }
+else
+  _head() { head -n $1 ; }
+fi
+if test x"`echo '' | tail -1 2>&1`" != x ; then
+  _tail() { tail -$1 ; }
+else
+  _tail() { tail -n $1 ; }
+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 -1 | cut -d ',' -f 1`
-  cc_version=`( $_cc -V ) 2>&1 | head -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
@@ -568,7 +582,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 -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"
@@ -683,9 +697,9 @@
 
 x86_exts_check()
 {
-  pparam=`$_cpuinfo | grep 'features' | cut -d ':' -f 2 | head -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 -1`
+    pparam=`$_cpuinfo | grep 'flags' | cut -d ':' -f 2 | _head 1`
   fi
 
   _mmx=no
@@ -714,11 +728,11 @@
   _def_arch="#define ARCH_X86 1"
   _target_arch="TARGET_ARCH_X86 = yes"
 
-  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`
+  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
 
@@ -979,7 +993,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 -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