66#ifdef _WIN32
77 #include <windows.h>
88 #define GETPROCADDRESS (h ,p ) GetProcAddress(h,p)
9- #define JDLLNAME "j.dll"
9+ #define JDLLNAME "j"
10+ #define JDLLEXT ".dll"
1011 #define filesep '\\'
1112 #define filesepx "\\"
1213 #ifdef MMSC_VER
1920 #define _stdcall
2021 #define filesep '/'
2122 #define filesepx "/"
22- #ifdef __MACH__
23+ #define JDLLNAME "libj"
24+ #ifdef __APPLE__
2325 extern int _NSGetExecutablePath (char * , int * );
24- #define JDLLNAME "libj .dylib"
26+ #define JDLLEXT " .dylib"
2527 #else
2628 #include <sys/utsname.h>
27- #define JDLLNAME "libj .so"
29+ #define JDLLEXT " .so"
2830 #endif
2931#endif
3032#include "j.h"
@@ -132,6 +134,7 @@ void jepath(char* arg,char* lib)
132134 strcpy (pathdll ,path );
133135 strcat (pathdll ,"/lib/" );
134136 strcat (pathdll ,JDLLNAME );
137+ strcat (pathdll ,JDLLEXT );
135138 if (stat (path ,& st )){ /* android 5 or newer */
136139 strcpy (path ,"/data/user/0/" );
137140 strcat (path ,AndroidPackage );
@@ -149,19 +152,19 @@ void jepath(char* arg,char* lib)
149152 int i ;
150153 for (i = 0 ;i < 20 ;i ++ ){
151154 if (i )
152- sprintf (pathdll ,"/data/app/%s-%d/lib/%s/%s" ,AndroidPackage ,i ,arch ,JDLLNAME );
155+ sprintf (pathdll ,"/data/app/%s-%d/lib/%s/%s.%s " ,AndroidPackage ,i ,arch ,JDLLNAME , JDLLEXT );
153156 else
154- sprintf (pathdll ,"/data/app/%s/lib/%s/%s" ,AndroidPackage ,arch ,JDLLNAME );
157+ sprintf (pathdll ,"/data/app/%s/lib/%s/%s.%s " ,AndroidPackage ,arch ,JDLLNAME , JDLLEXT );
155158 if (!stat (pathdll ,& st ))break ;
156159 if (i )
157- sprintf (pathdll ,"/data/app-lib/%s-%d/%s" ,AndroidPackage ,i ,JDLLNAME );
160+ sprintf (pathdll ,"/data/app-lib/%s-%d/%s.%s " ,AndroidPackage ,i ,JDLLNAME , JDLLEXT );
158161 else
159- sprintf (pathdll ,"/data/app-lib/%s/%s" ,AndroidPackage ,JDLLNAME );
162+ sprintf (pathdll ,"/data/app-lib/%s/%s.%s " ,AndroidPackage ,JDLLNAME , JDLLEXT );
160163 if (!stat (pathdll ,& st ))break ;
161164 if (i )
162- sprintf (pathdll ,"/mnt/asec/%s-%d/lib/%s" ,AndroidPackage ,i ,JDLLNAME );
165+ sprintf (pathdll ,"/mnt/asec/%s-%d/lib/%s.%s " ,AndroidPackage ,i ,JDLLNAME , JDLLEXT );
163166 else
164- sprintf (pathdll ,"/mnt/asec/%s/lib/%s" ,AndroidPackage ,JDLLNAME );
167+ sprintf (pathdll ,"/mnt/asec/%s/lib/%s.%s " ,AndroidPackage ,JDLLNAME , JDLLEXT );
165168 if (!stat (pathdll ,& st ))break ;
166169 }
167170 }
@@ -188,7 +191,7 @@ void jepath(char* arg,char* lib)
188191 // fprintf(stderr,"arg0 %s\n",arg);
189192 // try host dependent way to get path to executable
190193 // use arg if they fail (arg command in PATH won't work)
191- #ifdef __MACH__
194+ #ifdef __APPLE__
192195 n = _NSGetExecutablePath (arg2 ,& len );
193196 if (0 != n ) strcat (arg2 ,arg );
194197#else
@@ -237,6 +240,7 @@ void jepath(char* arg,char* lib)
237240 strcpy (pathdll ,path );
238241 strcat (pathdll ,filesepx );
239242 strcat (pathdll ,JDLLNAME );
243+ strcat (pathdll ,JDLLEXT );
240244#ifdef ANDROID
241245 if (stat (pathdll ,& st ))strcpy (pathdll ,tmp );
242246#endif
@@ -260,8 +264,15 @@ void jepath(char* arg,char* lib)
260264 jdllver [1 ]= '.' ;
261265 strcat (jdllver + 2 ,_jdllver + 1 );
262266 strcpy (pathdll ,JDLLNAME );
267+ #if defined(__APPLE__ )
263268 strcat (pathdll ,"." );
264269 strcat (pathdll ,jdllver );
270+ strcat (pathdll ,JDLLEXT );
271+ #else
272+ strcat (pathdll ,JDLLEXT );
273+ strcat (pathdll ,"." );
274+ strcat (pathdll ,jdllver );
275+ #endif
265276 }
266277 }
267278#endif
@@ -351,7 +362,7 @@ int jefirst(int type,char* arg)
351362#endif
352363#if defined(_WIN32 )
353364 strcat (input ,"[UNAME_z_=:'Win'" );
354- #elif defined(__MACH__ )
365+ #elif defined(__APPLE__ )
355366 strcat (input ,"[UNAME_z_=:'Darwin'" );
356367#elif defined(__OpenBSD__ )
357368 strcat (input ,"[UNAME_z_=:'OpenBSD'" );
0 commit comments