aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile2
-rw-r--r--src/tomo.c14
2 files changed, 7 insertions, 9 deletions
diff --git a/Makefile b/Makefile
index 236a5572..388d89cc 100644
--- a/Makefile
+++ b/Makefile
@@ -199,7 +199,7 @@ install-files: build/bin/tomo build/lib/$(LIB_FILE) build/lib/$(AR_FILE) check-u
exit 1; \
fi
$(DEFINE_AS_OWNER); \
- as_owner mkdir -p -m 755 "$(PREFIX)/man/man1" "$(PREFIX)/man/man3" "$(PREFIX)/bin" "$(PREFIX)/include/tomo" "$(PREFIX)/lib" "$(PREFIX)/share/tomo/modules" "$(PREFIX)/share/tomo/lib"; \
+ as_owner mkdir -p -m 755 "$(PREFIX)/man/man1" "$(PREFIX)/man/man3" "$(PREFIX)/bin" "$(PREFIX)/include/tomo" "$(PREFIX)/lib"; \
as_owner cp src/stdlib/*.h "$(PREFIX)/include/tomo/"; \
as_owner cp build/lib/$(LIB_FILE) build/lib/$(AR_FILE) "$(PREFIX)/lib/"; \
as_owner rm -f "$(PREFIX)/bin/tomo"; \
diff --git a/src/tomo.c b/src/tomo.c
index 8efac784..2299b0a1 100644
--- a/src/tomo.c
+++ b/src/tomo.c
@@ -84,8 +84,8 @@ static OptionalText_t
" -DGC_THREADS"
" -I'" TOMO_PREFIX "/include' -I'" TOMO_PREFIX "/share/tomo/installed' -I/usr/local/include"),
ldlibs = Text("-lgc -lm -lgmp -lunistring -ltomo"),
- ldflags = Text("-Wl,-rpath,'"TOMO_PREFIX"/lib',-rpath,'" TOMO_PREFIX "/share/tomo/lib',-rpath,/usr/local/lib "
- "-L'" TOMO_PREFIX "/share/tomo/lib' -L/usr/local/lib"),
+ ldflags = Text("-Wl,-rpath,'"TOMO_PREFIX"/lib',-rpath,/usr/local/lib"
+ " -L/usr/local/lib"),
optimization = Text("2"),
cc = Text(DEFAULT_C_COMPILER);
@@ -249,7 +249,7 @@ int main(int argc, char *argv[])
for (int64_t i = 0; i < uninstall.length; i++) {
Text_t *u = (Text_t*)(uninstall.data + i*uninstall.stride);
- xsystem(as_owner, "rm -rvf '"TOMO_PREFIX"'/share/tomo/installed/", *u, " '"TOMO_PREFIX"/share/tomo/lib/lib'", *u, SHARED_SUFFIX);
+ xsystem(as_owner, "rm -rvf '"TOMO_PREFIX"'/share/tomo/installed/", *u);
print("Uninstalled ", *u);
}
@@ -416,10 +416,6 @@ void install_library(Path_t lib_dir)
xsystem(as_owner, "cp -r '", lib_dir, "'/* '", dest, "/'");
xsystem(as_owner, "cp -r '", lib_dir, "'/.build '", dest, "/'");
}
- if (verbose) whisper("Linking "TOMO_PREFIX"/share/tomo/lib/lib", lib_dir_name, SHARED_SUFFIX);
- xsystem(as_owner, "mkdir -p '"TOMO_PREFIX"/share/tomo/lib/'");
- xsystem(as_owner, "ln -f -s ../installed/'", lib_dir_name, "'/lib'", lib_dir_name, SHARED_SUFFIX,
- "' '"TOMO_PREFIX"/share/tomo/lib/lib", lib_dir_name, SHARED_SUFFIX, "'");
// If we have `debugedit` on this system, use it to remap the debugging source information
// to point to the installed version of the source file. Otherwise, fail silently.
if (verbose) whisper("Updating debug symbols for ", dest, "/lib", lib_dir_name, SHARED_SUFFIX);
@@ -594,7 +590,9 @@ void build_file_dependency_graph(Path_t path, Table_t *to_compile, Table_t *to_l
break;
}
case USE_MODULE: {
- Text_t lib = Texts(Text("'" TOMO_PREFIX "/share/tomo/installed/"),
+ Text_t lib = Texts(Text("-Wl,-rpath,'"),
+ Text(TOMO_PREFIX "/share/tomo/installed/"), Text$from_str(use->path),
+ Text("' '" TOMO_PREFIX "/share/tomo/installed/"),
Text$from_str(use->path), Text("/lib"), Text$from_str(use->path), Text(SHARED_SUFFIX "'"));
Table$set(to_link, &lib, NULL, Table$info(&Text$info, &Void$info));