Commit Graph

344 Commits

Author SHA1 Message Date
Alexandre Julliard 6a9fe36de2 Created a separate static portability library and moved some of the
libwine routines in there.
2003-03-19 22:09:16 +00:00
Alexandre Julliard 49edd19650 Handle end of line as a syntactic element in the spec file parser;
backslashes can be used to continue lines. This allows us to skip over
errors to continue parsing, and also to make specification of an entry
point link name optional.
2003-03-18 05:30:54 +00:00
Alexandre Julliard f489a272d2 Removed support for the 'forward' ordinal type. 2003-03-17 04:56:10 +00:00
Alexandre Julliard 52ec0a3ff3 Disable 'variable' in Win32 spec files.
Added support for forwarded 'extern' ordinals.
2003-03-17 00:02:11 +00:00
Alexandre Julliard daecaba4a3 Don't enter an imported dll in the import table at all if we didn't
need to import any symbol from it.
2003-03-16 23:59:48 +00:00
Alexandre Julliard 551797bc57 Properly save/restore %gs register across 16-bit calls. 2003-02-27 21:11:13 +00:00
Alexandre Julliard f8bac62769 Do not define __WINESRC__ when building tools and miscemu. 2003-01-09 01:57:15 +00:00
Dimitrie O. Paun 8b36681bad Rename __WINE__ to __WINESRC__. 2003-01-04 00:52:18 +00:00
Alexandre Julliard 60d84e8127 Updated for recent options changes. 2003-01-02 19:30:17 +00:00
Dimitrie O. Paun 959562bdcd Add the -F option to set a DLL's filename. 2003-01-02 17:48:05 +00:00
Alexandre Julliard 9ba2e89ae5 Don't ignore sprintf/sscanf imports, semantics are not exactly the
same on Windows.
2002-12-20 00:36:18 +00:00
Alexandre Julliard 470cbf2757 Added support for defining forward functions as stdcall so that we can
get the proper number of arguments for stdcall decoration.
2002-12-15 01:22:40 +00:00
Alexandre Julliard ada5e6521b Implemented import libraries; on Unix we import the .def file
directly, on Mingw we use it to build the .a library.
2002-12-12 22:03:14 +00:00
Alexandre Julliard b42dc56fce Made stdcall decoration in .def files the default, and added -k option
to switch it off.
2002-12-12 04:06:28 +00:00
Alexandre Julliard 72e1c64345 Added list of symbols to ignore by default in winebuild.
Made the -i option support removing ignored symbols too.
Removed the -noimport flag in spec files.
2002-12-12 02:20:47 +00:00
Alexandre Julliard 2cd4ed2e15 Replaced 'ignore' spec file directive by the -i option. 2002-12-07 23:54:12 +00:00
Alexandre Julliard 310de886e9 Check file header to differentiate between object files and resources
so that the -r option is not necessary.
2002-12-06 23:26:29 +00:00
Alexandre Julliard a9135e8333 Removed support for 'rsrc' spec file statement. 2002-11-18 23:16:09 +00:00
Eric Frias 1046fe3051 Added quotes to assembly language output. 2002-11-06 22:07:38 +00:00
Alexandre Julliard 910851a20e Added winebuild -e option to specify the entry point and removed the
'init' spec file directive.
Winebuild long options now use a more standard double dash format
(older format still supported for backwards compatibility).
2002-11-06 20:02:59 +00:00
Alexandre Julliard 1e1313d54c Made the dll entry point default to DllMain and removed most of the
'init' spec file declarations.
2002-11-04 23:53:41 +00:00
Alexandre Julliard 07f736bc3d Hack to detect register functions automatically so that relay debug
also works for functions using the DEFINE_REGS_ENTRY_POINT macros.
2002-11-04 22:50:24 +00:00
Alexandre Julliard 7aee90762a Merged wine_call_to_16_long and wine_call_to_16_short into a single
function.
2002-10-18 00:29:32 +00:00
Alexandre Julliard 4ce72031a0 Don't list register functions in the .def file. 2002-10-09 20:28:06 +00:00
Marcus Meissner 2ca7000dc8 Added ctype.h. 2002-09-16 23:58:59 +00:00
Alexandre Julliard 16a303b376 Replaced 'heap' .spec statement by a command line option.
Updated winebuild manpage.
2002-09-12 22:51:20 +00:00
Dimitrie O. Paun 7e035e290a Remove support for 'file', 'name', and 'mode' in .spec files. 2002-09-12 18:10:05 +00:00
Dimitrie O. Paun 7cd2edbb66 Add support for naming the DLL from the command line. 2002-09-12 17:23:25 +00:00
Patrik Stridvall 51e6c0ccb1 MSVC compatibility fixes. 2002-08-31 19:04:14 +00:00
Alexandre Julliard b0c6e36d5d Fixed line numbers in error messages and improved redefinition error
(based on a patch by Jon Griffiths).
2002-08-27 22:32:01 +00:00
Alexandre Julliard f08b186373 Try to derive temp file names from output file names for better
portability.
2002-08-27 22:29:26 +00:00
Marcus Meissner 7678791d92 Implemented delayed import assembler thunks for PPC. 2002-08-20 00:00:49 +00:00
Dmitry Timoshkov c63d98038a Include protection for <unistd.h>, <sys/types.h> and <sys/stat.h>. 2002-08-17 18:28:43 +00:00
François Gouget ebd110bc6a Fix command-line parsing for Winelib applications. 2002-08-15 23:21:03 +00:00
Marcus Meissner f0b8fe562e The text section alignment should be default, not 1. 2002-08-15 21:47:27 +00:00
Alexandre Julliard 124eaf809c Builtin modules must be aligned on 64K boundary. 2002-08-14 21:09:55 +00:00
Alexandre Julliard 6006757996 Setup exception frame around 16-bit calls to unwind stack properly. 2002-08-13 03:29:17 +00:00
Alexandre Julliard 1862a67d2d In -spec and -exe mode, accept multiple object files and link them
together internally to find the undefined symbols.
In -glue mode, accept multiple C files and generate a single glue
file for all of them.
2002-08-01 18:34:12 +00:00
Alexandre Julliard 3bd7d224fc Added a winebuild man page. 2002-07-28 18:58:41 +00:00
Alexandre Julliard 15a75259bd Added support for importing by ordinal. 2002-07-28 17:54:31 +00:00
Alexandre Julliard 112c665f83 Set correct dll file name when building a .def file. 2002-07-28 17:52:01 +00:00
Alexandre Julliard d25878f28e Put correct ordinal hints in the import table. 2002-07-25 00:25:40 +00:00
Alexandre Julliard 65c6d38581 Replace all uses of PREFIX and @function by the __ASM_NAME and
__ASM_FUNC macros.
2002-07-22 20:47:11 +00:00
Gregg Mattinson 803eb16dfa - Replaced .previous with a .section statement for the appropriate
section.
- '.section .text' is incorrect.  It should be '.section ".text"'.
2002-07-05 00:20:42 +00:00
Alexandre Julliard 77afd6c47e Made some more spec file entries optional or unnecessary.
Fixed a few DLLName/DLLFileName mismatches.
2002-06-21 19:15:45 +00:00
Steven Edwards a0587c4a08 Portability fix. 2002-06-20 22:44:41 +00:00
Alexandre Julliard f673b71ece Fixed make install target to work even when nothing has been compiled
yet.
Added install-lib and install-dev targets to allow partial
installations; moved winemaker.man and winelauncher.in to better fit
in the new install categories.
2002-06-14 23:48:27 +00:00
Alexandre Julliard cceab98642 Unregister 16-bit dlls on module unload. 2002-06-14 23:42:53 +00:00
Vincent Béron 9a62491660 Removed trailing whitespace. 2002-05-31 23:06:46 +00:00
Alexandre Julliard 5e47acbc6d Only add extra symbols if they are not already exported by this dll. 2002-05-25 21:09:15 +00:00
Alexandre Julliard 7fbd74ea55 Replaced the GET/PUT_UA macros by memcpy. Fixed a few big-endian
issues.
2002-05-23 02:53:10 +00:00
Alexandre Julliard 476aabc95a Do not output stubs in the .def file. 2002-05-19 22:29:34 +00:00
Alexandre Julliard bf90f4db87 Adapted to use the argc/argv variables from libwine.
Automatically import libraries that contain the symbols that the
.spec.c file is using.
2002-05-16 23:17:37 +00:00
Alexandre Julliard 59008670be Moved the selector access functions out of winnt.h into libwine. 2002-05-16 20:32:16 +00:00
Alexandre Julliard 1f18f61bfa Fixed missing call to make_c_identifier. 2002-05-16 18:44:06 +00:00
Alexandre Julliard ad53383f9b Added winebuild support for generating a .dbg.c file containing the
debug channels definitions.
Made win32 the default type for spec files.
Ignore C compiler in winebuild so we can simply pass it $(DEFS).
Removed type win32 and debug_channels from spec files.
Fixed winebuild to always generate correct C identifiers (reported by
Vincent Béron).
2002-05-14 20:54:58 +00:00
Alexandre Julliard 67371bcc8d Added -res option to specify resources on winebuild command-line.
Added -exe mode to generate a .spec.c for an exe without having to
provide a .spec.
Removed some no longer needed spec files.
Removed .dll extension in makefiles import specifications.
2002-05-11 23:06:32 +00:00
Alexandre Julliard ce830a9c18 Added mkinstalldirs to create directories more portably. 2002-05-09 04:31:39 +00:00
Alexandre Julliard 32459912dc Moved imports specification from the .spec into the Makefile so that
it can be used on platforms that don't build a .spec.c file.
2002-05-09 00:05:48 +00:00
Patrik Stridvall 3751ff045c MS C related changes. 2002-05-04 18:37:08 +00:00
Alexandre Julliard 9a68b7bef0 Link the tools and the server against libwine so we can use the
portability functions in there.
2002-04-27 21:19:22 +00:00
Alexandre Julliard 894b188fcf Moved __ASM_GLOBAL_FUNC macros and interlocked functions to port.[ch] 2002-04-25 21:40:56 +00:00
Alexandre Julliard e16bb784a3 Got rid of #ifdef USE_STABS. 2002-04-01 21:07:16 +00:00
Alexandre Julliard add0b5d28f Ignore imports and resources when building a .def file. 2002-03-26 01:55:25 +00:00
Alexandre Julliard 1cefed8122 Make warnings quiet by default and added -w option. 2002-03-21 01:38:53 +00:00
Alexandre Julliard c1bfca04e1 Changed builtin dlls file names to make it clear they are not normal
Unix libraries, and install them in $libdir/wine instead of $libdir to
avoid name conflicts in /usr/lib.
2002-03-20 22:19:06 +00:00
Patrik Stridvall 235da7975b Made winebuild (almost) compile and work on Windows. 2002-03-11 05:09:02 +00:00
Alexandre Julliard 0799c1a780 Added LGPL standard comment, and copyright notices where necessary.
Global replacement of debugtools.h by wine/debug.h.
2002-03-09 23:29:33 +00:00
Gavriel State f98c52b11f Some older versions of GDB need to have the filename data available
for each section, so we need to output it again for the data section.
2002-02-12 18:46:14 +00:00
Dmitry Timoshkov 93a5b8681d Support for generation of .def files from .spec files. 2002-02-04 18:48:18 +00:00
Patrik Stridvall f94462fb75 Move __stdcall/__cdecl to the right place. 2002-01-31 23:22:07 +00:00
Clemens 37d960faee Should process the .dynsym of shared libraries instead of the .stab. 2002-01-29 02:58:20 +00:00
Alexandre Julliard 7662ea1004 Made register and interrupt flags instead of entry point types, so
that we can have both stdcall and cdecl register functions.
Changed 16-bit .spec.c file generation to avoid including builtin16.h.
2001-12-14 23:14:22 +00:00
Alexandre Julliard eb9a863116 Exported CALL32_Regs from ntdll, renamed to __wine_call_from_32_regs
to follow the naming convention for this type of functions.
Split 16 and 32-bit relay functions into separate files, and moved the
32-bit ones to dlls/ntdll.
2001-12-11 00:50:33 +00:00
James Juran 49c779a862 Prevent warnings about labels at end of switch statements when
compiling with gcc-3.x.
2001-11-19 02:24:14 +00:00
François Gouget 1425941e29 Fix the #include order for config.h.
Add #include "config.h" directives where needed.
2001-11-06 20:57:11 +00:00
Francois Gouget 386cf6e342 When including 'wine/port.h', include it first.
Remove redundant 'config.h' includes.
2001-10-14 16:25:47 +00:00
Francois Gouget e5ddd26dd7 When including config.h, include it first. 2001-10-14 16:18:52 +00:00
Alexandre Julliard 5b1e934218 Avoid including winbase.h in generated .spec.c files. 2001-10-02 20:32:58 +00:00
Dmitry Timoshkov b56a2ef780 Add missing CALLBACK modifier. 2001-09-14 01:00:39 +00:00
Alexandre Julliard 99eac46f65 Output correct assembly function headers for all functions. 2001-08-28 17:26:49 +00:00
Bob Goodwin d349241ff4 Mask out garbage in the upper half of stack pointer. 2001-06-08 20:25:34 +00:00
Marcus Meissner b63ab44599 Implemented glu32.dll as libGLU.so forwarder. 2001-06-08 19:02:57 +00:00
Alexandre Julliard 3581865229 Support for specifying stack size of Winelib apps. 2001-06-07 22:29:03 +00:00
Dmitry Timoshkov 3724de93d7 Fixed some issues. 2001-05-22 19:55:51 +00:00
Alexandre Julliard 04689b26f0 Always load the 32-bit dll containing a given 16-bit builtin.
Check the module name in addition to the file name when loading a
16-bit builtin dll.
2001-03-28 01:47:28 +00:00
Jeff Garzik f46eb1db43 Added some inclusions of string.h where necessary. 2001-03-21 20:30:46 +00:00
Alexandre Julliard 4988696cd4 Added support for backslash escaping of special characters. 2001-02-15 21:27:06 +00:00
Josh DuBois 0b64cfb3f7 More portable .align directive.
Ignore -delay directive on ppc only.
Added code to call the dll constructors.
2001-02-13 02:06:38 +00:00
Jon Griffiths 4ab1558d8a - Remove <string.h> from winnt.h.
- ntdll: complete crt functions, prevent libc imports, fix sscanf.
2001-01-22 02:17:29 +00:00
Nathan Neulinger d9b114df03 Renamed struct option to avoid conflicts with getopt.h. 2001-01-11 22:31:04 +00:00
Ulrich Weigand 3e08d4608e Delayed import thunks for Sparc. 2001-01-02 22:22:12 +00:00
Ulrich Weigand 775fc630da Fixed builtin imports broken by latest change. 2000-12-29 17:44:40 +00:00
Ulrich Weigand 0108d83818 Fixed winebuild to work on non-Intel architectures. 2000-12-29 05:17:33 +00:00
Jon Griffiths 38e5a6c425 Allow stubs for exports that are not legal C identifiers. 2000-12-29 03:26:27 +00:00
Eric Pouech 5e32d16628 Added ability to delay loading of an imported DLL until it's needed
(new -delay option for import directive in spec file).
2000-12-26 01:22:34 +00:00
Patrik Stridvall 35d288bca1 Solaris fixes. 2000-12-18 03:13:52 +00:00
Alexandre Julliard 66fed8cb2d Allocate entry points dynamically to allow for a larger number of
ordinals.
2000-12-15 23:04:40 +00:00
Alexandre Julliard 909eff9932 Added support for Unicode applications in winebuild.
Removed cuiexe_no_main hack.
Avoid stdcall function declarations inside functions because of gcc bug.
2000-12-15 03:38:11 +00:00
Jon Griffiths 4f12e61ca7 Added "ignore" directive for skipping individual symbol resolution. 2000-12-14 22:18:22 +00:00
Alexandre Julliard db0747d095 Removed some unnecessary includes.
Got rid of ldt.h.
2000-12-13 20:23:41 +00:00
Alexandre Julliard 2a37decc39 Output the exports table in assembly code to make it possible to
export C++ mangled names.
2000-12-11 03:42:20 +00:00
Alexandre Julliard 9fd831f68a Don't make the spec file constructors static so that they don't get
optimized out.
2000-12-06 20:18:35 +00:00
Eric Pouech 0335095f5d Now prints line number for 'x.dll imported but no symbols used' warning. 2000-12-06 03:32:26 +00:00
Alexandre Julliard e2222fd8ff Use libwine and libwine_unicode directly from their build directory
instead of using symlinks.
2000-12-06 00:05:14 +00:00
Alexandre Julliard 218188c2d2 Always put the dll constructor in the .init section, and like the
.spec.o file first to ensure correct calling order of the constructors.
2000-12-02 20:38:47 +00:00
Alexandre Julliard ef57e18f99 Removed some unnecessary includes. 2000-12-01 21:32:55 +00:00
Dimitrie O. Paun 31b6d090df Modified winebuild to use the __ASM_FUNC macro for greater portability. 2000-12-01 21:27:43 +00:00
Alexandre Julliard e296bf3717 Renamed CallTo16* functions to wine_call_to_16* and export them from
kernel32.spec.
2000-11-29 19:39:30 +00:00
Alexandre Julliard 1a5e22f558 Set debugging option based on NO_TRACE_MSGS define. Only output 32-bit
relay stubs if debugging is on.
2000-11-27 23:48:08 +00:00
Francois Gouget c87c5e3d22 The init function can be called main. 2000-11-27 01:33:55 +00:00
Alexandre Julliard 39b3195ce6 Added entry point flags -noimport, -norelay, -ret64 and -i386.
Replaced 'byte', 'word' and 'long' by 'variable' and made it work for
Win32 too.
Made parser more robust against truncated files.
2000-11-26 04:31:48 +00:00
Marcus Meissner c9ea5f1aeb The __wine_call_from_16_ calls in the import table should use a valid
segment for dereferencing their pointer (using CS).
2000-11-26 04:02:09 +00:00
Hidenori Takeshima a85b0a6d41 Added checking for mmap. 2000-11-25 23:54:12 +00:00
Alexandre Julliard ab687979fd Moved standard syslevel APIs declaration to winbase.h.
Use exported syslevel function wherever possible.
Moved SEGPTR declaration to windef16.h.
2000-11-15 23:41:46 +00:00
Francois Gouget 7f12601969 Allow the user to stick the option and its argument together. 2000-11-15 23:12:06 +00:00
Dimitrie O. Paun 8643f4e882 Include config.h. 2000-11-15 22:14:07 +00:00
Alexandre Julliard 914406f854 Moved LDT handling to libwine.so. Changed the interface to use the
exported LDT_ENTRY structure.
2000-11-14 01:54:49 +00:00
Alexandre Julliard 745ec84c8b Export the CallFrom16xxx functions from kernel32. Renamed them
__wine_call_from_16 to follow the naming convention.
2000-11-13 04:54:45 +00:00
Alexandre Julliard 3570bfd41f Do not warn for unused imported dlls when forwards to the same dlls
are present.
2000-11-13 04:46:34 +00:00
Alexandre Julliard f3a15607ad Don't include wine internal functions in the relay debugging table. 2000-11-13 04:17:25 +00:00
Alexandre Julliard 0a8114c152 Raise an exception for unimplemented 16-bit entry points too.
Added check for duplicate names in 16-bit spec files.
2000-11-12 03:45:55 +00:00
Joerg Mayer abe635cfd7 Get rid of some warnings about unused variables, signed/unsigned
comparisons and incomplete initializations.
2000-11-11 00:38:37 +00:00
Alexandre Julliard 000c13a0da Added support in winebuild for resolving function imports (-sym option).
Added -L option for locating imported dlls.
Changed generated exe init code to use __wine_get_main_args.
2000-11-09 20:31:18 +00:00
Alexandre Julliard e087508f57 Moved builtin dll registration to libwine.
Changed process initialization to not load imported dlls too early.
2000-11-08 04:33:20 +00:00
Alexandre Julliard 9a634693e7 Added debug_channels support. 2000-11-05 04:49:13 +00:00
Alexandre Julliard 2fa4f767aa Build ntdll as a real dll, including everything that was previously in
libwine.so. Created a new (mostly empty) libwine.so in library/ subdir.
2000-10-31 00:20:51 +00:00
Alexandre Julliard aa5a1162a3 Patch flat cs of 16-bit entry points if current %cs is different from
compiled value, and retrieve flat ds from a global variable. This
should avoid problems with win4lin kernels.
2000-10-29 01:28:30 +00:00
Federico Schwindt a5b696b6b4 Fixes for OpenBSD. 2000-10-28 00:32:08 +00:00
Alexandre Julliard 634824be58 Raise an exception when a stub entry point is called. 2000-10-26 22:03:34 +00:00
Kristoffer Gleditsch d2e2bb240a Added LDFLAGS to linking of wine-related binaries. 2000-10-25 21:36:54 +00:00
Alexandre Julliard cbeb644a94 Added support for loading .res files for 16-bit resources. 2000-10-25 20:33:58 +00:00
David Elliott 2d83b63594 Fixed OFFSETOF macro definition for gcc 2.96. 2000-10-24 01:42:17 +00:00
Alexandre Julliard 003e24cadc Added support for loading Win32 .res files. 2000-10-23 21:33:06 +00:00
Joerg Mayer 959d73e8dd Reduce the number of warnings about missing initializers. 2000-10-22 23:56:32 +00:00
Alexandre Julliard a83784944b Added stdcall64 entry point type to allow correct relay debugging
support for functions that return 64-bit values.
2000-10-01 01:33:50 +00:00
Alexandre Julliard c585a501d9 Changed the Win32 dll descriptor to be in IMAGE_NT_HEADERS format.
Generate the import table directly in PE format.
Added gui/cuiexe_no_main modes in EXE spec files, and use this for the
main wine binary.
2000-09-27 23:40:43 +00:00
Alexandre Julliard a80d8c6cf0 Generate Win32 dll descriptor structure in the .spec.c file so that we
don't need to depend on builtin32.h.
2000-09-27 01:20:01 +00:00
Ulrich Weigand a761e3dad0 Modified CallTo16Register routines to update register context after
call returns. Callers adapted.
2000-09-13 20:29:44 +00:00
Alexandre Julliard 198746d812 Replaced global Callbacks structure by appropriate glue code
generation. Removed a few unused entries in the Callout structure.
2000-08-14 14:29:22 +00:00
Alexandre Julliard 76d3671bee Added 'owner' field to 16-bit spec files to specify the name of the
32-bit dll that contains it.
2000-07-28 00:07:18 +00:00
Peter Ganten 13a07b999f Try to unlink output file before opening it. 2000-07-15 15:13:09 +00:00
Hidenori Takeshima 34e10ee30f GetCommandLine should return non-const strings. 2000-06-24 13:37:05 +00:00
Alexandre Julliard e482eebf2f Split the build program in several files.
Renamed it 'winebuild' to avoid possible conflicts.
Cleaned up command-line parsing.
Make it understand -fPIC instead of -pic.
Merged call16.s and call32.s generated files.
2000-06-23 20:15:35 +00:00