# Working with the GoAhead Source Code

GoAhead releases are available as source code distributions. Several build environments are supported:

- Linux — Linux 3 with GNU C/C++ or later
- Windows — Microsoft Windows 7 with Visual Studio 2017 or later
- Mac OS X — Mac OS X 10.11 (Yosemite) or later

The source code has been designed to run on FreeBSD, Linux, Mac OS X, VxWorks and other operating systems. It has been tested under Fedora and Ubuntu Linux based on the Linux 3 Kernel, Microsoft Windows 7, 8 (32 and 64-bit), VxWorks 6.X and MAC OS X 10.11.

GoAhead releases include all the required source files, headers, tools, and test framework to reconfigure, build, and verify GoAhead. The software supports three tools for building from source.

- Make
- MakeMe
- Visual Studio or Xcode projects

Building via make is the simplest and quickest way to build. Use make if you want a default build or if you need to integrate GoAhead with an existing make-based build system. Build with MakeMe 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. Use the IDE projects for Visual Studio or Xcode if you are most comfortable with these tools and want a default build.

### Preferred Approach

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:

Building from Source

## Accessing 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. Please use the master branch for the most recent stable snapshot. For daily builds, use the dev branch.

© Embedthis Software. All rights reserved.