|
|
1.1 ! root 1: How to compile MiNT 0.96 with PureC ! 2: ! 3: ----------------------------------- ! 4: ! 5: ! 6: ! 7: Julian F. Reschke, 19. Oktober 1992 ! 8: ! 9: email: [email protected] ! 10: ! 11: ! 12: ! 13: ! 14: ! 15: (1) Special files ! 16: ! 17: ! 18: ! 19: First of all, you need a special osbind.h. This is because Pure's own ! 20: ! 21: version differs in some small details from the GCC header files. You ! 22: ! 23: can't use Pure's tos.h, either, because in its latest versions it already ! 24: ! 25: defines some of MiNT's data structures. You can either leave osbind.h in ! 26: ! 27: the MiNT source directory, or copy it to your PureC include folder. If you ! 28: ! 29: are using the MiNT library, all should work fine without this file. ! 30: ! 31: ! 32: ! 33: This is all what's needed. You can either use the command line versions ! 34: ! 35: of PureC, or you can use the PureC shell. I am compiling MiNT with GNU ! 36: ! 37: make (latest version at atari.archive.umich.edu should work fine) and a ! 38: ! 39: self-made 'cc' command, that I've specially written for the PureC command ! 40: ! 41: line versions (see makefile.pcc). This tool is still being tested, and ! 42: ! 43: I've not yet decided how to distribute it. If you are interested, write to ! 44: ! 45: me. ! 46: ! 47: ! 48: ! 49: If you're going to use the PureC shell, you'll have to 'manually' ! 50: ! 51: translate the .spp files to the PASM syntax using asmtrans.ttp. The ! 52: ! 53: syntax is ! 54: ! 55: ! 56: ! 57: asmtrans -purec -o outfile.s outfile.spp ! 58: ! 59: ! 60: ! 61: genmagic.ttp is needed to create the file magic.i, which in turn is ! 62: ! 63: included by the .spp files. ! 64: ! 65: ! 66: ! 67: ! 68: ! 69: (2) Things to do ! 70: ! 71: ! 72: ! 73: So far, I've made no attempt to translate asmtrans with PureC. Try it ! 74: ! 75: yourself (you'll need alloca; might work with the MiNT library version ! 76: ! 77: for PureC) or compile them with gcc. ! 78: ! 79: ! 80: ! 81: ! 82: ! 83: (3) Caveats ! 84: ! 85: ! 86: ! 87: This is a preliminary 'port'. It seems to work fine on my machine, but ! 88: ! 89: this guarantees nothing: ! 90: ! 91: ! 92: ! 93: There's still a conflict in the way PureC saves registers with what MiNT ! 94: ! 95: file system drivers or device drivers expect. That's why minix.xfs will ! 96: ! 97: bomb. There are two solutions: change it in the kernel, or change PureC. ! 98: ! 99: Both are being currently considered. Note that the same problem will ! 100: ! 101: arise if you try to write drivers with PureC. ! 102: ! 103: ! 104: ! 105: ! 106:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.