Commit Graph

245 Commits

Author SHA1 Message Date
Alexandre Julliard ff090a3468 winegcc: Add a printf format attribute to the strmake() function. 2010-08-02 12:55:19 +02:00
Alexandre Julliard f195c1eb5a winegcc: Don't import winecrt0 by default when building with -nodefaultlibs. 2010-07-26 12:46:00 +02:00
Alexandre Julliard 9f34a57743 winegcc: Import kernel32 and ntdll by default also when building Wine.
They are needed to resolve symbols in winecrt0 which is always imported.
2010-07-21 17:38:36 +02:00
Alexandre Julliard 121a7f7840 winegcc: Don't pass -nodefaultlibs to the Unix compiler so that it can be used by Wine. 2010-07-21 17:10:10 +02:00
Alexandre Julliard 0c7b27aa14 winegcc: Add support for a -m16 option to specify a 16-bit build. 2010-07-21 13:24:01 +02:00
Peter Davies 1b23130d74 winegcc: Enable the use of gcov and PGO. 2010-06-21 11:47:51 +02:00
André Hentschel 7d7562d739 winegcc: Add detection for --param options. 2010-06-16 11:44:49 +02:00
Alexandre Julliard 5f7bbb2ab2 winegcc: Load the Unicode argv dynamically from the generated stub. 2010-06-15 19:58:15 +02:00
Alexandre Julliard ba9ec152e1 winegcc: Add explicit support for the Cygwin platform.
On Cygwin we want to use Wine's msvcrt, unlike on Mingw.
2010-06-14 19:27:41 +02:00
André Hentschel b723530be0 winegcc: Add support for amd64-mingw32msvc platform. 2010-05-25 12:03:01 +02:00
Kirill Smelkov b25cd21df2 winegcc: Do use DSO full name for .so arguments. 2010-04-26 11:38:13 -05:00
Kirill Smelkov 0b4fe5e56a winebuild/winegcc: Allow building .dll.so without .spec file. 2010-04-26 11:38:06 -05:00
Eric Pouech 22da105b4d winegcc: When specifying -m32, force i386 cpu when compiling on x86_64 boxes. 2010-04-20 11:16:29 +02:00
Eric Pouech d4dfcc1f32 winegcc: On x86-64, don't define twice the fastcall macros. 2010-04-20 11:15:48 +02:00
Alexandre Julliard 5288196f78 winegcc: Add support for the -fasynchronous-unwind-tables option. 2010-04-11 12:49:15 +02:00
André Hentschel 6c8af38638 winegcc: Make condition easier to read and look like the statement after the block. 2010-03-24 21:53:05 +01:00
Alexandre Julliard 561a3e643e winegcc: Force importing msvcrt when using the Unicode hack for a Windows build.
Based on a patch by Alexandre Goujon.
2010-03-19 13:59:54 +01:00
Alexandre Julliard bef5645eb1 makefiles: Remove the no longer needed explicit separators for dependencies. 2010-03-16 13:28:19 +01:00
André Hentschel 115b50cc23 winegcc: Update comments. 2010-01-25 12:45:00 +01:00
Alexandre Julliard 07af19f3ab winegcc: Add support for specifying a custom static library suffix. 2010-01-23 20:25:20 +01:00
Juan Lang 3e30306bb3 winegcc: Examine each argument of compile command rather than only the first. 2009-10-12 12:13:20 +02:00
André Hentschel e0dac25ba3 winegcc: Add ARM support. 2009-09-24 13:30:04 +02:00
Alexandre Julliard 1aea4efd79 tools: Take into account the executable extension when looking for tools in the path. 2009-08-27 13:35:50 +02:00
Dylan Smith ba38f219d0 tools: Detect windows platform with _WIN32 instead of _WINDOWS. 2009-08-24 15:17:34 +02:00
Alexandre Julliard 2de0c16363 winegcc: Add support for building fake modules. 2009-08-18 11:26:43 +02:00
Alexandre Julliard 56a92c25b6 winegcc: Pass all option flags to winebuild before non-options filenames. 2009-06-29 13:13:25 +02:00
Alexandre Julliard 7b08604778 winegcc: Add support for the -Wl,--large-address-aware option. 2009-06-17 17:23:20 +02:00
Marcus Meissner 18738cf89d winegcc: Free two new strlists (Coverity). 2009-06-05 15:19:57 +02:00
Alexandre Julliard 22fef33352 winegcc: Create a stub main to work around the lack of Unicode support in Mingw. 2009-06-05 15:19:57 +02:00
Alexandre Julliard 284438dc71 winegcc: Link against winecrt0 for the Mingw build too. 2009-06-05 15:19:57 +02:00
Alexandre Julliard 9e96918cf7 winegcc: Transparently compile resource files for the Windows build. 2009-06-02 14:25:16 +02:00
Alexandre Julliard 6f74b45a81 winegcc: Add support for building PE executables using Mingw. 2009-06-01 16:15:53 +02:00
Alexandre Julliard bcc1379bda winegcc: Add support for the --sysroot option to allow out-of-tree cross-compiling. 2009-05-30 15:20:14 +02:00
Alexandre Julliard b09418b5d2 winegcc: Don't pass the as/ld/nm tool names to winebuild. 2009-05-30 13:03:20 +02:00
Ken Thomases 81d1d8e355 winegcc: Recognize '-arch <arch>' as a compiler and linker option.
The dev tools on Mac OS X takes this option to dictate the output architecture.
(Gcc still accepts -m32 and -m64, as well, but "ld" and "as" do not.)
2009-05-04 12:51:34 +02:00
Austin English 0aebd4f300 winegcc: Fix a compiler warning on PC-BSD. 2009-03-24 13:54:09 +01:00
Alexandre Julliard f0daa7e9b0 winegcc: Allow creating an executable with an arbitrary extension. 2009-02-24 16:57:25 +01:00
Alexandre Julliard b58ef6bff6 winegcc: Hardcode the various gcc tool names when cross-compiling. 2009-02-12 11:41:56 +01:00
Marcus Meissner fbcc18754d winegcc: Added some strarray_free() (Coverity). 2009-02-11 15:56:02 +01:00
Alexandre Julliard a5947ffcd1 winegcc: Don't pass the as/ld/nm commands to winebuild.
winebuild should be able to find them on its own.
2009-02-06 20:35:56 +01:00
Alexandre Julliard 64e43b6192 winegcc: Pass the -m32/-m64 options to winebuild too. 2009-02-04 20:10:49 +01:00
Alexandre Julliard 3472939255 winegcc: Support -b option for cross-compiling. 2009-02-02 15:21:36 +01:00
Alexandre Julliard 9e04ecd9de winegcc: Make platform-specific behaviors depend on variables instead of #ifdefs. 2009-02-02 12:19:11 +01:00
Alexandre Julliard f12e9a026b winegcc: Fix the file mode check. 2008-12-12 12:01:46 +01:00
Maarten Lankhorst cd360cc007 tools: Add calling conventions for win64 to winegcc. 2008-11-26 12:07:50 +01:00
Alexandre Julliard b3ec2e5f95 makefiles: Recurse into all directories for install-lib and install-dev too. 2008-08-25 14:27:03 +02:00
Alexandre Julliard e468ab3585 winegcc: Add support for specifying section alignment on Solaris. 2008-07-22 13:27:07 +02:00
Francois Gouget 86bd0461a5 configure: Detect and use gld/gnm/gar as alternatives to ld/nm/ar, especially for winegcc. 2008-06-26 21:08:12 +02:00
Austin English 90f89fa74d tools: Spelling fixes. 2008-01-18 12:52:09 +01:00
Francois Gouget dc3feef055 winegcc: Modify error() to behave like all the other Wine tracing methods, that is to not append a '\n' to the message. 2007-10-19 11:46:05 +02:00
Alexandre Julliard e06016fae0 configure: Add -m32 flag for C++ compiler too. 2007-08-01 12:13:41 +02:00
Ben Taylor 61f8c34f1e winegcc: Allow -R and -z linker options. 2007-05-07 19:59:31 +02:00
Joris Huizer 909425d99d winegcc: Sign-compare fixes. 2007-02-12 12:39:16 +01:00
Alexandre Julliard 7035aa5041 make_makefiles: Generate the top-level .gitignore file.
Add a PROGRAMS variable in some makefiles to make things easier.
2006-12-27 21:23:36 +01:00
Francois Gouget bb8e625b5b Assorted spelling fixes. 2006-12-05 10:31:47 +01:00
Nick Burns 3ce4350e67 winegcc: __stdcall__ and __cdecl__ defined safely for Mac OSX. 2006-10-09 20:26:51 +02:00
Alexandre Julliard 32ab895e46 makefiles: Generate the dependencies line to avoid some code duplication. 2006-09-14 09:38:16 +02:00
Alexandre Julliard 2886e9b0e8 makefiles: Use make dependencies to create installation directories.
This avoids a lot of redundant calls to mkinstalldirs.
2006-08-07 17:48:18 +02:00
Alexandre Julliard 5557c71f7f winegcc: Make sure the Wine library paths take precedence in Wine mode. 2006-07-17 14:07:11 +02:00
Alexandre Julliard 523e46debb winegcc: Automatically add the correct lib paths when building inside the Wine tree. 2006-07-11 21:32:36 +02:00
Alexandre Julliard cc2b3b48e6 Take advantage of the recursive nature of .gitignore for Makefile entries.
Prefix other entries with '/' to make them non-recursive.
2006-07-10 20:47:54 +02:00
Alexandre Julliard 58c64190f4 configure: Define _WIN64 when building on a 64-bit platform. 2006-07-10 13:05:20 +02:00
Jonathan Ernst 360a3f9142 Update the address of the Free Software Foundation. 2006-05-23 14:11:13 +02:00
Alexandre Julliard d237bda6e7 tools: Add LDFLAGS to all the linker invocations. 2006-04-04 13:45:34 +02:00
Alexandre Julliard 1cb75101e6 winegcc: Don't use the library full name for .so libs. 2006-04-04 13:45:16 +02: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
Mike Frysinger 5392844392 Add support for 'make install DESTDIR'. 2006-02-14 13:51:38 +01:00
Mike Frysinger ff6b466563 winegcc: Pass -m32/-m64 along to the linker. 2006-01-25 13:15:34 +01:00
Alexandre Julliard ec34a66612 Ignore symlink files too (needed for git). 2005-11-26 13:12:57 +01:00
Alexandre Julliard 0ec7e1a591 Renamed all .cvsignore files to .gitignore. 2005-11-26 13:10:33 +01:00
Alexandre Julliard 12a749984c Put Wine version information in all the man pages. 2005-10-06 16:10:01 +00:00
Alexandre Julliard 102617f186 Let winebuild take care of calling the assembler.
Pass -v and -save-temps options through to winebuild too.
2005-09-21 11:00:21 +00:00
Alexandre Julliard a999a990fe Create an assembly file with all undefined symbols and add it to the
link command so that the symbols show up in the final undefined list.
Use that list to create thunks for all exported but undefined symbols,
to make sure all export RVAs point somewhere inside the module.
2005-09-19 17:04:43 +00:00
Alexandre Julliard 9f49889188 Now that everything is done in assembly in the spec file, directly
generate a .s file to bypass gcc inefficiency with large data
structures.
2005-09-15 15:01:30 +00:00
Alexandre Julliard 3a503499aa Properly handle the case where vsnprintf returns -1. 2005-09-12 20:31:33 +00:00
Alexandre Julliard 9bca150c0f Implemented --image-base support for Mac OS. 2005-09-03 15:12:11 +00:00
Alexandre Julliard 0628c7eba6 Moved more of the spec initialization code to the winecrt0 library,
and get rid of implicit kernel32 imports.
2005-08-29 14:16:27 +00:00
Alexandre Julliard 3ccbb018a0 Added a -municode flag to winegcc for applications that have a wmain()
entry point.
2005-08-25 19:26:59 +00:00
Alexandre Julliard 71ae2d7bed Beginnings of a crt0 library. 2005-08-25 11:41:05 +00:00
Alexandre Julliard 866f52bce1 Ignore prelink failures. 2005-08-09 20:47:18 +00:00
Alexandre Julliard adbb098837 Added support for the --image-base linker option in winegcc using the
prelink tool.
2005-08-09 11:12:29 +00:00
Stefan Huehner ac6f562b52 Fix more -Wstrict-prototypes warnings. 2005-06-20 14:18:03 +00:00
Alexandre Julliard 61d01e6a3e For each imported dll, check if there is a static library with the
same base name as the import library, and if yes add it to the library
list.
2005-05-09 14:38:06 +00:00
Francois Gouget f5c9da6860 Assorted spelling fixes. 2005-05-06 15:44:31 +00:00
Alexandre Julliard b12ad3ad7b output_name already contains .exe extension, don't add it again for -F
option.
2005-05-05 16:44:38 +00:00
Alexandre Julliard b30d92dfb2 Fixed other instances of the xrealloc(0) bug. 2005-03-18 14:09:55 +00:00
Dimitrie O. Paun cfb6c8ebca Use -isystem for system includes as they should be processed after the
-I includes. Spotted by Boaz Harrosh.
2005-03-11 10:25:59 +00:00
Dimitrie O. Paun c02dd0a902 Add support for .exe's with exported functions. 2005-03-08 16:55:26 +00:00
Vincent Béron 1ec033cff1 Create symlinks named wineg++ and winecpp while building winegcc. 2005-03-05 11:21:50 +00:00
Dimitrie O. Paun 4e0c3aa551 Added a new man page for winegcc. 2005-01-28 11:32:01 +00:00
Paul Millar 10a6c56071 Check for features missing in mingw environment, allowing tools
subdirectory to be cross-built again.
2004-12-07 17:19:54 +00:00
Eric Pouech 763aff61a0 Another couple of missing static definitions. 2004-12-06 16:44:32 +00:00
Alexandre Julliard 7bfda49772 Clean up temp files also when killed by a signal. 2004-12-02 18:22:48 +00:00
Alexandre Julliard 0bc8502390 Pass DLLFLAGS to winebuild too. 2004-11-22 19:48:10 +00:00
Alexandre Julliard b4c7e6c7e2 Added --ld-cmd and --nm-cmd options in winebuild, and make winegcc
pass the proper ld command.
2004-10-08 21:11:18 +00:00
Emmanuel Maillard 2300ce663a - Update build system to support IOKit and CoreFoundation frameworks
on Darwin.
- Add support for the -framework "name" linker option.
- NtQueryVolumeInformationFile set device info on Darwin.
2004-08-19 01:20:45 +00:00
Jon Griffiths a270615fdb Always use $(CC) for building the generated .spec.c file. 2004-05-25 18:03:19 +00:00
Dimitrie O. Paun f950d97381 Remove the last remaining wine options when running programs.
Keep support for --help, and --version when they are the only options
on the command line.
2004-05-06 23:51:43 +00:00
Dimitrie O. Paun 46b1d49a88 Implement support for the -x <lang> option. 2004-04-16 23:30:32 +00:00
Paul Vriens 8bed3a7b3f Correct removing wineg++ link on an uninstall. 2004-04-16 23:29:30 +00:00
Dimitrie O. Paun 1595729abc Specify the right name for the Winelib shared object. 2004-04-09 19:02:18 +00:00
Alexandre Julliard da59e93af0 Fixed handling of .so and .a libraries specified as input files. 2004-03-31 00:56:14 +00:00
Alexandre Julliard 4cf091ab09 Replaced the --mode winebuild option by a --subsystem option for
better compatibility with the PE binutils.
2004-03-25 00:40:52 +00:00
Alexandre Julliard 39c961aad6 Take EXEEXT into account for PE builds. 2004-03-25 00:13:21 +00:00
Alexandre Julliard c4aacf0e81 Build the dlls with winegcc. 2004-03-24 03:34:00 +00:00
Dimitrie O. Paun 9169b41003 Add a default .dll extension only when no extension is present. 2004-03-23 23:03:12 +00:00
Dimitrie O. Paun b613ee7abb First cut at -shared support. 2004-03-23 00:14:54 +00:00
Pierre d'Herbemont ec132fe84d Support Darwin ".dylib". 2004-03-15 20:06:06 +00:00
Dimitrie O. Paun c6e5ddf04e Build all file consistently, without shortcuts.
Do not pass winebuild escaped options to the compiler.
2004-03-11 22:42:39 +00:00
Alexandre Julliard 9578430021 chmod is more portable than fchmod. 2004-03-10 01:53:57 +00:00
Alexandre Julliard 2d52cfa958 Allow multiple -B options.
Do not pass the -Btools/winebuild magic option to the compiler to
avoid warnings.
Pass to the linker even the libraries we didn't find in the lib search
path, in case we are not using the standard paths.
2004-03-09 04:49:42 +00:00
Dimitrie O. Paun ac1bd4d15c Add a wine specific mode. If is activated if the -B prefix ends with
/tools/winebuild. If you happen to have such a prefix, but you don't
want this behaviour, simply add a trailing '/'. In this special mode,
no default Win32 DLLs are linked in, we don't force the short wchar_t,
and the standard dirs are not searched.
2004-03-09 04:20:58 +00:00
Alexandre Julliard acead48cf8 Fixed a couple of crashes. 2004-03-09 03:44:52 +00:00
Dimitrie O. Paun fb1ae96cf7 Add -B prefix support. Small consistency cleanups. 2004-03-09 01:34:00 +00:00
Dimitrie O. Paun b8fc5282a8 Support processors made up of different commands.
Rename some processor enums for consistency.
2004-03-09 00:42:21 +00:00
Dimitrie O. Paun 4ea598e068 Preserve the relative order of files and libraries. We do so by
maintaining a unique list of files and lib, each marked with the
appropriate metadata.
2004-03-04 06:06:06 +00:00
Alexandre Julliard 3034c287ea Put the .spec.o file first and the so libraries last on the link
command line.
2004-03-03 22:38:25 +00:00
Alexandre Julliard a631ef6369 Renamed the symbol for the cpp binary to avoid conflicts with
configure internals.
2004-03-03 20:30:46 +00:00
Dimitrie O. Paun 2ab690bcbb Don't tie the script name to the .exe.so name. 2004-03-03 20:11:20 +00:00
Dimitrie O. Paun 5f0796dbd2 Add support for passing options to winebuild via -Wb.
Generate only the loader script when given just the .exe.so.
Add function to delete element from a strarray.
2004-03-02 06:53:16 +00:00
Alexandre Julliard 4f452b632b Removed obsolete --dll option from loader script.
Added support for WINEBUILD environment variable.
Don't generate the loader script if the output file name ends in
.exe.so.
Fixed handling of -L option.
Static libraries have to be linked in after object files.
2004-03-02 05:00:17 +00:00
Dimitrie O. Paun f41c2b212a Instrument winegcc to use the compilers and options detected at
configure time. Add support for parsing/formatting a string array
from/to a char string. Add option to disable short wchar support in
winegcc.
2004-03-02 02:23:26 +00:00
Dimitrie O. Paun 05ba4b48f1 Remove the no longer used winewrap utility. 2004-02-27 00:42:26 +00:00
Dimitrie O. Paun 006ec80dd5 For static libs (.a) we need to pass the actual filename to winebuild,
not a -l switch. Do not remove the file extension to get to the base
name if it's not .exe or .exe.so. Link shell32 by default for GUI
programs. Fix parsing of options with arguments.
2004-02-26 05:28:35 +00:00
Dimitrie O. Paun e11108c077 Merge winewrap into winegcc. Many cleanups. 2004-02-24 01:00:53 +00:00
Dimitrie O. Paun 69880eb587 Rewrite winegcc in preparation for merging with winewrap.
We now have comprehensive (and correct) options parsing.
2004-02-21 04:01:38 +00:00
Dimitrie O. Paun a9d4b07166 Fix typo introduced during the path search reorganizaton. 2004-02-20 19:57:56 +00:00
Dimitrie O. Paun 242885cd03 For each lib dir, look for .so, .def. and .a files, instead of the
other way around.
2004-02-13 20:20:57 +00:00
Alexandre Julliard 6a1a6c71bb libwine_uuid has been renamed to libuuid. 2004-02-09 21:11:08 +00:00
Dimitrie O. Paun 2bc1816948 Remove the wrapper generation from winewrap, it is no longer necessary
(fixed by Alexandre's constructor patch).
2004-01-09 20:08:22 +00:00
Dimitrie O. Paun a16d725964 Do not fail if we can't load some libs in the wrapper.
No need to link the wrapper with all libs, we know what we need.
2004-01-09 00:33:56 +00:00
Alexandre Julliard 90e075c3c7 If supported, add -init and -fini flags to the linker invocation. 2004-01-09 00:03:55 +00:00
Richard Cohen 698729476c Search for libraries in the order - .so - .def - .a 2003-12-03 03:58:52 +00:00
Richard Cohen b29f02a9df - Add standard dll path last instead of first.
- Add standard lib path as well.
- Remove . from default library search path.
- Compiling with -lwine needs to use the given -L paths.
2003-11-28 23:10:55 +00:00
Dimitrie O. Paun d1b344b1e2 Don't ignore libs specified by the user while linking. 2003-11-20 04:20:17 +00:00
Gerald Pfeifer c5dc9d29e1 Add proper casts to avoid signed vs. unsigned mismatches in
strmake().
2003-10-30 23:09:09 +00:00
Daniel Marmier f95be92d24 Fixed warnings with gcc option "-Wwrite-strings". 2003-10-15 03:35:54 +00:00
Dimitrie O. Paun 64df545885 Have the wrapper load the used DLLs in case the main program
calls them from constructors (with help from Alexandre Julliard).
2003-10-10 23:33:45 +00:00
Richard Cohen 6bfd84a331 Handle default linker output name in winewrap instead of winegcc. 2003-09-19 00:19:36 +00:00
Dimitrie O. Paun dd0a6c874b Do not require GUI support for displaying errors in wrapper.
Link the wrapper only against kernel (no dl, msvcrt, etc).
Allow the setting of the app DLL when a wrapper is created.
2003-09-16 20:27:14 +00:00
Dimitrie O. Paun 120abaed95 Teach winegcc to masquerade as cpp. 2003-09-15 20:02:30 +00:00
Richard Cohen fc7e8f5c7b Handle -L<dir> in a separate array. 2003-09-12 00:25:14 +00:00
Alexandre Julliard 2be0fa40e4 Set the dll search path to the location specified in configure
(spotted by Vincent Béron).
2003-09-11 23:11:33 +00:00
Richard Cohen 2e6eed67cd Use an extendable array to store the lists of strings.
Only make wrapper argument lists if we're going to use them.
2003-09-11 22:16:33 +00:00
Alexandre Julliard 280661c6f4 Moved winegcc and winewrap to a separate directory. 2003-09-11 21:27:58 +00:00