Re: [PATCH/RFC] SunOS grep does not understand -C<n>

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Junio C Hamano wrote:
> I noticed that the first "grep -C1" test in t7002 does not pass on my 
> SunOS-5.11-i86pc, and that is not because our way to spawn external
> grep is broken, but because the native grep does not understand -C<n>.
> 
> Is it just me and my installation (i.e. I might have failed to install
> saner grep from the distribution that everybody uses), or everybody on
> SunOS is using this option himself because our Makefile doesn't do that
> automatically for them?

Hmm.  I have _not_ been setting NO_EXTERNAL_GREP and the tests have _not_
been failing.

The system grep does not seem to have the -C option:

   # /usr/xpg4/bin/grep -C1 include ws.c
   /usr/xpg4/bin/grep: illegal option -- C
   Usage:  grep [-E|-F] [-c|-l|-q] [-bhinsvwx] [file ...]
   grep [-E|-F] [-c|-l|-q] [-bhinsvwx] -e pattern... [-f pattern_file]...[file...]
   grep [-E|-F] [-c|-l|-q] [-bhinsvwx] [-e pattern]... -f pattern_file [file...]

but git grep -C1 works fine

   # git grep -C1 include ws.c
   ws.c-
   ws.c:#include "cache.h"
   ws.c:#include "attr.h"
   ws.c-

I have been compiling with the SUNWspro compiler suite though, and I see these
statements in builtin-grep.c:

   #ifndef NO_EXTERNAL_GREP
   #ifdef __unix__
   #define NO_EXTERNAL_GREP 0
   #else
   #define NO_EXTERNAL_GREP 1
   #endif
   #endif

So possibly, the SUNWspro compiler does not set the __unix__ macro.  A quick
compile of a test program confirms it.

   #include <stdio.h>

   int main (int argc, char* argv[])
   {
   #ifdef __unix__
   	puts("__unix__ is set");
   #else
   	puts("__unix__ is not set");
   #endif
   	return 0;
   }

   # /opt/SUNWspro/bin/cc -o test.out test.c
   ./test.out
   __unix__ is not set

   # gcc -o test.out test.c
   __unix__ is set

So, I have been getting NO_EXTERNAL_GREP all along without knowing it.

-brandon
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]