libIDL 0.8.14: * Fix build error in configure.in. * Remove CPP_STDINC cruft from configure.in. * Enable silent build rules. libIDL 0.8.13: * Clean up some warnings from sparse/gcc. * Makefile.am: Put local includes first. libIDL 0.8.12: * Fix the build with bison 2.4 libIDL 0.8.10: * Fix the build with glib 2.15 * Ignore "command-line" in addition to "command line" when handling output from cpp (#474641, Sebastian Bober) * Win32 portability work. (Tor) libIDL 0.8.9: * Add missing braces (Dominique Quatravaux) libIDL 0.8.8: * Don't ship the broken spec file any more (Brian Pepple) libIDL 0.8.7: * Clean up some dead code (Pascal Terjan) * Fix compiler warning (Kjartan) * Don't use deprecated function g_basename() (Kjartan) * Handle IDLN_WIDE_CHAR, IDLN_WIDE_STRING and IDLN_SRCFILE in IDL_tree_free()/IDL_tree_free_real() (Mark) * Wind32 fixes (Tor Lillqvist) * spec file fixes (Jules Colding) libIDL 0.8.6: * Support for building on Win32 (Tor Lillqvist) libIDL 0.8.5: * use modern automake rather than 1.4 (James Henstridge) * Fix a couple of warnings from sparse (Kjartan Maraas) * Fix parsing of 'const octet' (Jules Colding) libIDL 0.8.4: * Fix aclocal quotation issue (Tomasz K³oczko) libIDL 0.8.3: * Add a -uninstalled.pc file (Laca) * Clobber LC_ALL before invoking pre-compiler (Fernando Herrera) libIDL 0.8.2: * Support new versions of flex (Jody Goldberg) libIDL 0.8.1: * add '_' prefix escaped keyword support (Nick Lewycky) * cygwin build support (Masahiro Sakai) * build fixes (Mark McLoughlin, Thomas Vander Stichele) * autoconf upgrade (Havoc Pennington) * BSD portability fix (Jacob Berkman) libIDL 0.8.0: stable ABI/API fozen release * link against glib (Mark) * build fixes (Jacob) libIDL 0.7.4: * remove deprecated glib functions (Shivram U) libIDL 0.7.3: * dist the spec file (Mark) * gcc 3.0 workaround (Fabrice) Version 0.7.2 + workaround for FreeBSD (Mark) + update spec file (Ross Golder) + fix --version and --cflags output (Abel Cheung) + update build (Mark) Version 0.7.1 ... Ancient History: * Status as of 4/24/99 Version 0.6.8 Released *** Important Changes in 0.6.8 from 0.6.4 which may affect code *** - Inhibited nodes are no longer recursively removed, to retain substructure. Once a node is removed, subnodes are not touched (the previous behavior I consider a bug, since if you pragma inhibit everything inside gets messed up, making traversal there impossible). ** New Features for libIDL 0.6.8 from 0.6.4 - New parse flag: IDLF_INHIBIT_INCLUDES: this causes libIDL to implicitly assume the following #pragma inhibits around every included file: #pragma inhibit push #include "file.idl" #pragma inhibit pop With this parse flag enabled, the same inhibit effect is achieved without needing #pragmas: #include "file.idl" - New parse flag: IDLF_INHIBIT_TAG_ONLY: you can opt not to have inhibited nodes removed during parse time. They can be removed later by calling IDL_tree_remove_inhibits, which is now a public function. ** Bug Fixes for libIDL 0.6.8 from 0.6.4 - Multiple calls to IDL_parse_filename are now fixed when one of them fails. As a result, we now require flex as a side effect to generate the scanner. You can compile without having flex however, since the pre-generated scanner is included in the source distribution. * Status as of 3/23/99 Version 0.6.4 Released *** Important Changes in 0.6.4 from 0.6.0 which may affect code *** - Some fields were added to the end of the IDL node structure, and IDL_tree_func_data. Most code shouldn't be affected if you use pointers, unless you've hardcoded the struct. A recompile may be necessary if you have hardcoded structs like this. ** New Features for libIDL 0.6.4 from 0.6.0 - Unresolved forward declarations generate warnings now, not errors (unless IDLF_PEDANTIC is specified). These warnings can be turned off altogether if the IDLF_IGNORE_FORWARDS parse flag is specified. - IDL_tree_to_IDL improvements and fixes. - New function IDL_tree_to_IDL_string works exactly like IDL_tree_to_IDL but returns a GString instead. - More error and warning message improvements. - XPIDL support is more complete, and is nearing usefulness. - IDLF_CODEFRAGS and IDLF_PROPERTIES parse flags added to support individual enabling without full XPIDL syntax. If you want the native extension, you might as well just enable XPIDL support since you're probably going to lose portability anyway. - Compatibility with standard lex. Although standard lex can be used, flex seems to create better and less buggy scanners. - Miscellaneous fixes the the build process from various people. If you run into problems with undefined symbols in the parser or lexer, you might try rm -f stamp-parser and rebuild (hopefully this will be fixed in the future sometime, but it's low priority). * Status as of 2/22/99 Version 0.6.0 Released *** Important Changes in 0.6.0 from 0.5.0 which may affect code *** - All memory allocated which is received from libIDL must be freed with glib free routines, i.e. g_free. For instance the value from IDL_ns_ident_to_qstring should be freed with g_free. - IDL_tree_func now passes an IDL_tree_func_data struct pointer instead of the just the tree node. This gives you the current node, the up path of the traversal, and the real up path (from the node's up pointer), which is useful since the paths can be different in the case of a predefined identifier referenced in a different place. Be sure to update your callbacks for 0.6. - Do not rely on IDLN_* enumeration ordering. An alternative method for using jumptables is mentioned in the IDL header file. ** New Features for libIDL 0.6.0 - Overhauled versioning system, with support for libIDL-config, an AM_PATH_LIBIDL Automake macro, and C version defines. - New functions, including node properties and namespace functions. IDL_parse_filename_with_input was added to facilitate porting to platforms which don't have a readily available CPP (e.g. Win32). - XPIDL support is now in place (optionally activated with a parse flag). - Additional support for node suppression with #pragma inhibit. - Support for Win32. - Many bug fixes. * Status as of 8/17/98 ** Just about everything is working now, except for a few small ambiguity cases which may not get detected, but should be easily avoidable anyway. The changeover to using glib is there, and hash tables are used extensively now so that the O order has been reduced. Repository IDs are also generate properly now, along with the three pragams, and there is also a declaration spec which can tag certain interfaces to not generate tree data. Error messages have also been improved significantly. The docs are out of date and need revamping. * Status as of 7/18/98 ** Most needed features are working to read CORBA v2.2 IDL. See the file BUGS to see what else needs to be done; at this point things like speed are low priority, however a changeover to using glib and more efficient data structures like sorted heaps or hashes might be in order down the line. I'm not sure how useful libIDL might be apart from its use in an IDL compiler, but the docs still need work. Andrew Veliath