summaryrefslogtreecommitdiff
path: root/README
blob: acc38b407a2771359cd26eeb881057e73e4d3ce8 (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
This is a development environment for ELKS-86 and standalone 8086 code.

The only hand configuration is to choose one of libc/syscall/syscall.dat.*
to be used as libc/syscall/syscall.dat The '*.chad' one matches the *.50
elks kernel but you're best to pickup the one in the kernel you're compiling
for.

All you then need to do then 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'.

The manual pages in the man subdirectory are a start as some pages 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 the
libraries _and_ include files are copied to these locations by install.

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. (They both need the elksemu executable installed correctly)

Copyrights
----------
This software is for the most part under GPL style copyright, the libc and
libbsd are covered by the 'weaker' library versions of this document.
(See the COPYING files in this and the libc directories for details)

The copyrights of other parts are documented in the relevent files. Some
parts are explicitly PD others like the unproto code have copyrights that
allow free distribution but are otherwise more vague.

--
Rob.                           (Robert de Bath <robert@mayday.cix.co.uk>)