Emit NS_NO_VTABLE in xpidl-generated interface files. NS_NO_VTABLE is defined in nsISupportsUtils.h, and on windows generates __declspec(novtable).
This saves us some code space, and may also be a runtime win.
Initial version of this fix courtesy Adam Lock <adamlock@netscape.com>.
r=jband
a=beard
NOTE this change will cause the world to recompile.
Fix 8833 - Allow typedefs in const declarations.
Fix several warnings.
Remove a huge chunk of #if 0 code in in xpidl_typelib.c (that had accumulated subsequent changes!)
Added .ho suffix for host objects.
Added rules for HOST_PROGRAM, HOST_LIBRARY & HOST_SIMPLE_PROGRAMS.
When cross-compiling, use the host_ versions of nsinstall, xpidl & xpidl_link and install host targets under $(DIST)/host .
Bug #11890
- Add a compile-time check requiring non-scriptable (because they're native) attributes to be marked [noscript] within [scriptable] interfaces. This mirrors an existing check for methods, and may save some hair-pulling for script authors. Partial fix to 11454.
- Emit a sample implementation (#ifdef 0) into the generated .h file that component authors can copy and use as the start of their implementation. Code courtesy jband.
r=jband, r=mccabe
Fixed the recursive makes into GtkMozilla so that they will report build failures like the other dirs.
Removed LIBS_NEQ_INSTALL variable and associated ifdefs.
9716 unterminated %{ escape causes endless loop
Clean up memory handling and other aspects of xpidl. Fixes
11058 bad free in xpidl
13464 memory leak in xpidl
Store doc comments in IDL-processing phase, and emit them into generated header files. Fixes
24734 xpidl should emit doc comments
Add error towards fixing 24965, and fix 13100 'xpidl should error on multiple inheritance'
r=jband
* fix 20833 - generate numbers of appropriate form in header output mode for short, long, signed or unsigned IDL consts. Thanks to bratell@lysator.liu.se for finding this and confirming the fix.
* fix 11199, remove .h output file on failure - partially generated files caused trouble, as they had the proper timestamp to fool 'make' next time around. Punted on mac.
* Restore Mac hack to fix \r to \n, requested by Beard.
* Make 'const decl must be short or long' warning into error for typelib mode. This mirrors an existing error in header mode.
* Fix up various aspects of xpidl, including:
- Move shared functions from xpidl_idl.c and xpidl.c 'main' module to new xpidl_util.c.
- Recast nodehandler-table-per-backend as 'backend' struct, including broken-out prolog and epilog functions. Replaces overloaded IDLN_NONE node handler that did prolog code on non-null tree, epilog on null. Move backends to new API.
- Rename a few structs more logically.
- Add a new list to track files included from the base .idl file, for generated #includes in output header file. This replaces using the 'already-included' hashtable for this purpose, and lets us generate just the minimal set of #includes, in the order they occured in the .h file.
- Various fixes to quiet xpidl warnings.
- Change main() to only accept one input file from the command line, because the basename code assumes this, and multiple files aren't needed by our make system.
r=jband
- Fix to bug 17013; have xpidl produce an error when encountering a native declaration without an associated (c++-name).
- remove many DEBUG_shaver lines.
- provide xpidl_tree_warning as a fallback for libIDL versions for which IDL_tree warning is bad, and NULL-proof our message callback function. Also remove a 1k buffer limit from the message callback function.
- make enum in IDL files an error. We don't support it, and love consts instead.
- Fix to 12684; don't allow [retval] parameter + return or multiple [retval] parameters.
- Fix to 13390; make non-{short,long} const a fatal error.