[missing-func-newsのGET][戻る]

 
Sony NEWS-OS 4.x 支援ライブラリ                             Jul/25/95
                                            まつした まこと(大阪大学)
                                        
このライブラリは,NEWS-OS 4.x 附属の /usr/lib/libc.a に含まれていない が,POSIX などで定義されていたり,他の OS 上に附属する libc にて実装さ れている関数を NEWS-OS 4.x 上で実現することを意図して作成されています. これまで,関数の不足のためにどうしても作成できなかったソフトウェアも, これを利用すれば作成できるようになるかもしれません.
このライブラリは,(当時)東京大学所属の片山宏之氏の手によって作成された 「SONY NEWS 用ライブラリ libmissing.a」を改良(改悪?)したものです.片山 氏は大学卒業を理由にメンテナンスが行なえなくなってしまったため,まつし たが片山氏の後を引き継いでいます.
0) はじめに
なお,このライブラリは利用者各自の責任において行なってください.ライブ ラリの使用によってもたらされた全ての事象について,作者は一切責任を負わ ないものとします.
1) インストール方法について
まず,適当なディレクトリに展開します.
	% gtar xvzf missing-func-news.tar.gz
	(もしくは gzip -cd missing-func-news.tar.gz | tar xvf -)
展開した後に,実際に make を行ないます.今読んでいるこの file (README) が存在している directory に移動したのち,make を実行してください.

対象とする NEWS-OS の version によって,make に与える引数が違いますの で注意してください.

	NEWS-OS 4.1 で作成する場合

		% make newsos41

	NEWS-OS 4.2 以降の NEWS-OS で作成する場合

		% make newsos42
Makefile を一切修正していない場合には,すべてのファイルは /usr/local 以下にインストールするようになっています.不都合のある場合には Makefile 中の prefix 等を修正してください.修正が終了したら(もしくはそ のままで良いのならば)インストールを行なってください.
	% make install
なお,付属している library manual はこの install 作業においても install されませんのでご注意ください(install するために必要となる Makefile の記述は存在していますが).

install するようにしていない理由は非常に単純で「そのままでは NEWS-OS 4.x 付属の nroff はまともに処理しない」からです.GNU groff に含まれる gnroff 等を使い,gnroff - mandoc uname.3 などとして参照してください(も ちろん,4.4BSD 派生の nroff 等でも処理できます).

2) ライブラリの利用方法
コンパイルの際に libmissing.a を利用するように修正すると良いでしょう. 例えば,次のような方法が考えられます.
  • ld に対する option に -lmissing などを付ける.
  • #include <missing.h> などを加え,コンパイラへの option に
    -I/usr/local/include を加える(/usr/local/include は実際には
    missing.h が置かれた場所と一致させてください).

    3) このライブラリによって実装されているもの
    POSIX.1 で定義されているものを中心に,次のものが含まれています.
    関数
    clock, cuserid, drand48, erand48, fmod, jrand48, lcong48, lrand48, mkfifo, mktime, mrand48, nrand48, seed48, setsid, sigaction, sigaddset, sigdelset, sigemptyset, sigfillset, sigismember, sigsetjmp, siglongjmp, srand48, strftime, waitpid, uname (NEWS-OS 4.1 においては memmove, strcmp, strdup strstr, strtok も含む) (但し,sigsetjmp/siglongjmp は macro で定義)

    型定義 (ライブラリではなくヘッダファイルで定義されています)
    clock_t, fpos_t, mode_t, pid_t, sigjmp_buf, sigset_t struct sigaction, struct utsname

    定数 (ライブラリではなくヘッダファイルで定義されています)
    L_cuserid, CLOCKS_PER_SEC, SIG_BLOCK, SIG_UNBLOCK, SIG_SETMASK
    これらの中には不完全な実装であるものが含まれています(例えば, sigaction() は存在していますが,定数 SA_NOCLDSTOP が定義されていないた めに,この定数を利用している場合に対応できません).あらかじめご了承ください.
    また,sigsetjmp/siglongjmp は missing.h 内で setjmp/longjmp への macro として定義されているため,これらの関数を使う file 中では missing.h を include する必要があります.

    4) その他 このライブラリにバグが含まれていた場合には,matusita@ics.es.osaka-u.ac.jp まで電子メールにてご連絡ください.その他,このライブラリに対する疑問, 苦情,要望などももちろん受け付けています.

    5) 謝辞
    missing-func-news を作成された片山宏之氏を始め,missing-func-news に携 わったすべての方々に感謝します.特に,本 library に含まれている code を書かれた片山宏之氏/金谷吉成氏/酒井清隆氏に感謝します.

    また,このライブラリは FreeBSD-2.1.0-RELEASE とそれの元となる 4.4BSD-Lite,さらに Sendmail 8.7.5 に含まれているソースコードを利用し ています.4.4BSD-Lite を作成した The Regents of the University of California とその contributor,FreeBSD-2.1.0 を作成した The FreeBSD Project とその contributor,Sendmail を作成した Eric P. Allman とその contributor に感謝します.

    なお,この library に含まれる code それぞれについての原作者については ORIG_LOCATION を参照してください.