{"action":"created","issue":{"url":"https://api.github.com/repos/waf-project/waf/issues/2090","repository_url":"https://api.github.com/repos/waf-project/waf","labels_url":"https://api.github.com/repos/waf-project/waf/issues/2090/labels{/name}","comments_url":"https://api.github.com/repos/waf-project/waf/issues/2090/comments","events_url":"https://api.github.com/repos/waf-project/waf/issues/2090/events","html_url":"https://github.com/waf-project/waf/issues/2090","id":281786657,"number":2090,"title":"header file installation question","user":{"login":"fedepell","id":19709142,"avatar_url":"https://avatars2.githubusercontent.com/u/19709142?v=4","gravatar_id":"","url":"https://api.github.com/users/fedepell","html_url":"https://github.com/fedepell","followers_url":"https://api.github.com/users/fedepell/followers","following_url":"https://api.github.com/users/fedepell/following{/other_user}","gists_url":"https://api.github.com/users/fedepell/gists{/gist_id}","starred_url":"https://api.github.com/users/fedepell/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fedepell/subscriptions","organizations_url":"https://api.github.com/users/fedepell/orgs","repos_url":"https://api.github.com/users/fedepell/repos","events_url":"https://api.github.com/users/fedepell/events{/privacy}","received_events_url":"https://api.github.com/users/fedepell/received_events","type":"User","site_admin":false},"labels":[{"id":195504991,"url":"https://api.github.com/repos/waf-project/waf/labels/question","name":"question","color":"cc317c","default":true}],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":2,"created_at":"2017-12-13T15:20:12Z","updated_at":"2018-03-15T06:50:38Z","closed_at":"2018-03-15T06:50:38Z","author_association":"CONTRIBUTOR","body":"\r\nIn C/C++ projects we have the need to install header files by the side of dynamic libraries, which are already installed by waf. When these are not dynamically generated this can be solved in case using a classic install_files with usage of ant_globs and it works, even if they are treated as normal files. But when the header files are generated at build time, such as for example protobuffer headers generated with the protoc extra, the issue is more complicated since ant_globs cannot be generated as the files don’t exist at that point and on the other side putting explicit file names becomes ugly as you are moving parts of the feature logic to the main wscript (for the protobuffer case this may be still feasible since the rule is easy, but in general it may be not as the include names may for example depend on the content of the file that generates them).\r\n\r\nOne way would be to do it within the single feature, I implemented an example for protoc here:\r\nhttps://github.com/fedepell/waf/commit/153c7a0435fa44a5c1b844baf35239313eef6da2\r\nso the feature will generate the installation process for the header files if the user passes a feature specific attribute (in a similar fashion as install_path). But this would be per feature.\r\n\r\nBut could it make sense to have something more generic for C/C++ like features, so we have a generic attribute that instructs the header installation (for example based on the export_includes as those are the include directories where other parts of the project assume we have public headers and therefore make sense to be also public when you are delivering/installing) and then features can just add on the top additional files?\r\n\r\nThanks!\r\nF.\r\n"},"comment":{"url":"https://api.github.com/repos/waf-project/waf/issues/comments/373278414","html_url":"https://github.com/waf-project/waf/issues/2090#issuecomment-373278414","issue_url":"https://api.github.com/repos/waf-project/waf/issues/2090","id":373278414,"user":{"login":"ita1024","id":508304,"avatar_url":"https://avatars3.githubusercontent.com/u/508304?v=4","gravatar_id":"","url":"https://api.github.com/users/ita1024","html_url":"https://github.com/ita1024","followers_url":"https://api.github.com/users/ita1024/followers","following_url":"https://api.github.com/users/ita1024/following{/other_user}","gists_url":"https://api.github.com/users/ita1024/gists{/gist_id}","starred_url":"https://api.github.com/users/ita1024/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ita1024/subscriptions","organizations_url":"https://api.github.com/users/ita1024/orgs","repos_url":"https://api.github.com/users/ita1024/repos","events_url":"https://api.github.com/users/ita1024/events{/privacy}","received_events_url":"https://api.github.com/users/ita1024/received_events","type":"User","site_admin":false},"created_at":"2018-03-15T06:50:38Z","updated_at":"2018-03-15T06:50:38Z","author_association":"OWNER","body":"There does not seem to be any action to take at this point so i am closing this ticket."}}
{"actor":{"display_login":"ita1024"}}