Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

remove ltdl #1804

Merged
merged 1 commit into from Apr 10, 2013
Merged

remove ltdl #1804

merged 1 commit into from Apr 10, 2013

Conversation

springmeyer
Copy link
Member

ltdl is used for dynamic loading of datasource plugins in Mapnik. But it can be hard to compile on windows and is unneeded on all other platforms. On Windows we can avoid it by calling Windows api's and on On OS X 10.8 apple stopped providing ltdl but dlopen/dlfcn.h is available and the recommended way: https://developer.apple.com/library/mac/#documentation/developertools/Reference/MachOReference/Reference/reference.html

I have also researched other toolkits and how they support dynamic loading in a cross platform way and tools like gdb, llvm, and node.js/libuv also take this approach of using windows apis directly and otherwise just dlopen.

One thing this patch does not do is leverage/report any errors from dlopen. Honestly I don't think this is critical. Ltdl provided an api to get errors but it was so buggy I ultimately disabled it. So, not accessing errors from dlopen/LoadLibrary does not regress any functionality at all. In the future we could consider adding this if it seems needed, but I think we should not mess with custom errors for now.

@springmeyer
Copy link
Member Author

/cc @artemp please merge if this looks good to you.

artemp added a commit that referenced this pull request Apr 10, 2013
@artemp artemp merged commit 06e6291 into master Apr 10, 2013
@springmeyer springmeyer deleted the drop-ltdl-dependency branch April 10, 2013 16:35
@springmeyer
Copy link
Member Author

thanks!

herm added a commit that referenced this pull request Oct 13, 2013
* commit 'b6040ac324814c5122d88a2b10cf9a569944f3f4': (13 commits)
  correct return type from std::string::substr
  add mention of background-image-opacity and background-image-comp-op to changelog - refs #1966
  more 2.3.x changelog updates
  more changelog additions
  further develop 2.3.0 changelog
  always link libdl on linux - needed on some systems after #1804 - closes #1998
  Additional optional dependency on librasterlite
  tests: fix png and web encoding tests to run only if support is available
  python: fix reporting of tiff and webp image support
  cpp tests: fix test to respect DEFINES
  ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants