From c5afb01548c5b6bf4ec83373b5e2e09f14690b01 Mon Sep 17 00:00:00 2001
From: Kaz Kylheku <kaz@kylheku.com>
Date: Fri, 4 May 2018 06:31:46 -0700
Subject: More reasonable fallback for self path.

* Makefile (opt/txr.o, dbg/txr.o): Set up TXR_REL_PATH
preprocessor symbol on command line which specifies the
hard installation path derived from the configure prefix.

* txr.c (get_self_path): The fallback implementation simply
returns TXR_REL_PATH. This will work if in fact the executable
is installed at that path. What it means is that the build of
TXR which uses this fallback get_self_path will not support
relocation: the installation cannot be moved to another
directory, yet still find its supporting files.  This is
better than what we are replacing: not working even in the
original installation directory, if not invoked by an absolute
path.
---
 txr.c | 10 +---------
 1 file changed, 1 insertion(+), 9 deletions(-)

(limited to 'txr.c')

diff --git a/txr.c b/txr.c
index 197f6515..a77c53c9 100644
--- a/txr.c
+++ b/txr.c
@@ -254,15 +254,7 @@ static val get_self_path(void)
 #else
 static val get_self_path(void)
 {
-  char self[PATH_MAX];
-
-  if (!progname_u8)
-    return nil;
-
-  if (realpath(progname_u8, self))
-    return string_utf8(self);
-
-  return nil;
+  return lit(TXR_INST_PATH);
 }
 #endif
 
-- 
cgit v1.2.3