-
Notifications
You must be signed in to change notification settings - Fork 16
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add support for legacy IDE's #19
Comments
There is now a branch I'm planning on having the And I'd be aiming for 1.x.x coverage. 0023 and below are too old and too many differences like you mentioned. |
I know I brought up support for older IDEs, but it is quite a mixed bag. For the upcoming hd44780 library I debated long and hard as to whether to actually abandon IDEs prior to ones that support the IDE library manager (1.6.2) and even considered requiring recent IDEs that can detect libraries that use libraries so sketches don't have to have includes for libraries that are only used by other libraries, which moves the bar to 1.6.7 It comes down testing and support as well as an ease of use for the end user. And that is what led me to consider only supporting very recent IDEs so that users could get a nice "easy to use" and a it "just works" experience. These are the "Do not use" versions that I note in the notes for hd44780:
These issues tend to apply to most libraries. You can read more about some of the IDE issues in the issues section of openGLCD: But at some point (after I see a few stable IDE releases after 1.6.9), I might actually just drop the hammer and restrict the libraries to 1.6.9 and newer as having the library manager and the sub library support makes things much easier for the end user. In terms of actually supporting pre 1.5x IDEs The latest MPIDE also has issues with linux, in that it won't work on any of the LTS versions of Ubuntu and Mint that are not the most recent LTS package. I don't do any testing with the Arduino.org IDE. I also totally abandoned any support for the Maple products very early on. |
Argh.... Things like having to re define PROGMEM on the older avr-gcc versions to keep the compiler from barfing out warnings on every single use of progmem or the F() macro and in many cases refusing to link the final image. One of the painful areas, is installation instructions. Things are nice and easy when using the library manager. But it gets a bit complicated when having to explain to novices how to do the install, especially since github does not provide a download area for pre-built images. and IDEs prior to 1.0.6 can't install a library from a zip file so the install is completely manual. Luckily I had already been through it with openGLCD but I'm beginning to question if it is really worth it to support IDE versions prior to IDE 1.6.2 (which is where the library manager comes in) |
I only plan to try to support down to version 1.0.0, however it may not be possible. Either way, the master branch will remain up to date, and the legacy branch will contain the same thing just a different folder layout.
It would be best I think, then it encourages people to use the newer ide (C++11, lib manager) and also gets more 'testers' out there to find bugs in not only our libraries, but the IDE also. I'll try for 1.0.0 and see how it goes anyway. I might put some messages in the code to print out something like: Also, in the latest build the compiler is going up again, so now we have three over the support range: 4.3.x -> 4.8.1 -> 4.9.6. The Arduino mob are looking at even moving to 5.x.x/6.x.x eventually (there is an issue with tests somewhere) and this would mean breaking changes to the PROGMEM functionality also. |
Create a 'legacy' branch which supports the library format of 1.0.x versions.
The text was updated successfully, but these errors were encountered: