It was very annoying for me that I have to set --use-non-free option in PikLab. That is why I made this modification on it not to set this option ( and some others ) when I start a new project or load an old project with default settings.
How to use this patch?
Check out the latest svn source:
svn co https://piklab.svn.sourceforge.net/svnroot/piklab piklab
Copy this patch file ( sdcc_compile.cpp.patch ) into the piklab/src/tools/sdcc directory, then start this:
patch < sdcc_compile.cpp.patch
You can start compiling the source code.
Pach file for better use of SDCC
Gál, could you please explain why you add all these news options?
I'm not talking about --use-non-free that I understand, I'm talking about all others options.
Regards
+ args += "--use-non-free";
args += "-m%FAMILY"; // this is used by piklab - default
args += "-%DEVICE"; // this is used by piklab - default
args += "-V"; // verbose // this is used by piklab - default
args += "--debug"; // this is used by piklab - default
+ args += "--nogcse"; // this is coming from SDCC svn source - sdcc/device/lib/pic14/Makefile.common
+ args += "--no-peep"; // this is coming from SDCC svn source - sdcc/device/lib/pic14/Makefile.common
+ args += "--no-pcode-opt"; // this is coming from SDCC svn source - sdcc/device/lib/pic14/Makefile.common
+ args += "--nooverlay"; // this is coming from SDCC svn source - sdcc/device/lib/pic14/Makefile.common
+ args += "--noinvariant"; // this is coming from SDCC svn source - sdcc/device/lib/pic14/Makefile.common
+ args += "--noinduction"; // this is coming from SDCC svn source - sdcc/device/lib/pic14/Makefile.common
+ args += "--noloopreverse"; // this is coming from SDCC svn source - sdcc/device/lib/pic14/Makefile.common
+ args += "--nojtbound"; // this is coming from SDCC svn source - sdcc/device/lib/pic14/Makefile.common
You can read in the SDCC manual "support for Microchip PIC is under development" so those features better to disable first and easier delete some lines from the project configuration during the development process rather than thinking on "what am I doing wrong?".
If you see the related makefile, you can realise that the developer of the sdcc also disable these feature during create the libraries.
I am just adding --use-non-free for now.
Thanks!