Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revisionBoth sides next revision
download:sac2c [2019/10/17 14:07] hnvdownload:sac2c [2020/03/31 17:56] sbs
Line 1: Line 1:
 ===== 1 Compiler: the sac2c ecosystem ===== ===== 1 Compiler: the sac2c ecosystem =====
  
-Binary releases of the compiler and the standard library are provided in the following sections.+Binary releases of the compiler and the standard library are provided in the following sections. We provide two release types, major releases and weekly releases.
  
-We provide two types of distributable packagesstable releases and bleeding-edge releases (which we call //weeklies//)In both types, we provide **basic** and **full** package.+<callout type="primary" icon="true"> 
 +=== Which release type should I use? === 
 +At the moment, we suggest using one of the //weekly// release packages as these include some of the latest featuresThese packages only differ from our stable release packages in that we do less testing before releasing them. 
 +</callout> 
 + 
 +=== Package Variants === 
 + 
 +We provide two types of packages variants, **basic** and  **full**.
  
 <HTML> <HTML>
Line 18: Line 25:
  
 //We use a CI cluster to build these packages using configurations defined in our [[https://www.macs.hw.ac.uk/gitlab/sac-group/build-sac-pkgs|package build repo]].// //We use a CI cluster to build these packages using configurations defined in our [[https://www.macs.hw.ac.uk/gitlab/sac-group/build-sac-pkgs|package build repo]].//
- 
-<callout type="primary" icon="true"> 
-=== Which package should I use? === 
-At the moment, we suggest using one of the //weekly// packages as these include some of the latest features. These packages only differ from our stable release packages in that we do less testing before releasing them. 
-</callout> 
  
 <callout type="primary" icon="true"> <callout type="primary" icon="true">
Line 28: Line 30:
 For normal usage, the **basic** variant is sufficient to try out all of the features of the Single Assignment C language. For normal usage, the **basic** variant is sufficient to try out all of the features of the Single Assignment C language.
 </callout> </callout>
 +
 +=== Version Number ===
 +
 +We use semantic versioning, but additionally store the commit count (since the last version change) and the release number. Using ''1.3.2-256-1'' as an example, ''1.3.2'' is the version number which has ''256'' new commits on top and has been packages/release only once (''1'').
 +
 +//The version number may not match with what is in the filename of the package.//
  
 ==== Weeklies --- Bleeding-Edge Release ==== ==== Weeklies --- Bleeding-Edge Release ====
Line 102: Line 110:
 <panel type="default" title="DEB (Debian based distributions)"> <panel type="default" title="DEB (Debian based distributions)">
  
-The ''deb'' package is meant to be installed on Debian based distributions (e.g. Debian, Ubuntu, etc.) using the ''dpkg'' tool set.+The ''deb'' package is meant to be installed on Debian based distributions (e.g. Debian, Ubuntu, etc.) using the ''dpkg'' or the ''apt'' tool set.
  
 Installation: Installation:
 <code> <code>
 $ sudo dpkg --install sac-VERSION-RELEASE.deb $ sudo dpkg --install sac-VERSION-RELEASE.deb
 +</code>
 +or
 +<code>
 +$ sudo apt install sac-VERSION-RELEASE.deb
 </code> </code>
 </panel> </panel>
Line 135: Line 147:
 $ cd ~ && rm -rf temp_extract $ cd ~ && rm -rf temp_extract
 </code> </code>
 +</panel>
 +<panel type="default" title="Windows 10">
 +While we do not currently support a native Windows version, you can still use it through a virtualisation layer
 +of your choosing. The easiest way to use ''sac2c'' on a Windows 10 system is to use Window's own virtualisation
 +for Linux support, the Windows Subsystem for Linux (WSL).
 +To do this, you have to do four things:
 +  - You need to activate the developer mode of Windows. (Settings -> Update & Security -> For developers -> tick the Developer Mode)
 +  - You need to activate the WSL. (Control Panel -> Programs -> Programs & Features -> Turn Features On & Off -> tick Windows Subsystem for Linux
 +  - Go to the Microsoft Store and choose a Linux Distribution of your choice, e.g, Ubuntu 18.04 LTS.
 +  - Download the //basic// version of ''sac2c'' and ''sac-stdlib'' that matches the Linux version you have chosen and
 +install it. For Ubuntu, you download the corresponding ''.deb'' files and then run
 +<code>
 +$sudo apt update
 +$sudo apt install sac2c-VERSION-RELEASE.deb
 +$sudo apt install sac-stdlib-VERSION-RELEASE.deb
 +</code>
 +
 +After that, you should have the sac system up and running:
 +the SaC binaries are postfixed by their release type (production or debug), so there is a ''sac2c_p'' and ''sac2c_d'' respectively, ''sac2c'' is simply a link to ''sac2c_p''.
 </panel> </panel>
 </accordion> </accordion>