summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormidipix <writeonce@midipix.org>2016-05-01 14:18:40 -0400
committermidipix <writeonce@midipix.org>2016-05-01 14:24:47 -0400
commitc4a3890f7c384e13df8442aa3986be944165e5e0 (patch)
tree7803f5fbb8ba436e916183731c4605d9a58badf7
parent928cf1f414b5665c50f4e926f40fc39806345729 (diff)
downloadslibtool-c4a3890f7c384e13df8442aa3986be944165e5e0.tar.bz2
slibtool-c4a3890f7c384e13df8442aa3986be944165e5e0.tar.xz
dry run: initial quick implementation.
With the current patch, slibtool respects --dry-run by turning the various modes (compile, link, install, execute) into no-ops. For at least the compile and install mode, it should be possible to output complete information about the steps that would be performed under default operation conditions, however that is not yet implemented.
-rw-r--r--src/logic/slbt_exec_compile.c4
-rw-r--r--src/logic/slbt_exec_execute.c4
-rw-r--r--src/logic/slbt_exec_install.c4
-rw-r--r--src/logic/slbt_exec_link.c4
4 files changed, 16 insertions, 0 deletions
diff --git a/src/logic/slbt_exec_compile.c b/src/logic/slbt_exec_compile.c
index dcfdf29..ec19c22 100644
--- a/src/logic/slbt_exec_compile.c
+++ b/src/logic/slbt_exec_compile.c
@@ -38,6 +38,10 @@ int slbt_exec_compile(
struct slbt_exec_ctx * actx = 0;
const struct slbt_source_version * verinfo;
+ /* dry run */
+ if (dctx->cctx->drvflags & SLBT_DRIVER_DRY_RUN)
+ return 0;
+
/* context */
if (ectx)
slbt_reset_placeholders(ectx);
diff --git a/src/logic/slbt_exec_execute.c b/src/logic/slbt_exec_execute.c
index 04fec87..7df18b2 100644
--- a/src/logic/slbt_exec_execute.c
+++ b/src/logic/slbt_exec_execute.c
@@ -27,6 +27,10 @@ int slbt_exec_execute(
char wrapper[PATH_MAX];
struct slbt_exec_ctx * actx = 0;
+ /* dry run */
+ if (dctx->cctx->drvflags & SLBT_DRIVER_DRY_RUN)
+ return 0;
+
/* context */
if (ectx)
slbt_disable_placeholders(ectx);
diff --git a/src/logic/slbt_exec_install.c b/src/logic/slbt_exec_install.c
index 66cf7f0..1546109 100644
--- a/src/logic/slbt_exec_install.c
+++ b/src/logic/slbt_exec_install.c
@@ -454,6 +454,10 @@ int slbt_exec_install(
char dstdir[PATH_MAX];
const struct argv_option * options = slbt_install_options;
+ /* dry run */
+ if (dctx->cctx->drvflags & SLBT_DRIVER_DRY_RUN)
+ return 0;
+
/* context */
if (ectx)
actx = 0;
diff --git a/src/logic/slbt_exec_link.c b/src/logic/slbt_exec_link.c
index cbd5c6f..5538d6d 100644
--- a/src/logic/slbt_exec_link.c
+++ b/src/logic/slbt_exec_link.c
@@ -1011,6 +1011,10 @@ int slbt_exec_link(
char arname[PATH_MAX];
const struct slbt_source_version * verinfo;
+ /* dry run */
+ if (dctx->cctx->drvflags & SLBT_DRIVER_DRY_RUN)
+ return 0;
+
/* libfoo.so.x.y.z */
if ((size_t)snprintf(soxyz,sizeof(soxyz),"%s%s%s.%d.%d.%d",
dctx->cctx->settings.dsoprefix,