Mercurial > pub > dyncall > dyncall
comparison dynload/dynload.c @ 217:87c695673522
dynload darwin/mach-o update:
- removed unnecessarily complex darwin loader interface, and sharing with dynload_unix now
- mach-o symbol resolving refactored:
* to handle symlinks, relative paths, paths with random casing
* loading lib when not already loaded, for API consistency with ELF and PE implementations
author | Tassilo Philipp |
---|---|
date | Thu, 06 Apr 2017 12:00:36 +0200 |
parents | 3e629dc19168 |
children | f5577f6bf97a |
comparison
equal
deleted
inserted
replaced
216:28bf0b231bce | 217:87c695673522 |
---|---|
4 Library: dynload | 4 Library: dynload |
5 File: dynload/dynload.c | 5 File: dynload/dynload.c |
6 Description: Auto-include delegate to windows/posix-based dynamic linker. | 6 Description: Auto-include delegate to windows/posix-based dynamic linker. |
7 License: | 7 License: |
8 | 8 |
9 Copyright (c) 2007-2015 Daniel Adler <dadler@uni-goettingen.de>, | 9 Copyright (c) 2007-2017 Daniel Adler <dadler@uni-goettingen.de>, |
10 Tassilo Philipp <tphilipp@potion-studios.com> | 10 Tassilo Philipp <tphilipp@potion-studios.com> |
11 | 11 |
12 Permission to use, copy, modify, and distribute this software for any | 12 Permission to use, copy, modify, and distribute this software for any |
13 purpose with or without fee is hereby granted, provided that the above | 13 purpose with or without fee is hereby granted, provided that the above |
14 copyright notice and this permission notice appear in all copies. | 14 copyright notice and this permission notice appear in all copies. |
22 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | 22 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
23 | 23 |
24 */ | 24 */ |
25 | 25 |
26 | 26 |
27 | |
28 #include "../autovar/autovar_OSFAMILY.h" | 27 #include "../autovar/autovar_OSFAMILY.h" |
29 #if defined(OSFAMILY_Windows) | 28 #if defined(OSFAMILY_Windows) |
30 # include "dynload_windows.c" | 29 # include "dynload_windows.c" |
31 #elif defined(OSFAMILY_Unix) | 30 #elif defined(OSFAMILY_Unix) |
32 # include "../autovar/autovar_OS.h" | 31 # include "dynload_unix.c" |
33 # if defined(OS_Darwin) | |
34 # include "dynload_darwin.c" | |
35 # else | |
36 # include "dynload_unix.c" | |
37 # endif | |
38 #endif | 32 #endif |
39 | 33 |