summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--NEWS30
-rw-r--r--THANKS7
-rw-r--r--m4/slibtool.m43
-rw-r--r--project/tagver.mk4
-rw-r--r--src/internal/argv/argv.h16
-rw-r--r--src/internal/slibtool_mkvars_impl.c2
6 files changed, 56 insertions, 6 deletions
diff --git a/NEWS b/NEWS
index 1f802d3..22a4366 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,33 @@
+0.6.0:
+
+This minor release introduces the slibtoolize execution mode,
+as well as completion of the core slibtool.m4 functionality.
+In addition, this release entails several enhancements and
+fixes in other areas.
+
+- slibtoolize: new execution mode, driver integration, and symlink.
+- slibtoolize: added a no-op, yet backward compatible ltmain.sh.
+- slibtoolize: auxiliary files: added slibtool.sh (optional wrapper).
+- driver: --mkvars: implementation and integration.
+- driver: --mkvars: special case the SLIBTOOL make variable.
+- driver: --heuristics: added slibtool.cfg prioritized support.
+- driver: detect slibtool.cfg in non-heuristics mode where applicable.
+- driver: slbt_output_raw_vector(): refactor and prettify.
+- host: derive as from ranlib as needed.
+- host: derive windres and dlltool from ranlib as needed.
+- host: detect a native build environment based on ar(1).
+- host: set native mode based on the detected ar(1) as needed.
+- host: cfgmeta: mark tools derived from ranlib as such.
+- util: PE/COFF: list is target neutral, process all syms.
+- util: properly set weak aliases of strong symbols.
+- ar: yaml output: initial implementation.
+- ar: internally bind the meta ctx to the archive ctx.
+- ar: sort the syminfo vector in a coff-aware manner.
+- ar: PE/COFF: properly set weak aliases of strong symbols.
+- ar: symbol mapfile: properly set strong aliases of weak symbols.
+- ar: symbol vector: include weak aliases of strong symbols.
+- ar: symbol file: include weak aliases of strong symbols.
+
0.5.36:
This (pinky promise, for real now) absolutely final patch release
diff --git a/THANKS b/THANKS
index 4b27103..9088dc3 100644
--- a/THANKS
+++ b/THANKS
@@ -1,3 +1,10 @@
+0.6.0:
+
+The project owes much of the progress leading to this slibtool[ize]
+release to @orbea, who contineus to tirelessly test, identify bugs
+and areas for improvement, and bring all the dots together. So once
+again, thank you so much!
+
0.5.36:
Getting slibtool to the point where it could build a vast number of
diff --git a/m4/slibtool.m4 b/m4/slibtool.m4
index 25c37a3..bf1c4e1 100644
--- a/m4/slibtool.m4
+++ b/m4/slibtool.m4
@@ -402,8 +402,11 @@ if [[ -z "${LEX}" ]]; then
AC_CHECK_PROG([LEX],[lex],[lex])
fi
+slibtool_lex_output_root="${ac_cv_prog_lex_root:-lex.yy}"
+
AC_SUBST([LEX])
AC_SUBST([LEXLIB])
+AC_SUBST([LEX_OUTPUT_ROOT],["${slibtool_lex_output_root}"])
])
diff --git a/project/tagver.mk b/project/tagver.mk
index 2595fde..f22212f 100644
--- a/project/tagver.mk
+++ b/project/tagver.mk
@@ -1,5 +1,5 @@
VER_NAMESPACE = SLBT
VER_MAJOR = 0
-VER_MINOR = 5
-VER_PATCH = 36
+VER_MINOR = 6
+VER_PATCH = 0
diff --git a/src/internal/argv/argv.h b/src/internal/argv/argv.h
index d17865b..98c42da 100644
--- a/src/internal/argv/argv.h
+++ b/src/internal/argv/argv.h
@@ -833,6 +833,7 @@ static void argv_usage_impl(
{
const struct argv_option ** optv;
const struct argv_option * option;
+ int nlong;
bool fshort,flong,fboth;
size_t len,optlen,desclen;
char cache;
@@ -865,7 +866,7 @@ static void argv_usage_impl(
if (header)
argv_dprintf(fd,"%s",header);
- for (optlen=0,optv=options; *optv; optv++) {
+ for (optlen=0,nlong=0,optv=options; *optv; optv++) {
option = *optv;
/* indent + comma */
@@ -884,6 +885,11 @@ static void argv_usage_impl(
/* optlen */
if (len > optlen)
optlen = len;
+
+ /* long (vs. hybrid-only) option? */
+ if (option->long_name)
+ if (!(option->flags & ARGV_OPTION_HYBRID_ONLY))
+ nlong++;
}
if (optlen >= optcap) {
@@ -904,7 +910,7 @@ static void argv_usage_impl(
/* color */
if (fcolor) {
color = (color == ccyan) ? cblue : ccyan;
- argv_dprintf(fd,color);
+ argv_dprintf(fd,color,0);
}
/* description, using either paradigm or argname if applicable */
@@ -916,7 +922,11 @@ static void argv_usage_impl(
/* long/hybrid option prefix (-/--) */
prefix = option->flags & ARGV_OPTION_HYBRID_ONLY
- ? " -" : "--";
+ ? " -" : " --";
+
+ /* avoid extra <stace> when all long opts are hybrid-only */
+ if (nlong == 0)
+ prefix++;
/* option string */
if (fboth && option->short_name && option->long_name)
diff --git a/src/internal/slibtool_mkvars_impl.c b/src/internal/slibtool_mkvars_impl.c
index 155036a..5245034 100644
--- a/src/internal/slibtool_mkvars_impl.c
+++ b/src/internal/slibtool_mkvars_impl.c
@@ -38,7 +38,7 @@ static int slbt_get_mkvars_var(
/* search for ^var= */
for (pline=tctx->txtlinev; !match && *pline; pline++) {
if (!strncmp(*pline,var,len)) {
- if (isspace((*pline)[len]) || ((*pline)[len] == '=')) {
+ if (isspace((cint = (*pline)[len])) || ((*pline)[len] == '=')) {
mark = &(*pline)[len];
for (; isspace(cint = *mark); )