# rework linker inputs · gitcafe/zig

[View on GitCafe](https://git.cafe/gitcafe/zig/commit/e567abb339e1edaf5a3c86fe632522a3b8005275)

Repository: [gitcafe/zig](https://git.cafe/gitcafe/zig)

Visibility: public

Requested revision: e567abb339e1edaf5a3c86fe632522a3b8005275

Requested commit: e567abb339e1edaf5a3c86fe632522a3b8005275

Commit: e567abb339e1edaf5a3c86fe632522a3b8005275

Tree: 63ffbcb21c3dd7d8740e292467852341ac1c5fad

Author: Andrew Kelley

Committer: Andrew Kelley

## Message

```
rework linker inputs

* Compilation.objects changes to Compilation.link_inputs which stores
  objects, archives, windows resources, shared objects, and strings
  intended to be put directly into the dynamic section. Order is now
  preserved between all of these kinds of linker inputs. If it is
  determined the order does not matter for a particular kind of linker
  input, that item should be moved to a different array.
* rename system_libs to windows_libs
* untangle library lookup from CLI types
* when doing library lookup, instead of using access syscalls, go ahead
  and open the files and keep the handles around for passing to the
  cache system and the linker.
* during library lookup and cache file hashing, use positioned reads to
  avoid affecting the file seek position.
* library directories are opened in the CLI and converted to Directory
  objects, warnings emitted for those that cannot be opened.

```

## Parents

- [4706ec81d4f864bc08804d9600937848ff9e4290](https://git.cafe/gitcafe/zig/commit/4706ec81d4f864bc08804d9600937848ff9e4290?format=markdown)

[Source at this commit](https://git.cafe/gitcafe/zig/tree/e567abb339e1edaf5a3c86fe632522a3b8005275?format=markdown)
