Commit Graph

309 Commits

Author SHA1 Message Date
Jacek Caban 551d0971c5 winegcc: Check also for unsuffixed lib/ dir in get_lib_dir.
Wine uses lib/ and lib64/ by default. This fixes -m32 handling in such
configuration.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-19 18:26:30 +02:00
Alexandre Julliard 470bd0c2fa winegcc: Add support for building native subsystem libraries.
Based on a patch by Zebediah Figura.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-01 12:58:34 +02:00
Alexandre Julliard 395a94d308 winegcc: Set page alignment to 4096 in all cases.
This avoids leaving holes in builtin dll mappings.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-02 20:47:10 +02:00
Alexandre Julliard 832a40109e makefiles: Make the directory specifications a bit more standard.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-21 12:25:26 +01:00
Alexandre Julliard c81de726f2 winegcc: Add support for -mfloat-abi option.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-12-08 16:45:55 +01:00
Austin English 159b6d9280 winegcc: Move WineHQ URLs to https.
Signed-off-by: Austin English <austinenglish@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-12-01 09:23:48 +01:00
Alexandre Julliard f5929a9cf9 winegcc: Set the soname of all dlls on Android.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-20 14:56:30 +09:00
Alexandre Julliard 2b525db8a2 winegcc: Support building from the top directory.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-31 15:08:12 +09:00
Alexandre Julliard e59395208d makefiles: Reduce the maximum page size for modules that have a base address.
It avoid bumping into the next allocated base address on 64-bit.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-28 16:26:54 +09:00
Alexandre Julliard 33147c9475 winegcc: Use explicit library file name when loading cross libraries.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-28 12:32:15 +09:00
Jens Reyer d2d44610a2 winegcc: Document WINEBUILD in the manpage.
Signed-off-by: Jens Reyer <jre.winesim@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-16 12:11:55 +09:00
André Hentschel b33fab40d3 winegcc: Sync toolchain detection with winebuild.
Signed-off-by: André Hentschel <nerv@dawncrow.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-12-30 08:08:46 +01:00
Stephen Kitt 312b7b43cb winegcc: Pass through -march to winebuild.
Signed-off-by: Stephen Kitt <steve@sk2.org>
Signed-off-by: André Hentschel <nerv@dawncrow.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-12-15 09:12:22 +01:00
Alexandre Julliard 097006b146 winegcc: Disable setting image base address on Android.
The Android linker doesn't handle this correctly.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-16 23:30:10 +09:00
Alexandre Julliard bf73faefc7 winegcc: Force stack alignment on all x86 platforms.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-16 22:52:41 +09:00
Alexandre Julliard 356e46a1ef makefiles: Generate rules for installing symlinks.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-29 21:20:07 +09:00
Alexandre Julliard da340169d6 makefiles: Generate rules for installing programs.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-29 21:20:06 +09:00
Alexandre Julliard 7626728b56 makefiles: Generate rules for building tool binaries.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-27 14:47:27 +09:00
Michael Cronenworth a35f9a13a8 winegcc: Check for linker relocation support before relying on prelink.
Prelink was used to rewrite binares and set their text segment, but
modern linkers support setting the value at link time. Prelink is
being retired by upstream.

Signed-off-by: Michael Cronenworth <mike@cchtml.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-22 16:57:06 +09:00
Gerald Pfeifer 189ffc2e73 makefiles: Support building with non-default LD. 2015-01-22 21:42:25 +01:00
André Hentschel 20006966ab winegcc: Respect TMPDIR environment variable. 2014-09-24 11:04:54 +02:00
Alexandre Julliard 1b02177a55 winegcc: Only pass large-address-aware option for i386 builds. 2014-04-29 16:07:37 +02:00
Grazvydas Ignotas f5e28fff8e winegcc: Define __stdcall and similar attributes to nothing on ARM. 2014-03-03 17:02:38 +01:00
Alexandre Julliard 4a4006d4f0 winegcc: Forward -marm and -mthumb options to winebuild. 2014-02-12 19:15:25 +01:00
Alexandre Julliard 658057ae0b makefiles: Add makefile variables for the winegcc parameters. 2014-02-10 10:58:02 +01:00
Alexandre Julliard 509364e1dd makefiles: Get rid of Make.rules. 2014-01-14 12:18:02 +01:00
Alexandre Julliard 0d533cf0bd makefiles: Allow define arguments to be specific to a single file. 2014-01-07 12:20:25 +01:00
Alexandre Julliard ce25c89585 makedep: Don't expand variable references that use ${}. 2014-01-04 20:33:57 +01:00
Alexandre Julliard 092f37fc2d makefiles: Include program files in the all: target. 2013-12-31 19:07:49 +01:00
Alexandre Julliard 1047e0474d makefiles: Leave it to install-sh to create destination directories. 2013-12-26 14:35:15 +01:00
Alexandre Julliard e2df0ab856 makefiles: Generate rules from makedep for building and installing man pages. 2013-11-18 11:40:00 +01:00
Alexandre Julliard fabd3120c5 makefiles: Move the main module rules to the global Make.rules file. 2013-10-09 11:31:21 +02:00
Alexandre Julliard 8d5b8b1346 makefiles: Define __WINESRC__ globally. 2013-10-07 10:48:04 +02:00
Francois Gouget 575eb6d8e1 winegcc: Solaris uses the same link option detection code as other platforms. 2013-09-06 17:27:13 +02:00
Francois Gouget 7d3f6d4c60 winegcc: Ignore the test link command stdout and stderr messages.
Otherwise invoking winegcc on any platform where our first guess at
the link options fails results in a lot of confusing error messages.
2013-09-06 17:27:08 +02:00
Francois Gouget 4343c9e1f7 winegcc: Add a trailing '\n' to the try_link() test file.
This stops the tested gcc command from issuing a warning on Solaris.
2013-09-06 17:26:18 +02:00
Huw Davies 5a8ca9e2e8 winegcc: Don't use DLLFLAGS in winegcc. 2013-08-27 21:30:02 +02:00
Huw Davies 2374cd52a7 winegcc: Set the LDDLLFLAGS according to the target platform. 2013-08-27 21:30:02 +02:00
Frédéric Delanoy d8465b0e8b winegcc: Fix manpage formatting. 2013-07-17 20:30:49 +02:00
Alexandre Julliard dcc97a186d Standardize the BUGS, AVAILABILITY and SEE ALSO sections across all man pages. 2013-07-16 20:48:05 +02:00
Alexandre Julliard 3987913453 winegcc: Pass the C compiler name to winebuild. 2013-06-10 13:43:48 +02:00
Jacek Caban c3b64d94b5 winegcc: Use gcc -shared instead of dllwrap to build DLLs. 2013-05-08 20:43:21 +02:00
André Hentschel c11da76dc5 winegcc: Add support for Multiarch Architecture Specifiers. 2013-04-23 19:12:58 +02:00
André Hentschel 504925a8f7 winegcc: Set target based on forced pointer size. 2013-04-23 19:12:56 +02:00
Alexandre Julliard 43ac582d7d libport: Rename spawnvp to _spawnvp to avoid the deprecated name. 2013-04-09 15:26:10 +02:00
André Hentschel ee7ffdcb53 winegcc: Remove SPARC support. 2013-03-11 10:50:10 +01:00
Alexandre Julliard 381bbe1b28 winegcc: Don't use prelink when cross-compiling. 2013-02-18 16:36:03 +01:00
André Hentschel 99f722e24f winegcc: Add ARM64 support. 2013-01-16 12:37:41 +01:00
Damjan Jovanovic d31f61414c winegcc: Support the mingw32 target without an i[3456]86- prefix. 2012-06-15 18:35:34 +02:00
Eric Pouech b21da1d701 winegcc: Try harder to find out whether the compiler is from gcc family. 2012-05-11 15:39:21 +02:00
Alexandre Julliard 5adfd065bb winegcc: Avoid including Windows headers in the Mingw unicode stub. 2011-10-26 17:38:19 +02:00
Charles Davis 486783626f winegcc: On Mac OS, turn -s into -Wl,-x. 2011-10-06 12:24:05 -05:00
Bernhard Loos de68bc3bf4 winegcc: Support a trailing / in paths to winebuild. 2011-08-23 16:53:51 +02:00
Frédéric Delanoy 701aabb141 tools: Assorted spelling fixes. 2011-07-29 12:09:12 +02:00
Alexandre Julliard 49c31e3bf8 makefiles: Use the generic install flags for the tools directories. 2011-06-12 12:47:48 +02:00
André Hentschel bddc08db75 winegcc: Forward -mcpu to winebuild. 2011-04-28 12:11:25 +02:00
André Hentschel 40cecfc20d winegcc: Remove Alpha support. 2011-04-20 13:10:54 +02:00
Eric Pouech a5cbdcb8bb winegcc: Check that option argument is within command line parameters. 2011-03-28 17:24:56 +02:00
Eric Pouech 34acd88a2e winegcc: Correctly manage the -V option (gcc expects to be among the first ones, with -b). 2011-03-16 14:14:22 +01:00
Alexandre Julliard 15ccabc9a8 makefiles: Add common rules for installing the main man page. 2010-12-05 16:17:58 +01:00
Austin English 50e2f2f10c winegcc: Symlink winegcc manpage to winecpp. 2010-11-26 12:14:18 +01:00
Alexandre Julliard 62f9966fdc winegcc: Fix the lib dir detection.
Spotted by André Hentschel.
2010-10-28 11:45:05 +02:00
Alexandre Julliard 81b1c3ed60 winegcc: Detect the appropriate lib directory for 32/64 cross-builds. 2010-10-25 20:42:00 +02:00
Alexandre Julliard 81b8ee863e makefiles: Add a standard header for all makefiles to replace the common variable initializations. 2010-09-19 12:36:48 +02:00
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