about summary refs log tree commit diff
diff options
context:
space:
mode:
authorXing Xue <xingxue@outlook.com>2024-12-06 15:22:46 -0500
committerXing Xue <xingxue@outlook.com>2024-12-06 20:38:23 -0500
commitab2ee7aa2f0eb8906b5d04104c93050e703b3936 (patch)
treebc31e0e74a8fa0f9942eb9fac13ced9ff6ad4c93
parentbc145cec4565a97a1b08df52d26ddf48ce3d7d0a (diff)
downloadrust-ab2ee7aa2f0eb8906b5d04104c93050e703b3936.tar.gz
rust-ab2ee7aa2f0eb8906b5d04104c93050e703b3936.zip
Use option "-sf" for the AIX "ln" command.
-rw-r--r--tests/run-make/libs-through-symlinks/Makefile12
1 files changed, 11 insertions, 1 deletions
diff --git a/tests/run-make/libs-through-symlinks/Makefile b/tests/run-make/libs-through-symlinks/Makefile
index 592eae663a4..c6ff566a0e8 100644
--- a/tests/run-make/libs-through-symlinks/Makefile
+++ b/tests/run-make/libs-through-symlinks/Makefile
@@ -3,10 +3,20 @@ include ../tools.mk
 
 # ignore-windows
 
+# The option -n for the AIX ln command has a different purpose than it does
+# on Linux. On Linux, the -n option is used to treat the destination path as
+# normal file if it is a symbolic link to a directory, which is the default
+# behavior of the AIX ln command.
+ifeq ($(UNAME),AIX)
+LN_FLAGS := -sf
+else
+LN_FLAGS := -nsf
+endif
+
 NAME := $(shell $(RUSTC) --print file-names foo.rs)
 
 all:
 	mkdir -p $(TMPDIR)/outdir
 	$(RUSTC) foo.rs -o $(TMPDIR)/outdir/$(NAME)
-	ln -nsf outdir/$(NAME) $(TMPDIR)
+	ln $(LN_FLAGS) outdir/$(NAME) $(TMPDIR)
 	RUSTC_LOG=rustc_metadata::loader $(RUSTC) bar.rs