summaryrefslogtreecommitdiff
path: root/src/driver
diff options
context:
space:
mode:
authormidipix <writeonce@midipix.org>2016-04-25 19:30:05 -0400
committermidipix <writeonce@midipix.org>2016-04-25 20:36:38 -0400
commit2bc17534f0bba1de06210535c20311db70c417c4 (patch)
tree270554600540d64b9433b9396942708a2384828f /src/driver
parentdac9cd4bdd4da581279f2ad7a65a17b5d0ba7f87 (diff)
downloadslibtool-2bc17534f0bba1de06210535c20311db70c417c4.tar.bz2
slibtool-2bc17534f0bba1de06210535c20311db70c417c4.tar.xz
driver: added --annotate support.
Diffstat (limited to 'src/driver')
-rw-r--r--src/driver/slbt_driver_ctx.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/driver/slbt_driver_ctx.c b/src/driver/slbt_driver_ctx.c
index f65460a..f3c13ca 100644
--- a/src/driver/slbt_driver_ctx.c
+++ b/src/driver/slbt_driver_ctx.c
@@ -695,6 +695,9 @@ int slbt_get_driver_ctx(
/* shared and static objects: enable by default, disable by ~switch */
cctx.drvflags = flags | SLBT_DRIVER_SHARED | SLBT_DRIVER_STATIC;
+ /* full annotation when annotation is on; */
+ cctx.drvflags |= SLBT_DRIVER_ANNOTATE_FULL;
+
/* get options, count units */
for (entry=meta->entries; entry->fopt || entry->arg; entry++) {
if (entry->fopt) {
@@ -775,6 +778,24 @@ int slbt_get_driver_ctx(
cctx.warnings = SLBT_WARNING_LEVEL_NONE;
break;
+ case TAG_ANNOTATE:
+ if (!strcmp("always",entry->arg)) {
+ cctx.drvflags |= SLBT_DRIVER_ANNOTATE_ALWAYS;
+ cctx.drvflags &= ~(uint64_t)SLBT_DRIVER_ANNOTATE_NEVER;
+
+ } else if (!strcmp("never",entry->arg)) {
+ cctx.drvflags |= SLBT_DRIVER_ANNOTATE_NEVER;
+ cctx.drvflags &= ~(uint64_t)SLBT_DRIVER_ANNOTATE_ALWAYS;
+
+ } else if (!strcmp("minimal",entry->arg)) {
+ cctx.drvflags &= ~(uint64_t)SLBT_DRIVER_ANNOTATE_FULL;
+
+ } else if (!strcmp("full",entry->arg)) {
+ cctx.drvflags |= SLBT_DRIVER_ANNOTATE_FULL;
+ }
+
+ break;
+
case TAG_DEPS:
cctx.drvflags |= SLBT_DRIVER_DEPS;
break;