summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorP. J. McDermott <pj@pehjota.net>2023-10-05 09:28:17 (EDT)
committer P. J. McDermott <pj@pehjota.net>2023-10-05 11:08:15 (EDT)
commit8b56edcda001038a7ed3e63dc44c545fc0b02227 (patch)
treed313916c3a7207158c7e5243b9be8bbc7741b6d9
parent52dd70354718b2693a9ad239ef082f87abe5b39e (diff)
downloadatsign-8b56edcda001038a7ed3e63dc44c545fc0b02227.zip
atsign-8b56edcda001038a7ed3e63dc44c545fc0b02227.tar.gz
atsign-8b56edcda001038a7ed3e63dc44c545fc0b02227.tar.bz2
build: Optionally install "@" symbolic link
-rw-r--r--Makefile.am15
-rw-r--r--configure.ac13
2 files changed, 28 insertions, 0 deletions
diff --git a/Makefile.am b/Makefile.am
index c08fb30..c6d8e2b 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -77,6 +77,21 @@ really-clean: distclean
$(srcdir)/build-aux/ $(srcdir)/INSTALL $(srcdir)/Makefile.in \
$(srcdir)/ChangeLog
+if ENABLE_SYMLINK
+install-exec-hook:
+ @set -e; \
+ dst="$$(printf 'atsign' | \
+ sed 's/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/')"; \
+ src='$(DESTDIR)$(bindir)/@$(EXEEXT)'; \
+ echo " $(LN_S) '$${dst}' '$${src}'"; \
+ $(LN_S) "$${dst}" "$${src}"
+uninstall-hook:
+ @set -e; \
+ src='$(DESTDIR)$(bindir)/@$(EXEEXT)'; \
+ echo " rm -f '$${src}'"; \
+ rm -f "$${src}"
+endif
+
dist-hook:
if IN_GIT
printf 'Generated file. Do not edit.\n\n' 1>'$(distdir)/ChangeLog~'
diff --git a/configure.ac b/configure.ac
index 40a3205..6578718 100644
--- a/configure.ac
+++ b/configure.ac
@@ -56,6 +56,19 @@ if ${funcs_missing}; then
AC_MSG_ERROR([required functions are missing])
fi
+AC_PROG_LN_S()
+AC_ARG_ENABLE([symlink],
+ [AS_HELP_STRING([--disable-symlink],
+ [install \`@' symbolic link])],
+ dnl This `dnl' is needed to workaround Vim syntax highlighting.
+ [case "${enableval}" in yes|no) symlink=${enableval};;
+ *) AC_MSG_ERROR(
+ [bad value ${enableval} for symlink option]);;
+ esac],
+ [symlink=yes]
+)
+AM_CONDITIONAL([ENABLE_SYMLINK], [test x"${symlink}" = x'yes'])
+
AC_ARG_ENABLE([tests],
[AS_HELP_STRING([--enable-tests],
[include test suite support in executable])],