View Single Post
Old 19 December 2023, 08:11   #46
Olaf Barthel
Registered User
 
Join Date: Aug 2010
Location: Germany
Posts: 532
Quote:
Originally Posted by Amiga1992 View Post
I did not create the NDK files, I just installed bebbo's GCC environment as instructed.

As to why 1.3, because I need 1.3 compatibility?
Yes, and it is not delivering on this promise yet

Whenever you build a program for the Amiga, the compiler's runtime library also includes startup code which allows it to be launched from the shell and the Workbench. This startup code is different for Stefan Franke's gcc if you build it for Kickstart/Workbench 1.x or Kickstart/Workbench 2.x and beyond. The startup code for Kickstart/Workbench 2.x is not necessarily compatible with older operating system versions.

But the choice of header files you can make use of is not as restrictive as the choice of startup code implied by the operating system version to build for (1.x vs 2.x/3.x). The NDK 2.0, 3.1, 3.5 and 3.9 header files are supersets of the 1.1, 1.2 and 1.3 header files. Put another way, you can build 1.x compatible software if you use the 3.1, etc. header files instead of the (currently not entirely usable) 1.3 header files provided for Stefan Franke's gcc.

You might want to give this a shot by backing up your gcc installation first and then replacing the 1.3 header files with the 3.9, etc. header files. If your code restricts itself to Kickstart/Workbench 1.x functionality, it should build just fine. There is no mechanism implemented in the 3.9, etc. header files which "converts" operating system function calls into the "proper 3.9 way", thus rendering the code generated unusable on Kickstart 1.x. These header files are designed to be 100% compatible to what came before and to let you build even old 1.x code in the same way it would have been built with the original 1.3 header files.
Olaf Barthel is offline  
 
Page generated in 0.04407 seconds with 11 queries