mirror of
https://github.com/9fans/plan9port.git
synced 2025-01-12 11:10:07 +00:00
Build Unix-friendly versions directly from library.
This commit is contained in:
parent
63dd44c8ca
commit
aa73861453
34 changed files with 966 additions and 0 deletions
7
unix/Makefile
Normal file
7
unix/Makefile
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
all:
|
||||||
|
for i in libutf libfmt libbio libregexp mk
|
||||||
|
do
|
||||||
|
(cd $i; make)
|
||||||
|
done
|
||||||
|
ls -l mk/mk
|
||||||
|
|
40
unix/NOTICE.bio
Normal file
40
unix/NOTICE.bio
Normal file
|
@ -0,0 +1,40 @@
|
||||||
|
This copyright NOTICE applies to all files in this directory and
|
||||||
|
subdirectories, unless another copyright notice appears in a given
|
||||||
|
file or subdirectory. If you take code from this software to use in
|
||||||
|
other programs, you must somehow include with it an appropriate
|
||||||
|
copyright notice that includes the copyright notice and the other
|
||||||
|
notices above.
|
||||||
|
|
||||||
|
This Computer Program is subject to Copyright owned by one or more Authors:
|
||||||
|
|
||||||
|
Copyright © 1994-1999 Lucent Technologies Inc. All rights reserved.
|
||||||
|
Revisions Copyright © 2000-2003 Vita Nuova Holdings Limited (www.vitanuova.com). All rights reserved.
|
||||||
|
|
||||||
|
Under a licence agreement with Lucent Technologies Inc. effective 1st March 2000,
|
||||||
|
Vita Nuova Holdings Limited has the right to determine (within a specified scope)
|
||||||
|
the form and content of sublicences for this software.
|
||||||
|
|
||||||
|
Free-for-all Licence
|
||||||
|
|
||||||
|
The associated software is hereby made available to Recipients with a
|
||||||
|
royalty-free licence for its use, reproduction, transfer
|
||||||
|
to other parties and amendment for any purpose not excluding
|
||||||
|
product development provided that any such use et cetera
|
||||||
|
shall be deemed to be acceptance of the following conditions:
|
||||||
|
|
||||||
|
(1) Its Recipients shall ensure that this Notice
|
||||||
|
and all other copyright notices are reproduced
|
||||||
|
upon any copies or amended versions of it;
|
||||||
|
|
||||||
|
(2) Any amended version of it shall be clearly marked to
|
||||||
|
show both the nature of and the organisation responsible
|
||||||
|
for the relevant amendment or amendments;
|
||||||
|
|
||||||
|
(3) Its agreed onward transfer from a Recipient to another
|
||||||
|
party shall be deemed to be that party's acceptance of
|
||||||
|
these conditions;
|
||||||
|
|
||||||
|
(4) the Authors give no warranty or assurance as to its
|
||||||
|
quality or suitability for any purpose and the Authors accept
|
||||||
|
no liability whatsoever in relation to any use to which
|
||||||
|
it may be put.
|
19
unix/NOTICE.fmt
Normal file
19
unix/NOTICE.fmt
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
/*
|
||||||
|
* The authors of this software are Rob Pike and Ken Thompson.
|
||||||
|
* Copyright (c) 2002 by Lucent Technologies.
|
||||||
|
* Permission to use, copy, modify, and distribute this software for any
|
||||||
|
* purpose without fee is hereby granted, provided that this entire notice
|
||||||
|
* is included in all copies of any software which is or includes a copy
|
||||||
|
* or modification of this software and in all copies of the supporting
|
||||||
|
* documentation for such software.
|
||||||
|
* THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED
|
||||||
|
* WARRANTY. IN PARTICULAR, NEITHER THE AUTHORS NOR LUCENT TECHNOLOGIES MAKE ANY
|
||||||
|
* REPRESENTATION OR WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY
|
||||||
|
* OF THIS SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
This is a Unix port of the Plan 9 formatted I/O package.
|
||||||
|
|
||||||
|
Please send comments about the packaging
|
||||||
|
to Russ Cox <rsc@swtch.com>.
|
||||||
|
|
40
unix/NOTICE.mk
Normal file
40
unix/NOTICE.mk
Normal file
|
@ -0,0 +1,40 @@
|
||||||
|
This copyright NOTICE applies to all files in this directory and
|
||||||
|
subdirectories, unless another copyright notice appears in a given
|
||||||
|
file or subdirectory. If you take code from this software to use in
|
||||||
|
other programs, you must somehow include with it an appropriate
|
||||||
|
copyright notice that includes the copyright notice and the other
|
||||||
|
notices above.
|
||||||
|
|
||||||
|
This Computer Program is subject to Copyright owned by one or more Authors:
|
||||||
|
|
||||||
|
Copyright © 1994-1999 Lucent Technologies Inc. All rights reserved.
|
||||||
|
Revisions Copyright © 2000-2003 Vita Nuova Holdings Limited (www.vitanuova.com). All rights reserved.
|
||||||
|
|
||||||
|
Under a licence agreement with Lucent Technologies Inc. effective 1st March 2000,
|
||||||
|
Vita Nuova Holdings Limited has the right to determine (within a specified scope)
|
||||||
|
the form and content of sublicences for this software.
|
||||||
|
|
||||||
|
Free-for-all Licence
|
||||||
|
|
||||||
|
The associated software is hereby made available to Recipients with a
|
||||||
|
royalty-free licence for its use, reproduction, transfer
|
||||||
|
to other parties and amendment for any purpose not excluding
|
||||||
|
product development provided that any such use et cetera
|
||||||
|
shall be deemed to be acceptance of the following conditions:
|
||||||
|
|
||||||
|
(1) Its Recipients shall ensure that this Notice
|
||||||
|
and all other copyright notices are reproduced
|
||||||
|
upon any copies or amended versions of it;
|
||||||
|
|
||||||
|
(2) Any amended version of it shall be clearly marked to
|
||||||
|
show both the nature of and the organisation responsible
|
||||||
|
for the relevant amendment or amendments;
|
||||||
|
|
||||||
|
(3) Its agreed onward transfer from a Recipient to another
|
||||||
|
party shall be deemed to be that party's acceptance of
|
||||||
|
these conditions;
|
||||||
|
|
||||||
|
(4) the Authors give no warranty or assurance as to its
|
||||||
|
quality or suitability for any purpose and the Authors accept
|
||||||
|
no liability whatsoever in relation to any use to which
|
||||||
|
it may be put.
|
19
unix/NOTICE.regexp
Normal file
19
unix/NOTICE.regexp
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
/*
|
||||||
|
* The authors of this software is Rob Pike.
|
||||||
|
* Copyright (c) 2002 by Lucent Technologies.
|
||||||
|
* Permission to use, copy, modify, and distribute this software for any
|
||||||
|
* purpose without fee is hereby granted, provided that this entire notice
|
||||||
|
* is included in all copies of any software which is or includes a copy
|
||||||
|
* or modification of this software and in all copies of the supporting
|
||||||
|
* documentation for such software.
|
||||||
|
* THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED
|
||||||
|
* WARRANTY. IN PARTICULAR, NEITHER THE AUTHORS NOR LUCENT TECHNOLOGIES MAKE ANY
|
||||||
|
* REPRESENTATION OR WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY
|
||||||
|
* OF THIS SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
This is a Unix port of the Plan 9 regular expression library.
|
||||||
|
|
||||||
|
Please send comments about the packaging
|
||||||
|
to Russ Cox <rsc@swtch.com>.
|
||||||
|
|
19
unix/NOTICE.utf
Normal file
19
unix/NOTICE.utf
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
/*
|
||||||
|
* The authors of this software are Rob Pike and Ken Thompson.
|
||||||
|
* Copyright (c) 2002 by Lucent Technologies.
|
||||||
|
* Permission to use, copy, modify, and distribute this software for any
|
||||||
|
* purpose without fee is hereby granted, provided that this entire notice
|
||||||
|
* is included in all copies of any software which is or includes a copy
|
||||||
|
* or modification of this software and in all copies of the supporting
|
||||||
|
* documentation for such software.
|
||||||
|
* THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED
|
||||||
|
* WARRANTY. IN PARTICULAR, NEITHER THE AUTHORS NOR LUCENT TECHNOLOGIES MAKE ANY
|
||||||
|
* REPRESENTATION OR WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY
|
||||||
|
* OF THIS SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
This is a Unix port of the Plan 9 formatted I/O package.
|
||||||
|
|
||||||
|
Please send comments about the packaging
|
||||||
|
to Russ Cox <rsc@swtch.com>.
|
||||||
|
|
2
unix/README
Normal file
2
unix/README
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
This software was packaged for Unix by Russ Cox.
|
||||||
|
Please send comments to rsc@swtch.com.
|
106
unix/fmt.h
Normal file
106
unix/fmt.h
Normal file
|
@ -0,0 +1,106 @@
|
||||||
|
|
||||||
|
/*
|
||||||
|
* The authors of this software are Rob Pike and Ken Thompson.
|
||||||
|
* Copyright (c) 2002 by Lucent Technologies.
|
||||||
|
* Permission to use, copy, modify, and distribute this software for any
|
||||||
|
* purpose without fee is hereby granted, provided that this entire notice
|
||||||
|
* is included in all copies of any software which is or includes a copy
|
||||||
|
* or modification of this software and in all copies of the supporting
|
||||||
|
* documentation for such software.
|
||||||
|
* THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED
|
||||||
|
* WARRANTY. IN PARTICULAR, NEITHER THE AUTHORS NOR LUCENT TECHNOLOGIES MAKE ANY
|
||||||
|
* REPRESENTATION OR WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY
|
||||||
|
* OF THIS SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _FMTH_
|
||||||
|
#define _FMTH_ 1
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include <stdarg.h>
|
||||||
|
|
||||||
|
#ifndef _UTFH_
|
||||||
|
#include <utf.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
typedef struct Fmt Fmt;
|
||||||
|
struct Fmt{
|
||||||
|
unsigned char runes; /* output buffer is runes or chars? */
|
||||||
|
void *start; /* of buffer */
|
||||||
|
void *to; /* current place in the buffer */
|
||||||
|
void *stop; /* end of the buffer; overwritten if flush fails */
|
||||||
|
int (*flush)(Fmt *); /* called when to == stop */
|
||||||
|
void *farg; /* to make flush a closure */
|
||||||
|
int nfmt; /* num chars formatted so far */
|
||||||
|
va_list args; /* args passed to dofmt */
|
||||||
|
int r; /* % format Rune */
|
||||||
|
int width;
|
||||||
|
int prec;
|
||||||
|
unsigned long flags;
|
||||||
|
};
|
||||||
|
|
||||||
|
enum{
|
||||||
|
FmtWidth = 1,
|
||||||
|
FmtLeft = FmtWidth << 1,
|
||||||
|
FmtPrec = FmtLeft << 1,
|
||||||
|
FmtSharp = FmtPrec << 1,
|
||||||
|
FmtSpace = FmtSharp << 1,
|
||||||
|
FmtSign = FmtSpace << 1,
|
||||||
|
FmtZero = FmtSign << 1,
|
||||||
|
FmtUnsigned = FmtZero << 1,
|
||||||
|
FmtShort = FmtUnsigned << 1,
|
||||||
|
FmtLong = FmtShort << 1,
|
||||||
|
FmtVLong = FmtLong << 1,
|
||||||
|
FmtComma = FmtVLong << 1,
|
||||||
|
FmtByte = FmtComma << 1,
|
||||||
|
FmtLDouble = FmtByte << 1,
|
||||||
|
|
||||||
|
FmtFlag = FmtLDouble << 1
|
||||||
|
};
|
||||||
|
|
||||||
|
extern int print(char*, ...);
|
||||||
|
extern char* seprint(char*, char*, char*, ...);
|
||||||
|
extern char* vseprint(char*, char*, char*, va_list);
|
||||||
|
extern int snprint(char*, int, char*, ...);
|
||||||
|
extern int vsnprint(char*, int, char*, va_list);
|
||||||
|
extern char* smprint(char*, ...);
|
||||||
|
extern char* vsmprint(char*, va_list);
|
||||||
|
extern int sprint(char*, char*, ...);
|
||||||
|
extern int fprint(int, char*, ...);
|
||||||
|
extern int vfprint(int, char*, va_list);
|
||||||
|
|
||||||
|
extern int runesprint(Rune*, char*, ...);
|
||||||
|
extern int runesnprint(Rune*, int, char*, ...);
|
||||||
|
extern int runevsnprint(Rune*, int, char*, va_list);
|
||||||
|
extern Rune* runeseprint(Rune*, Rune*, char*, ...);
|
||||||
|
extern Rune* runevseprint(Rune*, Rune*, char*, va_list);
|
||||||
|
extern Rune* runesmprint(char*, ...);
|
||||||
|
extern Rune* runevsmprint(char*, va_list);
|
||||||
|
|
||||||
|
extern int fmtfdinit(Fmt*, int, char*, int);
|
||||||
|
extern int fmtfdflush(Fmt*);
|
||||||
|
extern int fmtstrinit(Fmt*);
|
||||||
|
extern char* fmtstrflush(Fmt*);
|
||||||
|
extern int runefmtstrinit(Fmt*);
|
||||||
|
|
||||||
|
extern int quotestrfmt(Fmt *f);
|
||||||
|
extern void quotefmtinstall(void);
|
||||||
|
extern int (*fmtdoquote)(int);
|
||||||
|
|
||||||
|
|
||||||
|
extern int fmtinstall(int, int (*)(Fmt*));
|
||||||
|
extern int dofmt(Fmt*, char*);
|
||||||
|
extern int fmtprint(Fmt*, char*, ...);
|
||||||
|
extern int fmtvprint(Fmt*, char*, va_list);
|
||||||
|
extern int fmtrune(Fmt*, int);
|
||||||
|
extern int fmtstrcpy(Fmt*, char*);
|
||||||
|
|
||||||
|
extern double fmtstrtod(const char *, char **);
|
||||||
|
extern double fmtcharstod(int(*)(void*), void*);
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
#endif
|
6
unix/make/Make.Darwin-PowerMacintosh
Normal file
6
unix/make/Make.Darwin-PowerMacintosh
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
CC=gcc
|
||||||
|
CFLAGS+=-Wall -Wno-missing-braces -Wno-parentheses -Wno-switch -O2 -g -c -I. -I${PREFIX}/include
|
||||||
|
O=o
|
||||||
|
AR=ar
|
||||||
|
ARFLAGS=rvc
|
||||||
|
NAN=nan64.$O
|
7
unix/make/Make.FreeBSD-386
Normal file
7
unix/make/Make.FreeBSD-386
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
CC=gcc
|
||||||
|
CFLAGS+=-Wall -Wno-missing-braces -Wno-parentheses -Wno-switch -O2 -g -c -I. -I$(PREFIX)/include
|
||||||
|
O=o
|
||||||
|
AR=ar
|
||||||
|
ARFLAGS=rvc
|
||||||
|
NAN=nan64.$O # default, can be overriden by Make.$(SYSNAME)
|
||||||
|
NAN=nan64.$O
|
6
unix/make/Make.HP-UX-9000
Normal file
6
unix/make/Make.HP-UX-9000
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
CC=cc
|
||||||
|
CFLAGS=-O -c -Ae -I.
|
||||||
|
O=o
|
||||||
|
AR=ar
|
||||||
|
ARFLAGS=rvc
|
||||||
|
NAN=nan64.$O
|
7
unix/make/Make.Linux-386
Normal file
7
unix/make/Make.Linux-386
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
CC=gcc
|
||||||
|
CFLAGS+=-Wall -Wno-missing-braces -Wno-parentheses -Wno-switch -O2 -g -c -I.
|
||||||
|
O=o
|
||||||
|
AR=ar
|
||||||
|
ARFLAGS=rvc
|
||||||
|
NAN=nan64.$O # default, can be overriden by Make.$(SYSNAME)
|
||||||
|
NAN=nan64.$O
|
7
unix/make/Make.NetBSD-386
Normal file
7
unix/make/Make.NetBSD-386
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
CC=gcc
|
||||||
|
CFLAGS+=-Wall -Wno-missing-braces -Wno-parentheses -Wno-switch -O2 -g -c -I. -I$(PREFIX)/include
|
||||||
|
O=o
|
||||||
|
AR=ar
|
||||||
|
ARFLAGS=rvc
|
||||||
|
NAN=nan64.$O # default, can be overriden by Make.$(SYSNAME)
|
||||||
|
NAN=nan64.$O
|
6
unix/make/Make.OSF1-alpha
Normal file
6
unix/make/Make.OSF1-alpha
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
CC=cc
|
||||||
|
CFLAGS+=-g -c -I.
|
||||||
|
O=o
|
||||||
|
AR=ar
|
||||||
|
ARFLAGS=rvc
|
||||||
|
NAN=nan64.$O
|
2
unix/make/Make.SunOS-sun4u
Normal file
2
unix/make/Make.SunOS-sun4u
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
include Make.SunOS-sun4u-$(CC)
|
||||||
|
NAN=nan64.$O
|
6
unix/make/Make.SunOS-sun4u-cc
Normal file
6
unix/make/Make.SunOS-sun4u-cc
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
CC=cc
|
||||||
|
CFLAGS+=-g -c -I. -O
|
||||||
|
O=o
|
||||||
|
AR=ar
|
||||||
|
ARFLAGS=rvc
|
||||||
|
NAN=nan64.$O
|
6
unix/make/Make.SunOS-sun4u-gcc
Normal file
6
unix/make/Make.SunOS-sun4u-gcc
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
CC=gcc
|
||||||
|
CFLAGS+=-Wall -Wno-missing-braces -Wno-parentheses -Wno-switch -O2 -g -c
|
||||||
|
O=o
|
||||||
|
AR=ar
|
||||||
|
ARFLAGS=rvc
|
||||||
|
NAN=nan64.$O
|
47
unix/make/Makefile.BOT
Normal file
47
unix/make/Makefile.BOT
Normal file
|
@ -0,0 +1,47 @@
|
||||||
|
.c.$O:
|
||||||
|
$(CC) $(CFLAGS) -I../libutf -I../libfmt -I../libbio -I../libregexp -I$(PREFIX)/include $*.c
|
||||||
|
|
||||||
|
%.$O: %.c
|
||||||
|
$(CC) $(CFLAGS) -I../libutf -I../libfmt -I../libbio -I../libregexp -I$(PREFIX)/include $*.c
|
||||||
|
|
||||||
|
|
||||||
|
$(OFILES): $(HFILES)
|
||||||
|
|
||||||
|
tgz:
|
||||||
|
rm -rf $(NAME)-$(VERSION)
|
||||||
|
mkdir $(NAME)-$(VERSION)
|
||||||
|
cp Makefile Make.* README LICENSE NOTICE *.[ch137] rpm.spec bundle.ports $(TGZFILES) $(NAME)-$(VERSION)
|
||||||
|
tar cf - $(NAME)-$(VERSION) | gzip >$(NAME)-$(VERSION).tgz
|
||||||
|
rm -rf $(NAME)-$(VERSION)
|
||||||
|
|
||||||
|
clean:
|
||||||
|
rm -f $(OFILES) $(LIB)
|
||||||
|
|
||||||
|
nuke:
|
||||||
|
rm -f $(OFILES) *.tgz *.rpm $(NUKEFILES)
|
||||||
|
|
||||||
|
rpm:
|
||||||
|
make tgz
|
||||||
|
cp $(NAME)-$(VERSION).tgz /usr/src/RPM/SOURCES
|
||||||
|
rpm -ba rpm.spec
|
||||||
|
cp /usr/src/RPM/SRPMS/$(NAME)-$(VERSION)-1.src.rpm .
|
||||||
|
cp /usr/src/RPM/RPMS/i586/$(NAME)-$(VERSION)-1.i586.rpm .
|
||||||
|
scp *.rpm rsc@amsterdam.lcs.mit.edu:public_html/software
|
||||||
|
|
||||||
|
PORTDIR=/usr/ports/$(PORTPLACE)
|
||||||
|
|
||||||
|
ports:
|
||||||
|
make tgz
|
||||||
|
rm -rf $(PORTDIR)
|
||||||
|
mkdir $(PORTDIR)
|
||||||
|
cp $(NAME)-$(VERSION).tgz /usr/ports/distfiles
|
||||||
|
cat bundle.ports | (cd $(PORTDIR) && awk '$$1=="---" && $$3=="---" { ofile=$$2; next} {if(ofile) print >ofile}')
|
||||||
|
(cd $(PORTDIR); make makesum)
|
||||||
|
(cd $(PORTDIR); make)
|
||||||
|
(cd $(PORTDIR); /usr/local/bin/portlint)
|
||||||
|
rm -rf $(PORTDIR)/work
|
||||||
|
shar `find $(PORTDIR)` > ports.shar
|
||||||
|
(cd $(PORTDIR); tar cf - *) | gzip >$(NAME)-$(VERSION)-ports.tgz
|
||||||
|
scp *.tgz rsc@amsterdam.lcs.mit.edu:public_html/software
|
||||||
|
|
||||||
|
.phony: all clean nuke install tgz rpm ports
|
5
unix/make/Makefile.CMD
Normal file
5
unix/make/Makefile.CMD
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
|
||||||
|
$(TARG): $(OFILES)
|
||||||
|
$(CC) -o $(TARG) $(OFILES) -L$(PREFIX)/lib -L../libutf -L../libfmt -L../libbio -L../libregexp -lregexp9 -lbio -lfmt -lutf
|
||||||
|
|
||||||
|
|
4
unix/make/Makefile.LIB
Normal file
4
unix/make/Makefile.LIB
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
$(LIB): $(OFILES)
|
||||||
|
$(AR) $(ARFLAGS) $(LIB) $(OFILES)
|
||||||
|
|
||||||
|
NUKEFILES+=$(LIB)
|
41
unix/make/Makefile.MID
Normal file
41
unix/make/Makefile.MID
Normal file
|
@ -0,0 +1,41 @@
|
||||||
|
LIB=libutf.a
|
||||||
|
VERSION=2.0
|
||||||
|
PORTPLACE=devel/libutf
|
||||||
|
NAME=libutf
|
||||||
|
|
||||||
|
OFILES=\
|
||||||
|
rune.$O\
|
||||||
|
runestrcat.$O\
|
||||||
|
runestrchr.$O\
|
||||||
|
runestrcmp.$O\
|
||||||
|
runestrcpy.$O\
|
||||||
|
runestrdup.$O\
|
||||||
|
runestrlen.$O\
|
||||||
|
runestrecpy.$O\
|
||||||
|
runestrncat.$O\
|
||||||
|
runestrncmp.$O\
|
||||||
|
runestrncpy.$O\
|
||||||
|
runestrrchr.$O\
|
||||||
|
runestrstr.$O\
|
||||||
|
runetype.$O\
|
||||||
|
utfecpy.$O\
|
||||||
|
utflen.$O\
|
||||||
|
utfnlen.$O\
|
||||||
|
utfrrune.$O\
|
||||||
|
utfrune.$O\
|
||||||
|
utfutf.$O\
|
||||||
|
|
||||||
|
HFILES=\
|
||||||
|
utf.h\
|
||||||
|
|
||||||
|
all: $(LIB)
|
||||||
|
|
||||||
|
install: $(LIB)
|
||||||
|
test -d $(PREFIX)/man/man3 || mkdir $(PREFIX)/man/man3
|
||||||
|
install -c -m 0644 isalpharune.3 $(PREFIX)/man/man3/isalpharune.3
|
||||||
|
install -c -m 0644 utf.7 $(PREFIX)/man/man7/utf.7
|
||||||
|
install -c -m 0644 rune.3 $(PREFIX)/man/man3/rune.3
|
||||||
|
install -c -m 0644 runestrcat.3 $(PREFIX)/man/man3/runestrcat.3
|
||||||
|
install -c -m 0644 utf.h $(PREFIX)/include/utf.h
|
||||||
|
install -c -m 0644 $(LIB) $(PREFIX)/lib/$(LIB)
|
||||||
|
|
20
unix/make/Makefile.TOP
Normal file
20
unix/make/Makefile.TOP
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
|
||||||
|
# this works in gnu make
|
||||||
|
SYSNAME:=${shell uname}
|
||||||
|
OBJTYPE:=${shell uname -m | sed 's;i.86;386;; s;/.*;;; s; ;;g'}
|
||||||
|
|
||||||
|
# this works in bsd make
|
||||||
|
SYSNAME!=uname
|
||||||
|
OBJTYPE!=uname -m | sed 's;i.86;386;; s;/.*;;; s; ;;g'
|
||||||
|
|
||||||
|
# the gnu rules will mess up bsd but not vice versa,
|
||||||
|
# hence the gnu rules come first.
|
||||||
|
|
||||||
|
include Make.$(SYSNAME)-$(OBJTYPE)
|
||||||
|
|
||||||
|
PREFIX=/usr/local
|
||||||
|
|
||||||
|
NUKEFILES=
|
||||||
|
|
||||||
|
TGZFILES=
|
||||||
|
|
38
unix/make/Makefile.bio
Normal file
38
unix/make/Makefile.bio
Normal file
|
@ -0,0 +1,38 @@
|
||||||
|
LIB=libbio.a
|
||||||
|
VERSION=2.0
|
||||||
|
PORTPLACE=devel/libbio
|
||||||
|
NAME=libbio
|
||||||
|
|
||||||
|
OFILES=\
|
||||||
|
bbuffered.$O\
|
||||||
|
bfildes.$O\
|
||||||
|
bflush.$O\
|
||||||
|
bfmt.$O\
|
||||||
|
bgetc.$O\
|
||||||
|
bgetd.$O\
|
||||||
|
bgetrune.$O\
|
||||||
|
binit.$O\
|
||||||
|
boffset.$O\
|
||||||
|
bprint.$O\
|
||||||
|
bputc.$O\
|
||||||
|
bputrune.$O\
|
||||||
|
brdline.$O\
|
||||||
|
brdstr.$O\
|
||||||
|
bread.$O\
|
||||||
|
bseek.$O\
|
||||||
|
bwrite.$O\
|
||||||
|
|
||||||
|
HFILES=\
|
||||||
|
bio.h\
|
||||||
|
|
||||||
|
all: $(LIB)
|
||||||
|
|
||||||
|
install: $(LIB)
|
||||||
|
test -d $(PREFIX)/man/man3 || mkdir $(PREFIX)/man/man3
|
||||||
|
install -m 0644 bio.3 $(PREFIX)/man/man3/bio.3
|
||||||
|
install -m 0644 bio.h $(PREFIX)/include
|
||||||
|
install -m 0644 $(LIB) $(PREFIX)/lib/$(LIB)
|
||||||
|
|
||||||
|
bcat: bcat.$O $(LIB)
|
||||||
|
$(CC) -o bcat bcat.$O $(LIB) -L/usr/local/lib -lfmt -lutf
|
||||||
|
|
64
unix/make/Makefile.fmt
Normal file
64
unix/make/Makefile.fmt
Normal file
|
@ -0,0 +1,64 @@
|
||||||
|
LIB=libfmt.a
|
||||||
|
VERSION=2.0
|
||||||
|
PORTPLACE=devel/libfmt
|
||||||
|
NAME=libfmt
|
||||||
|
|
||||||
|
NUM=\
|
||||||
|
charstod.$O\
|
||||||
|
pow10.$O\
|
||||||
|
|
||||||
|
OFILES=\
|
||||||
|
dofmt.$O\
|
||||||
|
dorfmt.$O\
|
||||||
|
errfmt.$O\
|
||||||
|
fltfmt.$O\
|
||||||
|
fmt.$O\
|
||||||
|
fmtfd.$O\
|
||||||
|
fmtfdflush.$O\
|
||||||
|
fmtlock.$O\
|
||||||
|
fmtprint.$O\
|
||||||
|
fmtquote.$O\
|
||||||
|
fmtrune.$O\
|
||||||
|
fmtstr.$O\
|
||||||
|
fmtvprint.$O\
|
||||||
|
fprint.$O\
|
||||||
|
print.$O\
|
||||||
|
runefmtstr.$O\
|
||||||
|
runeseprint.$O\
|
||||||
|
runesmprint.$O\
|
||||||
|
runesnprint.$O\
|
||||||
|
runesprint.$O\
|
||||||
|
runevseprint.$O\
|
||||||
|
runevsmprint.$O\
|
||||||
|
runevsnprint.$O\
|
||||||
|
seprint.$O\
|
||||||
|
smprint.$O\
|
||||||
|
snprint.$O\
|
||||||
|
sprint.$O\
|
||||||
|
strtod.$O\
|
||||||
|
vfprint.$O\
|
||||||
|
vseprint.$O\
|
||||||
|
vsmprint.$O\
|
||||||
|
vsnprint.$O\
|
||||||
|
$(NUM)\
|
||||||
|
$(NAN)\
|
||||||
|
|
||||||
|
HFILES=\
|
||||||
|
fmtdef.h\
|
||||||
|
fmt.h\
|
||||||
|
|
||||||
|
all: $(LIB)
|
||||||
|
|
||||||
|
install: $(LIB)
|
||||||
|
test -d $(PREFIX)/man/man3 || mkdir $(PREFIX)/man/man3
|
||||||
|
install -m 0644 print.3 $(PREFIX)/man/man3/print.3
|
||||||
|
install -m 0644 fmtinstall.3 $(PREFIX)/man/man3/fmtinstall.3
|
||||||
|
install -m 0644 fmt.h $(PREFIX)/include/fmt.h
|
||||||
|
install -m 0644 $(LIB) $(PREFIX)/lib/$(LIB)
|
||||||
|
|
||||||
|
$(NAN).$O: nan.h
|
||||||
|
strtod.$O: nan.h
|
||||||
|
|
||||||
|
test: $(LIB) test.$O
|
||||||
|
$(CC) -o test test.$O $(LIB) -L$(PREFIX)/lib -lutf
|
||||||
|
|
45
unix/make/Makefile.mk
Normal file
45
unix/make/Makefile.mk
Normal file
|
@ -0,0 +1,45 @@
|
||||||
|
TARG=mk
|
||||||
|
VERSION=2.0
|
||||||
|
PORTPLACE=devel/mk
|
||||||
|
NAME=mk
|
||||||
|
|
||||||
|
OFILES=\
|
||||||
|
arc.$O\
|
||||||
|
archive.$O\
|
||||||
|
bufblock.$O\
|
||||||
|
env.$O\
|
||||||
|
file.$O\
|
||||||
|
graph.$O\
|
||||||
|
job.$O\
|
||||||
|
lex.$O\
|
||||||
|
main.$O\
|
||||||
|
match.$O\
|
||||||
|
mk.$O\
|
||||||
|
parse.$O\
|
||||||
|
recipe.$O\
|
||||||
|
rule.$O\
|
||||||
|
run.$O\
|
||||||
|
sh.$O\
|
||||||
|
shprint.$O\
|
||||||
|
symtab.$O\
|
||||||
|
var.$O\
|
||||||
|
varsub.$O\
|
||||||
|
word.$O\
|
||||||
|
unix.$O\
|
||||||
|
|
||||||
|
HFILES=\
|
||||||
|
mk.h\
|
||||||
|
fns.h\
|
||||||
|
|
||||||
|
all: $(TARG)
|
||||||
|
|
||||||
|
TGZFILES+=mk.pdf
|
||||||
|
|
||||||
|
install: $(LIB)
|
||||||
|
test -d $(PREFIX)/man/man1 || mkdir $(PREFIX)/man/man1
|
||||||
|
test -d $(PREFIX)/doc || mkdir $(PREFIX)/doc
|
||||||
|
install -m 0755 mk $(PREFIX)/bin/mk
|
||||||
|
cat mk.1 | sed 's;DOCPREFIX;$(PREFIX);g' >mk.1a
|
||||||
|
install -m 0644 mk.1a $(PREFIX)/man/man1/mk.1
|
||||||
|
install -m 0644 mk.pdf $(PREFIX)/doc/mk.pdf
|
||||||
|
|
35
unix/make/Makefile.regexp
Normal file
35
unix/make/Makefile.regexp
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
LIB=libregexp9.a
|
||||||
|
VERSION=2.0
|
||||||
|
PORTPLACE=devel/libregexp9
|
||||||
|
NAME=libregexp9
|
||||||
|
|
||||||
|
OFILES=\
|
||||||
|
regcomp.$O\
|
||||||
|
regerror.$O\
|
||||||
|
regexec.$O\
|
||||||
|
regsub.$O\
|
||||||
|
regaux.$O\
|
||||||
|
rregexec.$O\
|
||||||
|
rregsub.$O\
|
||||||
|
rregaux.$O\
|
||||||
|
|
||||||
|
HFILES=\
|
||||||
|
regexp9.h\
|
||||||
|
regcomp.h\
|
||||||
|
|
||||||
|
all: $(LIB)
|
||||||
|
|
||||||
|
install: $(LIB)
|
||||||
|
test -d $(PREFIX)/man/man3 || mkdir $(PREFIX)/man/man3
|
||||||
|
test -d $(PREFIX)/man/man7 || mkdir $(PREFIX)/man/man7
|
||||||
|
install -m 0644 regexp9.3 $(PREFIX)/man/man3/regexp9.3
|
||||||
|
install -m 0644 regexp9.7 $(PREFIX)/man/man7/regexp9.7
|
||||||
|
install -m 0644 $(LIB) $(PREFIX)/lib/$(LIB)
|
||||||
|
install -m 0644 regexp9.h $(PREFIX)/include/regexp9.h
|
||||||
|
|
||||||
|
test: test.$O $(LIB)
|
||||||
|
$(CC) -o test test.$O $(LIB) -L/usr/local/lib -lfmt -lutf
|
||||||
|
|
||||||
|
test2: test2.$O $(LIB)
|
||||||
|
$(CC) -o test2 test2.$O $(LIB) -L/usr/local/lib -lfmt -lutf
|
||||||
|
|
41
unix/make/Makefile.utf
Normal file
41
unix/make/Makefile.utf
Normal file
|
@ -0,0 +1,41 @@
|
||||||
|
LIB=libutf.a
|
||||||
|
VERSION=2.0
|
||||||
|
PORTPLACE=devel/libutf
|
||||||
|
NAME=libutf
|
||||||
|
|
||||||
|
OFILES=\
|
||||||
|
rune.$O\
|
||||||
|
runestrcat.$O\
|
||||||
|
runestrchr.$O\
|
||||||
|
runestrcmp.$O\
|
||||||
|
runestrcpy.$O\
|
||||||
|
runestrdup.$O\
|
||||||
|
runestrlen.$O\
|
||||||
|
runestrecpy.$O\
|
||||||
|
runestrncat.$O\
|
||||||
|
runestrncmp.$O\
|
||||||
|
runestrncpy.$O\
|
||||||
|
runestrrchr.$O\
|
||||||
|
runestrstr.$O\
|
||||||
|
runetype.$O\
|
||||||
|
utfecpy.$O\
|
||||||
|
utflen.$O\
|
||||||
|
utfnlen.$O\
|
||||||
|
utfrrune.$O\
|
||||||
|
utfrune.$O\
|
||||||
|
utfutf.$O\
|
||||||
|
|
||||||
|
HFILES=\
|
||||||
|
utf.h\
|
||||||
|
|
||||||
|
all: $(LIB)
|
||||||
|
|
||||||
|
install: $(LIB)
|
||||||
|
test -d $(PREFIX)/man/man3 || mkdir $(PREFIX)/man/man3
|
||||||
|
install -c -m 0644 isalpharune.3 $(PREFIX)/man/man3/isalpharune.3
|
||||||
|
install -c -m 0644 utf.7 $(PREFIX)/man/man7/utf.7
|
||||||
|
install -c -m 0644 rune.3 $(PREFIX)/man/man3/rune.3
|
||||||
|
install -c -m 0644 runestrcat.3 $(PREFIX)/man/man3/runestrcat.3
|
||||||
|
install -c -m 0644 utf.h $(PREFIX)/include/utf.h
|
||||||
|
install -c -m 0644 $(LIB) $(PREFIX)/lib/$(LIB)
|
||||||
|
|
52
unix/mkfile
Normal file
52
unix/mkfile
Normal file
|
@ -0,0 +1,52 @@
|
||||||
|
bio fmt mk regexp utf:V:
|
||||||
|
case $target in
|
||||||
|
mk) t=mk ;;
|
||||||
|
regexp) t=libregexp ;;
|
||||||
|
*) t=lib$target ;;
|
||||||
|
esac
|
||||||
|
mkdir $t || true
|
||||||
|
rm $t/* || true
|
||||||
|
cd $t
|
||||||
|
mk -f ../mkfile.$target
|
||||||
|
case $target in
|
||||||
|
bio) d=$PLAN9/src/$t;;
|
||||||
|
regexp) d=$PLAN9/src/$t;;
|
||||||
|
fmt) d=$PLAN9/src/lib9/$target ;;
|
||||||
|
utf) d=$PLAN9/src/lib9/$target ;;
|
||||||
|
mk) d=$PLAN9/src/cmd/mk ;;
|
||||||
|
esac
|
||||||
|
for i in `ls -p $d/*.c`
|
||||||
|
do
|
||||||
|
if [ ! -f $i ]
|
||||||
|
then
|
||||||
|
echo missing $i
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
make
|
||||||
|
for i in `ls *.c`
|
||||||
|
do
|
||||||
|
if [ ! -f `echo $i | sed 's/.c$/.o/'` ]
|
||||||
|
then
|
||||||
|
echo not building $i
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
cd ..
|
||||||
|
rm $t/* || true
|
||||||
|
cd $t
|
||||||
|
mk -f ../mkfile.$target
|
||||||
|
|
||||||
|
lib%.tgz:
|
||||||
|
mk $stem
|
||||||
|
tar cf - lib$stem |gzip >lib$stem.tgz
|
||||||
|
|
||||||
|
libregexp9.tgz:
|
||||||
|
mk regexp
|
||||||
|
tar cf - libregexp | gzip >libregexp9.tgz
|
||||||
|
|
||||||
|
mk.tgz:
|
||||||
|
mk mk
|
||||||
|
tar cf - mk | gzip >mk.tgz
|
||||||
|
|
||||||
|
mk-all.tgz:
|
||||||
|
tar cf - Makefile libutf libfmt libbio libregexp mk | gzip >mk-all.tgz
|
||||||
|
|
42
unix/mkfile.bio
Normal file
42
unix/mkfile.bio
Normal file
|
@ -0,0 +1,42 @@
|
||||||
|
MAKEALL=`{cd ../make; ls Make.*}
|
||||||
|
TARG=\
|
||||||
|
$MAKEALL\
|
||||||
|
NOTICE\
|
||||||
|
README\
|
||||||
|
Makefile\
|
||||||
|
bio.3\
|
||||||
|
bio.h\
|
||||||
|
lib9.h\
|
||||||
|
`{ls -p $PLAN9/src/libbio/*.c}\
|
||||||
|
|
||||||
|
all:V: $TARG
|
||||||
|
|
||||||
|
%: $PLAN9/include/%
|
||||||
|
cp $prereq $target
|
||||||
|
|
||||||
|
%: $PLAN9/src/libbio/%
|
||||||
|
cp $prereq $target
|
||||||
|
|
||||||
|
%: $PLAN9/man/man1/%
|
||||||
|
cp $prereq $target
|
||||||
|
|
||||||
|
%: $PLAN9/man/man3/%
|
||||||
|
cp $prereq $target
|
||||||
|
|
||||||
|
%: $PLAN9/man/man7/%
|
||||||
|
cp $prereq $target
|
||||||
|
|
||||||
|
lib9.h: $PLAN9/src/libbio/lib9.std.h
|
||||||
|
cp $prereq $target
|
||||||
|
|
||||||
|
%: ../make/%
|
||||||
|
cp $prereq $target
|
||||||
|
|
||||||
|
Makefile:D: ../make/Makefile.TOP ../make/Makefile.bio ../make/Makefile.LIB ../make/Makefile.BOT
|
||||||
|
cat $prereq >$target
|
||||||
|
|
||||||
|
README: ../README
|
||||||
|
cp $prereq $target
|
||||||
|
|
||||||
|
NOTICE: ../NOTICE.bio
|
||||||
|
cp $prereq $target
|
45
unix/mkfile.fmt
Normal file
45
unix/mkfile.fmt
Normal file
|
@ -0,0 +1,45 @@
|
||||||
|
MAKEALL=`{cd ../make; ls Make.*}
|
||||||
|
TARG=\
|
||||||
|
$MAKEALL\
|
||||||
|
NOTICE\
|
||||||
|
README\
|
||||||
|
Makefile\
|
||||||
|
`{ls -p $PLAN9/src/lib9/fmt/*.c}\
|
||||||
|
fmt.h\
|
||||||
|
fmtdef.h\
|
||||||
|
nan.h\
|
||||||
|
|
||||||
|
all:V: $TARG
|
||||||
|
|
||||||
|
%: $PLAN9/include/%
|
||||||
|
cp $prereq $target
|
||||||
|
|
||||||
|
%: $PLAN9/src/lib9/fmt/%
|
||||||
|
cp $prereq $target
|
||||||
|
|
||||||
|
%: $PLAN9/man/man1/%
|
||||||
|
cp $prereq $target
|
||||||
|
|
||||||
|
%: $PLAN9/man/man3/%
|
||||||
|
cp $prereq $target
|
||||||
|
|
||||||
|
%: $PLAN9/man/man7/%
|
||||||
|
cp $prereq $target
|
||||||
|
|
||||||
|
%: ../make/%
|
||||||
|
cp $prereq $target
|
||||||
|
|
||||||
|
Makefile:D: ../make/Makefile.TOP ../make/Makefile.fmt ../make/Makefile.LIB ../make/Makefile.BOT
|
||||||
|
cat $prereq >$target
|
||||||
|
|
||||||
|
README: ../README
|
||||||
|
cp $prereq $target
|
||||||
|
|
||||||
|
NOTICE: ../NOTICE.fmt
|
||||||
|
cp $prereq $target
|
||||||
|
|
||||||
|
fmt.h: ../fmt.h
|
||||||
|
cp $prereq $target
|
||||||
|
|
||||||
|
fmt.c: $PLAN9/src/lib9/fmt/fmt.c
|
||||||
|
cat $prereq | sed "/'u',.*__flagfmt/ s/__flagfmt/__ifmt/" >$target
|
39
unix/mkfile.mk
Normal file
39
unix/mkfile.mk
Normal file
|
@ -0,0 +1,39 @@
|
||||||
|
MAKEALL=`{cd ../make; ls Make.*}
|
||||||
|
TARG=\
|
||||||
|
$MAKEALL\
|
||||||
|
NOTICE\
|
||||||
|
README\
|
||||||
|
Makefile\
|
||||||
|
mk.1\
|
||||||
|
mk.h\
|
||||||
|
fns.h\
|
||||||
|
`{ls -p $PLAN9/src/cmd/mk/*.c}\
|
||||||
|
|
||||||
|
all:V: $TARG
|
||||||
|
|
||||||
|
%: $PLAN9/include/%
|
||||||
|
cp $prereq $target
|
||||||
|
|
||||||
|
%: $PLAN9/src/cmd/mk/%
|
||||||
|
cp $prereq $target
|
||||||
|
|
||||||
|
%: $PLAN9/man/man1/%
|
||||||
|
cp $prereq $target
|
||||||
|
|
||||||
|
%: $PLAN9/man/man3/%
|
||||||
|
cp $prereq $target
|
||||||
|
|
||||||
|
%: $PLAN9/man/man7/%
|
||||||
|
cp $prereq $target
|
||||||
|
|
||||||
|
%: ../make/%
|
||||||
|
cp $prereq $target
|
||||||
|
|
||||||
|
Makefile:D: ../make/Makefile.TOP ../make/Makefile.mk ../make/Makefile.CMD ../make/Makefile.BOT
|
||||||
|
cat $prereq >$target
|
||||||
|
|
||||||
|
README: ../README
|
||||||
|
cp $prereq $target
|
||||||
|
|
||||||
|
NOTICE: ../NOTICE.mk
|
||||||
|
cp $prereq $target
|
44
unix/mkfile.regexp
Normal file
44
unix/mkfile.regexp
Normal file
|
@ -0,0 +1,44 @@
|
||||||
|
MAKEALL=`{cd ../make; ls Make.*}
|
||||||
|
TARG=\
|
||||||
|
$MAKEALL\
|
||||||
|
NOTICE\
|
||||||
|
README\
|
||||||
|
Makefile\
|
||||||
|
regexp9.3\
|
||||||
|
regexp9.7\
|
||||||
|
regexp9.h\
|
||||||
|
regcomp.h\
|
||||||
|
lib9.h\
|
||||||
|
`{ls -p $PLAN9/src/libregexp/*.c}\
|
||||||
|
|
||||||
|
all:V: $TARG
|
||||||
|
|
||||||
|
%: $PLAN9/include/%
|
||||||
|
cp $prereq $target
|
||||||
|
|
||||||
|
%: $PLAN9/src/libregexp/%
|
||||||
|
cp $prereq $target
|
||||||
|
|
||||||
|
%: $PLAN9/man/man1/%
|
||||||
|
cp $prereq $target
|
||||||
|
|
||||||
|
%: $PLAN9/man/man3/%
|
||||||
|
cp $prereq $target
|
||||||
|
|
||||||
|
%: $PLAN9/man/man7/%
|
||||||
|
cp $prereq $target
|
||||||
|
|
||||||
|
%: ../make/%
|
||||||
|
cp $prereq $target
|
||||||
|
|
||||||
|
Makefile:D: ../make/Makefile.TOP ../make/Makefile.regexp ../make/Makefile.LIB ../make/Makefile.BOT
|
||||||
|
cat $prereq >$target
|
||||||
|
|
||||||
|
README: ../README
|
||||||
|
cp $prereq $target
|
||||||
|
|
||||||
|
NOTICE: ../NOTICE.regexp
|
||||||
|
cp $prereq $target
|
||||||
|
|
||||||
|
lib9.h: $PLAN9/src/libregexp/lib9.h
|
||||||
|
cp $prereq $target
|
42
unix/mkfile.utf
Normal file
42
unix/mkfile.utf
Normal file
|
@ -0,0 +1,42 @@
|
||||||
|
MAKEALL=`{cd ../make; ls Make.*}
|
||||||
|
TARG=\
|
||||||
|
$MAKEALL\
|
||||||
|
NOTICE\
|
||||||
|
README\
|
||||||
|
Makefile\
|
||||||
|
`{ls -p $PLAN9/src/lib9/utf/*.c}\
|
||||||
|
utf.h\
|
||||||
|
utfdef.h\
|
||||||
|
|
||||||
|
all:V: $TARG
|
||||||
|
|
||||||
|
%: $PLAN9/include/%
|
||||||
|
cp $prereq $target
|
||||||
|
|
||||||
|
%: $PLAN9/src/lib9/utf/%
|
||||||
|
cp $prereq $target
|
||||||
|
|
||||||
|
%: $PLAN9/man/man1/%
|
||||||
|
cp $prereq $target
|
||||||
|
|
||||||
|
%: $PLAN9/man/man3/%
|
||||||
|
cp $prereq $target
|
||||||
|
|
||||||
|
%: $PLAN9/man/man7/%
|
||||||
|
cp $prereq $target
|
||||||
|
|
||||||
|
%: ../make/%
|
||||||
|
cp $prereq $target
|
||||||
|
|
||||||
|
Makefile:D: ../make/Makefile.TOP ../make/Makefile.utf ../make/Makefile.LIB ../make/Makefile.BOT
|
||||||
|
cat $prereq >$target
|
||||||
|
|
||||||
|
README: ../README
|
||||||
|
cp $prereq $target
|
||||||
|
|
||||||
|
NOTICE: ../NOTICE.utf
|
||||||
|
cp $prereq $target
|
||||||
|
|
||||||
|
utf.h: ../utf.h
|
||||||
|
cp $prereq $target
|
||||||
|
|
57
unix/utf.h
Normal file
57
unix/utf.h
Normal file
|
@ -0,0 +1,57 @@
|
||||||
|
#ifndef _UTFH_
|
||||||
|
#define _UTFH_ 1
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
typedef unsigned short Rune; /* 16 bits */
|
||||||
|
|
||||||
|
enum
|
||||||
|
{
|
||||||
|
UTFmax = 3, /* maximum bytes per rune */
|
||||||
|
Runesync = 0x80, /* cannot represent part of a UTF sequence (<) */
|
||||||
|
Runeself = 0x80, /* rune and UTF sequences are the same (<) */
|
||||||
|
Runeerror = 0x80, /* decoding error in UTF */
|
||||||
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
* rune routines
|
||||||
|
*/
|
||||||
|
extern int runetochar(char*, Rune*);
|
||||||
|
extern int chartorune(Rune*, char*);
|
||||||
|
extern int runelen(long);
|
||||||
|
extern int runenlen(Rune*, int);
|
||||||
|
extern int fullrune(char*, int);
|
||||||
|
extern int utflen(char*);
|
||||||
|
extern int utfnlen(char*, long);
|
||||||
|
extern char* utfrune(char*, long);
|
||||||
|
extern char* utfrrune(char*, long);
|
||||||
|
extern char* utfutf(char*, char*);
|
||||||
|
extern char* utfecpy(char*, char*, char*);
|
||||||
|
|
||||||
|
extern Rune* runestrcat(Rune*, Rune*);
|
||||||
|
extern Rune* runestrchr(Rune*, Rune);
|
||||||
|
extern int runestrcmp(Rune*, Rune*);
|
||||||
|
extern Rune* runestrcpy(Rune*, Rune*);
|
||||||
|
extern Rune* runestrncpy(Rune*, Rune*, long);
|
||||||
|
extern Rune* runestrecpy(Rune*, Rune*, Rune*);
|
||||||
|
extern Rune* runestrdup(Rune*);
|
||||||
|
extern Rune* runestrncat(Rune*, Rune*, long);
|
||||||
|
extern int runestrncmp(Rune*, Rune*, long);
|
||||||
|
extern Rune* runestrrchr(Rune*, Rune);
|
||||||
|
extern long runestrlen(Rune*);
|
||||||
|
extern Rune* runestrstr(Rune*, Rune*);
|
||||||
|
|
||||||
|
extern Rune tolowerrune(Rune);
|
||||||
|
extern Rune totitlerune(Rune);
|
||||||
|
extern Rune toupperrune(Rune);
|
||||||
|
extern int isalpharune(Rune);
|
||||||
|
extern int islowerrune(Rune);
|
||||||
|
extern int isspacerune(Rune);
|
||||||
|
extern int istitlerune(Rune);
|
||||||
|
extern int isupperrune(Rune);
|
||||||
|
|
||||||
|
#ifdef cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
#endif
|
Loading…
Reference in a new issue