home *** CD-ROM | disk | FTP | other *** search
- Short: Example.library in 100% C (SAS/Storm/Maxon/...)
- Author: Andreas_Kleinert@t-online.de (SAS/Storm), hhummel@t-online.de (Maxon)
- Uploader: Andreas_Kleinert@t-online.de
- Type: dev/c
- Replaces: CExecLib#?.lha
-
-
- example.library V37.5 (24.1.97)
-
- An Amiga shared library in 100 % C language - coming with sources.
-
- Compiler Checklist: Compiler Support
- --------------------------
- (see README.<compiler> SAS/C 6.5x yes
- for more information) MaxonC 3.x yes
- StormC 2.x yes
- DICE 3.x (not tested)
- GCC 2.6.x ./.
- AztecC (not tested)
- vbcc (not tested)
-
- Original SAS/C and StormC version (C) 1996-97 by Andreas R. Kleinert,
- MaxonC version changes done 1996 by Helmut Hummel. All rights reserved.
- ----------------------------------------------------------------------
- This sample library intends to make Amiga shared library sources
- compileable with any available Amiga C compiler - without any
- changes to the source code.
- And maybe in the future also running under any Amiga compatible
- operating system with any CPU.
-
- The first goal seams to be easily done: nearly any noticeable compiler
- for the Amiga does support generation of libraries with special
- linker commands and pre-generated object files.
-
- But when looking into the details, one will find out, that these
- linker functionality just reduces the influence of the programmer
- on how his sources are handled, that the pre-generated object
- files just originally were done in Assembler, and that each compiler
- does define its own interface definitions and usage rules.
-
- But as a programmer, it is important to have control over the _complete_
- source code and to be able to compiler it _anywhere_ with only
- minor changes, even better without any changes.
-
- Since most Amiga system modules - noticeable Libraries, Devices and
- Resources - do have startup-modules and other larger parts completely
- written in Assembler language, the most important task for getting
- inter-compiler and operating system independant sources in my opinion
- is, to completely migrate the interfaces to C lanuguage (but different
- to AROS, for example, it is most important, to keep the sources running
- under the current 68k AmigaOS in the _first_ place).
-
- This goal basically has been reached already, still missing of
- course are some of the less Amiga-native compilers and of course
- tests with any kind "AmigaOS for PowerPC".
-
- But since Assembler is nearly as portability-hostile as BCPL _today_
- we might be quite close to the goal defined above.
-
- Translate your 68k-assembler library startup-codes smartly
- to C by simply using this source-code as an advice how to do it.
-
- For testing: install the (re)compiled example.library to LIBS: and
- start the test program - it should pop up an requester, then.
-
- If you can submit adjustments for the other compilers as mentioned
- above: feel free to send these.
- ---
- Feel free to use this source for own projects.
-
- It is allowed to be spread and distributed anywhere, as far
- as my consent is concerned.
-
- Amiga Technologies, or the current owner of the technologie,
- is allowed to always put this source on their newest
- Developer CD-ROM.
-
- Thanks and credits will always be appreciated - for example,
- you MAY, but NEED NOT:
- give me credits in your program's docs, send me keyfiles for
- your programs using the library, and so on.
- But that's simply voluntarily.
-
- _________________________________________________________
- | You may reach me the following way. |
- | Send bug-reports, money or whatever to: |
- |---------------------------------------------------------|
- | * SuperView Development & Registration * |
- | * DRAFU Development & Registration * |
- | * Image Engineer Registration Site Europe * |
- | |
- | |
- | PerSuaSiVe SoftWorX |
- | |
- | Andreas R. Kleinert |
- | Sandstrasse 1 |
- | D-57072 Siegen |
- | Germany, Europe |
- | |
- | Any snail mail to the old address will still be routed. |
- | |
- | Phone: +49-271-22869 also FAX + AM |
- | +49-271-22838 |
- | |
- | Weekdays after 17.00h. |
- | |
- | When calling via phone you may leave a message, |
- | if I'm not available - but don't expect me |
- | calling back to USA, Australia, ... since |
- | german phone rates are HIGHLY expensive. |
- |_________________________________________________________|
-
- http://home.t-online.de/home/Andreas_Kleinert/
-
- eMail:
-
- Please send binaries via ARK@COB.wwbnet.de, and keep
- them smaller than 16 KB. Please think twice before
- sending them - my postbox is not unlimited in size.
-
- - Fido Andreas Kleinert 2:2457/350.18
- - Usenet
- Andreas_Kleinert@superview.ftn.sub.org (Fido-Gate)
- Andreas_Kleinert@t-online.de (T-Online)
- ARK@COB.wwbnet.de (Z-Netz)
- ARK@amigaworld.com (AmigaWorld)
-
- - If nothing else works, try one of these public
- Fido-Usenet gateways:
-
- In Germany:
- Andreas_Kleinert@p18.f350.n2457.z2.fido.sub.org
-
- From USA or elsewhere:
- Andreas_Kleinert@p18.f350.n2457.z2.fidonet.org
-
- Please note, that the "superview.ftn.sub.org"
- domain will perhaps be renamed soon
-
-
- History:
-
- V37.5 (24.1.97) : - rewrote docs
- - added basic support for compiler independent
- register naming and SAS/C keyword replacements
- (compiler.h). Thus sources now should be easily
- adaptable for GCC as well.
-
- V37.4 (8.1.97) : - added FD file
- - added new pragma file (and dir) as
- include/pragma/example_lib.h
- which works with Aztec, Maxon, Storm,
- DICE and SAS C compilers.
- Thanks to fd2pragma and Dirk Stoecker.
- - some fixes to the readme files
- - updated eMail list
-
- V37.3 (3.1.97) : - slightly changed SCOPTIONS
- - fixed some style things (APTR and library casts)
- - changed note about library opening at L_OpenLibs()
- - now compileable with StormC 2.0 as well
- (not tested with 1.1) - see readme file for StormC
- - added project file for StormC 2.0, smakefile still
- present - select, which one you'd like to use
-
- V37.2 (12.12.96) : - applied some more changes and fixes
- (-> suggested by Helmut Hummel)
- - added icons
- (-> from Helmut Hummel)
-
- V37.1 (4.12.96) : - bumped version to V37
- - added MaxonC 3.x version by applying changes
- to the SAS/C sources and adding Maxon
- specific make and configuration files
- (-> all done by Helmut Hummel, see Readme.MAXON)
- - added StormC support
- - yet missing: DICE, Aztec, GNU. Who does it ?
-
- V1.4 (30.11.96) : - added SAS/C specific Ctrl-C disabling code
- - made some workarounds compiler sensitive
- - redone all with SAS/C V6.57
- - 944 Bytes ;-)
-
- V1.3 (13.9.96) : - when starting lib as executable, -1 must be returned
- - now caching SysBase
- - added some comments, where changes should not
- be applied
- - added note about sharing library bases
- - documented and modified sample function,
- so that correct a0/a1/d0/d1 and a6 usage becomes
- more obviously and verbose
- - still 940 bytes ;-)
-
- V1.2 (5.9.96) : - fixed some things resulting out of a
- discussion in Z-Netz
-
- V1.1 (1.9.96) : - small changes in style
- (only bumped versions of changed modules):
- o moved "examplebase.h" to include/example/
- (so also adjusted LibInit.c, StartUp.c
- and SCOPTIONS for reflecting that)
- o SampleFuncs.h did contain wrong prototype
- (did not matter, since only used for
- ULONG function table within StartUp.c)
- o explicitely __aligned ROMTag structure
-
- V1.0 (14.8.96) : - first release
-
-
- ---
- All mentioned trademarks are subjects to their owners.
-
-
- ============================= Archive contents =============================
-
- Original Packed Ratio Date Time Name
- -------- ------- ----- --------- -------- -------------
- 1720 433 74.8% 11-Dec-96 15:48:02 c_lib.info
- 1720 433 74.8% 11-Dec-96 15:39:54 +bin.info
- 5248 3480 33.6% 05-Dec-96 11:46:22 +TestExampleLib
- 450 230 48.8% 11-Dec-96 15:49:34 +TestExampleLib.info
- 944 591 37.3% 25-Jan-97 11:07:50 +example.library
- 1201 683 43.1% 25-Jan-97 10:21:22 +Readme.MAXON
- 274 191 30.2% 25-Jan-97 10:21:18 +Readme.SAS
- 915 480 47.5% 25-Jan-97 10:21:12 +Readme.STORM
- 1720 433 74.8% 11-Dec-96 15:39:56 +source.info
- 125 117 6.4% 08-Jan-97 19:09:50 +example.fd
- 425 247 41.8% 05-Dec-96 11:45:24 +example_protos.h
- 289 185 35.9% 05-Dec-96 11:44:58 +example.h
- 654 319 51.2% 11-Dec-96 15:00:22 +examplebase.h
- 477 247 48.2% 08-Jan-97 19:10:26 +example_lib.h
- 311 207 33.4% 05-Dec-96 11:45:38 +example_pragmas.h
- 330 207 37.2% 05-Dec-96 11:45:50 +example.h
- 1720 433 74.8% 11-Dec-96 15:39:42 +lib_source.info
- 2844 941 66.9% 25-Jan-97 10:51:48 +compiler.h
- 944 591 37.3% 25-Jan-97 11:07:48 +example.library
- 3167 1195 62.2% 25-Jan-97 11:07:18 +LibInit.c
- 888 542 38.9% 25-Jan-97 11:07:42 +LibInit.o
- 25 25 0.0% 05-Dec-96 12:07:46 +make_storm.bat
- 419 164 60.8% 11-Dec-96 15:31:14 +makefile.MAXON
- 347 232 33.1% 05-Dec-96 11:36:28 +makefile.MAXON.info
- 381 232 39.1% 05-Dec-96 11:36:28 +mcpp.SESSION
- 1329 687 48.3% 25-Jan-97 10:26:48 +SampleFuncs.c
- 335 229 31.6% 25-Jan-97 10:26:08 +SampleFuncs.h
- 216 194 10.1% 25-Jan-97 11:07:48 +SampleFuncs.o
- 128 105 17.9% 03-Jan-97 15:29:36 +SCOPTIONS
- 395 148 62.5% 05-Dec-96 11:36:28 +smakefile
- 95 85 10.5% 05-Dec-96 11:36:28 +smakefile.wth
- 4335 1343 69.0% 25-Jan-97 10:27:16 +StartUp.c
- 1120 598 46.6% 25-Jan-97 11:07:38 +StartUp.o
- 1757 595 66.1% 03-Jan-97 15:44:56 +storm_project.¶
- 624 350 43.9% 03-Jan-97 15:44:56 +storm_project.¶.info
- 622 269 56.7% 03-Jan-97 15:44:30 +storm_smakefile
- 119 100 15.9% 05-Dec-96 11:36:28 +SCOPTIONS
- 256 105 58.9% 05-Dec-96 11:36:28 +smakefile
- 5248 3480 33.6% 05-Dec-96 11:46:22 +TestExampleLib
- 673 374 44.4% 05-Dec-96 11:46:12 +TestExampleLib.c
- 835 394 52.8% 05-Dec-96 11:36:28 +TestExampleLib.info
- 300 242 19.3% 05-Dec-96 11:46:20 +TestExampleLib.o
- 9452 3483 63.1% 25-Jan-97 11:21:28 +ReadMe_First
- -------- ------- ----- --------- --------
- 55377 25619 53.7% 26-Jan-97 12:29:46 43 files
-