summaryrefslogtreecommitdiff
path: root/src/internal
diff options
context:
space:
mode:
authormidipix <writeonce@midipix.org>2021-05-06 04:26:10 +0000
committermidipix <writeonce@midipix.org>2021-05-06 05:40:34 +0000
commitc7981ca306e4dfa2d8a5524b3b2063be8a7a6584 (patch)
tree5f4c459658830bb47bec24ab26132f7787fb965a /src/internal
parent465de6c0f42fe777f8023fc79f41440d5ec8e365 (diff)
downloadslibtool-c7981ca306e4dfa2d8a5524b3b2063be8a7a6584.tar.bz2
slibtool-c7981ca306e4dfa2d8a5524b3b2063be8a7a6584.tar.xz
link mode: always create libfoo.so.def.{host|flavor} and related tags.
Diffstat (limited to 'src/internal')
-rw-r--r--src/internal/slibtool_symlink_impl.c7
-rw-r--r--src/internal/slibtool_symlink_impl.h1
2 files changed, 7 insertions, 1 deletions
diff --git a/src/internal/slibtool_symlink_impl.c b/src/internal/slibtool_symlink_impl.c
index 0b1daa0..bb67623 100644
--- a/src/internal/slibtool_symlink_impl.c
+++ b/src/internal/slibtool_symlink_impl.c
@@ -28,6 +28,7 @@ int slbt_create_symlink(
int fdcwd;
int fliteral;
int fwrapper;
+ int fdevnull;
char ** oargv;
const char * slash;
char * ln[5];
@@ -41,9 +42,13 @@ int slbt_create_symlink(
/* options */
fliteral = (options & SLBT_SYMLINK_LITERAL);
fwrapper = (options & SLBT_SYMLINK_WRAPPER);
+ fdevnull = (options & SLBT_SYMLINK_DEVNULL);
/* symlink is a placeholder? */
- if ((dctx->cctx->drvflags & SLBT_DEV_NULL_FLAGS)
+ if (fliteral && fdevnull) {
+ slash = target;
+
+ } else if ((dctx->cctx->drvflags & SLBT_DEV_NULL_FLAGS)
&& !strcmp(target,"/dev/null")) {
slash = target;
suffix = ".disabled";
diff --git a/src/internal/slibtool_symlink_impl.h b/src/internal/slibtool_symlink_impl.h
index 5619e75..fc4c708 100644
--- a/src/internal/slibtool_symlink_impl.h
+++ b/src/internal/slibtool_symlink_impl.h
@@ -7,6 +7,7 @@
#define SLBT_SYMLINK_DEFAULT 0x0000
#define SLBT_SYMLINK_LITERAL 0x0001
#define SLBT_SYMLINK_WRAPPER 0x0002
+#define SLBT_SYMLINK_DEVNULL 0x0004
int slbt_create_symlink(
const struct slbt_driver_ctx * dctx,