566 /* That's +1 for the colon and +1 for the trailing '\0' */ |
566 /* That's +1 for the colon and +1 for the trailing '\0' */ |
567 ld_library_path = (char *) malloc(strlen(v) + 1 + strlen(t) + 1); |
567 ld_library_path = (char *) malloc(strlen(v) + 1 + strlen(t) + 1); |
568 sprintf(ld_library_path, "%s:%s", v, t); |
568 sprintf(ld_library_path, "%s:%s", v, t); |
569 free(t); |
569 free(t); |
570 } |
570 } |
|
571 |
|
572 #ifdef __APPLE__ |
|
573 // Apple's Java6 has "." at the beginning of java.library.path. |
|
574 // OpenJDK on Windows has "." at the end of java.library.path. |
|
575 // OpenJDK on Linux and Solaris don't have "." in java.library.path |
|
576 // at all. To ease the transition from Apple's Java6 to OpenJDK7, |
|
577 // "." is appended to the end of java.library.path. Yes, this |
|
578 // could cause a change in behavior, but Apple's Java6 behavior |
|
579 // can be achieved by putting "." at the beginning of the |
|
580 // JAVA_LIBRARY_PATH environment variable. |
|
581 { |
|
582 char *t = ld_library_path; |
|
583 // that's +3 for appending ":." and the trailing '\0' |
|
584 ld_library_path = (char *) malloc(strlen(t) + 3); |
|
585 sprintf(ld_library_path, "%s:%s", t, "."); |
|
586 free(t); |
|
587 } |
|
588 #endif |
|
589 |
571 Arguments::set_library_path(ld_library_path); |
590 Arguments::set_library_path(ld_library_path); |
572 } |
591 } |
573 |
592 |
574 /* |
593 /* |
575 * Extensions directories. |
594 * Extensions directories. |