<feed xmlns='http://www.w3.org/2005/Atom'>
<title>tinycc/win32/tools, branch main</title>
<subtitle>Tiny C Compiler by Fabrice Bellard Git mirror of the final release by Bellard, discarding all changes after. The repository at https://repo.or.cz/tinycc.git has become untrustworthy. Also the tcc sources have become tainted with AI slop.</subtitle>
<id>https://git.datenwolf.net/tinycc/atom/win32/tools?h=main</id>
<link rel='self' href='https://git.datenwolf.net/tinycc/atom/win32/tools?h=main'/>
<link rel='alternate' type='text/html' href='https://git.datenwolf.net/tinycc/'/>
<updated>2017-02-18T08:55:34Z</updated>
<entry>
<title>tcctools.c: integrate tiny_libmaker/_impdef</title>
<updated>2017-02-18T08:55:34Z</updated>
<author>
<name>grischka</name>
<email>grischka</email>
</author>
<published>2017-02-18T08:55:34Z</published>
<link rel='alternate' type='text/html' href='https://git.datenwolf.net/tinycc/commit/?id=2d3b9559bf569f137cefb7f8386a0dc58e33c81f'/>
<id>urn:sha1:2d3b9559bf569f137cefb7f8386a0dc58e33c81f</id>
<content type='text'>
usage:
    tcc -ar [rcsv] lib files...
    tcc -impdef lib.dll [-v] [-o lib.def]

also:
- support more files with -c: tcc -c f1.c f2.c ...
- fix a bug which caused tcc f1.c f2.S to produce no asm
- allow tcc -ar @listfile too
- change prototype: _void_ tcc_set_options(...)
- apply -Wl,-whole-archive when a librariy is given
  as libxxx.a also (not just for -lxxx)
</content>
</entry>
<entry>
<title>Rein in unintended external functions on Windows.</title>
<updated>2016-09-27T05:43:40Z</updated>
<author>
<name>Jean-Claude Beaudoin</name>
<email>jean.claude.beaudoin@gmail.com</email>
</author>
<published>2016-09-27T05:43:40Z</published>
<link rel='alternate' type='text/html' href='https://git.datenwolf.net/tinycc/commit/?id=889ee28ed562af4344cba27f17076c88ec099c74'/>
<id>urn:sha1:889ee28ed562af4344cba27f17076c88ec099c74</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tiny_libmaker: fix a comment</title>
<updated>2016-06-19T19:19:06Z</updated>
<author>
<name>Avi Halachmi (:avih)</name>
<email>avihpit@yahoo.com</email>
</author>
<published>2016-06-19T19:19:06Z</published>
<link rel='alternate' type='text/html' href='https://git.datenwolf.net/tinycc/commit/?id=175158843559e494ae81b755d251ecf1a58ecbb2'/>
<id>urn:sha1:175158843559e494ae81b755d251ecf1a58ecbb2</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tiny_libmaker: more robust arguments interpretation</title>
<updated>2016-06-19T11:43:46Z</updated>
<author>
<name>Avi Halachmi (:avih)</name>
<email>avihpit@yahoo.com</email>
</author>
<published>2016-06-12T11:51:29Z</published>
<link rel='alternate' type='text/html' href='https://git.datenwolf.net/tinycc/commit/?id=100f94be99ef06fb168850da528492b00e7520dc'/>
<id>urn:sha1:100f94be99ef06fb168850da528492b00e7520dc</id>
<content type='text'>
- Syntax is now much closer to gnu ar, but still supports whatever was
  supported before, with the following exceptions (which gnu ar has too):
  - lib is now mandatory (was optional and defaulted to ar_test.a before).
  - Path cannot start with '-' (but ./-myfile.o is OK).
- Unlike gnu ar, modes are still optional (as before).
- Now supports also (like gnu ar):
  - First argument as options doesn't have to start with '-', later options do.
  - Now supports mode v (verbose) with same output format as gnu ar.
  - Any names for lib/objs (were limited to .a/.o - broke cmake on windows).
  - Now explicitly fail on options which would be destructive for the user.
  - Now doesn't get confused by options between file arguments.
- Still ignores other unknown options - as before.
- Now doesn't read out-of-bounds if an option is one char.

- As a result, cmake for windows can now use tiny_libmaker as ar, and
  configure can also detect tiny_libmaker as a valid ar (both couldn't before).

Ignoring all options could previously cause to misinterpret the mode in a
destructive way, e.g. if the user wanted to do something with an existing
archive (such as p - print, or x - extract, etc), then it would instead just
delete (re-create) the archive.

Modes which can be destructive if ignored now explicitly fail. These include
[habdioptxN]. Note that 'h' can be ignored, but this way we also implicitly
print the usage for -h/--help.

The .a/.o name limitations previously resulted in complete failure on some
cases, such as cmake on windows which uses &lt;filename&gt;.obj and &lt;libname&gt;.lib .

Fixed: e.g. 'tiny_libmaker r x.a x.o' was reading out of bounds [-1] for 'r'.
</content>
</entry>
<entry>
<title>Revert all of my changes to directories &amp; codingstyle.</title>
<updated>2015-07-29T20:57:12Z</updated>
<author>
<name>gus knight</name>
<email>waddlesplash@gmail.com</email>
</author>
<published>2015-07-29T20:53:57Z</published>
<link rel='alternate' type='text/html' href='https://git.datenwolf.net/tinycc/commit/?id=89ad24e7d63f7488c2796b30d41303f52663a8c4'/>
<id>urn:sha1:89ad24e7d63f7488c2796b30d41303f52663a8c4</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Reorganize the source tree.</title>
<updated>2015-07-27T20:03:25Z</updated>
<author>
<name>gus knight</name>
<email>waddlesplash@gmail.com</email>
</author>
<published>2015-07-27T20:03:25Z</published>
<link rel='alternate' type='text/html' href='https://git.datenwolf.net/tinycc/commit/?id=47e06c6d4e542e47fcbad69a78c2436a854a0779'/>
<id>urn:sha1:47e06c6d4e542e47fcbad69a78c2436a854a0779</id>
<content type='text'>
 * Documentation is now in "docs".
 * Source code is now in "src".
 * Misc. fixes here and there so that everything still works.

I think I got everything in this commit, but I only tested this
on Linux (Make) and Windows (CMake), so I might've messed
something up on other platforms...
</content>
</entry>
<entry>
<title>win64: fix resource file support</title>
<updated>2014-08-01T08:51:28Z</updated>
<author>
<name>grischka</name>
<email>grischka</email>
</author>
<published>2014-08-01T08:51:28Z</published>
<link rel='alternate' type='text/html' href='https://git.datenwolf.net/tinycc/commit/?id=12f43953edd48dc1e3520fa944e79e9da642651e'/>
<id>urn:sha1:12f43953edd48dc1e3520fa944e79e9da642651e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tiny_impdef: remove artificial length restriction.</title>
<updated>2014-04-12T03:23:05Z</updated>
<author>
<name>minux</name>
<email>minux.ma@gmail.com</email>
</author>
<published>2014-04-12T03:23:05Z</published>
<link rel='alternate' type='text/html' href='https://git.datenwolf.net/tinycc/commit/?id=bba1c381f4f9862f0c9ce4afc7705ac9a624842f'/>
<id>urn:sha1:bba1c381f4f9862f0c9ce4afc7705ac9a624842f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>libtcc: new LIBTCCAPI tcc_set_options(TCCState*, const char*str)</title>
<updated>2013-02-12T18:13:28Z</updated>
<author>
<name>grischka</name>
<email>grischka</email>
</author>
<published>2013-02-12T18:13:28Z</published>
<link rel='alternate' type='text/html' href='https://git.datenwolf.net/tinycc/commit/?id=05108a3b0a8eff70739b253b8995999b1861f9f2'/>
<id>urn:sha1:05108a3b0a8eff70739b253b8995999b1861f9f2</id>
<content type='text'>
This replaces       -&gt; use instead:
-----------------------------------
- tcc_set_linker    -&gt; tcc_set_options(s, "-Wl,...");
- tcc_set_warning   -&gt; tcc_set_options(s, "-W...");
- tcc_enable_debug  -&gt; tcc_set_options(s, "-g");

parse_args is moved to libtcc.c (now tcc_parse_args).

Also some cleanups:
- reorder TCCState members
- add some comments here and there
- do not use argv's directly, make string copies
- use const char* in tcc_set_linker
- tccpe: use fd instead of fp

tested with -D MEM_DEBUG: 0 bytes left
</content>
</entry>
<entry>
<title>tcc -vv/--print-search-dirs: print more info</title>
<updated>2013-02-09T23:38:40Z</updated>
<author>
<name>grischka</name>
<email>grischka</email>
</author>
<published>2013-02-09T23:38:40Z</published>
<link rel='alternate' type='text/html' href='https://git.datenwolf.net/tinycc/commit/?id=8042121d74906eacec7add2ddc85270e1db3ca88'/>
<id>urn:sha1:8042121d74906eacec7add2ddc85270e1db3ca88</id>
<content type='text'>
tests/Makefile:
- print-search-dirs when 'hello' fails
- split off hello-run

win32/include/_mingw.h:
- fix for compatibility with mingw headers
  (While our headers in win32 are from mingw-64 and don't have
  the problem)

tiny_libmaker:
- don't use "dangerous" mktemp
</content>
</entry>
</feed>
