I am trying to get zexy running on linux-powerpc since I was just given 8 PowerMac G4-500s and 5 PowerMac 8600 604e 250 to do sound installations. Anyway, everything in zexy compiles, except for the parallel port module, z_lp.c.
At first it balked on compile, because linux-powerpc doesn't use sys/io.h, but rather asm/io.h. So adding this #ifdef made it compile with a few warnings:
#ifdef __powerpc__ #include <asm/io.h> #else #include <sys/io.h> #endif
Here are the warnings: z_lp.c: In function `lp_float': z_lp.c:44: warning: implicit declaration of function `outb' z_lp.c: In function `lp_new': z_lp.c:86: warning: implicit declaration of function `ioperm' z_lp.c:93: warning: implicit declaration of function `iopl'
But now it doesn't load, giving this error: /usr/local/lib/pd/externs/zexy.pd_linux: /usr/local/lib/pd/externs/zexy.pd_linux: undefined symbol: outb /usr/local/lib/pd/externs/zexy: can't load library
So looking at how outb is defined should lead to the answer, but that's about the limits of my knowledge:
sys/io.h: static __inline void outb (unsigned char value, unsigned short int port) { __asm__ __volatile__ ("outb %b0,%w1": :"a" (value), "Nd" (port)); }
asm/io.h: #define outb(val, port) out_8((u8 *)((port)+_IO_BASE), (val))
Any pointers, advice, whatever would be appreciated. I don't need the lp object to work, I just need zexy to work, so I can use the rest of those tasty objects.
-Hans
zen \ \ \[D[D[D[D