1 ----------------------------------------------------------
2 codesets.library - Library for handling different codesets
3 ----------------------------------------------------------
8 2009-03-25 Jens Langner <Jens.Langner@light-speed.de>
10 * libinit.c: introduced a small fix to get the file compiled with the fixed
12 * include: fixed the SDI headers.
13 * Makefile: adapted makefile to directly specify the target CPU for the AROS
14 build. If you now want to compile AROS you have to explicitly set
15 "OS=aros-i386" or "OS=aros-ppc", for example.
16 * version.h: added x86_64 CPU type to allow compilation of codesets.library
17 for x86_64 AROS target.
18 * libinit.c: added RTF_EXTENDED and library revision number for the AROS
21 2009-03-24 Pavel Fedin <sonic.amiga@gmail.com>
23 * codesets.c, convertUTF.c, util.c, lib_protos.h : implemented complete UTF32
25 * libcodesets: added portable autoinit code
26 * developer/examples/autoopen.c: added autoopen test
28 2009-03-23 Thore Böckelmann <tboeckel@gmx.de>
30 * developer/examples/Convert.c: added the usual information header.
31 * developer/examples/Convert.c: made the demo program compilable for OS4.
32 * codesets.c: fixed various warnings about wrong types. Also removed all TAB
33 characters I have spotted. Please note that we are using space characters
36 2009-03-21 Jens Langner <Jens.Langner@light-speed.de>
38 * misc: minor adaptions
39 * include: updated the SDI headers to their latest versions and incorporated
40 the latest changes from Pavel.
42 2009-03-20 Pavel Fedin <sonic.amiga@gmail.com>
44 * misc: many fixes in various places, code merge, got rid of many #ifdef's. AROS
45 version can be built or cross-built outside of AROS build system. Fixed "demo1"
46 program to work under MorphOS
48 2009-01-28 Thore Böckelmann <tboeckel@gmx.de>
50 * developer/examples/demo1.c: replaced use of the custom class Textinput.mcc
51 by a simple Text object, as this class is not installed on all systems and
52 may also have caused bug #2539755. However, the custom TextEditor.mcc class
53 is still required, but this one is correctly checked if it should be
56 2009-01-27 Thore Böckelmann <tboeckel@gmx.de>
58 * developer/examples/demo1.c: added some NULL checks to avoid stricmp() to be
59 called with NULL pointers. This should fix bug #2539755.
61 2009-01-10 Staf Verhaegen <staf.verhaegen@skynet.be>
63 * codesets.conf (AROS): Update version, date and copyright info
65 #### 6.8 RELEASE #########################################################
67 2009-01-04 Jens Langner <Jens.Langner@light-speed.de>
69 * misc: final 6.8 release preparations.
71 2009-01-02 Ilkka Lehtoranta <ilkleht@isoveli.org>
73 * codesets.c: MorphOS code was using LocaleBase before it was initialised
74 and using library under MorphOS 2.0 or newer would always crash. Locale
75 library is now opened locally to make sure we have correct version (V51).
76 This fixes bug #2459558.
77 * base64.c: avoid using now obsolete AllocDosObject() in MorphOS.
79 #### 6.7 RELEASE #########################################################
81 2008-12-20 Jens Langner <Jens.Langner@light-speed.de>
83 * misc: final 6.7 release preparations.
85 2008-12-19 Thore Böckelmann <tboeckel@gmx.de>
87 * codesets.c, codepages.c: separated the constant code pages from the actual
88 code to create smaller source files.
90 2008-12-19 Jens Langner <Jens.Langner@light-speed.de>
92 * codesets.c: minor cosmetic changes to make the new MorphOS functionality
93 fit better into our current environment.
95 2008-12-18 Ilkka Lehtoranta <ilkleht@isoveli.org>
97 * codesets.c: query and add currently active code page to codesets if
100 2008-12-16 Thore Böckelmann <tboeckel@gmx.de>
102 * init.c: replaced the obsolete CreatePool() and DeletePool() calls with
103 AllocSysObject() and FreeSysObject() call for the OS4 build. Also restored
104 the old MEMF_ANY memory flags for the other platforms. For OS4 MEMF_SHARED
105 will be used as before.
107 2008-12-16 Jens Langner <Jens.Langner@light-speed.de>
109 * codesets.c: replaced the obsolete ExAll() usage with a proper ExamineDir()
110 usage for the OS4 build.
111 * base64.c: replaced the obsolete ExamineFH() use with ExamineObject() for
113 * codesets.c: added an internal list of well-known codeset aliases. This
114 alias list is used whenever CodesetsFind() is used. It allows applications
115 to supply an alias name of a codeset and see it directly matched to the
118 2008-12-14 Thore Böckelmann <tboeckel@gmx.de>
120 * codesets.c: when replacing UTF8 chars by ASCII look-alike replacements the
121 destination buffer size was never increased but the index for the new
122 characters was correctly increased. This caused random memory accesses after
123 a few replacements which usually went unnoticed when only very replacements
124 happened. On OS3 this went completely unnoticed.
126 2008-12-12 Thore Böckelmann <tboeckel@gmx.de>
128 * codesets.c: massive code cleanup. Replaced all TAB characters by spaces and
129 changed lots of implicit result checks to explicit ones.
130 * utils.c: added the usual ENTER/RETURN/LEAVE macro calls.
131 * utils.c: the custom implementations of AllocVecPooled() and FreeVecPooled()
132 can now be enabled and disabled by single #define's. By default OS4 and
133 MorphOS will use their own kernel supplied versions.
135 2008-12-08 Thore Böckelmann <tboeckel@gmx.de>
137 * utils.c: added a size check to reallocVecPooled() just in case the new
138 allocation is smaller than the old one.
139 * codesets.c: added missing RETURN() macro call.
140 * codesets.c: added more missing macro calls and cleaned up some code passages.
141 * init.c: replaced MEMF_ANY by MEMF_SHARED for OS4.
143 2008-08-16 Staf Verhaegen <staf.verhaegen@skynet.be>
145 * codesets.conf (AROS): Update version and copyright
146 * mmakefile.src (AROS): Don't let codesets.library depend on libcodesets.a
148 2008-07-29 Jens Langner <Jens.Langner@light-speed.de>
150 * developer/docs/codesets.doc: fixed the documentation on the Hook uses
151 as an incorrect hook prototype was used throughout the examples.
153 #### 6.6 RELEASE #########################################################
155 2008-07-06 Jens Langner <Jens.Langner@light-speed.de>
157 * misc: final release preparations
159 2008-07-05 Jens Langner <Jens.Langner@light-speed.de>
161 * developer/examples: replaced the multiple makefiles by a single
162 multiplatform makefile.
164 2008-07-04 Jens Langner <Jens.Langner@light-speed.de>
166 * codesets.c: renamed the new mapping functionality to the more untuitive
167 "CSA_MapForeignToASCII" term.
169 2008-07-03 Thore Böckelmann <tboeckel@gmx.de>
171 * codesets.c: fixed some copy'n'paste bugs in the lookup table.
172 * codesets.c: in case one of the replacement functions returned an UTF8
173 sequence the wrong string was used in the next loop, causing an endless
176 2008-07-03 Jens Langner <Jens.Langner@light-speed.de>
178 * codesets.c: added official ISO replacements for the currency symbols in
179 case the CSA_MapUnknownToASCII attribute is used.
180 * codesets.c: fixed a bug in the newly reworked replacement function which
181 didn't work as expected and always replace unknown chars with '?' instead
182 of replacing it with the looklike char sequence.
184 2008-07-02 Thore Böckelmann <tboeckel@gmx.de>
186 * codesets.c: calling the replacement hook will be skipped now if the
187 internal table yielded a suitable replacement.
188 * codesets.c: removed that silly restriction of 10 replacement tries again.
189 It is up to the developer to make sure that no endless loop happens and
190 that the replacement hook handles all data correctly and as documented.
191 * codesets.c, codesets.doc: the internal and the external replacement via
192 hooks are now handled completely independently, however, the hook will be
193 called after the internal replacement and thus can override the internal
194 replacement. Furthermore if either function returns an UTF8 sequence this
195 sequence will be passed again to these functions as long as no suitable
196 code is found in the active codeset. 10 retries will be done at most to
198 * codesets.c, codesets.doc: renamed the attribute CSA_MapUnknownToAscii to
199 CSA_MapUnknownToASCII. Also implemented CSA_MapUnknownHook, which will call
200 the specified hook function in case no internal replacement for an unknown
201 UTF8 sequence could be found. This way an application can provide its own
202 additional "to ASCII" remapping.
204 2008-07-02 Jens Langner <Jens.Langner@light-speed.de>
206 * codesets.c, codesets.doc: added the new CSA_MapUnknownToAscii attribute to
207 our autodocs and added its use in the CodesetsConvertStrA() function
210 2008-07-01 Thore Böckelmann <tboeckel@gmx.de>
212 * codesets.c: added the Latin Extended-A section to the lookup table.
213 * codesets.c: implemented the binary search in the new replacement lookup
216 2008-07-01 Jens Langner <Jens.Langner@light-speed.de>
218 * codesets.c: renamed replacement function to mapUTF8toAscii() which more
219 describes what this function does. In addition the new attribute is now
220 named CSA_MapUnknownToAscii. In addition the new function contains a first
221 experimental utf8map lookup table which we can use in future instead of
222 the long switch/case statements.
224 2008-06-30 Jens Langner <Jens.Langner@light-speed.de>
226 * codesets.c: fixed the PRIME character replacement.
228 2008-06-29 Jens Langner <Jens.Langner@light-speed.de>
230 * codesets.c: added more replacement UTF8 replaceent characters to the internal
233 2008-06-28 Jens Langner <Jens.Langner@light-speed.de>
235 * codesets.c: slightly updated our char replacement list - still more to come.
237 2008-06-27 Thore Böckelmann <tboeckel@gmx.de>
239 * codesets.c: changed the source pointer type of getReplacementUTF8Char() from
240 "char *" to "unsigned char *". For OS4 this should make no difference, since
241 the char type defaults to unsigned with GCC 4. For OS3 this makes a huge
242 difference, because for GCC 2 char is still signed and some comparisons will
243 be "const false" or even outside the valid value range in switch() statements
245 * libinit.c, codesets.c: removed some warnings about uninitialized variables
246 and "void *" pointer arithmetic.
248 2008-06-26 Jens Langner <Jens.Langner@light-speed.de>
250 * codesets.c, misc: started implemented feature request #1879875 by
251 introducing a new CSA_ReplaceUnknown attribute for CodesetsConvertStr()
252 and CodesetsUTF8ToStr(). When this attribute is set to TRUE, some
253 well-known UTF8 sequences which can't be directly mapped to a certain
254 destination codeset will be automatically replaced by common 7bit
255 character representations. This should make some UTF8 encoded
256 text passages a bit more readable in case they contain punctation
257 and similar generic characters which can't be directly mapped. Please
258 note, however, that this is still work in progress and that the
259 replacement list should be enhanced by having a look what chars can be
261 * misc: updated the build environment to take a Makefile.dep dependency
264 2008-06-24 Jens Langner <Jens.Langner@light-speed.de>
266 * misc: fixed broken build and renamed the gluecode lib directory name.
268 2008-06-24 Ilkka Lehtoranta <ilkleht@isoveli.org>
270 * libcodesets.a: added MorphOS glue lib to developers dir.
271 * init.c: we must use localised Strnicmp() string comparison routine to
272 support supplement characters properly.
273 * init.c: added localised chech written in local charset (MorphOS uses
274 localised language names).
276 2008-04-15 Thore Böckelmann <tboeckel@gmx.de>
278 * developer/examples/vastubs.c, developer/examples/makefile.os3: added
279 vararg stubs for OS3 to be able to link against clib2.
281 2007-12-26 Ilkka Lehtoranta <ilkleht@isoveli.org>
283 * src/init.c: the system default charset is now identified by using
284 GetKeymapCodepage() function on MorphOS 2.0.
286 #### 6.5 RELEASE #########################################################
288 2007-12-18 Jens Langner <Jens.Langner@light-speed.de>
290 * misc: preparations for upcoming v6.5 release.
291 * docs: added the missing documentation about the CodesetsFreeVecPooled()
292 function and corrected the examples accordingly. This should fix
295 2007-11-25 Matthias Rustler <mrustler@gmx.de>
297 * misc: ported sources to AROS. The final build is currently only
298 available with the AROS project itself and this is still work in
301 2007-09-05 Thore Böckelmann <tboeckel@gmx.de>
303 * codesets.c: fixed a signedness warning.
304 * codesets.c: changed all CSA_SourceLen occurences to default to the string
305 length of the given CSA_Source. Additionally CSA_Source is checked to be a
306 valid pointer. A NULL pointer will result in a length of zero.
307 * codesets.doc: updated the docs to reflect the meaning of CSA_SourceLen.
309 2007-08-20 Jens Langner <Jens.Langner@light-speed.de>
311 * libinit.c: adapted library initialization interface to match the
312 changes done in e.g. TextEditor.mcc and which should mainly fix stack
313 related issues on MorphOS systems.
315 #### 6.4 RELEASE #########################################################
317 2007-07-17 Thore Böckelmann <tboeckel@gmx.de>
319 * libinit.c: we use inline assembler for defining a new generic
320 stackswap_call() function that will be used to surround the initBase()
321 call by StackSwap() uses. This inline assembler should guarantee that
322 the function will not be inlined by the compiler and work properly on
323 all different supported platforms.
325 2007-07-04 Thore Böckelmann <tboeckel@gmx.de>
327 * libinit.c: the StackSwapStruct is now placed on the stack instead of
328 allocating it in one block with the new stack itself, as that caused instant
331 2007-07-04 Jens Langner <Jens.Langner@light-speed.de>
333 * codesets.c: CSA_ErrPtr can now be specified in the CodesetsUTF8ToStrA()
334 function to get informed about the amount of not convertable characters
335 found during the conversion. This fullfils feature request #1724860.
336 * libinit.c: initBase() will now be called in LibInit() again as this is
337 the smoother variant. But a StackSwap() construct protects us from stack
338 overruns on OS3/MOS machines.
340 2007-07-01 Jens Langner <Jens.Langner@light-speed.de>
342 * libinit.c: reworked library manager interface to use inline asm-based obtain
343 and release functions according to the latest output of idltool 52.7
344 * codesets.doc: applied patch for CodesetsUTF8ToStrA() function kindly provided
347 2007-06-13 Thore Böckelmann <tboeckel@gmx.de>
349 * debug.c: unified the _DPRINTF() functions for all platforms.
351 2007-06-10 Jens Langner <Jens.Langner@light-speed.de>
353 * #?/Makefile: minor update/optimization on Makefiles.
354 * libinit.c: partly reintroduced the initialization of codesets.library in
355 LibOpen() via a seperate init locking variable due to occuring stack issues
357 * debug.c: removed <proto/intuition.h> as it isn't required at all.
359 2007-06-09 Jens Langner <Jens.Langner@light-speed.de>
361 * libinit.c, misc: reworked library init code to call the initBase/freeBase()
362 function in the respective LibInit/LibExpunge() function instead and just deal
363 with the open counter and the late expunge flag in the LibOpen/LibClose()
364 functions. This should make the library initialization more clear and
365 hopefully also less error prone.
367 2007-06-05 Thore Böckelmann <tboeckel@gmx.de>
369 * debug.c: fixed the variable parsing and the final output of the debug flags.
370 * developer/examples/makefile.os4: removed the -pipe option from the command
371 line as the OS4 native GCC does not support this yet.
373 2007-05-24 Thore Böckelmann <tboeckel@gmx.de>
375 * libinit.c: the open counter is now bump as first action in LibOpen(), right
376 before calling baseInit(). baseInit() may scan some directories which may
377 take an unpredictable amount of time. While this happens the system may
378 invoke LibExpunge() which will immediately remove the library again from the
379 system, becasue the open counter is still zero. This should fix the random
380 crashes that some people were experiencing. Maybe a semaphore protected
381 LibExpunge() could do the same...
383 #### 6.3 RELEASE #########################################################
385 2007-01-27 Jens Langner <Jens.Langner@light-speed.de>
387 * Makefile: replaced the single target makefiles with a general Makefile
388 that contains HOST and TARGET os identification code via 'uname'.
389 This way we can easily compile codesets.library with a single makefile
390 for all our platforms.
391 * misc: bumped the year to 2007
393 2007-01-11 Ilkka Lehtoranta <ilkleht@isoveli.org>
395 * base64.c: fixed bug #1608004 where b64 encoder never null terminated
396 the output string (when encoding to a string buffer).
398 2006-12-04 Jens Langner <Jens.Langner@light-speed.de>
400 * codesets.c: added alternative names to all ISO based codeset names as
401 some applications might want to query for these abbreviations instead.
402 * misc: fixed all still pending compiler warnings
404 2006-09-20 Jens Langner <Jens.Langner@light-speed.de>
406 * makefile.#?: added -Wwrite-string warning option to let the compiler
407 more easily find const/non-const issues.
408 * include/SDI_#?: update the sdi headers to latest versions.
409 * include/interfaces: fixed minor bug #1560515 where the interface
410 definition was slightly wrong.
412 2006-09-06 Jens Langner <Jens.Langner@light-speed.de>
414 * developer/include/inline: added a VBCC inline version of our current
417 #### 6.2 RELEASE #########################################################
419 2006-05-20 Jens Langner <Jens.Langner@light-speed.de>
421 * misc: reworked the whole API of the CodesetsFindBestA() function which
422 was more or less unused until today. The function now only accepts a
423 variable tagitem list. All former fixed arguments have to be set via
424 TagItems now. This should make the function more flexible for the
425 future. In addition, I added the cyrillic codeset autodetection code
426 kindly provided by Alexey Ivanov. codesets.library can now be used
427 together with the new CSA_CodesetsFamily attribute to specify the
428 family to which against the supplied text should be matched. This will
429 also allow to add more different codeset families in future to the
430 autodetection. Revised the autodocs and includes of CodesetsFindBest()
433 2006-04-11 Jens Langner <Jens.Langner@light-speed.de>
435 * Makefile.os4, libinit.c: reworked the OS4 library interface to
436 cleanly compile with newlib instead of clib2. Future OS4 version will
437 be built for newlib only as that is the standard runtime library for
440 2006-04-05 Jens Langner <Jens.Langner@light-speed.de>
442 * libinit.c: slightly reworked the library init/expunge code to act a
443 bit more robust and don't use any semaphore during the library expunge
444 phase which in fact should cure the crashing on MorphOS during
445 expunging of the library.
447 #### 6.1 RELEASE #########################################################
449 2006-03-27 Jens Langner <Jens.Langner@light-speed.de>
451 * codesets.c: replaced the underscore char '_' use for an unknown char
452 during an UTF-8 conversion by a questionmark '?' as this might be
453 a more proper replacement and it doesn't trigger YAM's text
454 highlighting routines.
455 * codesets.c: slightly reworked the ReadTable() function. Reworked
456 the CodesetsUTF8ToStrA() function to correctly take respect of the
457 CSA_SourceLen attribute as documented. Previously it always
458 converted until strlen(src). Now in case the SourceLen is specified
459 it will stop converting the UTF8 string.
460 * libinit.c, base.h: moved the internal charset table initialization
461 routine from the LibInit() function to the first call of the
462 LibOpen(). This in fact should fix the various strange crash bugs
463 reported since the release of 6.0.
464 * init.c: changed the library base definitions to use "extern" and
465 also define "__UtilityBase" to please constraints of clib2.
467 2006-03-14 Jens Langner <Jens.Langner@light-speed.de>
469 * misc: switched from CVS to the new SVN (subversion) services of
470 sf.net. Should should definitly increase our project's flexibility.
472 2006-02-28 Jens Langner <Jens.Langner@light-speed.de>
474 * utils.c: removed the unnecessary snprintf()/sprintf() stuff as it
475 is not required anymore.
476 * codesets.c: fixed some minor compiler warnings and added some more
478 * include/SDI_lib.h: updated to latest SDI_lib.h, which fixes some
479 compiler issues with GCC3+ under OS3.
481 #### 6.0 RELEASE #########################################################
483 2006-02-25 Jens Langner <Jens.Langner@light-speed.de>
485 * misc: final 6.0 release preparations.
486 * codesets.doc: updated the autodocs according to our latest changes
487 sind the open-source release of the library. Added some common
488 examples and also restructed it.
489 * codesets.c: changed all "struct MinList *" related functions to use
490 the newly defined "struct codesetList *" instead. This new type
491 instead of the public MinList type keeps those functions more
493 * codesets.c: changed CodesetsListDelete() to be a tagitem receiving
494 function. This should make it much more usable in future.
495 * codesets.c: modified all CodesetsListX() functions to return a
496 boolean value to signal if an operating succeeded or not.
497 * libraries/codesets.h: changed all tag items to carry the shortcut
498 CSA instead of the long CODESETSA_XXXX string. This should make the
499 use of codesets.library more intuitive.
501 2006-02-21 Jens Langner <Jens.Langner@light-speed.de>
503 * codesets.c: changed the scandir function to use ExAll() instead
504 of using the FileInfoBlock structures. This should be slightly
505 faster and more consistent.
506 * codesets.c: replaced the previously added internal private
507 codeset list management functions with a more transparent
508 approach using separate functions (CodesetsListCreateA(),
509 CodesetsListDelete(), etc.). Now a user may generate an
510 unlimited number of own private codesets lists allowing him
511 to load additional codesets on runtime from either a directory,
512 file or already existing codesets.
514 2006-02-15 Jens Langner <Jens.Langner@light-speed.de>
516 * codesets.c: added a new internal "findPrivateCodesetList()"
517 function and made CodesetsFindA()/CodesetsFindBestA() aware of
518 the newly added CODESETSA_RefTask attribute which will allow a
519 user to directly specify the referencing task for searching for
520 a private codesets list. This in fact may only be used in
521 multithreaded applications where functions like CodesetsFindA()
522 are used from a different task/thread than the OpenLibrary()
523 of codesets.library was done.
525 2006-02-14 Jens Langner <Jens.Langner@light-speed.de>
527 * misc: implemented a private codeset management facility. Now
528 codeset.library will automatically scan an eventually existing
529 PROGDIR:Charsets and if present will load those codesets in a
530 per-task private list of codesets which will be added to the
531 global list of supported codesets as well.
532 * misc: implemented new CodesetsConvertStrA() library function which
533 will allow to specify a source and destination codeset as well as
534 a source string. The source string is then automatically converted
535 to the supplied destination string. This in turn should give a
536 plenty transparent method to convert strings from one codeset
538 * added the UTF-8 codeset to the internal list of supported codesets.
539 However, as the UTF-8 codeset is a very central codeset it is
540 treated special in such case that if UTF8Create() is used with a
541 string that is already encoded in UTF8, false will be returned.
543 2005-12-16 Jens Langner <Jens.Langner@light-speed.de>
545 * init.c: changed the system default charset identification routines
546 to use the GetDiskFontCtrl() function on AmigaOS4 to find out
547 the currently active system charset. In addition, if this
548 identification fails it will try to find out the charset by falling
549 back to checking ENV:CHARSET, then using ENV:LANGUAGE to parse ther
550 internal language<>codeset list and if this also fails it will
551 directly use locale.library to find out the language to check
552 our own internal fallback tables for default charset<>language
554 * codesets.c: if running on AmigaOS4, codesets.library will now
555 automatically query diskfont.library for the existing codesets
556 and also load all existing mapping tables accordingly. It will
557 also check if all internally known codesets are already present
558 and if one of it was not loaded through diskfont.library, the
559 internal mapping tables will be used as well.
560 * debug.c,h: added a whole debugging output system adapted and
561 relicensed from the YAM project. Now an environment variable
562 can be usd (ENV:codesets.library.debug) to place debugging
563 tags and allow to differniate which output should be displayed
564 during runtime and which one not. This should hopefully make
565 the debugging of the library much more easier.
567 2005-12-14 Jens Langner <Jens.Langner@light-speed.de>
569 * codesets.c, codesets_table.h: updated internal codesets
570 implementations in accordance to the latest implementation in
571 SimpleMail. Now codesets.library also supports the Amiga-1251
573 * misc: did some general housekeeping code cleanups.
575 2005-12-11 Jens Langner <Jens.Langner@light-speed.de>
577 * developer/examples: ported the demo1.c application to all our
579 * include/SDI_*.h: update SDI headers to latest versions.
581 2005-12-08 Jens Langner <Jens.Langner@light-speed.de>
583 * bumped version to v6 as the GCC/OS4 porting may introduce some
584 oddities which we might eliminate during the v6 release cycle.
585 Please note that this first OS3/GCC and OS4 porting effort may
586 still contain some oddities here and there as large portions are
587 still untested. However, we may have some time to fix step by step
588 until we can prepare a v6.0 release.
589 * got rid of all common compiler warnings which should make bug
590 hunting much more easier.
591 * restructed sources to use othe latest SDI-headers for easily
592 maintaining the sources for all three platforms without
593 introducing heaps to #ifdef's.
594 * dropped all "register" attribute usages as modern compilers like
595 GCC normally know where to put variables on registers and where not
596 so these attributes are anyway not necessary.
597 * dropped smakefile and all 68k ASM parts as we are moving towards
598 building with GCC for all targets.
599 * restructed the build environment of codesets.library to use
600 GCC for all three major platforms (OS3/OS4/MOS). Also dropped
601 the SAS/C build process. Sorry, but SAS/C is really way too old
602 and too buggy to still be considered a sensible compiler and
603 maintaining codesets.library for the very same compiler should
604 eliminate some problems in future, too.
605 * partly applied OS4 porting patch supplied by Alexandre Balaban.
607 2005-11-23 Alfonso Ranieri <alforan@tin.it>
609 * initial checkin of LGPLed sources