From da8c62f75d893449e232944fc62566c020b4d010 Mon Sep 17 00:00:00 2001 From: grischka Date: Wed, 11 Oct 2017 18:13:43 +0200 Subject: various stuff win32/Makefile ("for cygwin") removed - On cygwin, the normal ./configure && make can be used with either cygwin's "GCC for Win32 Toolchain" ./configure --cross-prefix=i686-w64-mingw32- or with an existing tcc: ./configure --cc=/tcc.exe tcctest.c: - exclude test_high_clobbers() on _WIN64 (does not work) tests2/95_bitfield.c: - use 'signed char' for ARM (where default 'char' is unsigned) tests: - remove -I "expr" diff option to allow tests with busybox-diff. libtcc.c, tcc.c: - removed -iwithprefix option. It is supposed to be combined with -iprefix which we don't have either. tccgen.c: - fix assignments and return of 'void', as in void f() { void *p, *q; *p = *q: return *p; } This appears to be allowed but should do nothing. tcc.h, libtcc.c, tccpp.c: - Revert "Introduce VIP sysinclude paths which are always searched first" This reverts commit 1d5e386b0a78393ac6b670c209a185849ec798a1. The patch was giving tcc's system includes priority over -I which is not how it should be. tccelf.c: - add DT_TEXTREL tag only if text relocations are actually used (which is likely not the case on x86_64) - prepare_dynamic_rel(): avoid relocation of unresolved (weak) symbols tccrun.c: - for HAVE_SELINUX, use two mappings to the same (real) file. (it was so once except the RX mapping wasn't used at all). tccpe.c: - fix relocation constant used for x86_64 (by Andrei E. Warentin) - #ifndef _WIN32 do "chmod 755 ..." to get runnable exes on cygwin. tccasm.c: - keep forward asm labels static, otherwise they will endup in dynsym eventually. configure, Makefile: - mingw32: respect ./configure options --bindir --docdir --libdir - allow overriding tcc when building libtcc1.a and libtcc.def with make XTCC= - use $(wildcard ...) for install to allow installing just a cross compiler for example make cross-arm make install - use name -libtcc1.a build-tcc.bat: - add options: -clean, -b bindir --- win32/tcc-win32.txt | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) (limited to 'win32/tcc-win32.txt') diff --git a/win32/tcc-win32.txt b/win32/tcc-win32.txt index 3609684..751a8e0 100644 --- a/win32/tcc-win32.txt +++ b/win32/tcc-win32.txt @@ -108,6 +108,8 @@ ------------------------ * You can use the MinGW and MSYS tools available at http://www.mingw.org + http://www.mingw-w64.org + http://www.msys2.org Untar the TCC archive and type in the MSYS shell: ./configure [--prefix installpath] @@ -116,29 +118,22 @@ The default install location is c:\Program Files\tcc + Cygwin can be used too with its mingw cross-compiler installed: + ./configure --cross-prefix=i686-w64-mingw32- + (the prefix may vary) + * Alternatively you can compile TCC with just GCC from MinGW using > build-tcc.bat (from the win32 directory) Also MSVC can be used with the "VSTools Developer Command Prompt": > build-tcc.bat -c cl - or with a tcc (needs to be in a different directory) + or with an existing tcc (needs to be in a different directory) > build-tcc.bat -c some-tcc-dir\tcc.exe Also you can copy/install everything into another directory: > build-tcc.bat -i - * You can also bootstrap a native tcc Windows toolchain with cygwin. - https://www.cygwin.com/ - - Install Base, gcc, make - Launch Cygwin Terminal - > make - or to force 32bit executables (including 64bit backend) - > make TARGET=32 - or to force 64bit executables (including 32bit backend) - > make TARGET=64 - Limitations: ------------ - On the object file level, currently TCC supports only the ELF format, -- cgit v1.3.1