newbie questions - porting dgen (Genesis EMU) /w MIPSpro unresolved test symbol "pow

If you're coding on or porting to IRIX, this is the forum for discussion.
TruHobbyist
Posts: 25
Joined: Tue May 15, 2018 12:04 am

Re: newbie questions - porting dgen (Genesis EMU) /w MIPSpro unresolved test symbol "pow

Post by TruHobbyist » Mon Jul 02, 2018 9:00 am

gijoe77 wrote:
Mon Jul 02, 2018 7:11 am
quick question - What's the deal with MIPSpro and inline functions? Does it not support "inline"?
Well, it actually supports inlining. Take a look here.

Page 110:
Inlining

IPA performs across and within file inlining. A default inlining heuristic determines
which calls to inline.
From this manual you can invoke inline processing in, at least, two ways:

1. Use IPA processing (-IPA flag/s with or without -INLINE flag/s other than -INLINE:OFF)
2. Use stand-alone inliner (no -IPA flag/s, just -INLINE flag/s)

There are lots of options for finer-grained control of the inlining process, look through all the -INLINE:* options.
gijoe77 wrote:
Mon Jul 02, 2018 7:11 am
it seems even with gcc, putting "inline" in the declaration doesn't guarantee a function or routine getting "inlined" if the compiler analysis doesn't think it should be...
Yes. Even some more aggressive ways of inlining, like -INLINE:all, won't guarantee actual inlining. The reason is quite simple: There are too many possibilities of coding a function, a compiler writer cannot cover them all in advance. And therefore you get compiler internal heuristics.


Kind regards,

Tru

User avatar
dexter1
Posts: 66
Joined: Thu May 24, 2018 9:30 am
Location: Zoetermeer, The Netherlands

Re: newbie questions - porting dgen (Genesis EMU) /w MIPSpro unresolved test symbol "pow

Post by dexter1 » Mon Jul 02, 2018 9:44 am

gijoe77 wrote:
Mon Jul 02, 2018 7:11 am
quick question - What's the deal with MIPSpro and inline functions? Does it not support "inline"?
Tru is right in that MIPSPro is able to inline functions, but you have a choice to either let the compiler do this for you in optimization or it can be manually defined by preprocessor macros. The latter is more common in programs ported from GNU compilers, since inlining functions make sense if they are small and lightweight.
for example for this error:

Code: Select all

cc-1020 cc: ERROR File = m68kcpu.h, Line = 883
  The identifier "inline" is undefined.

  INLINE uint m68ki_read_imm_16(void);
  ^
This error message tells you that the macro INLINE has been declared as "inline". MIPSPro however uses '__inline' as inline directive. So the './configure' script messed up and you have to edit the header file manually with

Code: Select all

#define INLINE __inline

User avatar
gijoe77
Posts: 196
Joined: Fri Jun 22, 2018 9:17 pm

Re: newbie questions - porting dgen (Genesis EMU) /w MIPSpro unresolved test symbol "pow

Post by gijoe77 » Tue Jul 03, 2018 11:12 am

dexter1 wrote:
Mon Jul 02, 2018 9:44 am

This error message tells you that the macro INLINE has been declared as "inline". MIPSPro however uses '__inline' as inline directive. So the './configure' script messed up and you have to edit the header file manually with

Code: Select all

#define INLINE __inline
all right very awesome! I did that and also

Code: Select all

#define inline __inline 
and that did the trick! BTW where does one find that (__inline) documented? I've read through the cc manpage and the optimization and tuning guide and I don't recall ever seeing that anywhere..

ok now - I came across a problem I've been trying to figure out for the past few days - I really can't tell whats going on here - it seems this is a 2D array declaration, and cc really doesn't like it - I have no idea if this is a GCC-ism or if its easily fixed or what's the heck to make of it. Any ideas?

edit: attached my dgen dir with cc makefiles

Code: Select all

cc-1029 cc: ERROR File = ckvp.c, Line = 90
  An expression is expected at this point.

                [STATE_ERROR] = {
                ^

here is the entire functions:

Code: Select all

static const unsigned int st[][0x102] = {
		[STATE_ERROR] = {
			[0x100] = (STATE_ERROR | ACTION_ERROR),
			[0x101] = ACTION_ERROR
		},
		[STATE_BEGIN] = {
			[' '] = STATE_BEGIN,
			['\f'] = STATE_BEGIN,
			['\n'] = STATE_BEGIN,
			['\r'] = STATE_BEGIN,
			['\t'] = STATE_BEGIN,
			['\v'] = STATE_BEGIN,
			[';'] = (STATE_ERROR | ACTION_ERROR),
			['#'] = STATE_COMMENT,
			['\''] = STATE_KEYSQ,
			['"'] = STATE_KEYDQ,
			['\\'] = STATE_KEYBS,
			['='] = (STATE_ERROR | ACTION_ERROR),
			[0x100] = (STATE_KEY | ACTION_STORE),
			[0x101] = 0
		},
		[STATE_COMMENT] = {
			['\n'] = STATE_BEGIN,
			[0x100] = STATE_COMMENT,
			[0x101] = 0
		},
		[STATE_KEY] = {
			[' '] = (STATE_BEQ | ACTION_KEY),
			['\f'] = (STATE_BEQ | ACTION_KEY),
			['\n'] = (STATE_BEQ | ACTION_KEY),
			['\r'] = (STATE_BEQ | ACTION_KEY),
			['\t'] = (STATE_BEQ | ACTION_KEY),
			['\v'] = (STATE_BEQ | ACTION_KEY),
			['\''] = STATE_KEYSQ,
			['\"'] = STATE_KEYDQ,
			[';'] = (STATE_ERROR | ACTION_ERROR),
			['='] = (STATE_AEQ | ACTION_KEY),
			['#'] = (STATE_ERROR | ACTION_ERROR),
			['\\'] = STATE_KEYBS,
			[0x100] = (STATE_KEY | ACTION_STORE),
			[0x101] = ACTION_ERROR
		},
		[STATE_KEYBS] = {
			['f'] = (STATE_KEY | ACTION_STORE_MOD),
			['n'] = (STATE_KEY | ACTION_STORE_MOD),
			['r'] = (STATE_KEY | ACTION_STORE_MOD),
			['t'] = (STATE_KEY | ACTION_STORE_MOD),
			['v'] = (STATE_KEY | ACTION_STORE_MOD),
			['x'] = STATE_KEYBSX1,
			['\n'] = STATE_KEY,
			[0x100] = (STATE_KEY | ACTION_STORE),
			[0x101] = ACTION_ERROR
		},
		[STATE_KEYBSX1] = {
			HEX_INDICES(STATE_KEYBSX2 | ACTION_STORE_HEX1),
			[0x100] = (STATE_ERROR | ACTION_ERROR),
			[0x101] = ACTION_ERROR
		},
		[STATE_KEYBSX2] = {
			HEX_INDICES(STATE_KEY | ACTION_STORE_HEX2),
			[0x100] = (STATE_ERROR | ACTION_ERROR),
			[0x101] = ACTION_ERROR
		},
		[STATE_KEYSQ] = {
			['\''] = STATE_KEY,
			[0x100] = (STATE_KEYSQ | ACTION_STORE),
			[0x101] = ACTION_ERROR
		},
		[STATE_KEYDQ] = {
			['"'] = STATE_KEY,
			['\\'] = STATE_KEYDQBS,
			[0x100] = (STATE_KEYDQ | ACTION_STORE),
			[0x101] = ACTION_ERROR
		},
		[STATE_KEYDQBS] = {
			['f'] = (STATE_KEYDQ | ACTION_STORE_MOD),
			['n'] = (STATE_KEYDQ | ACTION_STORE_MOD),
			['r'] = (STATE_KEYDQ | ACTION_STORE_MOD),
			['t'] = (STATE_KEYDQ | ACTION_STORE_MOD),
			['v'] = (STATE_KEYDQ | ACTION_STORE_MOD),
			['x'] = STATE_KEYDQBSX1,
			['\n'] = STATE_KEYDQ,
			[0x100] = (STATE_KEYDQ | ACTION_STORE),
			[0x101] = ACTION_ERROR
		},
		[STATE_KEYDQBSX1] = {
			HEX_INDICES(STATE_KEYDQBSX2 | ACTION_STORE_HEX1),
			[0x100] = (STATE_ERROR | ACTION_ERROR),
			[0x101] = ACTION_ERROR
		},
		[STATE_KEYDQBSX2] = {
			HEX_INDICES(STATE_KEYDQ | ACTION_STORE_HEX2),
			[0x100] = (STATE_ERROR | ACTION_ERROR),
			[0x101] = ACTION_ERROR
		},
		[STATE_BEQ] = {
			[' '] = STATE_BEQ,
			['\f'] = STATE_BEQ,
			['\n'] = STATE_BEQ,
			['\r'] = STATE_BEQ,
			['\t'] = STATE_BEQ,
			['\v'] = STATE_BEQ,
			['='] = STATE_AEQ,
			[0x100] = (STATE_ERROR | ACTION_ERROR),
			[0x101] = ACTION_ERROR
		},
		[STATE_AEQ] = {
			[' '] = STATE_AEQ,
			['\f'] = STATE_AEQ,
			['\n'] = STATE_AEQ,
			['\r'] = STATE_AEQ,
			['\t'] = STATE_AEQ,
			['\v'] = STATE_AEQ,
			['\''] = STATE_VALSQ,
			['\"'] = STATE_VALDQ,
			['\\'] = STATE_VALBS,
			['='] = (STATE_ERROR | ACTION_ERROR),
			['#'] = (STATE_COMMENT | ACTION_VALUE),
			[';'] = (STATE_BEGIN | ACTION_VALUE),
			[0x100] = (STATE_VALUE | ACTION_STORE),
			[0x101] = ACTION_VALUE
		},
		[STATE_VALUE] = {
			[' '] = (STATE_VALEND | ACTION_VALUE),
			['\f'] = (STATE_VALEND | ACTION_VALUE),
			['\n'] = (STATE_BEGIN | ACTION_VALUE),
			['\r'] = (STATE_VALEND | ACTION_VALUE),
			['\t'] = (STATE_VALEND | ACTION_VALUE),
			['\v'] = (STATE_VALEND | ACTION_VALUE),
			['\''] = STATE_VALSQ,
			['\"'] = STATE_VALDQ,
			[';'] = (STATE_BEGIN | ACTION_VALUE),
			['='] = (STATE_ERROR | ACTION_ERROR),
			['#'] = (STATE_COMMENT | ACTION_VALUE),
			['\\'] = STATE_VALBS,
			[0x100] = (STATE_VALUE | ACTION_STORE),
			[0x101] = ACTION_VALUE
		},
		[STATE_VALBS] = {
			['f'] = (STATE_VALUE | ACTION_STORE_MOD),
			['n'] = (STATE_VALUE | ACTION_STORE_MOD),
			['r'] = (STATE_VALUE | ACTION_STORE_MOD),
			['t'] = (STATE_VALUE | ACTION_STORE_MOD),
			['v'] = (STATE_VALUE | ACTION_STORE_MOD),
			['x'] = STATE_VALBSX1,
			['\n'] = STATE_VALUE,
			[0x100] = (STATE_VALUE | ACTION_STORE),
			[0x101] = ACTION_ERROR
		},
		[STATE_VALBSX1] = {
			HEX_INDICES(STATE_VALBSX2 | ACTION_STORE_HEX1),
			[0x100] = (STATE_ERROR | ACTION_ERROR),
			[0x101] = ACTION_ERROR
		},
		[STATE_VALBSX2] = {
			HEX_INDICES(STATE_VALUE | ACTION_STORE_HEX2),
			[0x100] = (STATE_ERROR | ACTION_ERROR),
			[0x101] = ACTION_ERROR
		},
		[STATE_VALSQ] = {
			['\''] = STATE_VALUE,
			[0x100] = (STATE_VALSQ | ACTION_STORE),
			[0x101] = ACTION_ERROR
		},
		[STATE_VALDQ] = {
			['"'] = STATE_VALUE,
			['\\'] = STATE_VALDQBS,
			[0x100] = (STATE_VALDQ | ACTION_STORE),
			[0x101] = ACTION_ERROR
		},
		[STATE_VALDQBS] = {
			['f'] = (STATE_VALDQ | ACTION_STORE_MOD),
			['n'] = (STATE_VALDQ | ACTION_STORE_MOD),
			['r'] = (STATE_VALDQ | ACTION_STORE_MOD),
			['t'] = (STATE_VALDQ | ACTION_STORE_MOD),
			['v'] = (STATE_VALDQ | ACTION_STORE_MOD),
			['x'] = STATE_VALDQBSX1,
			['\n'] = STATE_VALDQ,
			[0x100] = (STATE_VALDQ | ACTION_STORE),
			[0x101] = ACTION_ERROR
		},
		[STATE_VALDQBSX1] = {
			HEX_INDICES(STATE_VALDQBSX2 | ACTION_STORE_HEX1),
			[0x100] = (STATE_ERROR | ACTION_ERROR),
			[0x101] = ACTION_ERROR
		},
		[STATE_VALDQBSX2] = {
			HEX_INDICES(STATE_VALDQ | ACTION_STORE_HEX2),
			[0x100] = (STATE_ERROR | ACTION_ERROR),
			[0x101] = ACTION_ERROR
		},
		[STATE_VALEND] = {
			[' '] = STATE_VALEND,
			['\f'] = STATE_VALEND,
			['\n'] = STATE_BEGIN,
			['\r'] = STATE_VALEND,
			['\t'] = STATE_VALEND,
			['\v'] = STATE_VALEND,
			[';'] = STATE_BEGIN,
			['#'] = STATE_COMMENT,
			[0x100] = (STATE_ERROR | ACTION_ERROR),
			[0x101] = 0
		}
	};

necron2600
Posts: 21
Joined: Tue May 22, 2018 11:44 pm

Re: newbie questions - porting dgen (Genesis EMU) /w MIPSpro unresolved test symbol "pow

Post by necron2600 » Tue Jul 03, 2018 1:37 pm

Congrats on getting this to compile (gcc version)! I tried last year and just got a Bus error when running the binary. However, I was modifying (poorly/hackish) code than using your gcc-ish header files you used.

When I compiled your version, games have a strong red-tint.. and I have no sound. It does run ok on a 600mhz Octane though. I changed Makefile settings to use -O3 instead of -O2 hoping for a performance improvement.

If you wanted to run Genesis games on IRIX.. you could use xmame/xmess (someone posted their compiled version(s) on nekochan in the past):

./xmess.xgl genesis -ef 0 -sf 44000 -frameskip 11 -cart /storage/roms/sega-genesis/Sonic*.gen -scale 2

xmess/xmame does seem to run faster with those settings for Genesis roms (Sonic is quick and nimble), but it does not play all roms so dgen may do better.

jpstewart
Posts: 25
Joined: Wed May 23, 2018 11:19 am
Location: Southwestern Ontario, Canada

Re: newbie questions - porting dgen (Genesis EMU) /w MIPSpro unresolved test symbol "pow

Post by jpstewart » Tue Jul 03, 2018 7:29 pm

gijoe77 wrote:
Tue Jul 03, 2018 11:12 am
ok now - I came across a problem I've been trying to figure out for the past few days - I really can't tell whats going on here - it seems this is a 2D array declaration, and cc really doesn't like it - I have no idea if this is a GCC-ism or if its easily fixed or what's the heck to make of it. Any ideas?
I'm not sure off the top of my head whether that's c99 syntax or a GCC extension. But I suspect it's c99, so you'll have a whole lot more success compiling the project with c99 instead of cc. The use of 'inline' (which is IIRC a c99 extension) suggests the upstream developers were using a c99-compliant compiler (which GCC is). The use of '__inline' instead is a MIPSpro extension to the earlier standard that was superseded by c99 (again IIRC). You should be able to omit your extra #defines if you switch to c99, and there's a good chance it'll handle the array syntax too.

All the extensions are documented somewhere; search your favourite techpubs archive. It's been a while since I had to read up on all this, myself. But my rule of thumb is to compile everything with c99 instead of cc on IRIX unless I know it needs the older compiler.
SGI: Indigo, Indigo2, Octane, Origin 300
Sun: SPARCstation 20, Ultra 2, Blade 2500, T5240
HP: 9000/380, 425e, C8000
Digital: DECstation 5000/125

User avatar
gijoe77
Posts: 196
Joined: Fri Jun 22, 2018 9:17 pm

Re: newbie questions - porting dgen (Genesis EMU) /w MIPSpro unresolved test symbol "pow

Post by gijoe77 » Tue Jul 03, 2018 8:16 pm

jpstewart wrote:
Tue Jul 03, 2018 7:29 pm
But my rule of thumb is to compile everything with c99 instead of cc on IRIX unless I know it needs the older compiler.
I actually ran across a old post somewhere talking about c99 - I don't have that installed - I do have c89 installed - I'll have to look over my mipspro compiler suite and see if I somehow missed the install of c99

User avatar
gijoe77
Posts: 196
Joined: Fri Jun 22, 2018 9:17 pm

Re: newbie questions - porting dgen (Genesis EMU) /w MIPSpro unresolved test symbol "pow

Post by gijoe77 » Wed Jul 04, 2018 7:51 am

necron2600 wrote:
Tue Jul 03, 2018 1:37 pm
When I compiled your version, games have a strong red-tint.. and I have no sound.
what version of GCC are you using? I'm using 3.4.6

I fired up my tezro and the GCC versions I compiled run full speed with proper color and sound - not sure why we are seeing different results - here are two dgen binaries, give them a try and let me know if your still seeing the same issue on your octane (my octane is out of comission at the moment or else I'd test it myself) - the regular "-gcc" was compiled with regular -O2, the "-gcc-optimized" was compiled with

Code: Select all

CFLAGS = -O3 -mips4 -ffast-math -fomit-frame-pointer -fno-exceptions -funroll-loops -frerun-cse-after-loop 
CXXFLAGS = -O3 -mips4 -ffast-math -fomit-frame-pointer -fno-exceptions -fno-rtti -funroll-loops -frerun-cse-after-loop
It honestly doesn't seem to me that the optimized one runs any better or faster than the -O2 version
jpstewart wrote:
Tue Jul 03, 2018 7:29 pm
But my rule of thumb is to compile everything with c99 instead of cc on IRIX unless I know it needs the older compiler.
Ok this is starting to come into focus a bit more now. I was trying to figure out why the c99 stuff wasn't working and I was assuming MIPSpro is a c99 compliant compiler... it seems my o2 dev environment is on MIPSpro 7.3.1.3m, and it doesn't have c99. My Tezro is on 7.4.4m and has c99 - so I compiled the c99 offending modules (ckvp.o and system.o) on my Tezro, copied those back over to my o2 and was able to link it successfully with MIPSpro. The MIPSpro binary is significantly slower than the gcc version - I thought that was pretty odd (binary included). I'm not sure how much of a big deal it was that I used MIPSpro 7.4.4m to compile two object files and then copy them over to a 7.3.1.3m project and performed final linking, so I tried recompiling on my Tezro using c99 for the entire project using this configure line:

Code: Select all

CC=c99 CXX=CC ./configure --with-sdl-prefix=/usr/nekoware --enable-joystick=no --enable-threads=no  --disable-ctv --disable-hqx --disable-scale2x  --oldincludedir=/usr/nekoware/include
I was working through the usual little fixes and then I was hit with this:

Code: Select all

  CXX    save.o
cc-1100 CC: ERROR File = /usr/include/internal/stdio_core.h, Line = 260
  The indicated parameter name appears more than once.

  extern FILE   *fopen(const char * __restrict, const char * __restrict);
                                                             ^

a system include file having an error?

User avatar
jan-jaap
Posts: 73
Joined: Fri Jun 01, 2018 5:11 pm
Location: Netherlands
Contact:

Re: newbie questions - porting dgen (Genesis EMU) /w MIPSpro unresolved test symbol "pow

Post by jan-jaap » Wed Jul 04, 2018 9:48 am

While the MIPSpro C compiler supports C99, the MIPSpro C++ compiler does not.

"restrict" is a C99 keyword, the CC (C++) compiler does not know about it and tries to parse it as a variable name. This results in the error you're seeing.

You should try to enable C99 only in CFLAGS, not CXXFLAGS.

User avatar
gijoe77
Posts: 196
Joined: Fri Jun 22, 2018 9:17 pm

Re: newbie questions - porting dgen (Genesis EMU) /w MIPSpro unresolved test symbol "pow

Post by gijoe77 » Wed Jul 04, 2018 12:33 pm

jan-jaap wrote:
Wed Jul 04, 2018 9:48 am
While the MIPSpro C compiler supports C99, the MIPSpro C++ compiler does not.

"restrict" is a C99 keyword, the CC (C++) compiler does not know about it and tries to parse it as a variable name. This results in the error you're seeing.

You should try to enable C99 only in CFLAGS, not CXXFLAGS.
so you mean use cc and have "-c99" as the CFLAG? ok I gave it a go and it was still giving me problems but I think i got it all sorted.

so what I was doing was adding the below to a few .h and .cpp files because they were erroring out and it appeared "__c99" was not getting defined and <stdint.h> was complaining

Code: Select all

#ifndef __c99
#define __c99
#endif

apparently that was fine for the C headers, but when I did that to a .cpp file that's when I ran into the "restrict" problem, so I just manually declared the file types that the .cpp file was using at the top of the .cpp file (uint32_t, uint16_t, etc) and was able to link a binary.

I must say the MIPSpro binaries run like shit compared to the gcc binaries - I assumed MIPSpro would *always* create faster binaries. I even tried playing with some optimizations like -INLINE:all and saw no speed improvements.

User avatar
gijoe77
Posts: 196
Joined: Fri Jun 22, 2018 9:17 pm

Re: newbie questions - porting dgen (Genesis EMU) /w MIPSpro unresolved test symbol "pow

Post by gijoe77 » Sat Jul 14, 2018 11:45 am

ok I think I have figured out a few things. There were a few settings in the $HOME/.dgen/dgenrc that really seemed to make a difference:

Code: Select all

bool_opengl_32bit = false
bool_opengl = no
int_depth = 8
#obviously not needed but it helps to see the fps
bool_fps = true
this disables some of the opengl effects like scanlines and scale2x, but on a slower system (my o2) it really made a big difference. I went from 5fps to ~30fps on my 400mhz R12k o2. This emu runs full speed on my tezro with or without these settings (just not fullscreen mode).

edit: on my tezro I run it with opengl enabled and the scale2x effect, seems to me to be the best

The int_depth appears to need to be 8, anything else and everything is red, literally.


I included my dgenrc

I attached a mips4 binary that I run on my tezro - "dgen-mipspro-mips4"

I built it with these flags:

Code: Select all

export CC=/usr/bin/cc
export CXX=/usr/bin/CC
export CFLAGS="-c99 -diag_suppress 3649 -diag_error 1035 -woff all -Ofast=ip35 -g0 -O3 -n32 -mips4 -OPT:Olimit=0:roundoff=3:IEEE_ar=3:fast_sq=ON:div_split=ON:alias=typed -GCM:array_sp=ON -lfastm -TARG:platform=IP35:proc=r16000 -IPA"
export CXXFLAGS="-ptused -diag_suppress 3649 -woff all -Ofast=ip35 -g0 -O3 -n32 -mips4 -OPT:Olimit=0:roundoff=3:IEEE_ar=3:fast_sq=ON:div_split=ON:alias=typed -GCM:array_sp=ON -lfastm -TARG:platform=IP35:proc=r16000 -IPA"

./configure --with-sdl-prefix=/usr/nekoware --oldincludedir=/usr/nekoware/include --enable-joystick=no
I also attached a gcc4.7.1 build, seems to run pretty good, I built it with these flags:

Code: Select all

export CC=/usr/nekoware/gcc-4.7/bin/gcc
export CXX=/usr/nekoware/gcc-4.7/bin/g++
export CFLAGS="-std=gnu99 -g0 -Ofast -mips4" 
export CXXFLAGS="-g0 -Ofast -mips4"

./configure --with-sdl-prefix=/usr/nekoware --oldincludedir=/usr/nekoware/include --enable-joystick=no 
I also was playing around with "-apo" option (because why not!), the binary errors out on my Tezro, but curiously it runs the best on my o2, a good 2 fps faster than all my other builds. I included it too. Here were the flags for the o2 build:

Code: Select all

export CC=/usr/bin/cc
export CXX=/usr/bin/CC
export CFLAGS="-c99 -diag_suppress 3649 -diag_error 1035 -woff all -g0 -Ofast=ip32_10k -O3 -n32 -mips4 -OPT:Olimit=0:roundoff=3:div_split=ON:alias=typed -TARG:platform=ip32_10k:proc=r12000 -IPA -apo"
export CXXFLAGS="-ptused -diag_suppress 3649 -woff all -g0 -Ofast=ip32_10k -O3 -n32 -mips4 -OPT:Olimit=0:roundoff=3:div_split=ON:alias=typed -TARG:platform=ip32_10k:proc=r12000 -IPA -apo"

./configure --with-sdl-prefix=/usr/nekoware --oldincludedir=/usr/nekoware/include --enable-joystick=no 

I included the source dir I was building from if anyone wants to give it a spin, just gotta build with c99 flags.

I'm still learning so if anyone can give any feedback that would be awesome

Post Reply