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.
git-svn-id: svn://10.0.0.236/trunk@77200 18797224-902f-48f8-a5cc-f745e15eee43
r = leaf, a = brendan
OS/2 M16 bringup continues - Mispelling in BIN_SUFFIX and adding LIB_SUFFIX
git-svn-id: svn://10.0.0.236/trunk@71272 18797224-902f-48f8-a5cc-f745e15eee43
r= dougt@netscape.com
OS/2 bring up continues - need an include for EMX only
git-svn-id: svn://10.0.0.236/trunk@67769 18797224-902f-48f8-a5cc-f745e15eee43
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!)
git-svn-id: svn://10.0.0.236/trunk@67514 18797224-902f-48f8-a5cc-f745e15eee43
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
git-svn-id: svn://10.0.0.236/trunk@64719 18797224-902f-48f8-a5cc-f745e15eee43
Respect [noscript] property for attributes by setting the attribute as hidden in the emitted typelib.
r=jband
git-svn-id: svn://10.0.0.236/trunk@63382 18797224-902f-48f8-a5cc-f745e15eee43
- 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
git-svn-id: svn://10.0.0.236/trunk@63355 18797224-902f-48f8-a5cc-f745e15eee43
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.
git-svn-id: svn://10.0.0.236/trunk@62056 18797224-902f-48f8-a5cc-f745e15eee43
building in the tests directories. Should not affect the build at all if
you do not have this environment variable. r=leaf.
git-svn-id: svn://10.0.0.236/trunk@61647 18797224-902f-48f8-a5cc-f745e15eee43
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
git-svn-id: svn://10.0.0.236/trunk@59042 18797224-902f-48f8-a5cc-f745e15eee43
Thanks to Henry Sobotka <sobotka@axess.com> for finding this problem and suggesting a fix.
r=mccabe
git-svn-id: svn://10.0.0.236/trunk@58077 18797224-902f-48f8-a5cc-f745e15eee43
* 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
git-svn-id: svn://10.0.0.236/trunk@57488 18797224-902f-48f8-a5cc-f745e15eee43
- 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.
git-svn-id: svn://10.0.0.236/trunk@51924 18797224-902f-48f8-a5cc-f745e15eee43