After installing the AmebaD board package, I've found a few places that have what I would consider a bug or shortcoming.
Using Windows, with everything updated to the latest (2.3.2 for IDE and all boards/libraries are updated as well).
I made some changes to a file, e.g. AppData\Local\Arduino15\packages\realtek\hardware\AmebaD\3.1.7\system\component\common\network\dhcp\dhcps.c
But the question is, how to get those changes compiled in so I can test them?
Literally spend more than an hour Googling, and all I found was posts about deleting caches (tried all of them) or descriptions of adding new boards, which seems very involved to test some small changes... How do developers of these board packages rebuild?
When you make a change to a local copy of a library file, it should get recompiled when you next verify or upload your sketch to the Arduino.
If that's not happening, maybe you changed the wrong file, a file that your sketch isn't in fact using?
If you honestly believe you have fixed a bug and you would like that fix to be applied to the library to benefit others in future, then that's sometimes possible. Many Arduino libraries have a repository on GitHub. Use your favourite search engine to find that GitHub repo, create yourself a GitHub account if you don't already have one (it's free) and raise a new issue on the repo. In the issue, describe the symptoms and your fix in detail. Hopefully the repo owner will apply your fix to the library.
But before you raise an issue on GitHub, check how recently the repo was last updated. If it has been several years, you are probably wasting your time. Also check the other issues to see if someone else has reported the same problem.
You are indeed correct, changes to libraries are picked up automatically (as a matter of fact, it appears that everything gets rebuilt every time you compile/upload, regardless of there being changes or not).
Turns out that the Realtek package has precompiled libraries in the system directory (as opposed to libraries), for which source is included. But these are NEVER recompiled, as a matter of fact I can't find any build/make files or instructions on how these libraries are built.
I found that one can work around that by plopping the source files you want to change in your project directory (where the ino file is), and at least in the case of dhcps.c, that compiled and was linked in.
It looks like the Realtek Ameba package includes precompiled libraries. I can't find any info on out how they compile these libraries, so I will raise that with them on github.