{"action":"created","issue":{"url":"https://api.github.com/repos/keplerproject/luarocks/issues/284","labels_url":"https://api.github.com/repos/keplerproject/luarocks/issues/284/labels{/name}","comments_url":"https://api.github.com/repos/keplerproject/luarocks/issues/284/comments","events_url":"https://api.github.com/repos/keplerproject/luarocks/issues/284/events","html_url":"https://github.com/keplerproject/luarocks/issues/284","id":43595581,"number":284,"title":"Generate .DEF file for one module with several exports","user":{"login":"moteus","id":1804306,"avatar_url":"https://avatars.githubusercontent.com/u/1804306?v=3","gravatar_id":"","url":"https://api.github.com/users/moteus","html_url":"https://github.com/moteus","followers_url":"https://api.github.com/users/moteus/followers","following_url":"https://api.github.com/users/moteus/following{/other_user}","gists_url":"https://api.github.com/users/moteus/gists{/gist_id}","starred_url":"https://api.github.com/users/moteus/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/moteus/subscriptions","organizations_url":"https://api.github.com/users/moteus/orgs","repos_url":"https://api.github.com/users/moteus/repos","events_url":"https://api.github.com/users/moteus/events{/privacy}","received_events_url":"https://api.github.com/users/moteus/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":8,"created_at":"2014-09-23T06:26:18Z","updated_at":"2015-03-18T21:28:15Z","closed_at":null,"body":"For example luasec library contain ssl.lua and ssl.dll\r\n```Lua\r\n-- ssl.lua\r\nlocal core    = require(\"ssl.core\")\r\nlocal context = require(\"ssl.context\")\r\nlocal x509    = require(\"ssl.x509\")\r\n...\r\n```\r\nSo luarocks should install ssl.dll that exports `luaopen_ssl_core`, `luaopen_ssl_context` and `luaopen_ssl_x509`.\r\nBut luarocks create def file for `luaopen_ssl` and fails because there no such function.\r\nAnd this is fragment of rockspec\r\n```Lua\r\n...\r\ninstall = {\r\n  lib = {ssl = \"ssl.dll\"},\r\n  lua = {\"src/ssl.lua\", ['ssl.https'] = \"src/https.lua\"}\r\n},\r\nmodules = {\r\n  ssl = { ... compile options ...}\r\n}\r\n...\r\n```\r\nAnd some times it is not possible split module to several. In fact for this case we even no need def file at all because luasec has defenition `LSEC_API=__declspec(dllexport)` for windows that works for MSVC and MinGW.\r\n\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/keplerproject/luarocks/issues/comments/83186314","html_url":"https://github.com/keplerproject/luarocks/issues/284#issuecomment-83186314","issue_url":"https://api.github.com/repos/keplerproject/luarocks/issues/284","id":83186314,"user":{"login":"ignacio","id":22947,"avatar_url":"https://avatars.githubusercontent.com/u/22947?v=3","gravatar_id":"","url":"https://api.github.com/users/ignacio","html_url":"https://github.com/ignacio","followers_url":"https://api.github.com/users/ignacio/followers","following_url":"https://api.github.com/users/ignacio/following{/other_user}","gists_url":"https://api.github.com/users/ignacio/gists{/gist_id}","starred_url":"https://api.github.com/users/ignacio/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ignacio/subscriptions","organizations_url":"https://api.github.com/users/ignacio/orgs","repos_url":"https://api.github.com/users/ignacio/repos","events_url":"https://api.github.com/users/ignacio/events{/privacy}","received_events_url":"https://api.github.com/users/ignacio/received_events","type":"User","site_admin":false},"created_at":"2015-03-18T21:28:15Z","updated_at":"2015-03-18T21:28:15Z","body":"@hishamhm Yes, but I was expecting foo.dll to be generated instead of core.dll\r\nI usually write some modules as a couple of files. A high level part in Lua and a low level one in C, and name each the same, so I know they belong together.\r\nFor instance:\r\n- lualiblogger.lua\r\n- lualiblogger.dll\r\n\r\n(I found that avoids confusion for some users, if I ask them to look for a libary, to have a specific name instead of the generic \"core\")."}}