History

updates & cleanups (tcc-doc/Changelog/TODO ...)

- tcc-doc.texi: commandline option info update - Changelog/TODO: update - tests/tcctest.py: removed - tests/Makefile: weaktest fixed - tests/tests2: some files renamed and/or converted to unix LF - configure/Makefile: --enable-static option (no dll on win32) - win32/build-tcc.bat: msvc support - win32/tcc-win32.txt: build info update - win32/vs2015/: VS solution removed - win32/include/tcc/tcc_libm.h: #include statement fixed - tcc.c: -include <file> option help info - .gitignore: cleanup

grischka committed 9 years ago

Commit 43d9a7d1 parent 13056da29 files · +221 −771Browse files

Unified · Split

29 files
  1. .gitignore +47 −55
  2. Changelog +25 −116
  3. Makefile +8 −6
  4. TODO +9 −19
  5. configure +19 −22
  6. tcc-doc.texi +33 −15
  7. tcc.c +1 −0
  8. tests/Makefile +3 −2
  9. tests/tcctest.py +0 −15
  10. tests/tests2/84_hex-float.c +0 −0
  11. tests/tests2/84_hex-float.expect +0 −0
  12. tests/tests2/85_asm-outside-function.c +0 −0
  13. tests/tests2/85_asm-outside-function.expect +0 −0
  14. tests/tests2/86_memory-model.c +38 −38
  15. tests/tests2/86_memory-model.expect +1 −1
  16. tests/tests2/89_nocode_wanted.c +6 −6
  17. tests/tests2/89_nocode_wanted.expect +0 −0
  18. tests/tests2/90_struct-init.c +0 −0
  19. tests/tests2/90_struct-init.expect +0 −0
  20. tests/tests2/91_ptr_longlong_arith32.c +0 −0
  21. tests/tests2/91_ptr_longlong_arith32.expect +0 −0
  22. win32/Makefile +1 −1
  23. win32/build-tcc.bat +20 −3
  24. win32/include/tcc/tcc_libm.h +1 −1
  25. win32/tcc-win32.txt +9 −6
  26. win32/vs2015/PreBuild.bat +0 −9
  27. win32/vs2015/libtcc.vcxproj +0 −220
  28. win32/vs2015/tcc.sln +0 −41
  29. win32/vs2015/tcc.vcxproj +0 −195
.gitignore+47−55
@@ -1,72 +1,64 @@
1*~
2\#*
3.#*
1*.o4*.o
2*.a5*.a
3a.out
4*.exe6*.exe
7*.dll
8*.obj
9*.pdb
10*.lib
11*.exp
5*.log12*.log
13*.bz2
14*.zip
15.gdb_history
16a.out
6tcc_g17tcc_g
7tcc18tcc
8/*-tcc19*-tcc
9tc2.c20
10doc
11tc3s.c
12p3.c
13tc1.c
14error.c
15i386-gen1.c
16test.out1
17test.out1b
18test.out2
19test.out2b
20test.out3
21test.out3b
22web.sh
23memdebug.c
24bench
25Makefile.uClibc
26boundtest
27prog.ref
28test.ref
29test.out
30tcc-doc.html
31ideas
32tcctest.ref
33linux.tcc
34ldtest
35libtcc_test
36instr.S
37p.c
38p2.c
39tcctest[1234]
40test[1234].out
41tests/tcclib.h
42tests/tcctest.cc
43tests/weaktest.*.o.txt
44tests/tests2/fred.txt
45tests/tests2/*.exe
46tests/hello
47tests/abitest-*cc
48tests/vla_test
49.gdb_history
50tcc.1
51tcc.pod
52config.h21config.h
53config.mak22config.mak
54config.texi23config.texi
24conftest*
55tags25tags
56TAGS26TAGS
57.DS_Store27tcc.1
58*.swp28tcc.pod
29tcc-doc.html
30tcc-doc.info
31
59lib/x86_6432lib/x86_64
60lib/i38633lib/i386
61lib/x86_64-win3234lib/x86_64-win32
62lib/i386-win3235lib/i386-win32
63lib/arm36lib/arm
64lib/arm6437lib/arm64
65tcc-doc.info38
66conftest*39win32/doc
67tiny_libmaker40win32/libtcc
68*.dSYM41win32/lib/32
69*~42win32/lib/64
70\#*43win32/include/float.h
71.#*44win32/include/stdarg.h
72win32/*45win32/include/stdbool.h
46win32/include/stddef.h
47win32/include/varargs.h
48win32/include/tcclib.h
49
50tests/test.out*
51tests/test*.out
52tests/tcctest[1234]
53tests/tcctest.gcc
54tests/*.ref
55tests/*.txt
56tests/*.gcc
57tests/*-cc*
58tests/*-tcc*
59tests/libtcc_test
60tests/vla_test
61tests/hello
62tests/tests2/fred.txt
63
64libtcc*.def
Changelog+25−116
@@ -1,126 +1,35 @@
1Version 0.9.27:1Version 0.9.27:
2 2
3Licensing:
4
5- TinyCC partly relicensed to MIT license
6
7User interface:3User interface:
4- -x[c|a|n] filetype option (Sergey Korshunoff)
5- -P[1], -dD, -dM preprocessor options (Sergey Korshunoff)
6- -Wl,-(no-)whole-archive linker option (Reuben Thomas)
7- -mms-bitfields option (David Mertens)
8- -include <file> option (Michael Matz)
9- @listfile support (Vlad Vissoultchev)
10- CPATH, C_INCLUDE_PATH and LD_LIBRARY_PATH environment variables support
11 (Andrew Aladjev, Urs Janssen)
8 12
9- define __STDC_HOSTED__ (Michael Matz, Urs Janssen)13Platforms:
10- added support for CPATH, C_INCLUDE_PATH and LD_LIBRARY_PATH (Andrew Aladjev14- new AARCH64 (arm64) target (Edmund Grimley Evans)
11and Urs Janssen)15- vastly improved support for ARM hard float calling convention
12- added option -norunsrc to control argv[0] with tcc -run (James Lyon)16 (Thomas Preud'homme, Daniel Glöckner)
13- improve --with-libgcc configure help (grischka)17- provide a runtime library for ARM (Thomas Preud'homme)
14- improve error message when memory is full (grischka)18- many x86-64 ABI fixes incl. XMM register passing and tests (James Lyon)
15- improve wording about compiler switches in documentation (Thomas Preud'homme)19- ABI tests with native compiler using libtcc (James Lyon)
16- use GNU triplet prefix for cross compiler names (Thomas Preud'homme)
17- ignore unknown linker optimization and as-needed option (Austin English)
18 20
19Features:21Features:
22- VLA (variable length array) improved (James Lyon, Pip Cet)
23- import functions by ordinal in .def files on windows (YX Hao)
24- x86/x86-64 assembler much improved (Michael Matz)
25- simple dead code suppression (Edmund Grimley Evans, Michael Matz, grischka)
26- implement round/fmin/fmax etc. math on windows (Avi Halachmi)
27- #pragma once support (Sergey Korshunoff, Vlad Vissoultchev, ...)
28- switch/case code improved (Zdenek Pavlas)
29- ~15% faster by TinyAlloc fast memory allocator (Vlad Vissoultchev)
20 30
21- added ABI tests with native compiler using libtcc (James Lyon)31Licensing:
22- added CMake build system with support for cross-compilation (James Lyon)32- TinyCC partly relicensed to MIT license (See RELICENSING file).
23- improved variable length array support (James Lyon)
24- add the possibility to use noname functions by ordinal (YX Hao)
25- add a install-strip target to install tcc (Thomas Preud'homme)
26- add runtime selection of float ABI on ARM (Thomas Preud'homme)
27- add shared lib support on x86-64 (Michael Matz)
28
29Platforms:
30- support Debian GNU/kfreeBSD 64bit userspace (Thomas Preud'homme)
31- fix GNU/Hurd interpreter path (Thomas Preud'homme)
32- fix configure script for FreeBSD host (Thomas Preud'homme)
33- make tcc -run work reliably on ARM by flushing caches (Thomas Preud'homme)
34- many x86-64 ABI fixes incl. XMM register passing (James Lyon)
35- improve compatibility with mingw's long double (James Lyon)
36- avoid .stabstr section name to be truncated on win32 (Roy)
37- add support for load/store of _Bool value (Thomas Preud'homme)
38- detect instruction with incorrect operands on x86-64 (Thomas Preud'homme)
39- improved relocations on ARM (Thomas Preud'homme)
40- add va_* macro implementation for ARM (Thomas Preud'homme)
41- define __ARM_EABI__, __ARMEL__ and __ARM_PCS_VFP (Thomas Preud'homme)
42- provide a runtime library for ARM (Thomas Preud'homme)
43- vastly improved support for ARM hard float calling convention
44(Thomas Preud'homme, Daniel Glöckner)
45- tcc can uses libtcc1 on ARM (Thomas Preud'homme)
46- use __fixdfdi for all float to integer conversion (grischka)
47- simplify startup code for unix platforms (grischka)
48- improve ELF generated on ARM (Thomas Preud'homme)
49- add support for thumb to ARM relocation (Thomas Preud'homme)
50- fix globbing to match MSVC on Windows (Thomas Preud'homme)
51- deprecate FPA and OABI support for ARM (Thomas Preud'homme)
52- warn about softfloat not being supported on ARM (Thomas Preud'homme)
53
54Bug fixes:
55- many code clean up (Urs Janssen, grischka)
56- fixes of other's patches (grischka, Ramsay Jones, Michael Matz)
57- fix documentation about __TINYC__ (Urs Janssen)
58- improve build of documentation (Urs Janssen)
59- improve build instructions (Jov)
60- switch from texi2html to makeinfo --html to build tcc-doc.html (James Lyon)
61- improve out of tree build (James Lyon)
62- improved passing and returning of struct (James Lyon)
63- fix CMake build on i386 and x86-64 (James Lyon)
64- fix i386 calling convention issue (James Lyon)
65- fix error in Windows build of tests (James Lyon)
66- fix x86-64 long double passing (James Lyon)
67- fix crash with undefined struct (grischka)
68- normalize slashes on win32 to always use backslashes (grischka)
69- use runtime function for float to int conversion on i386 (grischka)
70- improved documentation for include and lib lookup on win32 (grischka)
71- detect redefinition of function (Thomas Preud'homme)
72- detect the use of array of functions (Thomas Preud'homme)
73- detect use of enumerator with wrong enumeration (Thomas Preud'homme)
74- detect redefinition of enumerator or enumeration (Thomas Preud'homme)
75- set the user-defined library search paths first (Vittorio Giovara)
76- detect usage of incomplete types inside struct/union (Amine Najahi)
77- various macro bug fixes (Joseph Poirier)
78- avoid wrong trigger of assert on x86-64 platform (Thomas Preud'homme)
79- fix NaN comparison (Thomas Preud'homme)
80- use libtcc for static linking with runtime library (Thomas Preud'homme)
81- fix negation of 0.0 and -0.0 values (Thomas Preud'homme)
82- fix use of long long as if condition (Thomas Preud'homme)
83- disable bound check if libgcc is used (Thomas Preud'homme)
84- error out when casting to void (grischka)
85- remove circular dependency in Makefile (grischka)
86- stop preventing gcc to do strict aliasing (grischka)
87- fix Windows build of tcc (grischka)
88- build runtime library for arm cross compiler (Thomas Preud'homme)
89- fix installation of arm cross-compiler (Thomas Preud'homme)
90- add basic test for cross-compiler (Thomas Preud'homme)
91- fix failure when generating PE on x86-64 (Archidemon)
92- fix floating point unary minus and plus (Michael Matz)
93- add more tests for signed zero float (Michael Matz)
94- fix precision of double on x86-64 (Vincent Lefevre)
95- fix bound checking of argv with -run switch (Kirill Smelkov)
96- work around a wine cmd bug when building tcc on Windows (Austin English)
97- reenable some bound check tests (grischka)
98- boundtest.c lookup honors VPATH (grischka)
99- diff compared to CC in test[123]b? are now errors (grischka)
100- fix test3 on Windows (grischka)
101- prevent gcc from building (non functional) libtcc.a (grischka)
102- fix warning related to PE file generation on x86-64 (grischka)
103- stop mixing ordinary and implicit rule in Makefile (Iavael)
104- fix integer to double conversion on ARM (Thomas Preud'homme)
105- fix parameter passing of structure < 4 bytes on ARM (Thomas Preud'homme)
106- disable builtin_frame_address test on ARM due to gcc bug (Thomas Preud'homme)
107- fix initialization of struct on ARM (Thomas Preud'homme)
108- fix parameter passing of (unsigned) long long bitfield (Thomas Preud'homme)
109- improve float to integer tests (Thomas Preud'homme)
110- fix relocation of Thumb branch to ARM function (Thomas Preud'homme)
111- fix char wrong compatibility with [un]signed char (Thomas Preud'homme)
112- choose the code to compile based on target in libtcc1 (Thomas Preud'homme)
113- fix various clang warnings (Thomas Preud'homme)
114- don't hardcode tcc in Makefile for tests (Thomas Preud'homme)
115- fix relocation of __bound_init bound checking code (Thomas Preud'homme)
116- accept only one basic type for a given variable (Thomas Preud'homme)
117- fix error when using va_* with tcc using libgcc (Thomas Preud'homme)
118- support GOT32 and PLT32 reloc on the same symbol (Thomas Preud'homme)
119- fix memory leak due to symbol attributes (mingodad)
120- partially fix bound checking of argv and arge (Thomas Preud'homme)
121- fix possible dereference when getting name of symbol (grischka)
122- fix va_list type definition on x86-64 (Daniel Glöckner)
123- reduce number of scan-build false positive (mingodad)
124 33
125version 0.9.26:34version 0.9.26:
126 35
Makefile+8−6
@@ -26,14 +26,16 @@ LINK_LIBTCC = · 25 unmodified lines
26LIBS =26LIBS =
27 27
28ifdef CONFIG_WIN3228ifdef CONFIG_WIN32
29 LIBTCC = libtcc.dll29 ifneq ($(DISABLE_STATIC),no)
30 LIBTCC = libtcc.dll
31 endif
30else32else
31 LIBS=-lm33 LIBS=-lm
32 ifndef CONFIG_NOLDL34 ifndef CONFIG_NOLDL
33 LIBS+=-ldl35 LIBS+=-ldl
34 endif36 endif
35 # make libtcc as static or dynamic library?37 # make libtcc as static or dynamic library?
36 ifdef DISABLE_STATIC38 ifeq ($(DISABLE_STATIC),yes)
37 LIBTCC=libtcc.so39 LIBTCC=libtcc.so
38 ifndef DISABLE_RPATH40 ifndef DISABLE_RPATH
39 LINK_LIBTCC += -Wl,-rpath,"$(libdir)"41 LINK_LIBTCC += -Wl,-rpath,"$(libdir)"
@@ -92,7 +94,7 @@ ARM64_FILES = $(CORE_FILES) arm64-gen.c arm64-link.c · 52 unmodified lines
92C67_FILES = $(CORE_FILES) c67-gen.c c67-link.c tcccoff.c94C67_FILES = $(CORE_FILES) c67-gen.c c67-link.c tcccoff.c
93 95
94ifdef CONFIG_WIN3296ifdef CONFIG_WIN32
95 PROGS+=tiny_impdef$(EXESUF) tiny_libmaker$(EXESUF) $(LIBTCC)97 PROGS+=tiny_impdef$(EXESUF) tiny_libmaker$(EXESUF)
96 ifeq ($(ARCH),x86-64)98 ifeq ($(ARCH),x86-64)
97 NATIVE_FILES=$(WIN64_FILES)99 NATIVE_FILES=$(WIN64_FILES)
98 PROGS_CROSS=$(WIN32_CROSS) $(X64_CROSS) $(ARM_CROSS) $(ARM64_CROSS) $(C67_CROSS) $(WINCE_CROSS)100 PROGS_CROSS=$(WIN32_CROSS) $(X64_CROSS) $(ARM_CROSS) $(ARM64_CROSS) $(C67_CROSS) $(WINCE_CROSS)
@@ -272,14 +274,14 @@ install: · 173 unmodified lines
272 mkdir -p "$(tccdir)/examples"274 mkdir -p "$(tccdir)/examples"
273 mkdir -p "$(tccdir)/doc"275 mkdir -p "$(tccdir)/doc"
274 mkdir -p "$(tccdir)/libtcc"276 mkdir -p "$(tccdir)/libtcc"
275 $(INSTALLBIN) -m755 $(PROGS) "$(tccdir)"277 $(INSTALLBIN) -m755 $(PROGS) $(subst libtcc.a,,$(LIBTCC)) "$(tccdir)"
276 $(INSTALL) -m644 libtcc1.a $(TOPSRC)/win32/lib/*.def "$(tccdir)/lib"278 $(INSTALL) -m644 libtcc1.a $(TOPSRC)/win32/lib/*.def "$(tccdir)/lib"
277 cp -r $(TOPSRC)/win32/include/. "$(tccdir)/include"279 cp -r $(TOPSRC)/win32/include/. "$(tccdir)/include"
278 cp -r $(TOPSRC)/win32/examples/. "$(tccdir)/examples"280 cp -r $(TOPSRC)/win32/examples/. "$(tccdir)/examples"
279 cp $(TOPSRC)/tests/libtcc_test.c "$(tccdir)/examples"281 cp $(TOPSRC)/tests/libtcc_test.c "$(tccdir)/examples"
280 $(INSTALL) -m644 $(TOPSRC)/include/*.h $(TOPSRC)/tcclib.h "$(tccdir)/include"282 $(INSTALL) -m644 $(TOPSRC)/include/*.h $(TOPSRC)/tcclib.h "$(tccdir)/include"
281 $(INSTALL) -m644 tcc-doc.html $(TOPSRC)/win32/tcc-win32.txt "$(tccdir)/doc"283 $(INSTALL) -m644 $(TOPSRC)/libtcc.h $(subst .dll,.def,$(LIBTCC)) "$(tccdir)/libtcc"
282 $(INSTALL) -m644 $(TOPSRC)/libtcc.h libtcc.def "$(tccdir)/libtcc"284 -$(INSTALL) -m644 $(TOPSRC)/win32/tcc-win32.txt tcc-doc.html "$(tccdir)/doc"
283ifdef CONFIG_CROSS285ifdef CONFIG_CROSS
284 mkdir -p "$(tccdir)/lib/32"286 mkdir -p "$(tccdir)/lib/32"
285 mkdir -p "$(tccdir)/lib/64"287 mkdir -p "$(tccdir)/lib/64"
TODO+9−19
@@ -2,16 +2,8 @@ TODO list: · 1 unmodified line
2 2
3Bugs:3Bugs:
4 4
5- fix macro substitution with nested definitions (ShangHongzhang)
6- FPU st(0) is left unclean (kwisatz haderach). Incompatible with5- FPU st(0) is left unclean (kwisatz haderach). Incompatible with
7 optimized gcc/msc code6 optimized gcc/msc code
8
9- constructors
10- cast bug (Peter Wang)
11- define incomplete type if defined several times (Peter Wang).
12- test binutils/gcc compile
13- tci patch + argument.
14- see -lxxx bug (Michael Charity).
15- see transparent union pb in /urs/include/sys/socket.h7- see transparent union pb in /urs/include/sys/socket.h
16- precise behaviour of typeof with arrays ? (__put_user macro)8- precise behaviour of typeof with arrays ? (__put_user macro)
17 but should suffice for most cases)9 but should suffice for most cases)
@@ -26,11 +18,10 @@ Bugs: · 8 unmodified lines
26- finish varargs.h support (gcc 3.2 testsuite issue)18- finish varargs.h support (gcc 3.2 testsuite issue)
27- fix static functions declared inside block19- fix static functions declared inside block
28- fix multiple unions init20- fix multiple unions init
29- sizeof, alignof, typeof can still generate code in some cases.
30- Fix the remaining libtcc memory leaks.
31- make libtcc fully reentrant (except for the compilation stage itself).21- make libtcc fully reentrant (except for the compilation stage itself).
32- struct/union/enum definitions in nested scopes (see also Debian bug #770657)22- struct/union/enum definitions in nested scopes (see also Debian bug #770657)
33- __STDC_IEC_559__: float f(void) { static float x = 0.0 / 0.0; return x; }23- __STDC_IEC_559__: float f(void) { static float x = 0.0 / 0.0; return x; }
24- memory may be leaked after errors (longjmp).
34 25
35Portability:26Portability:
36 27
@@ -42,14 +33,10 @@ Portability: · 5 unmodified lines
42 33
43Linking:34Linking:
44 35
45- static linking does not work36- static linking (-static) does not work
46- with "-run" and libtcc, no PLT is used, so branches may be out of
47 range and relocations may fail; as a result libtest fails on arm64; see:
48 https://lists.gnu.org/archive/html/tinycc-devel/2015-03/msg00111.html
49 37
50Bound checking:38Bound checking:
51 39
52- '-b' bug.
53- fix bound exit on RedHat 7.340- fix bound exit on RedHat 7.3
54- setjmp is not supported properly in bound checking.41- setjmp is not supported properly in bound checking.
55- fix bound check code with '&' on local variables (currently done42- fix bound check code with '&' on local variables (currently done
@@ -61,11 +48,10 @@ Missing features: · 5 unmodified lines
61 48
62- disable-asm and disable-bcheck options49- disable-asm and disable-bcheck options
63- __builtin_expect()50- __builtin_expect()
64- improve '-E' option.
65- atexit (Nigel Horne)51- atexit (Nigel Horne)
66- packed attribute
67- C99: add complex types (gcc 3.2 testsuite issue)52- C99: add complex types (gcc 3.2 testsuite issue)
68- postfix compound literals (see 20010124-1.c)53- postfix compound literals (see 20010124-1.c)
54- interactive mode / integrated debugger
69 55
70Optimizations:56Optimizations:
71 57
@@ -81,9 +67,8 @@ Not critical: · 9 unmodified lines
81 normative example - only relevant when using gotos! -> must add67 normative example - only relevant when using gotos! -> must add
82 boolean variable to tell if compound literal was already68 boolean variable to tell if compound literal was already
83 initialized).69 initialized).
84- add PowerPC or ARM code generator and improve codegen for RISC (need70- add PowerPC generator and improve codegen for RISC (need
85 to suppress VT_LOCAL and use a base register instead).71 to suppress VT_LOCAL and use a base register instead).
86- interactive mode / integrated debugger
87- fix preprocessor symbol redefinition72- fix preprocessor symbol redefinition
88- add portable byte code generator and interpreter for other73- add portable byte code generator and interpreter for other
89 unsupported architectures.74 unsupported architectures.
@@ -108,3 +93,8 @@ Fixed (probably): · 18 unmodified lines
108- #include_next support for /usr/include/limits ?93- #include_next support for /usr/include/limits ?
109- function pointers/lvalues in ? : (linux kernel net/core/dev.c)94- function pointers/lvalues in ? : (linux kernel net/core/dev.c)
110- win32: add __stdcall, check GetModuleHandle for dlls.95- win32: add __stdcall, check GetModuleHandle for dlls.
96- macro substitution with nested definitions (ShangHongzhang)
97- with "-run" and libtcc, a PLT is now built.
98- '-E' option was improved
99- packed attribute is now supported
100- ARM and ARM64 code generators have been added.
configure+19−22
@@ -19,6 +19,7 @@ TMPH=$TMPN.h · 18 unmodified lines
19# default parameters19# default parameters
20build_cross="no"20build_cross="no"
21use_libgcc="no"21use_libgcc="no"
22disable_static=""
22prefix=""23prefix=""
23execprefix=""24execprefix=""
24bindir=""25bindir=""
@@ -53,6 +54,7 @@ targetos=`uname` · 28 unmodified lines
53case $targetos in54case $targetos in
54 MINGW*) mingw32=yes;;55 MINGW*) mingw32=yes;;
55 MSYS*) mingw32=yes;;56 MSYS*) mingw32=yes;;
57 CYGWIN*) mingw32=yes; cygwin=yes; cross_prefix="mingw32-";;
56 DragonFly) noldl=yes;;58 DragonFly) noldl=yes;;
57 OpenBSD) noldl=yes;;59 OpenBSD) noldl=yes;;
58 FreeBSD) noldl=yes;;60 FreeBSD) noldl=yes;;
@@ -69,6 +71,8 @@ source_path_used="yes" · 10 unmodified lines
69if test -z "$source_path" -o "$source_path" = "." ; then71if test -z "$source_path" -o "$source_path" = "." ; then
70 source_path=`pwd`72 source_path=`pwd`
71 source_path_used="no"73 source_path_used="no"
74 # mingw compilers might not understand cygwin paths
75 if test $cygwin = "yes"; then source_path="."; fi
72fi76fi
73 77
74for opt do78for opt do
@@ -126,12 +130,12 @@ for opt do · 51 unmodified lines
126 ;;130 ;;
127 --enable-mingw32) mingw32="yes" ; cross_prefix="i686-pc-mingw32-" ; cpu=x86131 --enable-mingw32) mingw32="yes" ; cross_prefix="i686-pc-mingw32-" ; cpu=x86
128 ;;132 ;;
129 --enable-cygwin) mingw32="yes" ; cygwin="yes" ; cross_prefix="mingw32-" ; cpu=x86
130 ;;
131 --enable-cross) build_cross="yes"133 --enable-cross) build_cross="yes"
132 ;;134 ;;
133 --disable-static) disable_static="yes"135 --disable-static) disable_static="yes"
134 ;;136 ;;
137 --enable-static) disable_static="no"
138 ;;
135 --disable-rpath) disable_rpath="yes"139 --disable-rpath) disable_rpath="yes"
136 ;;140 ;;
137 --strip-binaries) strip_binaries="yes"141 --strip-binaries) strip_binaries="yes"
@@ -288,12 +292,12 @@ Advanced options (experts only): · 150 unmodified lines
288 --cpu=CPU CPU [$cpu]292 --cpu=CPU CPU [$cpu]
289 --strip-binaries strip symbol tables from resulting binaries293 --strip-binaries strip symbol tables from resulting binaries
290 --disable-static make libtcc.so instead of libtcc.a294 --disable-static make libtcc.so instead of libtcc.a
295 --enable-static make libtcc.a instead of libtcc.dll (win32)
291 --disable-rpath disable use of -rpath with the above296 --disable-rpath disable use of -rpath with the above
292 --with-libgcc use libgcc_s.so.1 instead of libtcc1.a in dynamic link297 --with-libgcc use libgcc_s.so.1 instead of libtcc1.a in dynamic link
293 --enable-mingw32 build windows version on linux with mingw32298 --enable-mingw32 build windows version on linux with mingw32
294 --enable-cygwin build windows version on windows with cygwin
295 --enable-cross build cross compilers299 --enable-cross build cross compilers
296 --with-selinux use mmap for exec mem [needs writable /tmp]300 --with-selinux use mmap for executable memory (with tcc -run)
297 --sysincludepaths=... specify system include paths, colon separated301 --sysincludepaths=... specify system include paths, colon separated
298 --libpaths=... specify system library paths, colon separated302 --libpaths=... specify system library paths, colon separated
299 --crtprefix=... specify locations of crt?.o, colon separated303 --crtprefix=... specify locations of crt?.o, colon separated
@@ -309,15 +313,16 @@ ar="${cross_prefix}${ar}" · 9 unmodified lines
309strip="${cross_prefix}${strip}"313strip="${cross_prefix}${strip}"
310 314
311CONFTEST=./conftest$EXESUF315CONFTEST=./conftest$EXESUF
316if ! $cc -o $CONFTEST $source_path/conftest.c 2>/dev/null ; then
317 echo "configure: error: '$cc' failed to compile conftest.c."
318else
319 gcc_major="$($CONFTEST version)"
320 gcc_minor="$($CONFTEST minor)"
321fi
312 322
313if test -z "$cross_prefix" ; then323if test -z "$cross_prefix" ; then
314 if ! $cc -o $CONFTEST $source_path/conftest.c 2>/dev/null ; then324 bigendian="$($CONFTEST bigendian)"
315 echo "configure: error: '$cc' failed to compile conftest.c."325 if test "$mingw32" = "no" ; then
316 else
317 bigendian="$($CONFTEST bigendian)"
318 gcc_major="$($CONFTEST version)"
319 gcc_minor="$($CONFTEST minor)"
320 if test "$mingw32" = "no" ; then
321 326
322 if test -z "$triplet"; then327 if test -z "$triplet"; then
323 tt="$($CONFTEST triplet)"328 tt="$($CONFTEST triplet)"
@@ -348,8 +353,6 @@ if test -z "$cross_prefix" ; then · 24 unmodified lines
348 if test -f "/lib/ld-uClibc.so.0" ; then353 if test -f "/lib/ld-uClibc.so.0" ; then
349 confvars="$confvars uClibc"354 confvars="$confvars uClibc"
350 fi355 fi
351
352 fi
353 fi356 fi
354else357else
355 # if cross compiling, cannot launch a program, so make a static guess358 # if cross compiling, cannot launch a program, so make a static guess
@@ -365,7 +368,7 @@ for i in $W_OPTIONS; do · 9 unmodified lines
365 O_PRESENT="$(grep -- -W$i cc_help.txt)"368 O_PRESENT="$(grep -- -W$i cc_help.txt)"
366 if test -n "$O_PRESENT"; then CFLAGS="$CFLAGS -W$i"; fi369 if test -n "$O_PRESENT"; then CFLAGS="$CFLAGS -W$i"; fi
367done370done
368W_OPTIONS="deprecated-declarations strict-aliasing pointer-sign sign-compare unused-result uninitialized"371W_OPTIONS="pointer-sign sign-compare unused-result"
369for i in $W_OPTIONS; do372for i in $W_OPTIONS; do
370 O_PRESENT="$(grep -- -W$i cc_help.txt)"373 O_PRESENT="$(grep -- -W$i cc_help.txt)"
371 if test -n "$O_PRESENT"; then CFLAGS="$CFLAGS -Wno-$i"; fi374 if test -n "$O_PRESENT"; then CFLAGS="$CFLAGS -Wno-$i"; fi
@@ -481,12 +484,6 @@ fi · 109 unmodified lines
481if test "$mingw32" = "yes" ; then484if test "$mingw32" = "yes" ; then
482 echo "CONFIG_WIN32=yes" >> config.mak485 echo "CONFIG_WIN32=yes" >> config.mak
483fi486fi
484if test "$cygwin" = "yes" ; then
485 echo "#ifndef _WIN32" >> $TMPH
486 echo "# define _WIN32" >> $TMPH
487 echo "#endif" >> $TMPH
488 echo "AR=ar" >> config.mak
489fi
490if test "$bigendian" = "yes" ; then487if test "$bigendian" = "yes" ; then
491 echo "WORDS_BIGENDIAN=yes" >> config.mak488 echo "WORDS_BIGENDIAN=yes" >> config.mak
492 echo "#define WORDS_BIGENDIAN 1" >> $TMPH489 echo "#define WORDS_BIGENDIAN 1" >> $TMPH
@@ -498,8 +495,8 @@ fi · 5 unmodified lines
498if test "$build_cross" = "yes" ; then495if test "$build_cross" = "yes" ; then
499 echo "CONFIG_CROSS=yes" >> config.mak496 echo "CONFIG_CROSS=yes" >> config.mak
500fi497fi
501if test "$disable_static" = "yes" ; then498if test -n "$disable_static" ; then
502 echo "DISABLE_STATIC=yes" >> config.mak499 echo "DISABLE_STATIC=$disable_static" >> config.mak
503fi500fi
504if test "$disable_rpath" = "yes" ; then501if test "$disable_rpath" = "yes" ; then
505 echo "DISABLE_RPATH=yes" >> config.mak502 echo "DISABLE_RPATH=yes" >> config.mak
tcc-doc.texi+33−15
@@ -176,29 +176,15 @@ In a script, it gives the following header: · 175 unmodified lines
176#!/usr/local/bin/tcc -run -L/usr/X11R6/lib -lX11176#!/usr/local/bin/tcc -run -L/usr/X11R6/lib -lX11
177@end example177@end example
178 178
179@item -mms-bitfields
180Use an algorithm for bitfield alignment consistent with MSVC. Default is
181gcc's algorithm.
182
183@item -mfloat-abi (ARM only)
184Select the float ABI. Possible values: @code{softfp} and @code{hard}
185
186@item -dumpversion
187Print only the compiler version and nothing else.
188
189@item -v179@item -v
190Display TCC version.180Display TCC version.
191 181
192@item -vv182@item -vv
193Show included files. As sole argument, print search dirs (as below).183Show included files. As sole argument, print search dirs. -vvv shows tries too.
194 184
195@item -bench185@item -bench
196Display compilation statistics.186Display compilation statistics.
197 187
198@item -print-search-dirs
199Print the configured installation directory and a list of library
200and include directories tcc will search.
201
202@end table188@end table
203 189
204Preprocessor options:190Preprocessor options:
@@ -220,6 +206,10 @@ also be defined: @option{-DF(a)=a+1} · 15 unmodified lines
220 206
221@item -Usym207@item -Usym
222Undefine preprocessor symbol @samp{sym}.208Undefine preprocessor symbol @samp{sym}.
209
210@item -E
211Preprocess only, to stdout or file (with -o).
212
223@end table213@end table
224 214
225Compilation flags:215Compilation flags:
@@ -337,6 +327,9 @@ Modify executable layout. · 111 unmodified lines
337@item -Wl,-Bsymbolic327@item -Wl,-Bsymbolic
338Set DT_SYMBOLIC tag.328Set DT_SYMBOLIC tag.
339 329
330@item -Wl,-(no-)whole-archive
331Turn on/off linking of all objects in archives.
332
340@end table333@end table
341 334
342Debugger options:335Debugger options:
@@ -370,6 +363,31 @@ Generate makefile fragment with dependencies. · 27 unmodified lines
370@item -MF depfile363@item -MF depfile
371Use @file{depfile} as output for -MD.364Use @file{depfile} as output for -MD.
372 365
366@item -print-search-dirs
367Print the configured installation directory and a list of library
368and include directories tcc will search.
369
370@item -dumpversion
371Print version.
372
373@end table
374
375Target specific options:
376
377@table @option
378@item -mms-bitfields
379Use an algorithm for bitfield alignment consistent with MSVC. Default is
380gcc's algorithm.
381
382@item -mfloat-abi (ARM only)
383Select the float ABI. Possible values: @code{softfp} and @code{hard}
384
385@item -mno-sse
386Do not use sse registers on x86-64
387
388@item -m32, -m64
389Pass command line to the i386/x86-64 cross compiler.
390
373@end table391@end table
374 392
375Note: GCC options @option{-Ox}, @option{-fx} and @option{-mx} are393Note: GCC options @option{-Ox}, @option{-fx} and @option{-mx} are
tcc.c+1−0
@@ -109,6 +109,7 @@ static void help(void) · 108 unmodified lines
109 " -E preprocess only\n"109 " -E preprocess only\n"
110 " -P[1] no / alternative #line output with -E\n"110 " -P[1] no / alternative #line output with -E\n"
111 " -dD -dM output #define directives with -E\n"111 " -dD -dM output #define directives with -E\n"
112 " -include file include file above each input file\n"
112 "Linker options:\n"113 "Linker options:\n"
113 " -Ldir add library path 'dir'\n"114 " -Ldir add library path 'dir'\n"
114 " -llib link with dynamic or static library 'lib'\n"115 " -llib link with dynamic or static library 'lib'\n"
tests/Makefile+3−2
@@ -187,7 +187,7 @@ speedtest: ex2 ex3 · 186 unmodified lines
187 187
188weaktest: tcctest.c test.ref188weaktest: tcctest.c test.ref
189 $(TCC) -c $< -o weaktest.tcc.o189 $(TCC) -c $< -o weaktest.tcc.o
190 $(CC) -c $< -o weaktest.gcc.o -I. $(CFLAGS)190 $(CC) -c $< -o weaktest.gcc.o $(NATIVE_DEFINES) $(CFLAGS) -w -O0 -std=gnu99 -fno-omit-frame-pointer
191 objdump -t weaktest.tcc.o | grep ' w ' | sed -e 's/.* \([a-zA-Z0-9_]*\)$$/\1/' | LC_ALL=C sort > weaktest.tcc.o.txt191 objdump -t weaktest.tcc.o | grep ' w ' | sed -e 's/.* \([a-zA-Z0-9_]*\)$$/\1/' | LC_ALL=C sort > weaktest.tcc.o.txt
192 objdump -t weaktest.gcc.o | grep ' w ' | sed -e 's/.* \([a-zA-Z0-9_]*\)$$/\1/' | LC_ALL=C sort > weaktest.gcc.o.txt192 objdump -t weaktest.gcc.o | grep ' w ' | sed -e 's/.* \([a-zA-Z0-9_]*\)$$/\1/' | LC_ALL=C sort > weaktest.gcc.o.txt
193 diff weaktest.gcc.o.txt weaktest.tcc.o.txt && echo "Weak Auto Test OK"193 diff weaktest.gcc.o.txt weaktest.tcc.o.txt && echo "Weak Auto Test OK"
@@ -254,7 +254,8 @@ cache: tcc_g · 60 unmodified lines
254# clean254# clean
255clean:255clean:
256 rm -f *~ *.o *.a *.bin *.i *.ref *.out *.out? *.out?b *.cc *.gcc \256 rm -f *~ *.o *.a *.bin *.i *.ref *.out *.out? *.out?b *.cc *.gcc \
257*-cc *-gcc *-tcc *.exe hello libtcc_test vla_test tcctest[1234] ex? tcc_g257 *-cc *-gcc *-tcc *.exe hello libtcc_test vla_test tcctest[1234] \
258 ex? tcc_g *.def weaktest.*.txt
258 $(MAKE) -C tests2 $@259 $(MAKE) -C tests2 $@
259 $(MAKE) -C pp $@260 $(MAKE) -C pp $@
260 261
tests/tcctest.py+0−15
@@ -1,15 +0,0 @@
1import subprocess
2import sys
3import difflib
4
5def main():
6 reference = subprocess.check_output([sys.argv[1]])
7 compare = subprocess.check_output(sys.argv[2:])
8 failed = False
9 for line in difflib.unified_diff(reference.split('\n'), compare.split('\n'), fromfile='cc', tofile='tcc', lineterm=''):
10 failed = True
11 print line
12 sys.exit(1 if failed else 0)
13
14if __name__ == '__main__':
15 main()
tests/tests2/84_hex-float.crenamed from tests/tests2/84-hex-float.c+0−0

File renamed without changes.

tests/tests2/84_hex-float.expectrenamed from tests/tests2/84-hex-float.expect+0−0

File renamed without changes.

tests/tests2/85_asm-outside-function.crenamed from tests/tests2/85-asm-outside-function.c+0−0

File renamed without changes.

tests/tests2/85_asm-outside-function.expectrenamed from tests/tests2/85-asm-outside-function.expect+0−0

File renamed without changes.

tests/tests2/86_memory-model.crenamed from tests/tests2/86-memory-model.c+38−38
@@ -1,38 +1,38 @@
1#include <stdio.h>1#include <stdio.h>
2 2
3int3int
4main()4main()
5{5{
6#if defined(__LLP64__)6#if defined(__LLP64__)
7 if (sizeof(short) == 27 if (sizeof(short) == 2
8 && sizeof(int) == 48 && sizeof(int) == 4
9 && sizeof(long int) == 49 && sizeof(long int) == 4
10 && sizeof(long long int) == 810 && sizeof(long long int) == 8
11 && sizeof(void*) == 8) {11 && sizeof(void*) == 8) {
12 (void)printf("Ok\n");12 (void)printf("Ok\n");
13 } else {13 } else {
14 (void)printf("KO __LLP64__\n");14 (void)printf("KO __LLP64__\n");
15 }15 }
16#elif defined(__LP64__)16#elif defined(__LP64__)
17 if (sizeof(short) == 217 if (sizeof(short) == 2
18 && sizeof(int) == 418 && sizeof(int) == 4
19 && sizeof(long int) == 819 && sizeof(long int) == 8
20 && sizeof(long long int) == 820 && sizeof(long long int) == 8
21 && sizeof(void*) == 8) {21 && sizeof(void*) == 8) {
22 (void)printf("Ok\n");22 (void)printf("Ok\n");
23 } else {23 } else {
24 (void)printf("KO __LP64__\n");24 (void)printf("KO __LP64__\n");
25 }25 }
26#elif defined(__ILP32__)26#elif defined(__ILP32__)
27 if (sizeof(short) == 227 if (sizeof(short) == 2
28 && sizeof(int) == 428 && sizeof(int) == 4
29 && sizeof(long int) == 429 && sizeof(long int) == 4
30 && sizeof(void*) == 4) {30 && sizeof(void*) == 4) {
31 (void)printf("Ok\n");31 (void)printf("Ok\n");
32 } else {32 } else {
33 (void)printf("KO __ILP32__\n");33 (void)printf("KO __ILP32__\n");
34 }34 }
35#else35#else
36 (void)printf("KO no __*LP*__ defined.\n");36 (void)printf("KO no __*LP*__ defined.\n");
37#endif37#endif
38}38}
tests/tests2/86_memory-model.expectrenamed from tests/tests2/86-memory-model.expect+1−1
@@ -1 +1 @@
1Ok1Ok
tests/tests2/89_nocode_wanted.crenamed from tests/tests2/82_nocode_wanted.c+6−6
@@ -3,7 +3,7 @@ static void kb_wait_1(void) · 2 unmodified lines
3{3{
4 unsigned long timeout = 2;4 unsigned long timeout = 2;
5 do {5 do {
6 (1 ? 6 (1 ?
7 printf("timeout=%ld\n", timeout) :7 printf("timeout=%ld\n", timeout) :
8 ({8 ({
9 while (1)9 while (1)
@@ -17,7 +17,7 @@ static void kb_wait_2(void) · 7 unmodified lines
17{17{
18 unsigned long timeout = 2;18 unsigned long timeout = 2;
19 do {19 do {
20 (1 ? 20 (1 ?
21 printf("timeout=%ld\n", timeout) :21 printf("timeout=%ld\n", timeout) :
22 ({22 ({
23 for (;;)23 for (;;)
@@ -31,7 +31,7 @@ static void kb_wait_2_1(void) · 7 unmodified lines
31{31{
32 unsigned long timeout = 2;32 unsigned long timeout = 2;
33 do {33 do {
34 (1 ? 34 (1 ?
35 printf("timeout=%ld\n", timeout) :35 printf("timeout=%ld\n", timeout) :
36 ({36 ({
37 do {37 do {
@@ -46,7 +46,7 @@ static void kb_wait_2_2(void) · 8 unmodified lines
46{46{
47 unsigned long timeout = 2;47 unsigned long timeout = 2;
48 do {48 do {
49 (1 ? 49 (1 ?
50 printf("timeout=%ld\n", timeout) :50 printf("timeout=%ld\n", timeout) :
51 ({51 ({
52 label:52 label:
@@ -61,7 +61,7 @@ static void kb_wait_3(void) · 8 unmodified lines
61{61{
62 unsigned long timeout = 2;62 unsigned long timeout = 2;
63 do {63 do {
64 (1 ? 64 (1 ?
65 printf("timeout=%ld\n", timeout) :65 printf("timeout=%ld\n", timeout) :
66 ({66 ({
67 int i = 1;67 int i = 1;
@@ -78,7 +78,7 @@ static void kb_wait_4(void) · 10 unmodified lines
78{78{
79 unsigned long timeout = 2;79 unsigned long timeout = 2;
80 do {80 do {
81 (1 ? 81 (1 ?
82 printf("timeout=%ld\n", timeout) :82 printf("timeout=%ld\n", timeout) :
83 ({83 ({
84 switch(timeout) {84 switch(timeout) {
tests/tests2/89_nocode_wanted.expectrenamed from tests/tests2/82_nocode_wanted.expect+0−0

File renamed without changes.

tests/tests2/90_struct-init.crenamed from tests/tests2/86-struct-init.c+0−0

File renamed without changes.

tests/tests2/90_struct-init.expectrenamed from tests/tests2/86-struct-init.expect+0−0

File renamed without changes.

tests/tests2/91_ptr_longlong_arith32.crenamed from tests/tests2/87_ptr_longlong_arith32.c+0−0

File renamed without changes.

tests/tests2/91_ptr_longlong_arith32.expectrenamed from tests/tests2/87_ptr_longlong_arith32.expect+0−0

File renamed without changes.

win32/Makefile+1−1
@@ -110,7 +110,7 @@ tarball: · 109 unmodified lines
110 @cp -r lib $(TARNAME)110 @cp -r lib $(TARNAME)
111 @cp -r libtcc $(TARNAME)111 @cp -r libtcc $(TARNAME)
112 @cp -r tools $(TARNAME)112 @cp -r tools $(TARNAME)
113 @cp -r vs2015 $(TARNAME)113# @cp -r vs2015 $(TARNAME)
114 @cp -r build-tcc.bat $(TARNAME)114 @cp -r build-tcc.bat $(TARNAME)
115 @cp -r i386-win32-tcc.exe $(TARNAME)115 @cp -r i386-win32-tcc.exe $(TARNAME)
116 @cp -r libtcc.def $(TARNAME)116 @cp -r libtcc.def $(TARNAME)
win32/build-tcc.bat+20−3
@@ -1,10 +1,11 @@
1@rem ------------------------------------------------------1@rem ------------------------------------------------------
2@rem batch file to build tcc using mingw gcc or tcc itself2@rem batch file to build tcc using mingw, msvc or tcc itself
3@rem ------------------------------------------------------3@rem ------------------------------------------------------
4 4
5@echo off5@echo off
6 6
7set CC=gcc -Os -s -fno-strict-aliasing7set CC=gcc -Os -s
8
8set T=329set T=32
9if %PROCESSOR_ARCHITECTURE%_==AMD64_ set T=6410if %PROCESSOR_ARCHITECTURE%_==AMD64_ set T=64
10if %PROCESSOR_ARCHITEW6432%_==AMD64_ set T=6411if %PROCESSOR_ARCHITEW6432%_==AMD64_ set T=64
@@ -16,7 +17,7 @@ goto :a0 · 5 unmodified lines
16:usage17:usage
17echo usage: build-tcc.bat [ options ... ]18echo usage: build-tcc.bat [ options ... ]
18echo options:19echo options:
19echo -c prog use prog (gcc or tcc) to compile tcc20echo -c prog use prog (gcc/tcc/cl) to compile tcc
20echo -c "prog options" use prog with options to compile tcc21echo -c "prog options" use prog with options to compile tcc
21echo -t 32/64 force 32/64 bit default target22echo -t 32/64 force 32/64 bit default target
22echo -v "version" set tcc version23echo -v "version" set tcc version
@@ -24,6 +25,21 @@ echo -i dir install tcc into dir · 1 unmodified line
24echo -d create tcc-doc.html too (needs makeinfo)25echo -d create tcc-doc.html too (needs makeinfo)
25exit /B 126exit /B 1
26 27
28:cl
29@echo off
30set CMD=cl
31:c0
32set ARG=%1
33set ARG=%ARG:.dll=.lib%
34if (%1)==(-shared) set ARG=-LD
35if (%1)==(-o) shift && set ARG=-Fe%2
36set CMD=%CMD% %ARG%
37shift
38if not (%1)==() goto :c0
39echo on
40%CMD% -O1 -W2 -Zi -MT -GS- -nologo -link -opt:ref,icf
41@exit /B %ERRORLEVEL%
42
27:a243:a2
28shift44shift
29:a145:a1
@@ -31,6 +47,7 @@ shift · 1 unmodified line
31:a047:a0
32if not (%1)==(-c) goto :a348if not (%1)==(-c) goto :a3
33set CC=%~249set CC=%~2
50if (%2)==(cl) set CC=@call :cl
34goto :a251goto :a2
35:a352:a3
36if not (%1)==(-t) goto :a453if not (%1)==(-t) goto :a4
win32/include/tcc/tcc_libm.h+1−1
@@ -1,7 +1,7 @@
1#ifndef _TCC_LIBM_H_1#ifndef _TCC_LIBM_H_
2#define _TCC_LIBM_H_2#define _TCC_LIBM_H_
3 3
4#include "../include/math.h"4#include "../math.h"
5 5
6/* TCC uses 8 bytes for double and long double, so effectively the l variants6/* TCC uses 8 bytes for double and long double, so effectively the l variants
7 * are never used. For now, they just run the normal (double) variant.7 * are never used. For now, they just run the normal (double) variant.
win32/tcc-win32.txt+9−6
@@ -107,23 +107,26 @@ · 106 unmodified lines
107 Compilation from source:107 Compilation from source:
108 ------------------------108 ------------------------
109 * You can use the MinGW and MSYS tools available at109 * You can use the MinGW and MSYS tools available at
110
111 http://www.mingw.org110 http://www.mingw.org
112 111
113 Untar the TCC archive and type in the MSYS shell:112 Untar the TCC archive and type in the MSYS shell:
114
115 ./configure [--prefix installpath]113 ./configure [--prefix installpath]
116 make114 make
117 make install115 make install
118 116
119 The default install location is c:\Program Files\tcc117 The default install location is c:\Program Files\tcc
120 118
121 * Alternatively you can compile TCC with just GCC from MinGW using119 * Alternatively you can compile TCC with just GCC from MinGW using
120 > build-tcc.bat (from the win32 directory)
121
122 Also MSVC can be used with the "VSTools Developer Command Prompt":
123 > build-tcc.bat -c cl
122 124
123 build-tcc.bat (from the win32 directory)125 or with a tcc (needs to be in a different directory)
126 > build-tcc.bat -c some-tcc-dir\tcc.exe
124 127
125 To install, copy the entire contents of the win32 directory to128 Also you can copy/install everything into another directory:
126 where you want.129 > build-tcc.bat -i <dir>
127 130
128 131
129 Limitations:132 Limitations:
win32/vs2015/PreBuild.bat+0−9
@@ -1,9 +0,0 @@
1set /p VERSION= < %~dp0..\..\VERSION
2
3:config.h
4echo> .\config.h #define TCC_VERSION "%VERSION%"
5echo>> .\config.h #ifdef TCC_TARGET_X86_64
6echo>> .\config.h #define CONFIG_TCC_LIBPATHS "{B}/lib/64;{B}/lib"
7echo>> .\config.h #else
8echo>> .\config.h #define CONFIG_TCC_LIBPATHS "{B}/lib/32;{B}/lib"
9echo>> .\config.h #endif
win32/vs2015/libtcc.vcxproj+0−220
@@ -1,220 +0,0 @@
1<?xml version="1.0" encoding="utf-8"?>
2<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3 <ItemGroup Label="ProjectConfigurations">
4 <ProjectConfiguration Include="Debug|Win32">
5 <Configuration>Debug</Configuration>
6 <Platform>Win32</Platform>
7 </ProjectConfiguration>
8 <ProjectConfiguration Include="Release|Win32">
9 <Configuration>Release</Configuration>
10 <Platform>Win32</Platform>
11 </ProjectConfiguration>
12 <ProjectConfiguration Include="Debug|x64">
13 <Configuration>Debug</Configuration>
14 <Platform>x64</Platform>
15 </ProjectConfiguration>
16 <ProjectConfiguration Include="Release|x64">
17 <Configuration>Release</Configuration>
18 <Platform>x64</Platform>
19 </ProjectConfiguration>
20 </ItemGroup>
21 <PropertyGroup Label="Globals">
22 <ProjectGuid>{41F2DA74-9707-49A3-A466-157C7028BD79}</ProjectGuid>
23 <Keyword>Win32Proj</Keyword>
24 <RootNamespace>libtcc</RootNamespace>
25 <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
26 </PropertyGroup>
27 <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
28 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
29 <ConfigurationType>DynamicLibrary</ConfigurationType>
30 <UseDebugLibraries>true</UseDebugLibraries>
31 <PlatformToolset>v140</PlatformToolset>
32 <CharacterSet>MultiByte</CharacterSet>
33 </PropertyGroup>
34 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
35 <ConfigurationType>DynamicLibrary</ConfigurationType>
36 <UseDebugLibraries>false</UseDebugLibraries>
37 <PlatformToolset>v140</PlatformToolset>
38 <WholeProgramOptimization>true</WholeProgramOptimization>
39 <CharacterSet>MultiByte</CharacterSet>
40 </PropertyGroup>
41 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
42 <ConfigurationType>DynamicLibrary</ConfigurationType>
43 <UseDebugLibraries>true</UseDebugLibraries>
44 <PlatformToolset>v140</PlatformToolset>
45 <CharacterSet>MultiByte</CharacterSet>
46 </PropertyGroup>
47 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
48 <ConfigurationType>DynamicLibrary</ConfigurationType>
49 <UseDebugLibraries>false</UseDebugLibraries>
50 <PlatformToolset>v140</PlatformToolset>
51 <WholeProgramOptimization>true</WholeProgramOptimization>
52 <CharacterSet>MultiByte</CharacterSet>
53 </PropertyGroup>
54 <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
55 <ImportGroup Label="ExtensionSettings">
56 </ImportGroup>
57 <ImportGroup Label="Shared">
58 </ImportGroup>
59 <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
60 <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
61 </ImportGroup>
62 <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
63 <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
64 </ImportGroup>
65 <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
66 <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
67 </ImportGroup>
68 <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
69 <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
70 </ImportGroup>
71 <PropertyGroup Label="UserMacros" />
72 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
73 <LinkIncremental>true</LinkIncremental>
74 <IncludePath>$(ProjectDir);$(VC_IncludePath);$(WindowsSDK_IncludePath);</IncludePath>
75 </PropertyGroup>
76 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
77 <LinkIncremental>true</LinkIncremental>
78 <IncludePath>$(ProjectDir);$(VC_IncludePath);$(WindowsSDK_IncludePath);</IncludePath>
79 </PropertyGroup>
80 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
81 <LinkIncremental>false</LinkIncremental>
82 <IncludePath>$(ProjectDir);$(VC_IncludePath);$(WindowsSDK_IncludePath);</IncludePath>
83 </PropertyGroup>
84 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
85 <LinkIncremental>false</LinkIncremental>
86 <IncludePath>$(ProjectDir);$(VC_IncludePath);$(WindowsSDK_IncludePath);</IncludePath>
87 </PropertyGroup>
88 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
89 <ClCompile>
90 <PrecompiledHeader>
91 </PrecompiledHeader>
92 <WarningLevel>Level3</WarningLevel>
93 <Optimization>Disabled</Optimization>
94 <PreprocessorDefinitions>ONE_SOURCE;LIBTCC_AS_DLL;TCC_TARGET_PE;TCC_TARGET_I386;WIN32;_DEBUG;_WINDOWS;_USRDLL;LIBTCC_EXPORTS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
95 <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
96 </ClCompile>
97 <Link>
98 <SubSystem>Windows</SubSystem>
99 <GenerateDebugInformation>true</GenerateDebugInformation>
100 </Link>
101 <PostBuildEvent>
102 <Command>copy $(TargetPath) $(SolutionDir)..</Command>
103 </PostBuildEvent>
104 <PreBuildEvent>
105 <Command>$(ProjectDir)PreBuild.bat</Command>
106 </PreBuildEvent>
107 <PreBuildEvent>
108 <Message>Generate config.h</Message>
109 </PreBuildEvent>
110 </ItemDefinitionGroup>
111 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
112 <ClCompile>
113 <PrecompiledHeader>
114 </PrecompiledHeader>
115 <WarningLevel>Level3</WarningLevel>
116 <Optimization>Disabled</Optimization>
117 <PreprocessorDefinitions>ONE_SOURCE;LIBTCC_AS_DLL;TCC_TARGET_PE;TCC_TARGET_X86_64;_DEBUG;_WINDOWS;_USRDLL;LIBTCC_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
118 <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
119 </ClCompile>
120 <Link>
121 <SubSystem>Windows</SubSystem>
122 <GenerateDebugInformation>true</GenerateDebugInformation>
123 </Link>
124 <PostBuildEvent>
125 <Command>copy $(TargetPath) $(SolutionDir)..</Command>
126 </PostBuildEvent>
127 <PreBuildEvent>
128 <Command>$(ProjectDir)PreBuild.bat</Command>
129 </PreBuildEvent>
130 <PreBuildEvent>
131 <Message>Generate config.h</Message>
132 </PreBuildEvent>
133 </ItemDefinitionGroup>
134 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
135 <ClCompile>
136 <WarningLevel>Level3</WarningLevel>
137 <PrecompiledHeader>
138 </PrecompiledHeader>
139 <Optimization>MaxSpeed</Optimization>
140 <FunctionLevelLinking>true</FunctionLevelLinking>
141 <IntrinsicFunctions>true</IntrinsicFunctions>
142 <PreprocessorDefinitions>ONE_SOURCE;LIBTCC_AS_DLL;TCC_TARGET_PE;TCC_TARGET_I386;WIN32;NDEBUG;_WINDOWS;_USRDLL;LIBTCC_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
143 </ClCompile>
144 <Link>
145 <SubSystem>Windows</SubSystem>
146 <EnableCOMDATFolding>true</EnableCOMDATFolding>
147 <OptimizeReferences>true</OptimizeReferences>
148 <GenerateDebugInformation>true</GenerateDebugInformation>
149 </Link>
150 <PostBuildEvent>
151 <Command>copy $(TargetPath) $(SolutionDir)..</Command>
152 </PostBuildEvent>
153 <PreBuildEvent>
154 <Command>$(ProjectDir)PreBuild.bat</Command>
155 </PreBuildEvent>
156 <PreBuildEvent>
157 <Message>Generate config.h</Message>
158 </PreBuildEvent>
159 </ItemDefinitionGroup>
160 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
161 <ClCompile>
162 <WarningLevel>Level3</WarningLevel>
163 <PrecompiledHeader>
164 </PrecompiledHeader>
165 <Optimization>MaxSpeed</Optimization>
166 <FunctionLevelLinking>true</FunctionLevelLinking>
167 <IntrinsicFunctions>true</IntrinsicFunctions>
168 <PreprocessorDefinitions>ONE_SOURCE;LIBTCC_AS_DLL;TCC_TARGET_PE;TCC_TARGET_X86_64;NDEBUG;_WINDOWS;_USRDLL;LIBTCC_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
169 </ClCompile>
170 <Link>
171 <SubSystem>Windows</SubSystem>
172 <EnableCOMDATFolding>true</EnableCOMDATFolding>
173 <OptimizeReferences>true</OptimizeReferences>
174 <GenerateDebugInformation>true</GenerateDebugInformation>
175 </Link>
176 <PostBuildEvent>
177 <Command>copy $(TargetPath) $(SolutionDir)..</Command>
178 </PostBuildEvent>
179 <PreBuildEvent>
180 <Command>$(ProjectDir)PreBuild.bat</Command>
181 </PreBuildEvent>
182 <PreBuildEvent>
183 <Message>Generate config.h</Message>
184 </PreBuildEvent>
185 </ItemDefinitionGroup>
186 <ItemGroup>
187 <ClCompile Include="..\..\libtcc.c" />
188 </ItemGroup>
189 <ItemGroup>
190 <ClInclude Include="..\..\arm-gen.c" />
191 <ClInclude Include="..\..\arm64-gen.c" />
192 <ClInclude Include="..\..\c67-gen.c" />
193 <ClInclude Include="..\..\conftest.c" />
194 <ClInclude Include="..\..\i386-asm.c" />
195 <ClInclude Include="..\..\i386-gen.c" />
196 <ClInclude Include="..\..\il-gen.c" />
197 <ClInclude Include="..\..\tcc.h" />
198 <ClInclude Include="..\..\tccasm.c" />
199 <ClInclude Include="..\..\tcccoff.c" />
200 <ClInclude Include="..\..\tccelf.c" />
201 <ClInclude Include="..\..\tccgen.c" />
202 <ClInclude Include="..\..\tccpe.c" />
203 <ClInclude Include="..\..\tccpp.c" />
204 <ClInclude Include="..\..\tccrun.c" />
205 <ClInclude Include="..\..\x86_64-gen.c" />
206 <ClInclude Include="..\..\coff.h" />
207 <ClInclude Include="..\..\elf.h" />
208 <ClInclude Include="..\..\i386-asm.h" />
209 <ClInclude Include="..\..\i386-tok.h" />
210 <ClInclude Include="..\..\il-opcodes.h" />
211 <ClInclude Include="..\..\libtcc.h" />
212 <ClInclude Include="..\..\stab.h" />
213 <ClInclude Include="..\..\tcclib.h" />
214 <ClInclude Include="..\..\tcctok.h" />
215 <ClInclude Include="..\..\x86_64-asm.h" />
216 </ItemGroup>
217 <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
218 <ImportGroup Label="ExtensionTargets">
219 </ImportGroup>
220</Project>
win32/vs2015/tcc.sln+0−41
@@ -1,41 +0,0 @@
1
2Microsoft Visual Studio Solution File, Format Version 12.00
3# Visual Studio 14
4VisualStudioVersion = 14.0.25123.0
5MinimumVisualStudioVersion = 10.0.40219.1
6Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tcc", "tcc.vcxproj", "{6E7932A7-B123-48EB-AB39-40867AF28105}"
7 ProjectSection(ProjectDependencies) = postProject
8 {41F2DA74-9707-49A3-A466-157C7028BD79} = {41F2DA74-9707-49A3-A466-157C7028BD79}
9 EndProjectSection
10EndProject
11Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libtcc", "libtcc.vcxproj", "{41F2DA74-9707-49A3-A466-157C7028BD79}"
12EndProject
13Global
14 GlobalSection(SolutionConfigurationPlatforms) = preSolution
15 Debug|x64 = Debug|x64
16 Debug|x86 = Debug|x86
17 Release|x64 = Release|x64
18 Release|x86 = Release|x86
19 EndGlobalSection
20 GlobalSection(ProjectConfigurationPlatforms) = postSolution
21 {6E7932A7-B123-48EB-AB39-40867AF28105}.Debug|x64.ActiveCfg = Debug|x64
22 {6E7932A7-B123-48EB-AB39-40867AF28105}.Debug|x64.Build.0 = Debug|x64
23 {6E7932A7-B123-48EB-AB39-40867AF28105}.Debug|x86.ActiveCfg = Debug|Win32
24 {6E7932A7-B123-48EB-AB39-40867AF28105}.Debug|x86.Build.0 = Debug|Win32
25 {6E7932A7-B123-48EB-AB39-40867AF28105}.Release|x64.ActiveCfg = Release|x64
26 {6E7932A7-B123-48EB-AB39-40867AF28105}.Release|x64.Build.0 = Release|x64
27 {6E7932A7-B123-48EB-AB39-40867AF28105}.Release|x86.ActiveCfg = Release|Win32
28 {6E7932A7-B123-48EB-AB39-40867AF28105}.Release|x86.Build.0 = Release|Win32
29 {41F2DA74-9707-49A3-A466-157C7028BD79}.Debug|x64.ActiveCfg = Debug|x64
30 {41F2DA74-9707-49A3-A466-157C7028BD79}.Debug|x64.Build.0 = Debug|x64
31 {41F2DA74-9707-49A3-A466-157C7028BD79}.Debug|x86.ActiveCfg = Debug|Win32
32 {41F2DA74-9707-49A3-A466-157C7028BD79}.Debug|x86.Build.0 = Debug|Win32
33 {41F2DA74-9707-49A3-A466-157C7028BD79}.Release|x64.ActiveCfg = Release|x64
34 {41F2DA74-9707-49A3-A466-157C7028BD79}.Release|x64.Build.0 = Release|x64
35 {41F2DA74-9707-49A3-A466-157C7028BD79}.Release|x86.ActiveCfg = Release|Win32
36 {41F2DA74-9707-49A3-A466-157C7028BD79}.Release|x86.Build.0 = Release|Win32
37 EndGlobalSection
38 GlobalSection(SolutionProperties) = preSolution
39 HideSolutionNode = FALSE
40 EndGlobalSection
41EndGlobal
win32/vs2015/tcc.vcxproj+0−195
@@ -1,195 +0,0 @@
1<?xml version="1.0" encoding="utf-8"?>
2<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3 <ItemGroup Label="ProjectConfigurations">
4 <ProjectConfiguration Include="Debug|Win32">
5 <Configuration>Debug</Configuration>
6 <Platform>Win32</Platform>
7 </ProjectConfiguration>
8 <ProjectConfiguration Include="Release|Win32">
9 <Configuration>Release</Configuration>
10 <Platform>Win32</Platform>
11 </ProjectConfiguration>
12 <ProjectConfiguration Include="Debug|x64">
13 <Configuration>Debug</Configuration>
14 <Platform>x64</Platform>
15 </ProjectConfiguration>
16 <ProjectConfiguration Include="Release|x64">
17 <Configuration>Release</Configuration>
18 <Platform>x64</Platform>
19 </ProjectConfiguration>
20 </ItemGroup>
21 <PropertyGroup Label="Globals">
22 <ProjectGuid>{6E7932A7-B123-48EB-AB39-40867AF28105}</ProjectGuid>
23 <Keyword>Win32Proj</Keyword>
24 <RootNamespace>tcc</RootNamespace>
25 <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
26 </PropertyGroup>
27 <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
28 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
29 <ConfigurationType>Application</ConfigurationType>
30 <UseDebugLibraries>true</UseDebugLibraries>
31 <PlatformToolset>v140</PlatformToolset>
32 <CharacterSet>Unicode</CharacterSet>
33 </PropertyGroup>
34 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
35 <ConfigurationType>Application</ConfigurationType>
36 <UseDebugLibraries>false</UseDebugLibraries>
37 <PlatformToolset>v140</PlatformToolset>
38 <WholeProgramOptimization>true</WholeProgramOptimization>
39 <CharacterSet>Unicode</CharacterSet>
40 </PropertyGroup>
41 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
42 <ConfigurationType>Application</ConfigurationType>
43 <UseDebugLibraries>true</UseDebugLibraries>
44 <PlatformToolset>v140</PlatformToolset>
45 <CharacterSet>Unicode</CharacterSet>
46 </PropertyGroup>
47 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
48 <ConfigurationType>Application</ConfigurationType>
49 <UseDebugLibraries>false</UseDebugLibraries>
50 <PlatformToolset>v140</PlatformToolset>
51 <WholeProgramOptimization>true</WholeProgramOptimization>
52 <CharacterSet>Unicode</CharacterSet>
53 </PropertyGroup>
54 <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
55 <ImportGroup Label="ExtensionSettings">
56 </ImportGroup>
57 <ImportGroup Label="Shared">
58 </ImportGroup>
59 <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
60 <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
61 </ImportGroup>
62 <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
63 <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
64 </ImportGroup>
65 <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
66 <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
67 </ImportGroup>
68 <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
69 <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
70 </ImportGroup>
71 <PropertyGroup Label="UserMacros" />
72 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
73 <LinkIncremental>true</LinkIncremental>
74 <IncludePath>$(ProjectDir);$(VC_IncludePath);$(WindowsSDK_IncludePath);</IncludePath>
75 </PropertyGroup>
76 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
77 <LinkIncremental>true</LinkIncremental>
78 <IncludePath>$(ProjectDir);$(VC_IncludePath);$(WindowsSDK_IncludePath);</IncludePath>
79 </PropertyGroup>
80 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
81 <LinkIncremental>false</LinkIncremental>
82 <IncludePath>$(ProjectDir);$(VC_IncludePath);$(WindowsSDK_IncludePath);</IncludePath>
83 </PropertyGroup>
84 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
85 <LinkIncremental>false</LinkIncremental>
86 <IncludePath>$(ProjectDir);$(VC_IncludePath);$(WindowsSDK_IncludePath);</IncludePath>
87 </PropertyGroup>
88 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
89 <ClCompile>
90 <PrecompiledHeader>
91 </PrecompiledHeader>
92 <WarningLevel>Level3</WarningLevel>
93 <Optimization>Disabled</Optimization>
94 <PreprocessorDefinitions>TCC_TARGET_PE;TCC_TARGET_I386;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
95 <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
96 </ClCompile>
97 <Link>
98 <SubSystem>Console</SubSystem>
99 <GenerateDebugInformation>true</GenerateDebugInformation>
100 <AdditionalLibraryDirectories>Debug</AdditionalLibraryDirectories>
101 <AdditionalDependencies>libtcc.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
102 </Link>
103 <PostBuildEvent>
104 <Command>copy $(TargetPath) $(SolutionDir)..</Command>
105 </PostBuildEvent>
106 <PreBuildEvent>
107 <Command>$(ProjectDir)PreBuild.bat</Command>
108 <Message>Generate config.h</Message>
109 </PreBuildEvent>
110 </ItemDefinitionGroup>
111 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
112 <ClCompile>
113 <PrecompiledHeader>
114 </PrecompiledHeader>
115 <WarningLevel>Level3</WarningLevel>
116 <Optimization>Disabled</Optimization>
117 <PreprocessorDefinitions>TCC_TARGET_PE;TCC_TARGET_X86_64;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
118 <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
119 </ClCompile>
120 <Link>
121 <SubSystem>Console</SubSystem>
122 <GenerateDebugInformation>true</GenerateDebugInformation>
123 <AdditionalDependencies>libtcc.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
124 <AdditionalLibraryDirectories>x64\Debug</AdditionalLibraryDirectories>
125 </Link>
126 <PostBuildEvent>
127 <Command>copy $(TargetPath) $(SolutionDir)..</Command>
128 </PostBuildEvent>
129 <PreBuildEvent>
130 <Command>$(ProjectDir)PreBuild.bat</Command>
131 <Message>Generate config.h</Message>
132 </PreBuildEvent>
133 </ItemDefinitionGroup>
134 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
135 <ClCompile>
136 <WarningLevel>Level3</WarningLevel>
137 <PrecompiledHeader>
138 </PrecompiledHeader>
139 <Optimization>MaxSpeed</Optimization>
140 <FunctionLevelLinking>true</FunctionLevelLinking>
141 <IntrinsicFunctions>true</IntrinsicFunctions>
142 <PreprocessorDefinitions>TCC_TARGET_PE;TCC_TARGET_I386;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
143 </ClCompile>
144 <Link>
145 <SubSystem>Console</SubSystem>
146 <EnableCOMDATFolding>true</EnableCOMDATFolding>
147 <OptimizeReferences>true</OptimizeReferences>
148 <GenerateDebugInformation>true</GenerateDebugInformation>
149 <AdditionalLibraryDirectories>Release</AdditionalLibraryDirectories>
150 <AdditionalDependencies>libtcc.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
151 </Link>
152 <PostBuildEvent>
153 <Command>copy $(TargetPath) $(SolutionDir)..</Command>
154 </PostBuildEvent>
155 <PreBuildEvent>
156 <Command>$(ProjectDir)PreBuild.bat</Command>
157 <Message>Generate config.h</Message>
158 </PreBuildEvent>
159 </ItemDefinitionGroup>
160 <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
161 <ClCompile>
162 <WarningLevel>Level3</WarningLevel>
163 <PrecompiledHeader>
164 </PrecompiledHeader>
165 <Optimization>MaxSpeed</Optimization>
166 <FunctionLevelLinking>true</FunctionLevelLinking>
167 <IntrinsicFunctions>true</IntrinsicFunctions>
168 <PreprocessorDefinitions>TCC_TARGET_PE;TCC_TARGET_X86_64;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
169 </ClCompile>
170 <Link>
171 <SubSystem>Console</SubSystem>
172 <EnableCOMDATFolding>true</EnableCOMDATFolding>
173 <OptimizeReferences>true</OptimizeReferences>
174 <GenerateDebugInformation>true</GenerateDebugInformation>
175 <AdditionalDependencies>libtcc.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
176 <AdditionalLibraryDirectories>x64\Release</AdditionalLibraryDirectories>
177 </Link>
178 <PostBuildEvent>
179 <Command>copy $(TargetPath) $(SolutionDir)..</Command>
180 </PostBuildEvent>
181 <PreBuildEvent>
182 <Command>$(ProjectDir)PreBuild.bat</Command>
183 <Message>Generate config.h</Message>
184 </PreBuildEvent>
185 </ItemDefinitionGroup>
186 <ItemGroup>
187 <ClCompile Include="..\..\tcc.c" />
188 </ItemGroup>
189 <ItemGroup>
190 <ClInclude Include="..\..\tcc.h" />
191 </ItemGroup>
192 <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
193 <ImportGroup Label="ExtensionTargets">
194 </ImportGroup>
195</Project>

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t