{"action":"created","issue":{"url":"https://api.github.com/repos/Perl5-Alien/Alien-Base/issues/32","labels_url":"https://api.github.com/repos/Perl5-Alien/Alien-Base/issues/32/labels{/name}","comments_url":"https://api.github.com/repos/Perl5-Alien/Alien-Base/issues/32/comments","events_url":"https://api.github.com/repos/Perl5-Alien/Alien-Base/issues/32/events","html_url":"https://github.com/Perl5-Alien/Alien-Base/pull/32","id":24149892,"number":32,"title":"add bin (if it exists) directory to PATH on win32","user":{"login":"plicease","id":354009,"avatar_url":"https://avatars.githubusercontent.com/u/354009?v=3","gravatar_id":"","url":"https://api.github.com/users/plicease","html_url":"https://github.com/plicease","followers_url":"https://api.github.com/users/plicease/followers","following_url":"https://api.github.com/users/plicease/following{/other_user}","gists_url":"https://api.github.com/users/plicease/gists{/gist_id}","starred_url":"https://api.github.com/users/plicease/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/plicease/subscriptions","organizations_url":"https://api.github.com/users/plicease/orgs","repos_url":"https://api.github.com/users/plicease/repos","events_url":"https://api.github.com/users/plicease/events{/privacy}","received_events_url":"https://api.github.com/users/plicease/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":28,"created_at":"2013-12-12T00:39:08Z","updated_at":"2015-06-19T20:20:04Z","closed_at":"2014-09-04T12:10:32Z","pull_request":{"url":"https://api.github.com/repos/Perl5-Alien/Alien-Base/pulls/32","html_url":"https://github.com/Perl5-Alien/Alien-Base/pull/32","diff_url":"https://github.com/Perl5-Alien/Alien-Base/pull/32.diff","patch_url":"https://github.com/Perl5-Alien/Alien-Base/pull/32.patch"},"body":"in order to use .dlls on MSWin32 and cygwin, they must be in the PATH.  This patch adds the bin directory, where the dlls are normally placed, if it exists.\r\n\r\nThe only downside to this I can see is that there may be some unwanted .exe files in the bin directory as well, at the cost of some complexity, it may pay do one of:\r\n\r\n - make this optional (though windows dll won't work without it)\r\n - remove .exe files from bin\r\n - copy/move .dll files to an alternate directory and put THAT directory in the PATH"},"comment":{"url":"https://api.github.com/repos/Perl5-Alien/Alien-Base/issues/comments/113631071","html_url":"https://github.com/Perl5-Alien/Alien-Base/pull/32#issuecomment-113631071","issue_url":"https://api.github.com/repos/Perl5-Alien/Alien-Base/issues/32","id":113631071,"user":{"login":"jberger","id":735765,"avatar_url":"https://avatars.githubusercontent.com/u/735765?v=3","gravatar_id":"","url":"https://api.github.com/users/jberger","html_url":"https://github.com/jberger","followers_url":"https://api.github.com/users/jberger/followers","following_url":"https://api.github.com/users/jberger/following{/other_user}","gists_url":"https://api.github.com/users/jberger/gists{/gist_id}","starred_url":"https://api.github.com/users/jberger/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jberger/subscriptions","organizations_url":"https://api.github.com/users/jberger/orgs","repos_url":"https://api.github.com/users/jberger/repos","events_url":"https://api.github.com/users/jberger/events{/privacy}","received_events_url":"https://api.github.com/users/jberger/received_events","type":"User","site_admin":false},"created_at":"2015-06-19T20:20:04Z","updated_at":"2015-06-19T20:20:04Z","body":"I don't mind the idea of modifying the `$PATH`, in fact this is how `Alien::Base::import` [used to work](https://github.com/Perl5-Alien/Alien-Base/commit/95131c889c897e1207e19c01efc7409af0b5221a). That said, I agree with @plicease that unless this situation can be detected and limited to only the needed case, I would want there to be an option. Modifying the `$PATH` on all windows systems for all libraries is too much.\r\n\r\nAlso, sidenote that I would like to see more generic usage of platform conforming code rather than the hardcoded per-platform path and PATH separators. See `$Config{path_sep}` or `Env` module for PATH separators and of course `File::Spec` for path joining."}}