{"action":"created","issue":{"url":"https://api.github.com/repos/arduino/Arduino/issues/5771","repository_url":"https://api.github.com/repos/arduino/Arduino","labels_url":"https://api.github.com/repos/arduino/Arduino/issues/5771/labels{/name}","comments_url":"https://api.github.com/repos/arduino/Arduino/issues/5771/comments","events_url":"https://api.github.com/repos/arduino/Arduino/issues/5771/events","html_url":"https://github.com/arduino/Arduino/issues/5771","id":197841881,"number":5771,"title":"Unify AVR and SAM cores/arduino","user":{"login":"cousteaulecommandant","id":6584870,"avatar_url":"https://avatars.githubusercontent.com/u/6584870?v=3","gravatar_id":"","url":"https://api.github.com/users/cousteaulecommandant","html_url":"https://github.com/cousteaulecommandant","followers_url":"https://api.github.com/users/cousteaulecommandant/followers","following_url":"https://api.github.com/users/cousteaulecommandant/following{/other_user}","gists_url":"https://api.github.com/users/cousteaulecommandant/gists{/gist_id}","starred_url":"https://api.github.com/users/cousteaulecommandant/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cousteaulecommandant/subscriptions","organizations_url":"https://api.github.com/users/cousteaulecommandant/orgs","repos_url":"https://api.github.com/users/cousteaulecommandant/repos","events_url":"https://api.github.com/users/cousteaulecommandant/events{/privacy}","received_events_url":"https://api.github.com/users/cousteaulecommandant/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":30,"created_at":"2016-12-28T11:55:33Z","updated_at":"2017-01-21T19:49:40Z","closed_at":null,"body":"Right now hardware/arduino/avr/cores/arduino and hardware/arduino/sam/cores/arduino contain redundant files, for example Print.cpp, WString.cpp, etc.  This makes maintenance complicated, since changes on one won't affect the other (even when those changes are platform-independent), so the developer will have to make the changes on multiple files (and something tells me SAM won't have the same attention as AVR).  I think it would be a good idea to unify them so that all platform-independent sources are common, and then each derivative has a small set of platform-specific sources."},"comment":{"url":"https://api.github.com/repos/arduino/Arduino/issues/comments/274283936","html_url":"https://github.com/arduino/Arduino/issues/5771#issuecomment-274283936","issue_url":"https://api.github.com/repos/arduino/Arduino/issues/5771","id":274283936,"user":{"login":"cousteaulecommandant","id":6584870,"avatar_url":"https://avatars.githubusercontent.com/u/6584870?v=3","gravatar_id":"","url":"https://api.github.com/users/cousteaulecommandant","html_url":"https://github.com/cousteaulecommandant","followers_url":"https://api.github.com/users/cousteaulecommandant/followers","following_url":"https://api.github.com/users/cousteaulecommandant/following{/other_user}","gists_url":"https://api.github.com/users/cousteaulecommandant/gists{/gist_id}","starred_url":"https://api.github.com/users/cousteaulecommandant/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cousteaulecommandant/subscriptions","organizations_url":"https://api.github.com/users/cousteaulecommandant/orgs","repos_url":"https://api.github.com/users/cousteaulecommandant/repos","events_url":"https://api.github.com/users/cousteaulecommandant/events{/privacy}","received_events_url":"https://api.github.com/users/cousteaulecommandant/received_events","type":"User","site_admin":false},"created_at":"2017-01-21T19:49:40Z","updated_at":"2017-01-21T19:49:40Z","body":"I was not thinking on using the actual file path.  My idea was to handle this via -I, not via relative paths.  This is, when compiling for SAM, the flags would be something like `-Ipath/to/sam -Ipath/to/avr` in such a way that SAM files can `#include \"foo.h\"` for the SAM version, or `#include \"avr/foo.h\"` or `#include \"common/foo.h\"` for the \"base version\"."}}
{"actor":{"display_login":"cousteaulecommandant"}}