summaryrefslogtreecommitdiff
path: root/README
blob: 2d9c661f3f4bd028ace6d3ad79bb685c41ae3c62 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
This is a development environment for ELKS-86 and standalone 8086 code.

All you need to do is 'make' from the top directory and the main
parts of the package will be made. These can be tested by use the 'ncc'
program from the newly created bin subdirectory.

Use 'make install' to install them.
Use 'make Uninstall' to remove everything (Beware with this though!)

Some other bits can be built by 'make other' and installed with
'make install-other'.

If you want it to install under /usr/local instead you can specify
the prefix on the first make ie: 'make PREFIX=/usr/local' this is
remembered until 'make.fil' is rebuilt. 

The manual pages in the man subdirectory are matched to these programs,
there are also some hints for using as86 well.  The tests and bootblocks
directories give some example code.

The bcc command defaults to using /usr/bcc/include and /usr/bcc/lib/bcc
the libraries _and_ include files are copied to these locations by
install.  This can be changed by overriding 'PREFIX=/usr' or
'LIBDIR=/usr/bcc/lib/bcc' on the initial make. Also available in the
same way the 'ELKSSRC=/usr/src/elks' variable can be altered if you
have ELKS on a different path.

In the unlikely event you're makeing a non-cross development environment
you can, on the initial make, do "make LIBPRE=/usr' to have the libraries
and include files directly under /usr rather than /usr/bcc.

All the versions of the library are built by make; 'normal', 'fast',
'MSDOS', 'standalone' and Linux-i386.

You use the other libraries like this:
   'FAST'    	$ bcc -Mf prog.c -o prog
   Caller saves $ bcc -Mc prog.c -o prog
   MSDOS	$ bcc -Md prog.c -o prog.com
   Standalone	$ bcc -Ms prog.c -o prog.sys
   Linux-i386	$ bcc -Ml prog.c -o prog

The Linux-i386 version generates static Linux a.out programs, they need
neither elksemu nor a.out shared libries to run. If you want you can
convert them to an odd ELF executable with:
    $ bcc -Ml prog.c -o prog
    $ objcopy -O elf32-i386 prog

If you want to install everything in one go just login as root an do:
$ make install-all

The as86 and ld86 with this are _different_ from the ones needed for the
linux-i386 kernel but can replace them, the kernel-i386 ones _will_ _not_
work correctly here!

I _strongly_ suggest you install the kernel patch or load the module in
the elksemu directory in your Linux-i386 kernel, it makes things _much_
easier.  If you're using a post 2.1.43 kernel the module you need is
the binfmt_misc driver as described in elksemu/README. 
(All the options need the elksemu executable installed correctly)

Copyrights
----------
The `bcc', 'as' and `ld' parts of the distribution are now covered by
the GPL.  The `bccfp' library now in the libc/i386fp directory is under
the LGPL. (Copyright holder Bruce Evans)

The contents of the libc and libbsd subdirectories are under the LGPL
with a few noted exceptions.  The programs in 'tests', elksemu, copt
and the bootblocks directory are under the GPL.  Dis88 is freely
distributable if the source is distributed also.  Unproto is freely
distributable as long as Wietse Venema <wietse@wzv.win.tue.nl> and the
"Mathematics and Computing Science Dept.  Eindhoven University of
Technology.  The Netherlands." is given credit.

In libc the regular expression routine and the printf/scanf functions are
not under LGPL, the former is 'freely distributable' the latter is public
domain.

See the COPYING file in this directory for the GPL and the COPYING file
in the libc directories for the LGPL.

--
Rob.                           (Robert de Bath <rdebath@poboxes.com>)