Commit graph

513 commits

Author SHA1 Message Date
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