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
Last revisionBoth sides next revision
download:sac2c [2019/09/08 10:32] – re orgonised the downloads section hnvdownload:sac2c [2022/02/03 10:55] sbs
Line 1: Line 1:
-===== 1 Compiler: the sac2c ecosystem =====+==== Installing the sac2c Eco System ====
  
-Binary releases of the compiler and the standard library are provided in the following sections.+To get started, you need to install the compiler ''sac2c'' and the standard library ''Stdlib''. Both of them can either be installed via a precompiled package or from sources.
  
-We provide two types of distributable packages, stable releases and bleeding-edge releases (which we call //weeklies//). In both types, we provide a **basic** and a **full** package. In order to function, the basic package needs a system C compiler (GCC or MacOS Clang) and standard library, and pthreads. The full package additionally needs HWLOC and CUDA.+=== Installation via packages ===
  
-//For normal usage, the basic variant is sufficient to try out all of the features of the Single Assignment C language.// +Please choose the package that matches your operating system best:
- +
-<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> +
- +
-==== Weeklies --- Bleeding-Edge Release ==== +
- +
-The packages listed here are built from the //latest// changes to our development branch. Some of the features provided are still in development and may not work as expected. Please message use on the [[:mailing_lists#user_mailing_lists|user mailing list]] if you encounter any problem. +
- +
-=== Ubuntu 16 === +
-{{filelist>packages/weekly/Ubl16/sac*&style=table&tableheader=1&recursive=1&sort=mtime&direct=1&showdate=1&showsize=1}} +
-=== Ubuntu 18 === +
-{{filelist>packages/weekly/Ubl18/sac*&style=table&tableheader=1&recursive=1&sort=mtime&direct=1&showdate=1&showsize=1}} +
-=== RHEL 6 === +
-{{filelist>packages/weekly/RHEL6/sac*&style=table&tableheader=1&recursive=1&sort=mtime&direct=1&showdate=1&showsize=1}} +
-=== RHEL 7 === +
-{{filelist>packages/weekly/RHEL7/sac*&style=table&tableheader=1&recursive=1&sort=mtime&direct=1&showdate=1&showsize=1}} +
-=== MacOS === +
-{{filelist>packages/weekly/MacOS/sac*&style=table&tableheader=1&recursive=1&sort=mtime&direct=1&showdate=1&showsize=1}} +
-=== Linux x64 === +
-The contents of this package can be installed anywhere on your system (this is particularly useful if you do not have root permission!). Upon open the archive, you will find a README file and an install script (''install.sh''). Please read the README on how to use the install script. +
-{{filelist>packages/weekly/Linux/sac*&style=table&tableheader=1&recursive=1&sort=mtime&direct=1&showdate=1&showsize=1}} +
- +
-=== Extra === +
-We also have some //user-contributed// packages --- as these are packages outwith the project, we can not provide any support on these. Please communicate with the package maintainers directly. +
- +
-{{tablelayout?colwidth=","}} +
-^ OS ^ External Link ^ +
-| ArchLinux | via [[https://aur.archlinux.org/packages/sac-compiler-weekly|sac-compiler-weekly]] and [[https://aur.archlinux.org/packages/sac-stdlib-weekly|sac-stdlib-weekly]] | +
- +
-=== Legacy === +
- +
-Here we list some of the older releases for platforms we no longer package for. +
- +
-== Ubuntu 14 == +
-{{filelist>packages/weekly/Ubl14/sac*&style=table&tableheader=1&recursive=1&sort=mtime&direct=1&showdate=1&showsize=1}} +
- +
-==== Major Release ==== +
- +
-The following packages contain the latest //major-number// release of ''sac2c''+
- +
-<callout type="warning" icon="true"> +
-=== Old releases === +
-The packages provided here are **old** and not fully supported. Please use one of the [[download:main#weeklies_---_bleeding-edge_release|weekly packages]] instead. +
-</callout> +
- +
-=== Ubuntu 14 === +
-{{filelist>packages/release/Ubl14/sac*&style=table&tableheader=1&recursive=1&sort=mtime&direct=1&showdate=1&showsize=1}} +
-=== Ubuntu 16 === +
-{{filelist>packages/release/Ubl16/sac*&style=table&tableheader=1&recursive=1&sort=mtime&direct=1&showdate=1&showsize=1}} +
-=== Ubuntu 18 === +
-{{filelist>packages/release/Ubl18/sac*&style=table&tableheader=1&recursive=1&sort=mtime&direct=1&showdate=1&showsize=1}} +
-=== RHEL 6 === +
-{{filelist>packages/release/RHEL6/sac*&style=table&tableheader=1&recursive=1&sort=mtime&direct=1&showdate=1&showsize=1}} +
-=== RHEL 7 === +
-{{filelist>packages/release/RHEL7/sac*&style=table&tableheader=1&recursive=1&sort=mtime&direct=1&showdate=1&showsize=1}} +
-=== Debian 7 === +
-{{filelist>packages/release/Deb7/sac*&style=table&tableheader=1&recursive=1&sort=mtime&direct=1&showdate=1&showsize=1}} +
-=== Debian 8 === +
-{{filelist>packages/release/Deb8/sac*&style=table&tableheader=1&recursive=1&sort=mtime&direct=1&showdate=1&showsize=1}} +
-=== Linux x64 === +
-{{filelist>packages/release/Linux/sac*&style=table&tableheader=1&recursive=1&sort=mtime&direct=1&showdate=1&showsize=1}} +
-=== MacOS X (10.12) === +
-{{filelist>packages/release/mac10.12/sac*&style=table&tableheader=1&recursive=1&sort=mtime&direct=1&showdate=1&showsize=1}} +
- +
-==== Installing ====+
  
 <accordion> <accordion>
-<panel type="default" title="RPM (RedHat Based distributions)"> +<panel type="default" title="RPM (RedHat Based distributions such as RedHat, CentOS, Fedora, ...)"> 
-The ''rpm'' release of the compiler is designed to be installed on RedHat based distributions of Linux (e.g. RedHat, CentOS, Fedora, etc.) using the ''rpm'' tool set.+The ''rpm'' release of the compiler is designed to be installed on RedHat based distributions of Linux (e.g. RedHat, CentOS, Fedora, etc.) using the ''dnf'' or ''rpm'' tool set.
  
-Installation:+Choose and download the appropriate [[bin|packages (sac2c & stdlib)]]. 
 +Thereafter you can install them via: 
 +<code> 
 +$ sudo dnf install sac2c-VERSION-RELEASE.rpm 
 +$ sudo dnf install sac-stdlib-VERSION-RELEASE.rpm 
 +</code> 
 +or
 <code> <code>
 $ sudo rpm --install sac2c-VERSION-RELEASE.rpm $ sudo rpm --install sac2c-VERSION-RELEASE.rpm
 +$ sudo rpm --install sac-stdlib-VERSION-RELEASE.rpm
 </code> </code>
 </panel> </panel>
-<panel type="default" title="DEB (Debian based distributions)">+<panel type="default" title="DEB (Debian based distributions such as Debian, Ubuntu, ...)">
  
-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:+Choose and download the appropriate [[bin|packages (sac2c #and# stdlib)]]. 
 +Thereafter you can install them via:
 <code> <code>
-$ sudo dpkg --install sac-VERSION-RELEASE.deb+$ sudo dpkg --install sac2c-VERSION-RELEASE.deb 
 +$ sudo dpkg --install sac-stdlib-VERSION-RELEASE.deb 
 +</code> 
 +or 
 +<code> 
 +$ sudo apt install sac2c-VERSION-RELEASE.deb 
 +$ sudo apt install sac-stdlib-VERSION-RELEASE.deb
 </code> </code>
 </panel> </panel>
 <panel type="default" title="Pkg (Apple MacOS)"> <panel type="default" title="Pkg (Apple MacOS)">
 +
 The ''pkg'' is an installer that will place the SaC files in the correct location on your system. Symbolic links to the SaC binaries are created in ''/usr/local/bin'' for your convenience. The ''pkg'' is an installer that will place the SaC files in the correct location on your system. Symbolic links to the SaC binaries are created in ''/usr/local/bin'' for your convenience.
  
-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''. 
  
-Installation+Choose and download the appropriate [[bin|packages (sac2c #and# stdlib)]]. 
-  - Double click the downloaded ''pkg'' file+Thereafter you can install them via
 +  - Double click the downloaded file sac2c-VERSION-RELEASE.pkg
   - A dialog box should appear that will guide you through the install process   - A dialog box should appear that will guide you through the install process
   - Confirm that you agree with our license, and click //Install// to install SaC   - Confirm that you agree with our license, and click //Install// to install SaC
-  - The binary ''sac2c_p'' should be in your ''PATH''+  - The binaries ''sac2c'', ''sac2c_p'', and ''sac2c_s'' should be in your ''PATH'' 
 +  - Repeat the procedure with the file sac-stdlib-VERSION-RELEASE.pkg 
 + 
 +NB: 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 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. 
 + 
 + 
 +Choose and download the [[bin|packages (sac2c #and# stdlib)]] that match your chosen Linux Distribution. 
 +Thereafter you can install them using that system's package manager (if in doubt, cf. the corresponding section above)! 
 + 
 +After that, you should have the sac system up and running!
 </panel> </panel>
 <panel type="default" title="TAR.GZ (Unix-like operating systems)"> <panel type="default" title="TAR.GZ (Unix-like operating systems)">
Line 119: Line 85:
 </code> </code>
 </panel> </panel>
 +
 </accordion> </accordion>
  
-==== Contribute? ====+In case you run into any troubles installing, please get in touch via our [[:bugzilla|community]] channels!
  
-Interested in contributing to the project? You can do so in several ways, by either telling us about bugs or by contributing code to the project.+=== Installation from sources ===
  
-=== Reporting bugs ===+The sources are hosted on two ''git'' servers:
  
-Head over to the [[:bugzilla|community]] page and follow the guidelines there on how to submit a bug.+<panel type="default" title="Building the Stdlib from sources"> 
 +The standard library is hosted on [[https://github.com/sacbase]] within the [[https://github.com/sacbase/Stdlib|Stdlib]] repository. If you do have ''sac2c'' installed (either via a package or from source), you can find instructions on how to build the Stdlib in the [[https://github.com/SacBase/Stdlib/blob/master/README.md|README]]. Contributions via pull-requests are always welcome! 
 +</panel> 
 + 
 +<panel type="default" title="Building sac2c from sources"> 
 +The compiler is hosted on [[https://gitlab.sac-home.org]] within the [[https://gitlab.sac-home.org/sac-group/sac2c|sac-group/sac2c]] repository. As for ''github.com'', you need to create an account on ''gitlab.sac-home.org'' as well. 
 +Build instructions can be found there in the [[https://gitlab.sac-home.org/sac-group/sac2c/-/blob/develop/README.md|README]] as well. However, we have some more details in the internal section of this dokuwiki. 
 +To get access to those parts, you need to register on our dokuwiki as well. You can do so [[:index?do=register|here]]. 
 +Contributions via pull-requests here are also always welcome! 
 +</panel>
  
-=== Contributing code === 
  
-  * Create an account on this site by [[:index?do=register|registering]], 
-  * and send an email to [[info@sac-home.org]] indicating that you'd like to have access to the compiler sources.