source.html 3.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. {
  2. title: 'Source Code',
  3. crumbs: [
  4. { "Developer's Guide": '../start/' },
  5. ],
  6. }
  7. <h1>Working with the GoAhead Source Code</h1>
  8. <p>GoAhead releases are available as either a binary or source code distribution. It is your choice which
  9. distribution you choose, but the source code distribution has several advantages:</p>
  10. <ul>
  11. <li>You can recompile GoAhead to optimize it for your specific system environment.</li>
  12. <li>You can reconfigure GoAhead via configuration options to select the specific
  13. feature set you require.</li>
  14. <li>You can minimize the memory footprint and decrease the securable surface area.</li>
  15. </ul>
  16. <a id="building"></a>
  17. <h2>Building GoAhead from Source</h2>
  18. <p>The GoAhead source distribution contains all the required source files, headers, tools, and test framework
  19. to reconfigure, build, and verify GoAhead. The software supports three tools for building from source.
  20. <ul>
  21. <li>Make</li>
  22. <li><a href="https://embedthis.com/makeme/">MakeMe</a></li>
  23. <li>Visual Studio or Xcode projects</li>
  24. </ul>
  25. <p>Building via <em>make</em> is the simplest and quickest way to build. Use <em>make</em> if you want
  26. a default build or if you need to integrate GoAhead with an existing make-based build system.
  27. Build with <a href="https://embedthis.com/makeme/">MakeMe</a> if you want to customize or configure the software for your system, or if you need to cross-compile for another operating system or architecture.
  28. Use the IDE projects for Visual Studio or Xcode if you are most comfortable with these tools and want
  29. a default build.</p>
  30. <h3>Preferred Approach</h3>
  31. <p>We use the MakeMe tool internally for building and to generate the Makefiles, MakeMe and IDE projects. This cool tool generates clean, efficient makefiles and projects. The MakeMe project documents how to configure these generated Makefiles and projects on the MakeMe site. For full details, read on, courtesy of MakeMe:</p>
  32. <a class="ui green large right labeled icon button"
  33. href="https://embedthis.com/makeme/doc/source/">
  34. <i class="right long arrow icon"></i>Building from Source
  35. </a>
  36. <a id="get"></a>
  37. <h2>Accessing the Source Code</h2>
  38. <p>With each GoAhead release, a complete source code snapshot is provided. You can get the latest source
  39. code from the <a href="https://embedthis.com/goahead/download.html">download</a> site or you can
  40. access the <a href="https://github.com/embedthis/goahead">source code repository</a>.</p>
  41. <a id="repository"></a>
  42. <h3>Source Repository</h3>
  43. <p>The GoAhead source code is hosted in a Git repository. We provide open read-only access. Write
  44. access is available to regular contributing developers. To check out the source use this command:</p>
  45. <pre class="ui code segment">
  46. $ git clone http://github.com/embedthis/goahead
  47. </pre>
  48. <p>You can also view the repository at <a
  49. href="https://github.com/embedthis/goahead">https://github.com/embedthis/goahead</a>. This is also a
  50. convenient way to get the source code. Please use the <em>master</em> branch for the most recent stable
  51. snapshot. For daily builds, use the <em>dev</em> branch.</p>