Jacek Caban
14d97456a9
winegcc: Default to ucrtbase.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-18 19:48:56 +02:00
Alexandre Julliard
469058acc1
winegcc: Allow the output file to end in .so.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-14 23:12:31 +02:00
Jacek Caban
942e298308
winegcc: Introduce --debug-file option for generating separated symbol files.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-14 23:12:31 +02:00
Jacek Caban
d784de82c8
winegcc: Use --safeseh winebuild option on msvc target.
...
lld-link requires all x86 object files to be SEH compatible unless it's
explicitly disabled.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-06 19:02:58 +02:00
Jacek Caban
35a7ed0c78
winegcc: Add support for msvc target.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-04 17:33:52 +02:00
Jacek Caban
66aa39d959
winegcc: Use libgcc only on mingw target.
...
It's not available for msvc, but we get all we need from importlibs there.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-04 17:33:35 +02:00
Jacek Caban
2dee9b9874
winegcc: Make mingw a separated platform from msvc.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-04 17:33:28 +02:00
Jacek Caban
78ce43f017
winegcc: Explicitly pass DLL crt entry point to PE linker when Wine crt is used.
...
Linkers don't agree on its default.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-04 17:33:00 +02:00
Jacek Caban
346cbb6f26
winegcc: Add entry symbol underscore when building linker command.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-04 17:32:39 +02:00
Alexandre Julliard
62807be8c9
makefiles: Explicitly import libwine where necessary.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-21 12:00:08 +02:00
Alexandre Julliard
1ccd638b1a
winegcc: No longer use a constructor for module initialization.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-21 11:27:53 +02:00
Alexandre Julliard
c30d30d328
winegcc: Fixup constructors after building a module.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-16 22:10:03 +02:00
Alexandre Julliard
b336a084d6
winegcc: Only use a constructor for dll modules.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-15 20:03:30 +02:00
Alexandre Julliard
3622b9ab15
winegcc: Use the CRT startup code also for non-PE builds.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-15 17:21:07 +02:00
Jacek Caban
aabfd2dd3a
winegcc: Add support for using clang directly.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-03 14:22:17 +01:00
Jacek Caban
9a9f35a4df
winegcc: Pass tool by id to build_tool_name.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-03 14:22:13 +01:00
Jacek Caban
4cfe747772
winegcc: Return build_tool_name result as strarray.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-03 14:22:11 +01:00
Jacek Caban
945c61c32d
winegcc: Lookup PATH in find_binary and don't try to run binaries that can't be found.
...
Based on winebuild.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-03 14:22:07 +01:00
Jacek Caban
747c46a4bc
winegcc: Don't pass ld command to winebuild when building PE file.
...
It's not used anyway.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-28 16:39:02 +01:00
Jacek Caban
e7fe6c0ac2
winegcc: Fix passing -delayload argument to linker.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-28 16:39:02 +01:00
Jacek Caban
cf20f54dd9
winegcc: Check more target components for platform string.
...
Fixes parsing llvm style mingw target *-pc-windows-gnu.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-27 23:34:51 +01:00
Jacek Caban
b253bd6565
winegcc: Clean up output file on error.
...
Based on winebuild.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-21 21:10:40 +01:00
Jacek Caban
b0ea67ed46
winegcc: Treat -target argument as an alias to --target for clang compatibility.
...
clang uses -target for the same thing as we do.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-21 21:10:29 +01:00
Jacek Caban
8cf418314c
winegcc: Recognize -rtlib as linker argument.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-21 21:10:22 +01:00
Alexandre Julliard
d96a0acf29
winegcc: Make the WINEBUILD variable take precedence over the bin directory.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-06 21:40:22 +01:00
Alexandre Julliard
69a9c2be72
winegcc: Also search the include and lib dirs relative to the binary path.
...
Suggested by Kevin Puetz.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-30 15:57:11 +01:00
Jacek Caban
1867a411b0
winegcc: Use Wine crt when linking to msvcrt.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-27 14:40:42 +01:00
Jacek Caban
c6e6771fab
winegcc: Use Wine crt when linking builtin EXEs.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-23 21:11:29 +01:00
Jacek Caban
618ac5f32a
winegcc: Add support for -Wl,--entry argument.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-23 21:11:29 +01:00
Alexandre Julliard
51ffea5a39
winegcc: Use winebuild to set the builtin flag.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-18 21:13:16 +01:00
Chip Davis
6c50dbd14e
winegcc: Pass through -fuse-ld= to the linker.
...
Signed-off-by: Chip Davis <cdavis@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-25 20:47:43 +01:00
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
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
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