Commit Graph

219 Commits

Author SHA1 Message Date
Jacek Caban b64187c998 winegcc: Use imported crt DLL instead of msvcrt if specified.
Makes winecrt0 use specified crt DLL instead of msvcrt.dll.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-07 00:12:25 +02:00
Jacek Caban aae296bfd7 winegcc: Always mark executables as nx compat.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-07-31 09:44:28 +02:00
Alexandre Julliard 483de1a8a2 kernelbase: Build with msvcrt.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-18 23:51:51 +02:00
Alexandre Julliard 5061261c5e winebuild: Add a -munix option.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-17 09:24:25 +02:00
Alexandre Julliard c4e0b9d092 makefiles: Support cross-compilation of 16-bit libraries.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-20 10:15:17 +02:00
Alexandre Julliard 945efdb6f3 makefiles: Use -fshort-wchar when building with msvcrt.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-16 22:55:54 +02:00
Alexandre Julliard 0d175fe861 winegcc: Use -static-libgcc for the Windows build.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-16 19:00:10 +02:00
Zebediah Figura d97e544387 winegcc: Add support for -fno-PIC.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-29 18:46:25 +02:00
Alexandre Julliard 11ee7a7051 winegcc: Add option to put a builtin dll signature in the DOS header of PE files.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-22 11:34:14 +02:00
Alexandre Julliard 45bf872a43 winegcc: Use Wine's msvcrt for Windows builds.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-05 22:16:30 +02:00
Alexandre Julliard 4c0ea277cb winegcc: Use a .spec.o files when building for Windows.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-12 10:02:50 +01:00
Huw Davies 7cb188fdb1 winegcc: Restore the linker option specifier for strip.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-12 10:01:39 +01:00
Alexandre Julliard 44839493ae winegcc: Also return Windows link flags in get_link_args().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-09 20:54:17 +01:00
Alexandre Julliard 9ce91cd56e winegcc: Make get_lddllflags() more generic to return all link flags.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-09 20:53:25 +01:00
Alexandre Julliard d228b3cfd5 winegcc: Get rid of the Mingw Unicode hack.
Mingw supports Unicode nowadays.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-09 20:53:17 +01:00
Piotr Caban 8b24bc95b9 winebuild: Recognize armv7a target.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-22 18:22:21 +01:00
Andre Heider 9bb21d1135 winegcc: Don't add the prefix's include dir using -isystem.
Always use -I, this fixes the include search path if the prefix is
set to '/usr'.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46293
Signed-off-by: Andre Heider <a.heider@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-12-17 10:39:09 +01:00
Andrew Eikum 590ccd0f5c winegcc: Pass -static-libstdc++ to the linker.
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-12-03 22:27:04 +01:00
Andre Heider 2dfff7e63c winegcc: Fix cross linking on multiarch platforms.
If e.g. the 64bit libdir was set to /foo/lib/x86_64-linux-gnu/bar, winegcc
will now look for the 32bit libdir at /foo/lib/i386-linux-gnu/bar.

Signed-off-by: Andre Heider <a.heider@gmail.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-21 17:05:41 +01:00
Andre Heider 0e279d26b8 winegcc: Add -I for the prefix's include dir.
This allows external projects to e.g. "#include <wine/debug.h>" for
non-standard prefixes, like winehq's distro packages residing in /opt.

Signed-off-by: Andre Heider <a.heider@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-19 10:17:48 +01:00
Alexandre Julliard a51611e816 winegcc: Forward the -mfpu option to winebuild.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-05 20:21:30 +01:00
Jacek Caban b9427efe3e winegcc: Support distros using plain lib for 32-bit libraries in get_lib_dir.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-20 15:55:59 +02:00
Jacek Caban ce4dde3e9a winegcc: Improve heuristics for -m32/-m64 options in get_lib_dir.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-17 17:07:07 +02:00
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 c81de726f2 winegcc: Add support for -mfloat-abi option.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-12-08 16:45:55 +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
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
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 fabd3120c5 makefiles: Move the main module rules to the global Make.rules file. 2013-10-09 11:31:21 +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
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
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
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 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 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 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
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