Handle OSX ".dynlib" DSO extension.
This commit is contained in:
parent
d41ca3f0e2
commit
7dfae89768
1 changed files with 13 additions and 4 deletions
|
@ -351,6 +351,15 @@ static char *dlfcn_merger(DSO *dso, const char *filespec1,
|
|||
return(merged);
|
||||
}
|
||||
|
||||
#ifdef OPENSSL_SYS_MAC
|
||||
#define DSO_ext ".dynlib"
|
||||
#define DSO_extlen 7
|
||||
#else
|
||||
#define DSO_ext ".so"
|
||||
#define DSO_extlen 3
|
||||
#endif
|
||||
|
||||
|
||||
static char *dlfcn_name_converter(DSO *dso, const char *filename)
|
||||
{
|
||||
char *translated;
|
||||
|
@ -361,8 +370,8 @@ static char *dlfcn_name_converter(DSO *dso, const char *filename)
|
|||
transform = (strstr(filename, "/") == NULL);
|
||||
if(transform)
|
||||
{
|
||||
/* We will convert this to "%s.so" or "lib%s.so" */
|
||||
rsize += 3; /* The length of ".so" */
|
||||
/* We will convert this to "%s.so" or "lib%s.so" etc */
|
||||
rsize += DSO_extlen; /* The length of ".so" */
|
||||
if ((DSO_flags(dso) & DSO_FLAG_NAME_TRANSLATION_EXT_ONLY) == 0)
|
||||
rsize += 3; /* The length of "lib" */
|
||||
}
|
||||
|
@ -376,9 +385,9 @@ static char *dlfcn_name_converter(DSO *dso, const char *filename)
|
|||
if(transform)
|
||||
{
|
||||
if ((DSO_flags(dso) & DSO_FLAG_NAME_TRANSLATION_EXT_ONLY) == 0)
|
||||
sprintf(translated, "lib%s.so", filename);
|
||||
sprintf(translated, "lib%s" DSO_ext, filename);
|
||||
else
|
||||
sprintf(translated, "%s.so", filename);
|
||||
sprintf(translated, "%s" DSO_ext, filename);
|
||||
}
|
||||
else
|
||||
sprintf(translated, "%s", filename);
|
||||
|
|
Loading…
Reference in a new issue