summaryrefslogtreecommitdiffhomepage
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2018-06-27internals: added slbt_dprintf(), a signal-resilient dprintf implementation.midipix2-0/+62
2018-06-27argv.h: output usage and errors using [argv_]dprintf rather than fprint.midipix4-46/+58
2018-06-27argv.h: argv_get(): be consistent between forward decl. and impl.midipix1-1/+1
2018-06-27argv.h: move definition of struct argv_meta_impl to the implementation block.midipix1-6/+6
2018-06-23driver: added slbt_output_features(), providing compatible --features output.midipix3-8/+74
2018-06-23driver: added SLBT_MODE_INFO, for more elegant flow control.midipix1-9/+16
2018-06-22driver: compatibility: have -{shared|static} imply -disable-{static|shared}.midipix1-2/+2
2018-06-22link mode: properly handle the combination of -release and -version-info.midipix3-6/+51
2018-06-22install mode: slbt_copy_file(): properly detect placeholder symlinks.midipix1-0/+5
2018-06-21link mode: slbt_archive_import(): properly detect placeholder symlinks.midipix1-3/+3
2018-06-21link mode: slbt_exec_link_create_dep_file(): record top-level -L arguments.midipix1-0/+18
2018-06-21link mode: --disable-{shared|static}: use differently-named placeholders.midipix4-12/+46
2018-05-23argv.h: whitespace meditation.midipix1-5/+9
2018-05-23argv: argv_scan(): properly handle optional argument values of short options.midipix1-0/+2
2018-05-09driver: -shrext support: only use the extension portion of the extension.midipix1-1/+3
2018-05-08link mode: pass --export-dynamic to the linker as needed.midipix1-0/+3
2018-03-05driver: support -export-dynamic (currently as a no-op).midipix3-0/+13
2018-03-04compile mode: gnu libtool compatibility: do not add -c to compiler arguments.midipix1-18/+0
2018-02-26driver: allow flavor-based use of native tools (ar,ranlib,etc.)midipix1-0/+5
2018-02-26driver: slbt_init_host_params(): improve native target detection logic.midipix1-2/+45
2017-12-20link mode: re-implemented slbt_exec_link_finalize_argument_vector().midipix1-94/+77
The above internal interface is now doing the right thing, namely to split the argument vector between object arguments and all other arguments, then rejoin the arguments by placing object arguments first, and all other arguments last.
2017-12-19link mode: argument vector ordering: treat {.a|.so} the same way as -lfoo.midipix1-25/+35
2017-11-18process spawning and forking: use dup2, not dup, in the child process.midipix2-9/+5
2017-11-18process forking and spawning: call _exit, not exit, in the child process.midipix2-3/+3
2017-10-26link mode: import library generation: added mdso support.midipix1-15/+43
2017-10-26driver: added --mdso and --implib support.midipix4-0/+64
2017-08-11driver: added initial -dlpreopen support.midipix3-0/+10
2017-08-11driver: support -thread-safe more elegantly.midipix3-3/+5
2017-08-11link mode: use -fpic objects with -disable-static.midipix1-0/+3
2017-08-10driver: properly handle -thread-safe (no-op, compatibility).midipix1-0/+3
2017-08-10link mode: argument reordering now supports libfoo.a --whole-archive wrapping.midipix1-11/+21
2017-08-10slibtool-shared: properly handle .la arguments when creating an archive.midipix2-1/+8
tool ==== slibtool-shared (or slibtool with -disable-static). scenario ======== - create libfoo.so (via libfoo.la). - create libbar.a (via libbar.la), with libfoo.la as an input argument. Before this fix, slibtool failed since it could not find libfoo.a.slibtool.deps. After this fix, slibtool properly handles this scenario, first by detecting that there is no archive for which secondary dependencies need to be processed, and then by detecting that libfoo.a is a symlink to /dev/null.
2017-08-10slbt_exec_link_create_dep_file(): properly initialize and track fdeps.midipix1-23/+13
2017-08-09link mode: reluctantly support packages that rely on argument reordering.midipix1-0/+122
2017-08-07error trace: remove and fix inadvertent calls to strerror(3).midipix2-7/+1
2017-05-19driver: refine handling of --target.midipix1-8/+1
* for a --target argument that precedes the compiler argument, as in: slibtool --target=xxx --mode=compile cc --> set an explicit (cross-)target, --> but do not pass the argument to the compiler. * for a --target argument that follows the compiler argument, as in: slibtool --mode=compile cc --target=xxx --> set an explicit (cross-)target, --> and also pass the argument to the compiler.
2017-02-09annual chores: normalize date range in internal header.midipix1-1/+1
2017-02-08link mode: static archives: always have ar(1) act as ranlib(1).midipix1-27/+4
2017-02-05annual chores, properly performed.midipix26-26/+26
2017-02-04annual chores.midipix26-26/+26
2017-01-08link mode: fix fdepfile construction when determining dynlib dependency.midipix1-1/+1
2016-12-26argv.h: struct argv_ctx: .unitidx and .erridx are set via pointer arithmetic.midipix1-2/+2
2016-12-25argv.h: use an option vector rather than a direct pointer to the option table.midipix5-61/+95
2016-12-14link mode: create an archive /dev/null symlink placeholder as needed.midipix2-3/+30
2016-12-03link mode: properly determine whether -L and -ldeplib are needed.midipix1-2/+18
2016-12-03slbt_exec_link_create_dep_file(): fix construction of dynamic dep. file name.midipix1-2/+2
2016-11-26argv.h: error code path: remove unneeded if statement (always true).midipix1-5/+2
2016-11-19driver: skin: update description of --mode (cf. commit 0fb20a6).midipix1-4/+3
2016-11-19driver: slbt_output_raw_vector(): pass the correct file descriptor to isatty().midipix1-1/+1
2016-11-19link mode: do not respect -disable-static without -rpath.Felix Janda1-1/+2
When no -rpath argument is provided we cannot build a dynamic library. To match gnu libtool's behavior, build in this case a static library even if -disable-static has been specified.