On 2007-03-31 15:02, Yar Tikhiy <[EMAIL PROTECTED]> wrote:
>On Fri, Mar 30, 2007 at 09:21:33PM +0400, Yar Tikhiy wrote:
>[...]
>> If we've started to delete the pattern space, we should print the
>> text in place of it because `c' is for `change'.  BSD and GNU seds
>> have this bug, but Solaris sed doesn't have it.
>[...]
>
> By the way, I found myself w/o a Solaris account, but I was able
> to build Solaris sed in FreeBSD quickly from the OpenSolaris sources.
> All it took was downloading the following files:
>
> http://cvs.opensolaris.org/source/raw/onnv/onnv-gate/usr/src/ucbcmd/sed/sed.h
> http://cvs.opensolaris.org/source/raw/onnv/onnv-gate/usr/src/ucbcmd/sed/sed0.c
> http://cvs.opensolaris.org/source/raw/onnv/onnv-gate/usr/src/ucbcmd/sed/sed1.c
> http://cvs.opensolaris.org/source/raw/onnv/onnv-gate/usr/src/ucbhead/regexp.h
>
> and issuing this command:
>
>       cc -I. -o sed sed*.c
>
> Voila!  (Their regexp.h offers definitions of its functions, not
> just their prototypes, which made my task very easy.)
>
> Perhaps other basic tools from Solaris could be built in this way
> for the purpose of testing, too, in case one needs them but has no
> Solaris account at hand.

Nice.  With very minor modifications, it may be possible to build more
of the OpenSolaris tools on FreeBSD.  For instance, the only change I
had to make to build the Solaris version of cat(1) on FreeBSD was:

%%%
--- cat.c.orig  Sat Mar 31 20:03:26 2007
+++ cat.c       Sat Mar 31 20:02:07 2007
@@ -43,7 +43,9 @@
 #include       <unistd.h>
 #include       <sys/mman.h>

+#ifdef __FreeBSD_version
 #include       <widec.h>
+#endif
 #include       <wctype.h>
 #include       <limits.h>
 #include       <libintl.h>
%%%

The Solaris version of cat(1) calls textdomain() and gettext()
explicitly, so I also had to use libintl.so from the Ports to compile it
successfully:

    $ cc -I/usr/local/include cat.c -L/usr/local/lib -lintl

But it does work, AFAICT.  I haven't tried localized message support
yet, but this will take a bit more effort :-)

_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to