Blame NEWS

9c5a30
0.5.33:
9c5a30
9c5a30
This patch release provides several bug fixes and improvements, as well as
9c5a30
added support for the NO_COLOR environment variable.
9c5a30
9c5a30
- driver: always respect the NO_COLOR envvar & SLBT_DRIVER_ANNOTATE_NEVER flag.
9c5a30
- driver: a heuristics-based -disable-shared now overrides --tag=disable-static.
9c5a30
- driver: --tag=disable-shared now overrides a heuristics-based -disable-static.
9c5a30
- link mode: always include deplib dirs in ldpathenv.
9c5a30
- link mode: enclose vnames in wrapper script in braces.
9c5a30
- link mode: always include explicit -L dirs in ldpathenv.
9c5a30
- link mode: shared: use .deps of a static-only .la input argument as needed.
9c5a30
- link mode: require dependency list to be present for all .la input arguments.
9c5a30
- execute mode: fix NULL ptr deref with only one argument.
9c5a30
- execute mode: handle relative -L pathnames & cwd-relative wrapper scripts.
9c5a30
- install mode: slbt_exec_install(): added legacy shtool support.
9c5a30
- install mode: account for a libfoo.a that was created with -disable-static.
9c5a30
- install mode: always respect the SLBT_DRIVER_ANNOTATE_NEVER flag.
9c5a30
- uninstall mode: always respect the SLBT_DRIVER_ANNOTATE_NEVER flag.
9c5a30
- argv.h: tty colors: added argv_usage_plain().
9c5a30
2f2f9d
0.5.32:
2f2f9d
2f2f9d
This patch release provides several bug fixes as well as the new (or proper)
2f2f9d
implementation of previously missing features.
2f2f9d
2f2f9d
- driver: added -Xlinker support.
2f2f9d
- driver: support -static-libtool-libs (currently as a no-op).
2f2f9d
- driver: slbt_init_flavor_settings(): properly handle the -shrext argument.
2f2f9d
- driver: --version: update the git repository reference to the https variant.
2f2f9d
- link mode: check for and properly support -version-info with -release.
2f2f9d
- link mode: .def file name: added proper -release support.
2f2f9d
- link mode: slbt_exec_link(): record the -shrext argument for the install step.
2f2f9d
- install mode: support wrapping of /path/to/sh /path/to/install-sh.
2f2f9d
- install mode: slbt_exec_install_entry(): added -shrext support.
2f2f9d
- uninstall mode: remove hard-coded shell logic, revisit later as needed.
2f2f9d
- heuristics: support finding arbitrarily named scripts up the build tree.
2f2f9d
- heuristics: added (annotated) trace output.
2f2f9d
- heuristics: slbt_lconf_open(): added (annotated) trace_result().
2f2f9d
- output: print out the recorded not-found path.
2f2f9d
- output: added slbt_output_fdcwd().
2f2f9d
- internals: error tracing: record the not-found path upon ENOENT as needed.
2f2f9d
- library: compile & link modes: properly record the not-found path upon error.
2f2f9d
- helper api: added slbt_realpath().
2f2f9d
- build system: ccenv_{tool|attr}_epilog(): properly handle long output strings.
2f2f9d
- project: added BUGS and a note on where to report bugs and issues.
2f2f9d
- project: config.project: update $mb_pkgrep to the https variant.
2f2f9d
d9e939
0.5.31:
d9e939
d9e939
This patch release fixes a regression in the 0.5.29 release,
d9e939
specifically in the implementation of the -module semantics,
d9e939
as well as a latent bug in the algorithm for finding a build
d9e939
project's generated libtool script.
d9e939
d9e939
- link mode: properly handle .la targets built with -module.
d9e939
- libtool finder: exit loop upon reaching the root directory.
d9e939
ec2276
0.5.30:
ec2276
ec2276
This patch release fixes sed usage ('\s' vs '[[:space:]]') in
ec2276
slibtool's own build system. Release immediately in order to
ec2276
prevent build errors in strict build environments.
ec2276
ec2276
- build system: ccenv_output_defs(): use conformant sed construct.
ec2276
df1569
0.5.29:
df1569
df1569
This patch release provides a few important additions and bug fixes,
df1569
as well as several improvements in slibtool's own build system. In
df1569
addition, it denotes the (semantic) transition from midipix.org
df1569
to foss21.org.
df1569
df1569
- driver: added F77 support.
df1569
- driver: added -XCClinker support.
df1569
- driver: added FC support.
df1569
- driver: host flavors: added suffixed suffixes support.
df1569
- driver: --heuristics: respect explicit --disable-shared and/or -static.
df1569
- driver: resolve conflicting and/or incompatible command-line arguments.
df1569
- driver, link mode: properly implement the -module semantics.
df1569
- driver, compile & link mode: support arbitrary & known compiler wrappers.
df1569
- link mode: host flavors: properly support suffixed suffixes.
df1569
- install mode: host flavors: properly support suffixed suffixes.
df1569
5be89b
0.5.28:
5be89b
5be89b
This patch release allows the enhanced target-ar logic that was
5be89b
introduced in the previous patch release to properly work on legacy
5be89b
systems with a tricky posix_spawnp() implementation.
5be89b
5be89b
- driver: enhanced target-ar logic: accommodate legacy systems.
5be89b
4c6c6b
0.5.27:
4c6c6b
4c6c6b
This patch release provides an important enhancement with respect to the
4c6c6b
identification of the ar tool to be invoked in slibtool's link mode. More
4c6c6b
specifically, rather than relying on the presence of <target>-ar, slibtool
4c6c6b
will now attempt to invoke, as needed, several alternate ar tools in the
4c6c6b
following order: <target>-ar, <target>-<compiler>-ar, and, in the case
4c6c6b
of the native target, also <compiler>-ar and ar.
4c6c6b
4c6c6b
- driver: slbt_init_host_params(): enhance the target-ar related logic.
4c6c6b
bcd1d3
0.5.26:
bcd1d3
bcd1d3
This patch release follows significant improvements in, as well as additions
bcd1d3
to slibtool's functionality. Most notably, with the additions of --heuristics
bcd1d3
and the rlibtool convenience symlink, slibtool may now automagically operate
bcd1d3
in the exact same mode (static only, shared only, or both) as the generated
bcd1d3
libtool script for which it serves as a surrogate.
bcd1d3
bcd1d3
- utility: --heuristics support: added the 'rlibtool' convenience symlink.
bcd1d3
- utility: convenience symlinks: added rclibtool, rdlibtool, and rdclibtool.
bcd1d3
- link mode: properly handle local archives.
bcd1d3
- link mode: remove placeholder arguments.
bcd1d3
- link mode: remove redundant -l arguments.
bcd1d3
- link mode: remove redundant -L arguments.
bcd1d3
- compile mode: remove placeholder arguments.
bcd1d3
- driver: added --heuristics support.
bcd1d3
- driver: slbt_get_driver_ctx(): support stack-based argv.
bcd1d3
- driver: output error vector upon post-argv-parsing failures.
bcd1d3
- driver: execution context: added slbt_reset_argvector().
bcd1d3
- driver: properly normalize --library-path=<path> arguments.
bcd1d3
- internals: slbt_mkdir() now uses the context's fdcwd.
bcd1d3
- internals: slbt_adjust_linker_argument() now uses the context's fdcwd.
bcd1d3
- internals: -shared/-static heuristics: added slbt_get_lconf_flags().
bcd1d3
6de262
0.5.25:
6de262
6de262
This patch release follows several important enhancements in slibtool's
6de262
functionality, including proper support of explicit .a and .so input
6de262
arguments in link mode, and use of validly alternate (non-)pic objects.
6de262
With respect to compiler and target flavors, slibtool now accommodates
6de262
clang's debated approach towards the -fPIC switch in always-pic targets.
6de262
Last but not least, and following much discussion and consideration of
6de262
the various trade-offs, this release redefines _XOPEN_SOURCE to 700. With
6de262
that said, slibtool could still be easily built on older systems for as
6de262
long as they provide openat, faccessat, and (the soon-to-be-used) fexecve.
6de262
6de262
- driver: added --tag=RC support.
6de262
- driver: added --windres support.
6de262
- driver: use a compiler --target argument also as a tool argument.
6de262
- driver: if no --tag had been defined in compile mode, set --tag to CC.
6de262
- link mode: properly handle explicit archive input arguments.
6de262
- link mode: properly handle external archives and libraries.
6de262
- link mode: process dependencies also for non-pic .la args.
6de262
- link mode: support validly alternate (non-)pic objects.
6de262
- target flavors: accommodate conceptually challenged, PICky targets.
6de262
- target flavors: flavor detection: associate -windows- with mingw.
6de262
- target flavors: further eliminate compiler -dumpmachine invocations.
6de262
a90a35
0.5.24:
a90a35
a90a35
This patch release explicitly requests definition of AT_FDCWD via definition
a90a35
of _POSIX_C_SOURCE in translation units that refer to it.
a90a35
0f1753
0.5.23:
0f1753
0f1753
This patch releases fixes a couple of minor issues in slibtool's own build
0f1753
system.
0f1753
0f1753
build system: all-shared front-end variant: fix ordering of -l$(PACKAGE).
0f1753
build system: all-shared binary: added missing build-dep on $(SHARED_SOLINK).
0f1753
59b43e
0.5.22:
59b43e
59b43e
This patch release explicitly requests the openat() interface via definition
59b43e
of _POSIX_C_SOURCE in translation units that need it.
59b43e
0343bc
0.5.21:
0343bc
0343bc
This patch release follows important enhancements in slibtool's library
0343bc
interfaces and API contract. In particular, slibtool now no longer uses
0343bc
streams, but rather pure file descriptors. In addition, i/o operations
0343bc
now robustly handle interruption by signals, and thus do not depend on
0343bc
the underlying system calls being restartable. Last but not least,
0343bc
slibtool now installs a pkgconfig configuration file when applicable.
0343bc
0343bc
- argv.h: output usage and errors using [argv_]dprintf rather than fprint.
0343bc
- argv.h: argv_get(): be consistent between forward decl. and impl.
0343bc
- argv.h: move definition of struct argv_meta_impl to the implementation block.
0343bc
- internals: added slbt_mapped_readline().
0343bc
- internals: added slbt_map_file(), slbt_unmap_file().
0343bc
- internals: added slbt_dprintf(), a signal-resilient dprintf implementation.
0343bc
- driver: argv usage and error output: use the signal-resilient slbt_dprintf().
0343bc
- driver: support alternate fd's for input/output/error/log.
0343bc
- driver: slbt_init_host_params(): propagate failure of <compiler> -dumpmachine.
0343bc
- driver: slbt_init_host_params(): do not set fnative when !fdumpmachine.
0343bc
- driver: struct slbt_fd_ctx: added .fdcwd and .fddst.
0343bc
- library: invocations of openat() now use the context's fdcwd.
0343bc
- project: added initial pkgconfig support.
0343bc
17c199
0.5.20:
17c199
17c199
This patch release includes several important bug fixes pertaining to both
17c199
the link and compile mode, as well as the addition of a compatible --features
17c199
output.
17c199
17c199
- driver: added slbt_output_features(), providing compatible --features output.
17c199
- driver: compatibility: have -{shared|static} imply -disable-{static|shared}.
17c199
- link mode: properly handle the combination of -release and -version-info.
17c199
- link mode: slbt_exec_link_create_dep_file(): record top-level -L arguments.
17c199
- link mode: --disable-{shared|static}: use differently-named placeholders.
17c199
59c14f
0.5.19:
59c14f
59c14f
This patch release includes several improvements in the driver logic,
59c14f
as well as one important fix to the compile mode logic.
59c14f
59c14f
- driver: support -export-dynamic.
59c14f
- driver: allow flavor-based use of native tools (ar,ranlib,etc.)
59c14f
- driver: slbt_init_host_params(): improve native target detection logic.
59c14f
- driver: -shrext support: only use the extension portion of the extension.
59c14f
- compile mode: gnu libtool compatibility: do not add -c to compiler arguments.
59c14f
0d2823
0.5.18:
0d2823
0d2823
This patch release includes several important fixes to the link mode
0d2823
and driver logic. In addition, it adds mdso support to midipix targets,
0d2823
as well as updates slibtool's own build system.
0d2823
0d2823
- link mode: re-implemented slbt_exec_link_finalize_argument_vector().
0d2823
- link mode: import library generation: added mdso support.
0d2823
- link mode: use -fpic objects with -disable-static.
0d2823
- driver: added --mdso and --implib support.
0d2823
- driver: added initial -dlpreopen support.
0d2823
- driver: support -thread-safe more elegantly.
0d2823
- driver: properly handle -thread-safe (no-op, compatibility).
0d2823
4df68f
0.5.17:
4df68f
4df68f
This patch release fixes a subtle bug in the newly added support for
4df68f
packages that depend on the reordering of linker arguments.
4df68f
799329
0.5.16:
799329
799329
This patch release fixes a subtle bug in slibtool-shared's
799329
generation of dependency lists when creating convenience
799329
library archives. Beginning with this release, the mesa
799329
package can be built with slibtool in its entirety.
799329
799329
- slibtool-shared: properly handle .la arguments when creating an archive.
799329
- slbt_exec_link_create_dep_file(): properly initialize and track fdeps.
799329
463cc1
0.5.15:
463cc1
463cc1
This patch release provides seamless support for the building of
463cc1
packages which rely on the ordering of linker arguments. With
463cc1
slibtool, reordering takes place only when deemed necessary.
463cc1
463cc1
- link mode: support packages that rely on argument reordering.
463cc1
- error trace: remove and fix inadvertent calls to strerror(3).
463cc1
d1c2e6
0.5.14:
d1c2e6
d1c2e6
This patch release provides several fixes at the driver level, as well as
d1c2e6
several improvements to slibtool's own internals. Addition of extended
d1c2e6
variable support to slibtool's ./configure now makes it fully compatible
d1c2e6
with (distro) build systems that pass those variable to ./configure by
d1c2e6
default.
d1c2e6
d1c2e6
- link mode: fix fdepfile construction when determining dynlib dependency.
d1c2e6
- link mode: static archives: always have ar(1) act as ranlib(1).
d1c2e6
- driver: refine handling of --target.
d1c2e6
- build system: added extended dir variables.
d1c2e6
5ab1d9
0.5.13:
5ab1d9
5ab1d9
This patch release ensures successful installation of a shared library with
5ab1d9
which no accompanying static archive was created. The release also includes
5ab1d9
two improvements in slibtool's own build system.
5ab1d9
5ab1d9
- link mode: create an archive /dev/null symlink placeholder as needed.
5ab1d9
- PE soname support: added the designated LDFLAGS_SONAME variable.
5ab1d9
- build system: configure: pass --sysroot to the linker as a compiler argument.
5ab1d9
058eec
0.5.12:
058eec
058eec
This patch release includes a variety of fixes and improvements in slibtool's
058eec
functionality, as well as several enhancements to slibtool's own build system.
058eec
058eec
- driver: added support for -dlopen (currently a no-op).
058eec
- error trace: improved and extended the initial interface.
058eec
- error trace: added descriptive error strings for custom errors.
058eec
- link mode: properly determine whether -L and -ldeplib are needed.
058eec
- link mode: do not respect -disable-static without -rpath.
058eec
- link mode: respect -disable-static.
058eec
- link mode: properly handle indirect dependencies of .a archives.
058eec
- link mode: confirm need for archive import; limit .a deps to external deps.
058eec
- compile mode: respect -disable-static and -disable-shared.
058eec
- install mode: respect -disable-static.
058eec
- legacy wrappers: implemented compatible library and objects wrappers.
058eec
- build system: added support for cygwin's, mingw's, and msys's semantics.
058eec
f74b92
0.5.11:
f74b92
f74b92
This patch release provides -portbld- support for systems that still need
f74b92
it, as well as an initial implementation of the --uninstall mode. In addition,
f74b92
this release includes a few important bug fixes, as well as adds --source-dir
f74b92
support to slibtool's own build system.
f74b92
f74b92
- driver: accommodate hosts that occasionally use '-portbld-' in their triple.
f74b92
- link mode: properly handle -all-static when creating an executable image.
f74b92
- link mode: add -L.libs for current-directory .la input arguments.
f74b92
- uninstall mode: initial implementation.
f74b92
- build system: support setting an external folder as the source directory.
f74b92
e73230
0.5.10:
e73230
e73230
This patch release fixes the following subtle link-mode bugs:
e73230
e73230
- link mode: archive creation: .la-associated objects are always under .libs/.
e73230
- link mode: soname: properly handle -module when output begins with dso prefix.
e73230
8f07c5
0.5.9:
8f07c5
8f07c5
This patch release enhances support of indirect dependencies, as well
8f07c5
the handling of direct invocation of executables (as opposed to passing
8f07c5
an executable to gdb or similar as an argument).
8f07c5
8f07c5
- execute mode: properly handle direct program invocation.
8f07c5
- link mode: account for directory depth when generating .deps for .la wrapper.
8f07c5
- link mode: properly handle sub-directories in indirect .la wrapper dependency.
8f07c5
- link mode: properly handle dependency information in current-dir .la wrappers.
8f07c5
7f7c4f
0.5.8:
7f7c4f
7f7c4f
This patch release follows several important bug-fixes, as well as the
7f7c4f
addition and integration of error trace support.
7f7c4f
7f7c4f
- install mode: support the -f (force copy) command line argument.
7f7c4f
- link mode: properly use dependency information associated with .la wrappers.
7f7c4f
- link mode: ignore -rpath when deciding whether to create an executable.
7f7c4f
- utility: added error trace support, integration, and annotated output.
7f7c4f
- library: added public error trace interfaces.
7f7c4f
- argv.h: error message formatting: handle lonely long options.
7f7c4f
daf3df
0.5.7:
daf3df
daf3df
This patch release contains one future-looking change in the project's
daf3df
design, as well as a few improvements in slibtool's own build system.
daf3df
daf3df
- utility: added slbt_main() as a public interface, refactored accordingly.
daf3df
- utility: improved box integration, removed need for build-time macro.
daf3df
- build system: warn only upon failure to detect native size of pointer.
daf3df
- build system: add a test for legacy gcc versions.
daf3df
9355e9
0.5.6:
9355e9
9355e9
This patch release contains a few important fixed to program logic,
9355e9
as well as one addition to slibtool's own build system.
9355e9
9355e9
- driver: added --finish support.
9355e9
- link mode: properly handle empty dependency files.
9355e9
- link mode: properly handle absolute path when joining archives.
9355e9
- build system: support project-specific overrides of OS and toolchain defs.
9355e9
3643b9
0.5.5:
3643b9
3643b9
This patch release contains a couple of important fixed to program logic,
3643b9
and a few minor improvements in slibtool's own build system.
3643b9
3643b9
- link mode: support over-linking for an .la wrapper linker input argument.
3643b9
- execute mode: properly handle the current working directory.
3643b9
- build system: added support for [C|LD]FLAGS_LAST and [C|LD]FLAGS_ONCE.
3643b9
- build system: avoid side effects on the build system due to git-status.
3643b9
74cc93
0.5.4:
74cc93
74cc93
This patch release includes a few fixes to the program logic and output,
74cc93
as well as several improvements in slibtool's own build system.
74cc93
74cc93
- link mode: always create the .libs directory.
74cc93
- output: flush stdout upon return from output functions.
74cc93
- build system: remove generic dependency of object files on version.tag.
74cc93
- build system: moved core definition files to a designated folder.
74cc93
- build system: PE targets: handle subsystem setting in pe.mk.
74cc93
- build system: added --avoid-version support.
74cc93
a65442
0.5.3:
a65442
a65442
This patch release includes a few minor fixes and several improvements, all
a65442
related to slibtool's own build system.
a65442
a65442
- build system: app.tag: avoid unconditional step execution.
a65442
- build system: configure: added --strict, --ccstrict, --ldstrict support.
a65442
- build system: Makefile: added the .conf convenience target.
a65442
- build system: Makefile: added the .display_cc convenience target.
a65442
- build system: Makefile: added the -display_cflags convenience target.
a65442
- build system: Makefile: added custom header installation support.
a65442
9eda97
0.5.2:
9eda97
9eda97
This patch release includes several fixes of bugs that were discovered while
9eda97
testing slibtool as the primary libtool in a pkgsrc comprehensive build. In
9eda97
addition, the release includes several improvements to slibtool's own build
9eda97
system.
9eda97
9eda97
- link mode: legabits: generate a perfectly compatible wrapper.
9eda97
- install mode: legabits: install a perfectly compatible wrapper.
9eda97
- project: by default, slibtool is now an application-only package.
9eda97
- build system: added support of --disable-shared and --disable-static.
9eda97
- build system: added support of --all-shared and --all-static.
9eda97
- build system: properly handle user inclusion of -static in LDFLAGS.
9eda97
9eeba2
0.5.1:
316ae0
316ae0
This patch release includes several small fixes, as well as the addition of
316ae0
an optional (opt-in at runtime) yet important compatibility feature, namely
316ae0
the installation of .la wrappers. Changes in this release include:
316ae0
316ae0
- driver: added --legabits support.
316ae0
- install mode: optional installation of .la wrappers.
316ae0
- project: added compatibility symlinks (clibtool, clibtool-[shared|static])
316ae0
- build system: removed the endian.h test.
316ae0
- build system: proper use of any-os.mk.
316ae0
9eeba2
0.5.0:
77a4b7
77a4b7
This is the first tagged release of slibtool. It is the result of two months of
77a4b7
intensive development, and follows rigorous testing on several systems. As of
77a4b7
this initial release, slibtool is known to successfully build an entire Exherbo
77a4b7
Linux system from source, build the midipix cross compilation toolchain from
77a4b7
source, and likewise build many other packages.
77a4b7
77a4b7
Support for the ELF/default host flavor is complete, and does not appear to have
77a4b7
any errors. Support for the PE/midipix flavor is also complete, and includes not
77a4b7
only static archives and shared libraries, but also import libraries with
77a4b7
version support. Support for the Darwin host flavor already exists too, yet it
77a4b7
is currently semantically incorrect, and so will be fixed in the next release.