Commit Graph

2015 Commits

Author SHA1 Message Date
Robert Shearman 4cd506b8fd widl: The lval member of var_t is essentially a duplicate of eval->cval.
- Generate eval's for enums that don't explicitly have one. This means
that enums written in header files won't match exactly what has been put
into the IDL file, but the numeric constat is the same and MIDL does a
similar thing.
- Replace constant lookups with eval->cval instead of lval.
2006-03-31 17:35:04 +02:00
Robert Shearman 4edcf2de35 widl: De-reference parameters' types before deciding what to do with them.
De-reference parameters' types before deciding what to do with them.
Also dereference string parameters since they are immediately
dispatched to write_string_tfs when the string attribute is detected
without any further processing done on them.
2006-03-31 17:34:48 +02:00
Robert Shearman 4b5386e2cd widl: Write pointer calls for all non-basetype pointer parameters to functions. 2006-03-31 17:34:38 +02:00
Robert Shearman 91dbc5ae28 widl: Write definitions for MIDL_user_allocate and MIDL_user_free in the header.
Write definitions for MIDL_user_allocate and MIDL_user_free in the
header when writing out RPC interfaces to prevent compile failures in
the generated client/server code.
2006-03-31 17:33:28 +02:00
Robert Shearman 071dfb188a widl: Write out the pre- and postamble for RPC interfaces with no methods. 2006-03-31 17:32:38 +02:00
Robert Shearman b38cd7ff5f widl: Output interface defined guard for rpc interfaces too. 2006-03-31 17:32:09 +02:00
Robert Shearman 97d6f7c444 widl: NdrFcShort should be written out instead of NdrShort. 2006-03-31 17:31:44 +02:00
Robert Shearman bed9fdec8d widl: Output the numeric equivalent of FC_END, not the string FC_END itself. 2006-03-31 17:31:31 +02:00
Robert Shearman 3ec771a20f widl: Support references in type_memsize. 2006-03-31 17:31:18 +02:00
Robert Shearman 3db71d9d9c widl: Only output code for non-object interfaces in client and server.
Only output code for non-object interfaces in client and server
generation and convert the while loops into for loops.
2006-03-31 17:31:04 +02:00
Eric Kohl 12d4d9c229 widl: Implement support for ref pointers to strings. 2006-03-30 16:24:35 +02:00
Detlef Riekenberg 5ca18a1135 tools: Remove wineconf. 2006-03-30 12:44:30 +02:00
Eric Kohl 1a5c6ef47d widl: Implement support for pointers to base types. 2006-03-28 14:43:28 +02:00
Vitaly Lipatov 5072fd440a wineshelllink: Remove quotes from Path=<workdir>. 2006-03-28 12:22:59 +02:00
Jonathan Ernst 1e408c954c wine.inf: Add some more fake dlls to the system directory. 2006-03-28 12:22:47 +02:00
Vitaly Lipatov 94dcabecd8 wine.inf: Add some dll stub dll to the system directory. 2006-03-27 11:31:45 +02:00
Paul Vriens a589eb27ac wine.inf: Add SystemRoot. 2006-03-27 11:31:06 +02:00
Eric Kohl 6ad46cc961 widl: Fix base type alignments.
Generate aligned marshal and unmarshal code for base type arguments
and return values.
2006-03-23 17:06:25 +01:00
Eric Kohl 1550938a50 widl: Fix format string size calculation.
- Move proc format string size calculation from client.c and server.c
  to typegen.c.
- Implement type format string size calculation.
2006-03-23 17:06:10 +01:00
Mike McCormack c3c112de23 wine.inf: Add a shdocvw.dll stub dll to the system directory. 2006-03-22 21:36:29 +01:00
Francois Gouget 0c02e4671e Update win32.api to match the current sources. 2006-03-21 20:03:10 +01:00
Huw Davies 130a0e4f41 fonts: Use the EBLC table to retrieve the ascent of the bitmap font. 2006-03-21 20:01:55 +01:00
Alexandre Julliard ef4440ad1b sfnt2fnt: Remove output file on failure. 2006-03-21 16:19:07 +01:00
Alexandre Julliard d6df0ac717 winewrapper: Remove explicit call to wineprefixcreate.
Now that wineprefixcreate detects the build tree automatically, the
standard behavior of starting it from ntdll should work fine.
2006-03-21 12:01:12 +01:00
Alexandre Julliard d404fb5bf8 wine.inf: Use the new fake dlls mechanism to create placeholders for
applications instead of using symlinks.
2006-03-21 11:40:11 +01:00
Alexandre Julliard c33fbc0df8 wineprefixcreate: Autodetect the running from build tree case. 2006-03-18 19:41:33 +01:00
Eric Kohl 623f142945 widl: Do not generate code that initializes a binding handle. 2006-03-18 18:06:41 +01:00
Eric Kohl c7174f9fff widl: Fix proc offset calculation.
A void return type is represented by a FC_END/FC_PAD sequence in the
proc format string. Increment the proc offset by two when a function
returns void.
2006-03-18 18:06:27 +01:00
Eric Kohl 919d14c577 widl: 'unsigned char' and 'byte' are must be distinct types. 2006-03-18 18:06:14 +01:00
Alexandre Julliard 870d490eec winegcc: Look for libraries in subdirs of the library path too.
This means that -lfoo will match the library 'foo/libfoo.def' in
addition to just 'libfoo.def'. This allows supporting the Wine source
layout without adding a gazillion path entries.
2006-03-16 16:28:04 +01:00
Alexandre Julliard b47f0593c8 wineprefixcreate: Fixed datadir path. Added dependency on relpath. 2006-03-15 09:54:19 +01:00
Pierre d'Herbemont b1be724511 wineprefixcreate: Make path searching relative. 2006-03-14 18:58:40 +01:00
Jan Zerebecki f2c8a537d7 wine.inf: Increase the DirectX version to that of the latest 9.0c . 2006-03-14 17:49:40 +01:00
Paul Vriens b25474ffd6 wine.inf: Add RegisteredOwner and Org also to WindowsNT branch. 2006-03-13 13:31:13 +01:00
Mike McCormack 69dcbaaf93 wrc: Don't use identifiers starting yy*, they're reserved for flex. 2006-03-06 17:50:52 +01:00
Mike McCormack af9288d591 wine.inf: Add a default RelayExclude. 2006-03-02 11:58:07 +01:00
Alexandre Julliard 8f08fe6c0d wrc: Integer ids can be used for control labels instead of strings. 2006-02-28 15:27:25 +01:00
Detlef Riekenberg 8a8a54877e wine.inf: Add printing section for local port monitor. 2006-02-28 12:40:39 +01:00
Francois Gouget be6d891f0d advpack: Prepare the unicodification of advpack.dll.
All functions that manipulate strings should have an Ansi and a
Unicode variant.
Forward the unqualified dll entry points to the Ansi variant for
backward compatibility.
We're not allowed to use unqualified entry points in Wine, so change
RegInstall() calls to RegInstallA().
Update win32.api.
2006-02-27 15:57:33 +01:00
Francois Gouget 8851c4fc4e crypt32: Add CryptQueryObject() prototype.
Update win32.api.
2006-02-24 21:09:36 +01:00
Francois Gouget dcb90635f8 winsock: Tweak getnameinfo() prototype.
Tweak the getnameinfo() prototype to better match the Windows PSDK and
the GetNameInfoW() prototype.
Update win32.api.
2006-02-24 21:09:19 +01:00
Francois Gouget 4c2f22f7c6 sfc: Updates.
Add a missing sfc.dll prototype.
Add an sfc.dll section to win32.api for winapi_check.
2006-02-24 21:08:42 +01:00
Kevin Koltzau a8b209752f widl: Fix 64bit warning. 2006-02-22 22:17:25 +01:00
Alexandre Julliard 35842ca717 tools: Added 'relpath' tool to compute relative Unix paths. 2006-02-17 11:42:17 +01:00
Robert Shearman 90938d6b6c winebuild: Correction for manpage.
The behaviour for winebuild is to prefer main over WinMain, not the
other way around.
2006-02-16 19:32:35 +01:00
Mike Frysinger 5392844392 Add support for 'make install DESTDIR'. 2006-02-14 13:51:38 +01:00
Robert Shearman a42f59dfe8 tools/c2man.pl: Generate correct html. 2006-02-14 11:34:23 +01:00
Francois Gouget 90aaf6ba8f include: Add missing LANG_xxx and SUBLANG_xxx constants. 2006-02-14 10:42:12 +01:00
Robert Shearman 59dd416fd2 widl: Fix a typo when removing TYPEFLAG_FDUAL. 2006-02-10 14:51:39 +01:00
Robert Shearman 91c35be7cc widl: Write out more TYPEFLAGs and add more type library-specific
attributes to the parser.
2006-02-09 12:10:08 +01:00
Robert Shearman 649d5d0e8e widl: Write out TYPEFLAG_FDUAL, TYPEFLAG_FDISPATCHABLE and
TYPEFLAG_FOLEAUTOMATION typelib flags.
2006-02-09 12:09:44 +01:00
Francois Gouget 8ff21ff88f winapi: Update win32.api to match the current sources. 2006-02-07 21:17:32 +01:00
Dmitry Timoshkov ae6187455e wine.inf: Add a default handler for https to the registry. 2006-02-07 21:17:17 +01:00
Robert Shearman 59830d69b4 widl: Fix some warnings caused by making attributes const. 2006-02-07 16:25:10 +01:00
Alexandre Julliard 91da64c9ca widl: Remove '\n' from yyerror calls. 2006-02-07 12:36:20 +01:00
Robert Shearman 4e40675032 widl: Make 'attrs' field of type_t const. 2006-02-07 12:32:57 +01:00
Robert Shearman e9ec85a01a widl: Remove unused 'rname' field of type_t. 2006-02-07 12:32:42 +01:00
Robert Shearman 55df46ab85 widl: Merge marshall_arguments and unmarshall_arguments into one
function to remove the large amount of duplicated code.
2006-02-07 12:32:24 +01:00
Robert Shearman f1bb0a474b widl: Yet more const attributes. 2006-02-07 12:31:43 +01:00
Robert Shearman 511463f3a5 widl: More const attributes. 2006-02-07 12:31:17 +01:00
Eric Kohl 417a61fa61 widl: Fix proc format string for explicit binding handles. 2006-02-07 12:30:55 +01:00
Robert Shearman 8d7fa4c013 widl: Write out the correct FC type if the structure has pointers. 2006-02-07 12:30:23 +01:00
Robert Shearman 4c8370f97e widl: Split pointer writing into a separate function. 2006-02-07 12:30:07 +01:00
Robert Shearman 9f0c45b7e7 widl: Fix pointer detection for structures with embedded arrays.
Pointers have priority over every other type, so move the detection to
the top of get_struct_type.
Fall through from the embedded array detection to the embedded
structure handling code so that conformance, variance and pointer
presence is inherited from the array's base type.
2006-02-07 12:29:39 +01:00
Robert Shearman 864d5a38c5 widl: Increment the type format string when writing the pointer
layouts.
Write out pointer layouts for structures.
2006-02-07 12:28:33 +01:00
Robert Shearman 0d22347f44 widl: Make all pointer fields of expr_t structure constant. 2006-02-07 12:28:20 +01:00
Robert Millan 55b74483de configure: For sys/mount.h, sys/statfs.h and sys/vfs.h, always include
them if present.
2006-02-06 21:53:27 +01:00
Eric Pouech 3c0e5eed83 A few fixes for pointer qualifiers (const, volatile) warnings. 2006-02-06 13:10:18 +01:00
Robert Shearman ccf509b4c6 widl: Add architecture for generating pointer layouts. 2006-02-03 18:51:17 +01:00
Alexandre Julliard 19b89289ee wine.inf: Make FourCC codes uppercase again until we can figure out
why lowercase doesn't work right.
2006-02-03 18:47:49 +01:00
Eric Kohl dd57b45aaa widl: The 'string' attribute can also be used with unsigned characters. 2006-02-03 18:47:06 +01:00
Dmitry Timoshkov de60d1e3bc wine.inf: Change fcc type of builtin video codecs in system.ini to be
equal to ICTYPE_VIDEO.
2006-02-03 12:29:09 +01:00
Alexandre Julliard a488901256 widl: Some cosmetic fixes in generated code. 2006-02-02 13:23:28 +01:00
Alexandre Julliard 0f2a642d70 widl: Make sure the token variables are always initialized properly. 2006-02-02 13:22:47 +01:00
Stefan Leichter 9f100c15dc wine.inf: Add HKLM,%CurrentVersionNT%,"CurrentType". 2006-02-02 13:20:36 +01:00
Dmitry Timoshkov f03c86a273 wine.inf: Remove %1 from [http|htmlfile]\shell\open\command. 2006-02-01 12:32:21 +01:00
Robert Shearman 0d4e1bc336 widl: Fix a SEGV when using arrays declared using a pointer and
attributes, instead of array indices (reported by Eric Kohl).
2006-02-01 12:29:23 +01:00
Robert Shearman c418226093 widl: Changes to output for better debugability.
Write the offset and the absolute address for referenced types.
Write the current offset out when writing a pointer type.
2006-01-31 18:08:24 +01:00
Robert Shearman 1478ac85a9 widl: Clean up conformant struct handling.
Make the writing of conformant structures take advantage of the new
type format string offset handling.
2006-01-31 18:08:03 +01:00
Robert Shearman 5764d5518d widl: Fix the writing of arrays with size specified in the array
expression instead of the size_is expression.
2006-01-31 18:07:45 +01:00
Robert Shearman 06ab21b668 widl: Improve the current type offset passing.
Change the functions to take the current type offset and return the
start of the type written.
2006-01-31 18:07:20 +01:00
Robert Shearman ac5a4393d5 widl: The stack/structure offset in correlation descriptors should be a short. 2006-01-31 18:06:53 +01:00
Robert Shearman 513996fde4 widl: Do constant folding for the sizeof operator on simple types. 2006-01-31 18:06:25 +01:00
Robert Shearman 0a2c5b73fd widl: Support client/server generation for explicit_handle interfaces
(based on a patch by Eric Kohl).
2006-01-31 18:06:17 +01:00
Robert Shearman c08e00a9ec widl: Implement constant conformance. 2006-01-31 18:05:43 +01:00
Robert Shearman 35d1347cfa widl: Fix the type offset used in marshaling/unmarshaling.
Make a copy of type_offset so that it only gets incremented once per
function, instead of twice.
2006-01-31 18:05:33 +01:00
Robert Shearman 2330d73f4a widl: Implement the writing of defaultvalue constants for enum values. 2006-01-31 18:04:20 +01:00
Robert Shearman cf1ccfb712 widl: Use a macro to write out FC types, along with the current offset
which is useful for debugging.
2006-01-31 12:25:54 +01:00
Robert Shearman 2ee6f722e0 widl: Pass the current type format string offset through all type
writing functions.
2006-01-31 12:24:54 +01:00
Robert Shearman a6909fa5e8 widl: Eliminate redundant callback routines.
Add a function for comparing expressions and use it to eliminate
redundant callback functions.
2006-01-31 12:24:11 +01:00
Robert Shearman b59c995c89 widl: Implement callback conformance. 2006-01-27 12:53:32 +01:00
Alexandre Julliard f8f34d9fab wine.inf: Don't overwrite registry keys that users may want to change. 2006-01-25 13:19:43 +01:00
Mike Frysinger ff6b466563 winegcc: Pass -m32/-m64 along to the linker. 2006-01-25 13:15:34 +01:00
Dmitry Timoshkov 57a579ffcd Make more arrays const. 2006-01-24 14:00:32 +01:00
Alexandre Julliard 2d3bd3e45a wineprefixcreate: Only create links for files that don't exist.
Make a copy instead of a link if the original file is writable.
2006-01-24 13:43:33 +01:00
Alexandre Julliard 433bbdf08a winebuild: Get rid of the default ignored symbols list. 2006-01-24 12:29:31 +01:00
Robert Shearman 2d4edc3b3d widl: Generate type format strings for conformant varying arrays. 2006-01-24 11:14:59 +01:00
Robert Shearman 2eedb11f22 widl: Fix detection of varying arrays.
Correctly identify structures containing varying arrays as conformant
varying structures.
2006-01-24 11:14:38 +01:00
Robert Shearman b4fb36c363 widl: Fix detection of conformant varying structs.
Rename has_conformant_array to has_conformance, add a new variable
has_variance and map has_conformant_string to has_conformance and
has_variance.
A conformant varying struct should be returned if just variance is
present and even if no pointers are present.
2006-01-24 11:14:15 +01:00
Robert Shearman 9f76c0cfee widl: Support generation of conformant structure type strings. 2006-01-24 11:13:49 +01:00
Robert Shearman 90032b2da6 widl: Conformant arrays have a size of 0.
Conformant arrays should cause a size of 0 to be returned from
type_memsize.
2006-01-24 11:13:30 +01:00
Robert Shearman 73023890c5 widl: Support correlation descriptors in structures. 2006-01-24 11:12:54 +01:00
Robert Shearman e9c771f98b widl: Error if an array is in the middle of a structure.
Fix detection of conformant arrays and output an error if the array
isn't at the end of the structure.
2006-01-24 11:12:20 +01:00
Robert Shearman 362d42e082 widl: Fix the detection of conformant and pointer structs. 2006-01-24 11:11:56 +01:00
Robert Shearman 8f1ed85891 widl: Simple structs and complex pointers.
Write out type format string for simple structs and for pointers to
non-simple types.
2006-01-24 11:11:29 +01:00
Robert Shearman 584c89bd8f widl: Add framework for generating struct and union type format strings. 2006-01-24 11:10:59 +01:00
Robert Shearman 263a75d47a widl: Support different types of simple pointers.
Support pointer types in unmarshall_arguments.
2006-01-24 11:10:42 +01:00
Robert Shearman 69551fdf74 widl: Generate NdrNonConformatString* calls for non-conformant string types. 2006-01-24 11:10:08 +01:00
Robert Shearman a6c6e1d032 widl: Add functions for detecting array and string types.
Add functions for detecting array and string types and use these in
both writing type format strings and when marshalling and
unmarshalling parameters.
2006-01-24 11:09:53 +01:00
Robert Shearman 793bc8de69 widl: Support some more complicated conformance / variance expressions. 2006-01-24 11:09:03 +01:00
Robert Shearman 4a7c04791d widl: Start implementing writing of conformance/variance descriptors. 2006-01-24 11:08:20 +01:00
Robert Shearman 21a90850cb widl: Strings.
Write out type format strings for string types.
2006-01-24 11:07:39 +01:00
Robert Shearman d07589e32f widl: Arrays.
Write out type format strings for arrays, except for the missing
generic functionality of conformance and variance descriptors.
2006-01-24 11:07:13 +01:00
Robert Shearman fce01e6920 widl: Simplify write_typeformatstring_type.
Simplify handling of types in write_typeformatstring_type by only
writing non-pointer types out when ptr_level is 0. Add stubs for
functions that will write out the type format string for strings and
arrays.
2006-01-24 11:06:32 +01:00
Robert Shearman 479be2e6af widl: Don't use recursion for write_typeformatstring_type.
Since a var_t can now be passed in, rename to
write_typeformatstring_var. Simplifies the code.
2006-01-24 11:06:10 +01:00
Robert Shearman 6d76ad87c6 widl: Don't use recursion to implement write_procformatstring_type.
Renamed to write_procformatstring_var now since we can pass a var_t in
again. This results in simpler code.
2006-01-24 11:05:51 +01:00
Alexandre Julliard 58273ea9c6 server: More generic mechanism for adding typecasts in server traces.
Added casts for size_t values.
2006-01-23 16:40:57 +01:00
Alexandre Julliard 3f0a473fb7 winebuild: Always import atof, the MS version is different. 2006-01-23 11:27:04 +01:00
Marcus Meissner 1ed3ca0883 winebuild: Output a .note.GNU-stack section to allow nonexecutable stack. 2006-01-21 19:23:36 +01:00
Alexandre Julliard 76ece8530a winebuild: Moved offset definitions to relay.c since they are only
needed there.
Hardcoded a couple of TEB offsets to support cross-compilation.
2006-01-20 19:45:57 +01:00
Alexandre Julliard 4ce433d826 ntdll: Move the %gs register to the ntdll_thread_regs structure. 2006-01-20 16:54:11 +01:00
Hans Leidekker 1017bcc448 winedump: Fix compilation of generated source.
Include config.h in the .c file, not in the .h file.
2006-01-18 17:33:10 +01:00
Mike McCormack 48cbfd7e4c make_ctests: Declare WIN32_LEAN_AND_MEAN when compiling testlist.c. 2006-01-16 20:38:53 +01:00
Robert Shearman ba0f0761f0 widl: Generate static sizing information for fixed size structs.
Don't generate FC_*_BASETYPE proc and type format strings for
non-basetype fields/params.
2006-01-06 21:06:24 +01:00
Rolf Kalbermatter b7142fbb86 winapi: msvcmaker adaption to new directory structure.
Fix some issues with MSVC project file generation after recent
directory restructuring.
2006-01-06 12:19:11 +01:00
Rolf Kalbermatter 8d5db3ee04 winapi: Add the loader directory to the paths to exclude.
There is nothing in there anymore that would need to be done for
winapi tools.
2006-01-06 12:18:10 +01:00
Rolf Kalbermatter 2db7d11dc2 winapi: Cleanup some unused use clauses. 2006-01-06 12:17:46 +01:00
Alexandre Julliard 1e96455094 Remove YY_NO defines that cause warnings. 2006-01-05 12:20:05 +01:00
Vitaliy Margolen a48e3eb494 wine.inf: Add a few keys to HKLM\Hardware. 2006-01-04 15:27:22 +01:00
Hans Leidekker 578e86a683 winapi: Remove some exceptions now that DLL separation is complete. 2006-01-04 14:49:22 +01:00
Alexandre Julliard 88991e2a4e Support building flex files without debug support. 2006-01-03 15:11:46 +01:00
Alexandre Julliard 0ae2c69c7a Added some flex options to avoid compiler warnings.
Moved options from the Makefile into the source.
2006-01-03 12:16:05 +01:00
Francois Gouget 19d8a272d3 winapi: Update win32.api to match the current sources. 2006-01-03 12:10:23 +01:00
Robert Shearman 8494f57d17 widl: Output sizing information for arrays in the generated marshaling code. 2005-12-31 13:19:13 +01:00
Robert Shearman ae94c2207f widl: Export the bracket adding functionality of do_write_expr outside
of header.c.
2005-12-31 13:18:49 +01:00
Robert Shearman f56737579e widl: Fix merge conflict. 2005-12-26 13:22:46 +01:00
Robert Shearman 93775adf75 widl: Follow type references in procformat and typeformat string generation. 2005-12-26 13:22:32 +01:00
Robert Shearman 7fb311b49f widl: Handle marshaling and unmarshaling structures. 2005-12-26 13:22:05 +01:00
Robert Shearman 4acabfd719 widl: Out parameters.
Marshall and unmarshall out parameters for servers and clients
respectively.
Write out array components for declared local variables in generated
server code.
2005-12-26 13:21:38 +01:00
Robert Shearman e0dd7b6ed8 widl: Remove some duplication.
Remove some duplicated code by calling an improved
get_required_buffer_size.
Add some more newlines in the generated code to separate separate
stages.
Calculate the buffer size of [out] arguments in generated server code.
Fix the direction passed into unmarshall_arguments.
2005-12-26 13:20:59 +01:00
Robert Shearman 7e5cf94f13 widl: Pass a state into marshall_arguments and unmarshall_arguments to
decide which parameters should be considered based on their direction.
2005-12-26 13:14:28 +01:00
Robert Shearman 24d1b71d91 widl: Generate marshaling and unmarshaling statements for arrays. 2005-12-26 13:13:41 +01:00
Robert Shearman 25116ae360 widl: Treat variables with array indices the same as pointers. 2005-12-26 13:13:04 +01:00
Robert Shearman c0f4605b82 widl: Advance the type format string whilst marshaling and
unmarshaling arguments.
2005-12-26 13:12:46 +01:00
Robert Shearman c8703d17b0 widl: Convert the main while loops in marshall_arguments and
unmarshall_arguments into for loops.
2005-12-26 13:12:26 +01:00
Robert Shearman 413738810f widl: Add support for marshalling and unmarshalling conformant strings. 2005-12-26 13:12:03 +01:00
Robert Shearman 7f2419ceed widl: Add some const attributes. 2005-12-26 13:11:33 +01:00
Robert Shearman 73dff5c465 widl: Prepare marshall and unmarshall code generation functions for
accepting pointers.
2005-12-26 13:09:36 +01:00
Robert Shearman 86c3a2e76a widl: Fix SEGVs with client and server code generation when an
interface has no methods.
2005-12-26 13:08:51 +01:00
Robert Shearman 73a25d316d widl: Generate correct proc format strings for [out] and [in, out] parameters. 2005-12-26 13:07:55 +01:00