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