Support ./configure && make under msys2 (a new msys fork) on win32 and win64. Get rid of CONFIG_WIN64 make-var. (On windows, WIN32 in general is used for both 32 and 64 bit platforms) Also: - cleanup win32/build-tcc.bat - adjust win32/(doc/)tcc-win32.tx
Unified · Split
| @@ -28,9 +28,6 @@ LINK_LIBTCC = · 27 unmodified lines | ||
| 28 | 28 | LIBS = |
| 29 | 29 | |
| 30 | 30 | ifdef CONFIG_WIN32 |
| 31 | − ifeq ($(ARCH),x86-64) | |
| 32 | − CONFIG_WIN64=yes | |
| 33 | − endif | |
| 34 | 31 | STRIP_BINARIES = yes |
| 35 | 32 | LIBTCC = libtcc.dll |
| 36 | 33 | else |
| @@ -93,18 +90,18 @@ ARM_FILES = $(CORE_FILES) arm-gen.c · 56 unmodified lines | ||
| 93 | 90 | ARM64_FILES = $(CORE_FILES) arm64-gen.c |
| 94 | 91 | C67_FILES = $(CORE_FILES) c67-gen.c tcccoff.c |
| 95 | 92 | |
| 96 | −ifdef CONFIG_WIN64 | |
| 97 | −PROGS+=tiny_impdef$(EXESUF) | |
| 98 | −NATIVE_FILES=$(WIN64_FILES) | |
| 99 | −PROGS_CROSS=$(WIN32_CROSS) $(I386_CROSS) $(X64_CROSS) $(ARM_CROSS) $(ARM64_CROSS) $(C67_CROSS) $(WINCE_CROSS) | |
| 100 | −LIBTCC1_CROSS=lib/i386-win32/libtcc1.a | |
| 101 | − | |
| 102 | −else ifdef CONFIG_WIN32 | |
| 103 | −PROGS+=tiny_impdef$(EXESUF) | |
| 104 | −NATIVE_FILES=$(WIN32_FILES) | |
| 105 | −PROGS_CROSS=$(WIN64_CROSS) $(I386_CROSS) $(X64_CROSS) $(ARM_CROSS) $(ARM64_CROSS) $(C67_CROSS) $(WINCE_CROSS) | |
| 106 | −LIBTCC1_CROSS=lib/x86_64-win32/libtcc1.a | |
| 107 | − | |
| 93 | +ifdef CONFIG_WIN32 | |
| 94 | + PROGS+=tiny_impdef$(EXESUF) tiny_libmaker$(EXESUF) | |
| 95 | +ifeq ($(ARCH),x86-64) | |
| 96 | + NATIVE_FILES=$(WIN64_FILES) | |
| 97 | + PROGS_CROSS=$(WIN32_CROSS) | |
| 98 | + LIBTCC1_CROSS=lib/i386-win32/libtcc1.a | |
| 99 | +else | |
| 100 | + NATIVE_FILES=$(WIN32_FILES) | |
| 101 | + PROGS_CROSS=$(WIN64_CROSS) | |
| 102 | + LIBTCC1_CROSS=lib/x86_64-win32/libtcc1.a | |
| 103 | +endif | |
| 104 | + PROGS_CROSS+=$(X64_CROSS) $(ARM_CROSS) $(ARM64_CROSS) $(C67_CROSS) $(WINCE_CROSS) | |
| 108 | 105 | else ifeq ($(ARCH),i386) |
| 109 | 106 | NATIVE_FILES=$(I386_FILES) |
| 110 | 107 | PROGS_CROSS=$(X64_CROSS) $(WIN32_CROSS) $(WIN64_CROSS) $(ARM_CROSS) $(ARM64_CROSS) $(C67_CROSS) $(WINCE_CROSS) |
| @@ -50,6 +50,7 @@ cpu= · 49 unmodified lines | ||
| 50 | 50 | targetos=`uname` |
| 51 | 51 | case $targetos in |
| 52 | 52 | MINGW32*) mingw32=yes;; |
| 53 | + MSYS*) mingw32=yes;; | |
| 53 | 54 | DragonFly) noldl=yes;; |
| 54 | 55 | OpenBSD) noldl=yes;; |
| 55 | 56 | FreeBSD) noldl=yes;; |
| @@ -8,11 +8,12 @@ VPATH = $(TOPSRC)/lib $(TOPSRC)/win32/lib · 7 unmodified lines | ||
| 8 | 8 | |
| 9 | 9 | ifndef TARGET |
| 10 | 10 | # we're building the native libtcc1.a |
| 11 | − ifdef CONFIG_WIN64 | |
| 12 | − TARGET = x86_64-win32 | |
| 13 | − # using tcc | |
| 14 | − else ifdef CONFIG_WIN32 | |
| 15 | − TARGET = i386-win32 | |
| 11 | + ifdef CONFIG_WIN32 | |
| 12 | + ifeq ($(ARCH),x86-64) | |
| 13 | + TARGET = x86_64-win32 | |
| 14 | + else | |
| 15 | + TARGET = i386-win32 | |
| 16 | + endif | |
| 16 | 17 | # using tcc |
| 17 | 18 | else ifeq ($(ARCH),i386) |
| 18 | 19 | TARGET = i386 |
| @@ -5,19 +5,17 @@ · 4 unmodified lines | ||
| 5 | 5 | @set /p VERSION= < ..\VERSION |
| 6 | 6 | echo>..\config.h #define TCC_VERSION "%VERSION%" |
| 7 | 7 | |
| 8 | −@if _%1_==_AMD64_ shift /1 && goto x86_64 | |
| 9 | −@if _%1_==_x64_ shift /1 && goto x86_64 | |
| 8 | +@if _%PROCESSOR_ARCHITECTURE%_==_AMD64_ goto x86_64 | |
| 9 | +@if _%PROCESSOR_ARCHITEW6432%_==_AMD64_ goto x86_64 | |
| 10 | 10 | |
| 11 | 11 | @set target=-DTCC_TARGET_PE -DTCC_TARGET_I386 |
| 12 | −@set CC=gcc -Os -s -fno-strict-aliasing | |
| 13 | −@if _%1_==_debug_ set CC=gcc -g -ggdb | |
| 12 | +@set CC=gcc -m32 -Os -s -fno-strict-aliasing | |
| 14 | 13 | @set P=32 |
| 15 | 14 | @goto tools |
| 16 | 15 | |
| 17 | 16 | :x86_64 |
| 18 | 17 | @set target=-DTCC_TARGET_PE -DTCC_TARGET_X86_64 |
| 19 | −@set CC=x86_64-w64-mingw32-gcc -Os -s -fno-strict-aliasing | |
| 20 | −@if _%1_==_debug_ set CC=x86_64-w64-mingw32-gcc -g -ggdb | |
| 18 | +@set CC=gcc -m64 -Os -s -fno-strict-aliasing | |
| 21 | 19 | @set P=64 |
| 22 | 20 | @goto tools |
| 23 | 21 | |
| @@ -36,6 +34,8 @@ tiny_impdef libtcc.dll -o libtcc/libtcc.def · 12 unmodified lines | ||
| 36 | 34 | |
| 37 | 35 | :copy_std_includes |
| 38 | 36 | copy ..\include\*.h include |
| 37 | +copy ..\tcclib.h include | |
| 38 | +copy ..\tests\libtcc_test.c examples | |
| 39 | 39 | |
| 40 | 40 | :libtcc1.a |
| 41 | 41 | .\tcc %target% -c ../lib/libtcc1.c |
| @@ -59,10 +59,9 @@ tiny_libmaker lib/libtcc1.a libtcc1.o alloca86_64.o crt1.o wincrt1.o dllcrt1.o d · 17 unmodified lines | ||
| 59 | 59 | |
| 60 | 60 | :the_end |
| 61 | 61 | del *.o |
| 62 | −copy ..\tests\libtcc_test.c examples | |
| 63 | 62 | |
| 64 | 63 | :makedoc |
| 65 | 64 | if not exist doc md doc |
| 66 | 65 | copy tcc-win32.txt doc |
| 67 | 66 | echo>..\config.texi @set VERSION %VERSION% |
| 68 | −makeinfo --html --no-split -o doc\tcc-doc.html ../tcc-doc.texi | |
| 67 | +makeinfo --html --no-split -o doc\tcc-doc.html ../tcc-doc.texi || echo *** tcc-doc.html was not built *** | |
| @@ -54,7 +54,7 @@ · 53 unmodified lines | ||
| 54 | 54 | tcc examples/libtcc_test.c -I libtcc libtcc/libtcc.def |
| 55 | 55 | |
| 56 | 56 | - Compiling with MinGW: |
| 57 | − gcc examples/libtcc_test.c -I libtcc libtcc.dll | |
| 57 | + gcc examples/libtcc_test.c -I libtcc libtcc.dll -o libtcc_test.exe | |
| 58 | 58 | |
| 59 | 59 | - Compiling with MSVC: |
| 60 | 60 | lib /def:libtcc\libtcc.def /out:libtcc.lib |