HOWTO Make Snapshot Builds on the Developer Machine - roybaer/sdcc-wiki GitHub Wiki

I verified the following steps on Linux FC6 and Fedora 7 machines:

  • create the sdcc-builder account
  • log in as sdcc-builder
su -l sdcc-builder
  • checkout the sdcc-cf subproject to the sdcc-builder home directory:
svn checkout svn://svn.code.sf.net/p/sdcc/code/trunk/sdcc-cf ~
  • backup the original .profile:
mv ~/.profile ~/.profile.orig
  • add the line '. ~/.sdcc_builder/profile' at the end of ~/.profile file:
( echo; echo '. ~/.sdcc_builder/profile' ) | cat ~/.profile.orig - > ~/.profile
  • update the environment:
. .profile
  • install gputils in order to be able to compile pic and pic16 libraries: run make from ~/packages/build.gputils directory:
make -C ~/packages/build.gputils
  • create the build/sdcc-build directory
mkdir -p ~/build/sdcc-build
  • checkout sdcc-build subproject into it and make an executable copy of sdcc-build-bootstrap.sh:
svn checkout svn://svn.code.sf.net/p/sdcc/code/trunk/sdcc-build ~/build/sdcc-build/
cp ~/build/sdcc-build/sdcc-build-bootstrap.sh ~/build
chmod +x ~/build/sdcc-build-bootstrap.sh
  • create the local machine makefile in the ~/.sdcc-build/local directory, usually by copying and modifying one of the existing ~/build/sdcc-build/local/*.mk. The local machine makefile has to be named <hostname></hostname>.mk. The <hostname></hostname> is the string returned by the "hostname" command up to the (excluding) first dot. If the system also builds a cross-compiled set, you should also copy the accompanying <hostname></hostname>*mingw*.mk file.
mkdir &amp;amp&#59;&amp;&#35;35&#59;45&amp;&#35;59&#59;p ~/.sdcc_builder/local
cp ~/build/sdcc&amp;amp&#59;&amp;&#35;35&#59;45&amp;&#35;59&#59;build/local/&amp;amp&#59;lt&amp;&#35;59&#59;one of existing&amp;amp&#59;gt&amp;&#35;59&#59;.mk ~/.sdcc_builder/local/$&amp;amp&#59;&amp;&#35;35&#59;123&amp;&#35;59&#59;HOSTNAME&amp;amp&#59;&amp;&#35;35&#59;125&amp;&#35;59&#59;.mk
  • run the sdcc-build/sdcc-build-bootstrap.sh script:
~/build/sdcc&amp;amp&#59;&amp;&#35;35&#59;45&amp;&#35;59&#59;build&amp;amp&#59;&amp;&#35;35&#59;45&amp;&#35;59&#59;bootstrap.sh crontab&amp;amp&#59;&amp;&#35;35&#59;45&amp;&#35;59&#59;spawn 2&amp;amp&#59;gt&amp;&#35;59&#59;&amp;amp&#59;amp&amp;&#35;59&#59;1 &amp;amp&#59;&amp;&#35;35&#59;124&amp;&#35;59&#59; tee ~/build/log.txt
or if you want to have a detailed log:
~/build/sdcc&amp;amp&#59;&amp;&#35;35&#59;45&amp;&#35;59&#59;build&amp;amp&#59;&amp;&#35;35&#59;45&amp;&#35;59&#59;bootstrap.sh crontab&amp;amp&#59;&amp;&#35;35&#59;45&amp;&#35;59&#59;spawn MAKESILENTFLAG&amp;amp&#59;&amp;&#35;35&#59;61&amp;&#35;59&#59;&amp;amp&#59;quot&amp;&#35;59&#59;&amp;amp&#59;quot&amp;&#35;59&#59; 2&amp;amp&#59;gt&amp;&#35;59&#59;&amp;amp&#59;amp&amp;&#35;59&#59;1 &amp;amp&#59;&amp;&#35;35&#59;124&amp;&#35;59&#59; tee ~/build/log.txt
  • view ~/build/log.txt to see all the errors...
And where are the built packages? You'll find them in ~/build/htdocs/snapshots/<platform></platform> directory. Regression test results are in ~/build/htdocs/regression_test_results/<platform></platform> directory.

If you have additional questions / comments / improvements about the topic, please send a mail to sdcc-devel mailing list <sdcc-devel></sdcc-devel>.

Borut

Additional packages can be build.

Documentation:

~/build/sdcc&amp;amp&#59;amp&amp;&#35;59&#59;amp&amp;amp&#59;&amp;&#35;35&#59;59&amp;&#35;59&#59;amp&amp;amp&#59;amp&amp;&#35;59&#59;&amp;amp&#59;&amp;&#35;35&#59;35&amp;&#35;59&#59;59&amp;amp&#59;&amp;&#35;35&#59;59&amp;&#35;59&#59;&amp;amp&#59;amp&amp;&#35;59&#59;amp&amp;amp&#59;&amp;&#35;35&#59;59&amp;&#35;59&#59;&amp;amp&#59;amp&amp;&#35;59&#59;&amp;amp&#59;&amp;&#35;35&#59;35&amp;&#35;59&#59;35&amp;amp&#59;&amp;&#35;35&#59;59&amp;&#35;59&#59;35&amp;amp&#59;amp&amp;&#35;59&#59;&amp;amp&#59;&amp;&#35;35&#59;35&amp;&#35;59&#59;59&amp;amp&#59;&amp;&#35;35&#59;59&amp;&#35;59&#59;45&amp;amp&#59;amp&amp;&#35;59&#59;amp&amp;amp&#59;&amp;&#35;35&#59;59&amp;&#35;59&#59;&amp;amp&#59;amp&amp;&#35;59&#59;&amp;amp&#59;&amp;&#35;35&#59;35&amp;&#35;59&#59;35&amp;amp&#59;&amp;&#35;35&#59;59&amp;&#35;59&#59;59&amp;amp&#59;amp&amp;&#35;59&#59;&amp;amp&#59;&amp;&#35;35&#59;35&amp;&#35;59&#59;59&amp;amp&#59;&amp;&#35;35&#59;59&amp;&#35;59&#59;build&amp;amp&#59;amp&amp;&#35;59&#59;amp&amp;amp&#59;&amp;&#35;35&#59;59&amp;&#35;59&#59;amp&amp;amp&#59;amp&amp;&#35;59&#59;&amp;amp&#59;&amp;&#35;35&#59;35&amp;&#35;59&#59;59&amp;amp&#59;&amp;&#35;35&#59;59&amp;&#35;59&#59;&amp;amp&#59;amp&amp;&#35;59&#59;amp&amp;amp&#59;&amp;&#35;35&#59;59&amp;&#35;59&#59;&amp;amp&#59;amp&amp;&#35;59&#59;&amp;amp&#59;&amp;&#35;35&#59;35&amp;&#35;59&#59;35&amp;amp&#59;&amp;&#35;35&#59;59&amp;&#35;59&#59;35&amp;amp&#59;amp&amp;&#35;59&#59;&amp;amp&#59;&amp;&#35;35&#59;35&amp;&#35;59&#59;59&amp;amp&#59;&amp;&#35;35&#59;59&amp;&#35;59&#59;45&amp;amp&#59;amp&amp;&#35;59&#59;amp&amp;amp&#59;&amp;&#35;35&#59;59&amp;&#35;59&#59;&amp;amp&#59;amp&amp;&#35;59&#59;&amp;amp&#59;&amp;&#35;35&#59;35&amp;&#35;59&#59;35&amp;amp&#59;&amp;&#35;35&#59;59&amp;&#35;59&#59;59&amp;amp&#59;amp&amp;&#35;59&#59;&amp;amp&#59;&amp;&#35;35&#59;35&amp;&#35;59&#59;59&amp;amp&#59;&amp;&#35;35&#59;59&amp;&#35;59&#59;bootstrap.sh build&amp;amp&#59;amp&amp;&#35;59&#59;amp&amp;amp&#59;&amp;&#35;35&#59;59&amp;&#35;59&#59;amp&amp;amp&#59;amp&amp;&#35;59&#59;&amp;amp&#59;&amp;&#35;35&#59;35&amp;&#35;59&#59;59&amp;amp&#59;&amp;&#35;35&#59;59&amp;&#35;59&#59;&amp;amp&#59;amp&amp;&#35;59&#59;amp&amp;amp&#59;&amp;&#35;35&#59;59&amp;&#35;59&#59;&amp;amp&#59;amp&amp;&#35;59&#59;&amp;amp&#59;&amp;&#35;35&#59;35&amp;&#35;59&#59;35&amp;amp&#59;&amp;&#35;35&#59;59&amp;&#35;59&#59;35&amp;amp&#59;amp&amp;&#35;59&#59;&amp;amp&#59;&amp;&#35;35&#59;35&amp;&#35;59&#59;59&amp;amp&#59;&amp;&#35;35&#59;59&amp;&#35;59&#59;45&amp;amp&#59;amp&amp;&#35;59&#59;amp&amp;amp&#59;&amp;&#35;35&#59;59&amp;&#35;59&#59;&amp;amp&#59;amp&amp;&#35;59&#59;&amp;amp&#59;&amp;&#35;35&#59;35&amp;&#35;59&#59;35&amp;amp&#59;&amp;&#35;35&#59;59&amp;&#35;59&#59;59&amp;amp&#59;amp&amp;&#35;59&#59;&amp;amp&#59;&amp;&#35;35&#59;35&amp;&#35;59&#59;59&amp;amp&#59;&amp;&#35;35&#59;59&amp;&#35;59&#59;doc&amp;amp&#59;amp&amp;&#35;59&#59;amp&amp;amp&#59;&amp;&#35;35&#59;59&amp;&#35;59&#59;amp&amp;amp&#59;amp&amp;&#35;59&#59;&amp;amp&#59;&amp;&#35;35&#59;35&amp;&#35;59&#59;59&amp;amp&#59;&amp;&#35;35&#59;59&amp;&#35;59&#59;&amp;amp&#59;amp&amp;&#35;59&#59;amp&amp;amp&#59;&amp;&#35;35&#59;59&amp;&#35;59&#59;&amp;amp&#59;amp&amp;&#35;59&#59;&amp;amp&#59;&amp;&#35;35&#59;35&amp;&#35;59&#59;35&amp;amp&#59;&amp;&#35;35&#59;59&amp;&#35;59&#59;35&amp;amp&#59;amp&amp;&#35;59&#59;&amp;amp&#59;&amp;&#35;35&#59;35&amp;&#35;59&#59;59&amp;amp&#59;&amp;&#35;35&#59;59&amp;&#35;59&#59;45&amp;amp&#59;amp&amp;&#35;59&#59;amp&amp;amp&#59;&amp;&#35;35&#59;59&amp;&#35;59&#59;&amp;amp&#59;amp&amp;&#35;59&#59;&amp;amp&#59;&amp;&#35;35&#59;35&amp;&#35;59&#59;35&amp;amp&#59;&amp;&#35;35&#59;59&amp;&#35;59&#59;59&amp;amp&#59;amp&amp;&#35;59&#59;&amp;amp&#59;&amp;&#35;35&#59;35&amp;&#35;59&#59;59&amp;amp&#59;&amp;&#35;35&#59;59&amp;&#35;59&#59;archive
⚠️ **GitHub.com Fallback** ⚠️