Embedthis GoAhead 3.3.1
Home > Source Code

# Quick Nav

- Building
- Porting
- Getting the Source
- Repository
- Building with Make
- Building with MakeMe
- Building with an ID

# See Also

# Working with the GoAhead Source Code

GoAhead releases are available as either a binary or source code distribution. It is your choice which distribution you choose, but the source code distribution has several advantages:

- You can recompile GoAhead to optimize it for your specific system environment.
- You can reconfigure GoAhead via configuration options to select the specific feature set you require.
- You can minimize the memory footprint and decrease the securable surface area.

## Building GoAhead from Source

The GoAhead source distribution contains all the required source files, headers, tools, and test framework to reconfigure, build, and verify GoAhead. For details, see the building from source instructions.

## Porting the Source to a New Platform

GoAhead currently runs on a wide variety of operating platforms including: FreeBSD, Linux, MAC OS X and Windows. If your system is not one of these, you may like to try porting GoAhead to your system. See the detailed porting instructions for tips on this process.

## Getting the Source Code

With each GoAhead release, a complete source code snapshot is provided. You can get the latest source code from the download site or you can access the source code repository.

### Source Repository

The GoAhead source code is hosted in a Git repository. We provide open read-only access. Write access is available to regular contributing developers. To check out the source use this command:

    $ git clone http://github.com/embedthis/goahead

You can also view the repository at https://github.com/embedthis/goahead. This is also a convenient way to get the source code.

### Repository Branches

The repository has three branches for various phases of development and release: Master, Dev and Stable.

#### Master Branch

The Master branch in the repository source code is the code base for the next minor and major release. It will contain the latest features and fixes, but it will also contain bugs and issues that have not been resolved. For this reason use of the repository source code is not recommended for production or development use.

#### Dev Branch

The Dev branch is updated when the Master branch is relatively steady and usable, but prior to release. The Dev branch is used to create Beta releases. It is not as bug-free as the Stable branch and yet has most of the features in the master branch.

#### Stable Branch

The stable branch is for ongoing maintenance of the current stable release.

© Embedthis Software LLC, 2003-2014. All rights reserved. Embedthis and Embedthis GoAhead are trademarks of Embedthis Software LLC.