31 Commits

Author SHA1 Message Date
Andrew Kelley
d8d45908fa building with mingw for windows 2017-05-23 00:26:12 -04:00
Andrew Kelley
a147f06585 zig puts temporary object files in zig-cache folder
See #298
2017-04-28 02:22:12 -04:00
Andrew Kelley
7b0542d08b build system: consolidate duplicate code and more
* add ability to add assembly files when building an exe, obj, or lib
 * add implicit cast from `[N]T` to `?[]const T` (closes #343)
 * remove link_exe and link_lib in favor of allowing build_exe and
   build_lib support no root zig source file
2017-04-26 19:17:05 -04:00
Andrew Kelley
e0050af293 add some timing diagnostics
pass --enable-timing-info to print a nice table like this:

```
                Name       Start         End    Duration     Percent
          Initialize      0.0000      0.0000      0.0000      0.0001
   Semantic Analysis      0.0000      0.0421      0.0420      0.2109
     Code Generation      0.0421      0.0620      0.0200      0.1003
    LLVM Emit Object      0.0620      0.1852      0.1231      0.6180
  Build Dependencies      0.1852      0.1974      0.0122      0.0615
           LLVM Link      0.1974      0.1993      0.0018      0.0093
         Generate .h      0.1993      0.1993      0.0000      0.0000
               Total      0.0000      0.1993      0.1993      1.0000
```
2017-04-25 12:29:25 -04:00
Andrew Kelley
d1e01e43d3 convert assemble and link tests to zig build system 2017-04-19 14:00:12 -04:00
Andrew Kelley
2864359950 zig build system writes template build.zig file when none exists
see #204
2017-04-11 06:14:46 -04:00
Andrew Kelley
11a6550324 fix some -Wconversion errors 2017-04-10 20:02:39 -04:00
Andrew Kelley
3ca027ca82 first pass at zig build system
* `zig build --export [obj|lib|exe]` changed to `zig build_obj`,
   `zig build_lib` and `zig build_exe` respectively.
 * `--name` parameter is optional when it can be inferred from the
   root source filename. closes #207
 * `zig build` now looks for `build.zig` which interacts with
   `std.build.Builder` to describe the targets, and then the zig
   build system prints TODO: build these targets. See #204
 * add `@bitcast` which is mainly used for pointer reinterpret
   casting and make explicit casting not do pointer reinterpretation.
   Closes #290
 * fix debug info for byval parameters
 * sort command line help options
 * `std.debug.panic` supports format string printing
 * add `std.mem.IncrementingAllocator`
 * fix const ptr to a variable with data changing at runtime.
   closes #289
2017-03-31 05:55:41 -04:00
Andrew Kelley
7efa2cd81c add --each-lib-rpath option and corresponding config option
This adds an rpath entry for each used dynamic library directory.
This is necessary on some systems such as NixOS.
2017-03-13 13:11:55 -04:00
Andrew Kelley
4b902b44a2 os: fix file descriptor leak in os_exec
See #182
2016-09-22 10:48:42 -04:00
Andrew Kelley
3239b3cb69 use size_t for indexes
protect against incorrect copies in debug mode
2016-09-19 11:54:01 -04:00
Andrew Kelley
eb83111f02 add debug safety for division
See #149
2016-05-07 19:58:02 -07:00
Andrew Kelley
5e33175517 add @embed_file builtin function 2016-04-18 15:47:21 -07:00
Andrew Kelley
0a0494feb8 fix build error with signed/unsigned 2016-02-19 14:02:36 -07:00
Andrew Kelley
a7b6fa5bee os: implement windows os layer 2016-02-17 19:53:30 -07:00
Andrew Kelley
afa5d1ea12 os: fix ability to compile for windows 2016-02-16 19:55:49 -07:00
Andrew Kelley
194e93a582 add windows os code 2016-02-16 19:42:46 -07:00
Andrew Kelley
11a0644365 basic support for building a test target 2016-02-03 18:02:01 -07:00
Andrew Kelley
650fdded29 fix incorrect loading of files over 8192 bytes 2016-01-28 22:38:18 -07:00
Andrew Kelley
0278468479 upgrade to the libclang C++ API
c_import creates a tmp .h file and parses it with libclang,
reporting any errors found.

See #88
2016-01-27 00:01:49 -07:00
Andrew Kelley
4d45d14b55 use realpath to avoid duplicate imports 2015-12-15 21:48:41 -07:00
Andrew Kelley
f5a3281877 when linking with libc use the C runtime library 2015-12-15 12:44:42 -07:00
Andrew Kelley
139e5ca08f fix reading source from stdin 2015-12-04 14:33:40 -07:00
Andrew Kelley
dfb6682089 add test for bad import 2015-12-01 02:29:21 -07:00
Andrew Kelley
257cf09472 colored error messages that tell the source file 2015-12-01 00:50:11 -07:00
Andrew Kelley
55b8472374 refactor code to prepare for multiple files
verbose compiler output is now behind --verbose flag
2015-11-30 20:00:39 -07:00
Josh Wolfe
00a7936c9f more readable integer constant 2015-11-26 02:48:06 -07:00
Andrew Kelley
763ce1c485 add tests 2015-11-26 01:29:52 -07:00
Andrew Kelley
22421447fb fix the remaining TODOs in the source 2015-11-25 16:36:03 -07:00
Andrew Kelley
ca836191e1 debug information for functions 2015-11-24 19:07:33 -07:00
Andrew Kelley
fefbee166d hello world example working 2015-11-24 13:51:36 -07:00