aboutsummaryrefslogtreecommitdiff
path: root/lib/rpath.c
diff options
context:
space:
mode:
authorJoseph Hunkeler <jhunkeler@gmail.com>2020-06-07 01:57:09 -0400
committerJoseph Hunkeler <jhunkeler@gmail.com>2020-06-07 01:57:09 -0400
commit67c0eb41848eee453cbc0b1ba480167462270dfe (patch)
tree5e3317ace1d3c2b69b47c03b4a7e667e2592c84b /lib/rpath.c
parent706f9264aa65caab96c6dce8833062145b249c58 (diff)
downloadspmc-67c0eb41848eee453cbc0b1ba480167462270dfe.tar.gz
Remove unused rpath detection/creation
Diffstat (limited to 'lib/rpath.c')
-rw-r--r--lib/rpath.c86
1 files changed, 0 insertions, 86 deletions
diff --git a/lib/rpath.c b/lib/rpath.c
index f15de86..6e4fa00 100644
--- a/lib/rpath.c
+++ b/lib/rpath.c
@@ -193,49 +193,11 @@ FSTree *rpath_libraries_available(const char *root) {
* @return success=relative path from `filename` to nearest lib directory, failure=NULL
*/
char *rpath_autodetect(const char *filename, FSTree *tree, const char *destroot) {
- const char *origin;
char *rootdir = dirname(filename);
char *start = realpath(rootdir, NULL);
char *cwd = realpath(".", NULL);
char *result = NULL;
- char *visit = NULL; // Current directory
- char _relative[PATH_MAX] = {0,}; // Generated relative path to lib directory
- char *relative = _relative; // Pointer to relative path
- size_t depth_to_root = 0;
-
-#if OS_DARWIN
- origin = "@rpath";
-#elif OS_LINUX
- origin = "$ORIGIN";
-#else
- origin = NULL;
-#endif
-
- // BUG: Perl dumps its shared library in a strange place.
- // This function returns `$ORIGIN/../../../CORE` which is not what we want to see.
- // TODO: We WANT to see this: `$ORIGIN/../lib/perl5/xx.xx.xx/<arch>/CORE` not just the basename()
-
- /*
- // Change directory to the requested root
- chdir(start);
-
- // Count the relative path distance between the location of the binary, and the top of the root
- visit = strdup(start);
- for (depth_to_root = 0; strcmp(tree->root, visit) != 0; depth_to_root++) {
- // Copy the current visit pointer
- char *prev = visit;
- // Walk back another directory level
- visit = dirname(visit);
- // Free previous visit pointer
- if (prev) free(prev);
- }
- free(visit);
-
- // return to calling directory
- chdir(cwd);
- */
-
StrList *libs = strlist_init();
if (libs == NULL) {
fprintf(stderr, "failed to initialize library StrList\n");
@@ -273,54 +235,6 @@ char *rpath_autodetect(const char *filename, FSTree *tree, const char *destroot)
free(repl);
}
- /*
- for (size_t i = 0; i < strlist_count(libs_wanted); i++) {
- // zero out relative path string
- memset(_relative, '\0', sizeof(_relative));
- // Get the shared library name we are going to look for in the tree
- char *shared_library = strlist_item(libs_wanted, i);
-
- // Is the shared library in the tree?
- char *match = NULL;
- if ((match = dirname(fstree_search(tree, shared_library))) != NULL) {
- // Begin generating the relative path string
- //strcat(relative, origin);
- //strcat(relative, DIRSEPS);
-
- // Append the number of relative levels to the relative path string
- if (depth_to_root) {
- for (size_t d = 0; d < depth_to_root; d++) {
- strcat(relative, "..");
- strcat(relative, DIRSEPS);
- }
- } else {
- strcat(relative, "..");
- strcat(relative, DIRSEPS);
- }
- // Append the match to the relative path string
- strcat(relative, basename(match));
-
- // Append relative path to array of libraries (if it isn't already in there)
- if (strstr_array(libs->data, relative) == NULL) {
- char *final = realpath(relative, NULL);
- strlist_append(libs, final);
- free(final);
- }
- }
- }
- */
-
-#if OS_LINUX
- // Some programs do not require local libraries provided by SPM (i.e. libc)
- // Inject "likely" defaults here
- /*
- if (strlist_count(libs) == 0) {
- strlist_append(libs, "$ORIGIN/../lib");
- strlist_append(libs, "$ORIGIN/../lib64");
- }
- */
-#endif
-
// Populate result string
result = join(libs->data, ":");