]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
Modules have prefixes other than rlm_ now 🙄
authorArran Cudbard-Bell <a.cudbardb@freeradius.org>
Thu, 17 Nov 2022 20:52:26 +0000 (14:52 -0600)
committerArran Cudbard-Bell <a.cudbardb@freeradius.org>
Thu, 17 Nov 2022 20:52:50 +0000 (14:52 -0600)
scripts/jlibtool.c

index 5629bdeff8fb8898514b49c956ea1155a7e91417..19e8e69591efe658946b60fcdd6b2361bed93d46 100644 (file)
@@ -1773,10 +1773,14 @@ static void add_minus_l(count_chars *cc, char const *arg)
        char *name = strrchr(arg, '/');
        char *file = strrchr(arg, '.');
 
+       /*
+        * Most linkers require the -l argument value
+        * to be stripped of its 'lib' prefix.
+        */
        if ((name != NULL) && (file != NULL) &&
                (strstr(name, "lib") == (name + 1))) {
-               *name = '\0';
-               *file = '\0';
+               *name = '\0';   /* trim path */
+               *file = '\0';   /* trim extension */
                file = name;
                file = file+4;
                push_count_chars(cc, "-L");
@@ -1787,10 +1791,12 @@ static void add_minus_l(count_chars *cc, char const *arg)
                strcat(newarg, file);
                push_count_chars(cc, newarg);
        }
-       /* special case for FreeRADIUS loadable modules */
-       else if ((name != NULL) && (file != NULL) &&
-               (strstr(name, "rlm_") == (name + 1))) {
-               *name = '\0';
+       /*
+        * For things which aren't libs, don't strip
+        * anything.
+        */
+       else if ((name != NULL) && (file != NULL)) {
+               *name = '\0';   /* trim path */
                file = name+1;
                push_count_chars(cc, "-L");
                push_count_chars(cc, arg);