Commit Graph

297 Commits

Author SHA1 Message Date
Jacek Caban 9180dec0b7 winegcc: Add support for -Wl,-delayload argument.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-12 21:39:40 +01:00
Alexandre Julliard 21c832da63 winegcc: Also check magic number to detect shared libraries.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-04 22:43:01 +01:00
Huw Davies ba2def2503 winegcc: Add a missing break.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-30 11:48:21 +02:00
Alexandre Julliard 0bfee2c6eb winegcc: Centralize argument parsing into the main switch.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-27 13:26:52 +02:00
Alexandre Julliard c307223791 winegcc: Update __stdcall defines for ARM platforms.
Reported by Kevin Puetz.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-27 13:26:52 +02:00
Kevin Puetz d5e175e32b winegcc: Correctly pass the '-' file name (stdin) to the compiler.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=38300
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-24 18:38:28 +02:00
Jacek Caban 6cba24ef1f winegcc: Use -print-libgcc-file-name to find libgcc.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-23 19:44:18 +02:00
Alexandre Julliard d63c51fd30 winegcc: Pass all linker arguments also when testing link options.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-23 19:44:18 +02:00
Alexandre Julliard 683e455497 winegcc: Always search the standard include dirs.
By analogy with the library dir search.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-23 19:44:18 +02:00
Alexandre Julliard 08956bc9bb winegcc: Add --wine-objdir and --winebuild options for the Wine build.
This avoids overloading the meaning of the -B and --sysroot options.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-23 19:44:17 +02:00
Alexandre Julliard cb010cd6ec winegcc: Add ARRAY_SIZE macro.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-23 19:44:17 +02:00
Alexandre Julliard 13850a3eb8 winegcc: Forward the -B options to winebuild.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-10 23:20:41 +02:00
Alexandre Julliard ab871dc4d8 winegcc: Support the --target option like winebuild does.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-10 23:20:41 +02:00
Alexandre Julliard 0c2cc9bb05 winegcc: Fix handling of the --sysroot flag when not building inside the Wine tree.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-10 23:20:41 +02:00
Jacek Caban 90bed22eb7 winegcc: Use -nodefaultlibs -nostartfiles for builtin DLLs.
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 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 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