1 How to compile reqtools.library for Amiga:
5 - This will compile a C only version. No assembly files are used.
10 - Geek Gadgets. Might also work with older versions of GCC, but
11 you need at least one which supports registerized parameters.
16 - Make sure the GG environment is "initialized":
19 execute GG:Sys/S/GG-Startup
21 - First install the include files:
23 cd amigaincludesforgcc
27 You also have to add the following macro to GG:include/inline/macros.h,
28 because it is missing in there (-> there does not seem to be any other
29 library function in any other library which takes 5 parameters and one
30 of the parameters is in register A4):
32 #define LP5A4(offs, rt, name, t1, v1, r1, t2, v2, r2, t3, v3, r3, t4, v4, r4, t5, v5, r5, bt, bn) \
34 t1 _##name##_v1 = (v1); \
35 t2 _##name##_v2 = (v2); \
36 t3 _##name##_v3 = (v3); \
37 t4 _##name##_v4 = (v4); \
38 t5 _##name##_v5 = (v5); \
40 register rt _##name##_re __asm("d0"); \
41 register struct Library *const _##name##_bn __asm("a6") = (struct Library*)(bn); \
42 register t1 _n1 __asm(#r1) = _##name##_v1; \
43 register t2 _n2 __asm(#r2) = _##name##_v2; \
44 register t3 _n3 __asm(#r3) = _##name##_v3; \
45 register t4 _n4 __asm(#r4) = _##name##_v4; \
46 register t5 _n5 __asm(#r5) = _##name##_v5; \
47 __asm volatile ("exg d7,a4\n\tjsr a6@(-"#offs":W)\n\texg d7,a4" \
48 : "=r" (_##name##_re) \
49 : "r" (_##name##_bn), "rf"(_n1), "rf"(_n2), "rf"(_n3), "rf"(_n4), "rf"(_n5) \
50 : "d0", "d1", "a0", "a1", "fp0", "fp1", "cc", "memory"); \
56 - Then compile the library
61 - This will create the reqtools.library file in RAM:
65 Georg Steger <georg.steger@rolmail.net>