{"action":"created","issue":{"url":"https://api.github.com/repos/wpilibsuite/allwpilib/issues/405","repository_url":"https://api.github.com/repos/wpilibsuite/allwpilib","labels_url":"https://api.github.com/repos/wpilibsuite/allwpilib/issues/405/labels{/name}","comments_url":"https://api.github.com/repos/wpilibsuite/allwpilib/issues/405/comments","events_url":"https://api.github.com/repos/wpilibsuite/allwpilib/issues/405/events","html_url":"https://github.com/wpilibsuite/allwpilib/pull/405","id":196277334,"number":405,"title":"Fix RoboRIO Cross-Toolchain GCC Status","user":{"login":"JacisNonsense","id":10258152,"avatar_url":"https://avatars.githubusercontent.com/u/10258152?v=3","gravatar_id":"","url":"https://api.github.com/users/JacisNonsense","html_url":"https://github.com/JacisNonsense","followers_url":"https://api.github.com/users/JacisNonsense/followers","following_url":"https://api.github.com/users/JacisNonsense/following{/other_user}","gists_url":"https://api.github.com/users/JacisNonsense/gists{/gist_id}","starred_url":"https://api.github.com/users/JacisNonsense/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/JacisNonsense/subscriptions","organizations_url":"https://api.github.com/users/JacisNonsense/orgs","repos_url":"https://api.github.com/users/JacisNonsense/repos","events_url":"https://api.github.com/users/JacisNonsense/events{/privacy}","received_events_url":"https://api.github.com/users/JacisNonsense/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":14,"created_at":"2016-12-18T14:03:53Z","updated_at":"2016-12-19T02:44:30Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/wpilibsuite/allwpilib/pulls/405","html_url":"https://github.com/wpilibsuite/allwpilib/pull/405","diff_url":"https://github.com/wpilibsuite/allwpilib/pull/405.diff","patch_url":"https://github.com/wpilibsuite/allwpilib/pull/405.patch"},"body":"Currently, a hack exists in WPILib's build system regarding the RoboRIO Cross-Toolchain, in that an ARM target must be added to both the GCC and Clang toolchain to maintain build capabilities on Macintosh Systems. This is not necessary and causes the RoboRIO GCC Toolchain to be incorrectly identified as Clang on Mac systems. This PR fixes this hack.\r\n\r\nThe toolchains `visualCpp`, `gcc`, and `clang` are created by the Gradle Native Platform, and exist as 'default' toolchains should other toolchains not be declared by the buildscript. In the current version of the buildscript, both `gcc(Gcc)` and `macGcc(Clang)` are created (see [here](https://github.com/wpilibsuite/allwpilib/blob/master/cppSettings.gradle#L167-L216)). As described in the comment above `macGcc`, the hack is needed because Gradle thinks we are using XCode GCC, which is in fact Clang. However, this is not required. Gradle's Native Platform detects this XCode GCC using the output of the C Compiler Tool (gcc). Since `cCompiler.executable` is not declared in WPILib's buildscript, it defaults to system GCC. By declaring our own gcc (`arm-frc-linux-gnueabi-gcc`), it will check this tool instead and will correctly identify it as a buildable target.\r\n\r\nI've also taken the liberty of renaming this toolchain from `gcc` to `roborioGcc` to make it more clear. The Native Platform has been renamed from `arm` to `roborio-arm` to be more clear and allow for possible future cross compiling on other ARM platforms, as well as to fit with `roborioGcc`. \r\n\r\nA project property, `toolChainPath`, has also been added. This allows the user to define where the toolchain is installed to if it is not present in the User's PATH (e.g. `gradlew build -PtoolChainPath=some/path/to/toolchain/bin`). This also fixes references to `objcopy`, `strip` and `nm`.\r\n\r\nThis pull request has been tested on Windows 10 Insider Build 14986 and OS X El Capitan Version 10.11.5"},"comment":{"url":"https://api.github.com/repos/wpilibsuite/allwpilib/issues/comments/267870039","html_url":"https://github.com/wpilibsuite/allwpilib/pull/405#issuecomment-267870039","issue_url":"https://api.github.com/repos/wpilibsuite/allwpilib/issues/405","id":267870039,"user":{"login":"JacisNonsense","id":10258152,"avatar_url":"https://avatars.githubusercontent.com/u/10258152?v=3","gravatar_id":"","url":"https://api.github.com/users/JacisNonsense","html_url":"https://github.com/JacisNonsense","followers_url":"https://api.github.com/users/JacisNonsense/followers","following_url":"https://api.github.com/users/JacisNonsense/following{/other_user}","gists_url":"https://api.github.com/users/JacisNonsense/gists{/gist_id}","starred_url":"https://api.github.com/users/JacisNonsense/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/JacisNonsense/subscriptions","organizations_url":"https://api.github.com/users/JacisNonsense/orgs","repos_url":"https://api.github.com/users/JacisNonsense/repos","events_url":"https://api.github.com/users/JacisNonsense/events{/privacy}","received_events_url":"https://api.github.com/users/JacisNonsense/received_events","type":"User","site_admin":false},"created_at":"2016-12-19T02:44:30Z","updated_at":"2016-12-19T02:44:30Z","body":"@333fred this is speaking of changes similar to the ones here, that is, only changing the definition of the ARM toolchain. \r\n\r\nConsolidating the projects still allows for the build directory to remain the same with the `project.buildDir` property and BinarySpec properties should it be necessary"}}
{"actor":{"display_login":"JacisNonsense"}}