Subject: Complete library source available Date: Mon, 16 Dec 1991 19:07:47 +0200 From: Linus Benedict Torvalds <torvalds@cc.helsinki.fi> To: Linux-activists@joker.cs.hut.fi Well, I just put out the full source to my library for ftp. Parts of it have been available before, but the package "library.tar.Z" should include everything. The library is meant to be installed in /usr/src/lib, but use your own directory structure if you find this impractical. It is further subdivided into more or less (mostly less) logical subdirectories: partly similar to minix, partly depending on where I got the source, and partly just on how it happened to be written :-) There are 4 major sources of library functions and they all have slightly different copyrights, but all should be freely distributable within the linux copyright rules: - Earl Chews estdio (estdio) - The GNU library (malloc, pwd, grp and misc) - me (dirent, unistd, misc) - some PD minix libs (at least termcap) I haven't really ported as much of the GNU libc.a as I would want, as it's not very interesting. Things that should still be done: - time functions. I haven't got the slightest idea about how they work, so the result is accordingly. GNU seems the best bet to find correct functions. - unistd will be slightly changed with the advent of job control. I am assuming that tytso will send diffs, and that some programs will have to be recompiled to correctly work with the new signals (among them gcc). - locale etc. Again gnu seems the best bet. Happily nobody uses locale anyway, so this isn't that much of a problem :-) Additionally I have also sent out a new include.tar.Z - it's mostly bug-corrections and a few new files that the GNU library functions want. Recompiling the library is easy: go to /usr/src/lib, and then do a make in all the subdirectories. The result should be a Libc.a file in /usr/src/lib. Run ranlib on it (ie "ranlib Libc.a"), and you have a new library. Just move it to the library directory (usually /usr/local/lib, but it depends on how you have installed gcc). It might be a good idea to save the old libc.a, in case something has gone wrong. Note that you probably won't really need to compile your own library: this one is a bit better than the original, but the changes shouldn't show up in normal circumstances. Recompilation of the library is usually only needed if you change the kernel heavily (new system calls etc) or if you find better routines for something. This release is more for the "completeness" of source availability for linux. Linus