GCC and ixemul.library
What tools are current for developing or porting applications for classic Amigas using gcc and ixemul.library? Is there something to replace the Geek Gadgets compilation of old?
The latest GG snapshot at back2roots.org is from 1998, but I notice that the latest ixemul.library at amiga.sf.net is from May this year and still expects a GG: assign, so GG isn't completely dead and forgotten. Some other components may also have updated ports in places, but I don't know how well they work together and hunting them down individually would be a chore. |
Quote:
http://sun.hasenbraten.de/vbcc/ It has an ixemul/libnix POSIX library that's been updated fairly recently. If you need anything fixed send Frank Wille (Vasm/PhxAss author) an email ... http://aminet.net/dev/c/vbcc_PosixLib.lha Vbcc keeps getting better. It's very usable and easy to get started unlike the GCC mega installation. Many people still use SASC as well. VBCC Good: easy install, portable, supported, small, above average code Bad: slow, missing some tools GCC 2.95.3 Good: good code, portable, fairly fast Bad: install hell, no support, not very compatible with newer GCC GCC 3.4.0 Good: more modern GCC support, portable, average code Bad: install hell, no support, worse code than 2.95.3 SAS/C (Lattice C) Good: fast, lots of tools (good debugger), polished, above average code Bad: not portable, no support, not easy to use, old |
Quote:
In fact -noixemul prevents using of ixemul.library, which is recommended when you can afford it. With ixemul.library your programs become an alien on any AmigaOS system. It will behave like a Unix program and uses all sorts of strange assignments for simulate such a system. When possible, you should invest some extra effort to make a real Amiga port. When you absolutely need ixemul, because of the high complexity of the port, make sure not to use any hacks after the last official ixemul V48. Quote:
Quote:
|
Thank you both for your insights.
|
Hiya,
I'm currently coding a port using gcc v2.95.3 and if I use Libnix it crashes so I have to use ixemul.library, haven't found out why yet :( Maybe I should give vbcc a try instead.... |
Dear all,
I am trying to compile thttpd (from Aminet) for my Amiga 1200 on Cygwin, I am facing a compatibility problem between "sys/timer.h" that define "struct timezone {...}" as and the expected "time_t timezone" by thttpd. Could anyone help me or point me towards useful ressources? I have been looking on the Web and found several pages but I am a newbie and no page really helped me. Best! PS. I am on Windows 7, using Cywin, gcc 3.4.4, installed includes and all found at http://www.zerohero.se/cross/os3.html |
Hiya,
Have you tried AmiDevCPP yet? It's a pre-configured setup so it's a lot easier to do stuff. |
Quote:
|
@NovaCoder and Minuous
No, haven't tried yet because I need Cygwin to work and the install warns me that installing AmiDevC++ will change/corrupt (it is unclear to me ;)) my installed Cygwin... and, yes, using GCC gives a headache but it's cool :cool I'll keep you posted on my findings! Cheers! |
Hi all!
I managed to compile PHP v4.2.3 on Cywin for m68k-amigaos :-) I am putting together a Web page to detail all the steps but, before putting that one on-line and uploading the compiled version into Aminet, I want to make sure that all the PHP tests run... Cheers! |
Cool well done.
Something I tried to setup (and failed!) was to use C++ Eclipse IDE on Windows using mingw. If someone could get that working it would be a great way to write 68k for classics using gcc. This thread should really be moved to the coding section BTW, way too boring for most people to read :) |
Quote:
@Photon/CFOU!: If this is not suitable, please feel free to move it to another sub-forum. :) |
Quote:
- Eclipse with Cygwin GCC - Eclipse CDT with Cygwin GCC: automatic discovery of symbols and paths Quote:
Cheers! |
Yep I tried those pages but still failed to get it working (lack of brain power).
;) |
Same here! ;)
Still cannot figure out how to tell Eclipse to use m68k-amigaos-gcc... but will keep trying! |
|
Hi NovaCoder!
Great catch! Indeed it works on a simple code, let's try now on complicated stuff... One thing though that I (currently) do not understand and how does Eclipse magically generate the makefiles... Cheers! Tygre |
Here are my benchmark results for different compilers - using the dhrystone 2.1 benchnmark from aminet (more benchmarks may follow):
1. gcc-4.0.4 -O3 -fomit-frame-pointer -m68000 2. gcc-2.9.3 -O3 -fomit-frame-pointer -m68000 3. vbcc-0.8j -O=65535 4. sas/c 6.58 opt optgo nostkchk 5. gcc-4.0.4 -Os -fomit-frame-pointer -m68000 6. gcc-2.9.3 -Os -fomit-frame-pointer -m68000 7. vbcc-0.9e -O=65535 read more EDIT: "gcc-3.4.6 -O3 -fomit-frame-pointer -m68000" is on par with gcc-2.9.3! |
Quote:
1. d-g404o 238095 2. d-g293o 172413 3. d-vbcc08j 172413 4. d-sas 133333 5. d-g404s 109289 6. d-vbcc 100000 7. d-g293s 85836 Position number 6 and 7 swapped for me but results on a 68000 are likely much different. I might have to look into what caused the performance loss with vbcc. I would also like to see 68020 results as optimizing for the 16 bit 68000 is much different than the 32 bit 68020+. It would be helpful to see if the newer version of vbcc suffers from the same slow down when compiled for the 68020. Your web page "The recent vbcc 0.9e claims to be the best compiler." is not how I interpret this old test results page (tests probably done with an old version of vbcc) referring to PPC code generation of which vbcc has a better backend. Edit: It looks like there are minor differences in the 2 vbcc binaries until the function at offset $3e0 for both where the old binary has two 32x32=32 multiply inlines and the new one has seven 32x32=32 multiply inlines. This looks like a bug which needs to be looked into. The vbcc 0.9e code generation is very similar to the old vbcc although I notice a few small improvements otherwise. It may help to have d-vbcc and d-vbcc08j compiled with debug symbols as well as the exact original source code. We should contact Frank Wille if he doesn't notice this thread soon. |
I can more or less confirm the results using a Dhrystone 2.1 port from our vbcc testsuite (the source bebbo provided doesn't compile - missing "timer").
I still had gcc 2.95.3 executables and vbcc 0.8 or 0.7x from 2001, which printed the following results on my 68060/50MHz: Code:
gcc 2.95.3: 71428 |
All times are GMT +2. The time now is 18:08. |
Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.