Basic Usage

To use the SDK2, first clone the repository from GitHub:

$ git clone https://github.com/rhdtownsend/sdk2.git

Set the SDK2_ROOT environment variable to point to the root directory of the repository:

$ export SDK2_ROOT=~/sdk2

Also, set the SDK2_TMP environment variable to point to a temporary directory that will be used to build SDKs (if possible, place this directory on a fast storage device, such as an SSD):

$ export SDK2_TMP=~/sdk2-tmp

Next, choose an appropriate profile. The profile determines which SDK will be built, and for what platform. Current choices include:

mesasdk-x86_64-macos
MESA SDK running on Intel 64-bit OSX (10.10 onward)
mesasdk-x86_64-linux
MESA SDK running on Intel 64-bit Linux
mesasdk-x86_64-linux
MESA SDK running on ARM 64-bit Linux
madsdk-x86_64-macos
Mad SDK running on Intel 64-bit OSX (10.10 onward)
madsdk-x86_64-linux
Mad SDK running on Intel 64-bit Linux

See the profile directory for the complete set of profiles (each profile is stored in its own subdirectory; common is a special directory used to store info common to all profiles).

Once you’ve chosen a profile, set the SDK2_PROFILE environment variable accordingly, e.g.

$ export SDK2_PROFILE=mesasdk-x86_64-linux

Finally, set the SDK2_RELEASE environment variable to the relase number of the SDK. Convention is to use Y.M.N, where Y is the two-digit year, M is the month number, and N is an index counting upward from 1 for each release made in that month. So, for the third release in November 2020, you would use

$ export SDK2_RELEASE=20.11.3

With these three environment variables set, you can now build the SDK via

$ $SDK2_ROOT/exec/sdk2 all

After some time (typically, an hour or two, depending on the speed of your system), the SDK2 will complete the build process, and you’ll have a fresh SDK sitting in the directory $SDK2_TMP/$PROFILE_NAME. Here, PROFILE_NAME is the name of the profile — mesasdk for the MESA SDK, and madsdk for the Mad SDK.