User Tools

Site Tools


dev:clone_from_github

Differences

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

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
dev:clone_from_github [2017/07/14 08:14] ackleydev:clone_from_github [2017/07/15 13:32] (current) – [Install SDL] ackley
Line 1: Line 1:
 ====== Cloning From Github ====== ====== Cloning From Github ======
  
-Although you can make your own [[Components:Element]]s just by installing pre-built packages, to participate in the development of MFM or ULAM you will need to download and build the software from its source codes, which are kept in two repositories at Github.+**NOTE**: You can compile and run your own [[Components:Element]]s just using the pre-built packages, as shown [[dev:install_ulam|here]]; the instructions on this page are **not needed** for that  
  
-Cloning the repo from Github seems relatively straight forward, but there are some dependencies that need to be installed in order to get the source to build. Here is a full tutorial describing how to build the MFM software from the source.+However, if you wish to participate in the development of MFM or ULAM, you will need to download and build the software from its source codes, which are kept in two repositories at Github. 
 + 
 +Cloning the repos from Github seems relatively straightforward, but there are some dependencies that need to be installed in order to get the source to build.  Here are steps describing how to build MFM and ULAM from their sources. 
 + 
 +**WARNING**: As of Summer 2017, both the MFM and ULAM repos are under heavy development Your Mileage May Vary!
  
 ** Note: ** This tutorial is performed on Ubuntu 14.04 . Your installation procedure may vary. ** Note: ** This tutorial is performed on Ubuntu 14.04 . Your installation procedure may vary.
Line 18: Line 22:
  
 <code> <code>
-sudo apt-get install git g++ libsdl1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-ttf2.0-dev libcrypt-openssl-bignum-perl libcrypt-openssl-rsa-perl libcapture-tiny-perl+sudo apt-get install git g++ libsdl1.2-dev libsdl-image1.2-dev libsdl-ttf2.0-dev libcrypt-openssl-bignum-perl libcrypt-openssl-rsa-perl libcapture-tiny-perl
 </code> </code>
  
Line 43: Line 47:
 The MFM software needs SDL version 1.2 . **Do not install SDL 2.0!** The MFM software needs SDL version 1.2 . **Do not install SDL 2.0!**
  
-libsdl1.2-dev is the package for the main SDL system.+''libsdl1.2-dev'' is the package for the main SDL system.
  
-libsdl-image1.2-dev is the package for translating image types other than bitmaps.+''libsdl-image1.2-dev'' is the package for translating image types other than bitmaps.
  
-libsdl-mixer1.2-dev is the package for playing audio.+''libsdl-ttf2.0-dev'' is the package for rendering TrueType fonts. Note that, despite the name, this is an SDL 1.2 package.
  
-libsdl-ttf2.0-dev is the package for rendering TTF fonts. This is an SDL 1.2 package. +Install the packages:
- +
-You will need to install the following packages with your package manager:+
  
 <code> <code>
 sudo apt-get install libsdl1.2-dev sudo apt-get install libsdl1.2-dev
 sudo apt-get install libsdl-image1.2-dev sudo apt-get install libsdl-image1.2-dev
-sudo apt-get install libsdl-mixer1.2-dev 
 sudo apt-get install libsdl-ttf2.0-dev sudo apt-get install libsdl-ttf2.0-dev
 </code> </code>
Line 82: Line 83:
 Note this will create MFM/ and ULAM/ directories as siblings in whatever directory you started in -- and that's desirable because the two repositories will be able to find each other without any additional local configuration. Note this will create MFM/ and ULAM/ directories as siblings in whatever directory you started in -- and that's desirable because the two repositories will be able to find each other without any additional local configuration.
  
-===== Build MFMv2 =====+===== Build the software =====
  
-Now that you have installed all of the dependencies that you need, you can build the MFM software. Simply navigate to the main folder and type:+Now that you have installed all of the dependencies that you need, you can build the MFM software
 +<code> 
 +$ cd MFM 
 +MFM$ make 
 +</code> 
 + 
 +This should build the MFM software as long as the repo does not contain any errors.  Depending on your machine, the build may take quite a while. 
 + 
 +After that succeeds, you can build the ULAM compiler:
  
 <code> <code>
-make+MFM$ cd ../ULAM 
 +ULAM$ make
 </code> </code>
  
-This should build the software as long as the repo does not contain any errors. To run the software, the executable is located in the **bin** folder. Type:+This may //also// take quite a while. 
 + 
 +Once the ULAM compiler is built, you need to use it to build "ulam exports" -- various libraries and demos that are part of the system: 
 + 
 +<code> 
 +ULAM$ make ulamexports 
 +</code> 
 + 
 +Note that the results of making ulamexports (in the ULAM/ repo) places its output in the MFM/ repo!  Trying to run the MFM simulator without getting through 'ulamexports' successfully is unlikely to work!  
 + 
 +Note also that ''make ulamexports'' might take a //very// long time. 
 + 
 +===== Run the software ===== 
 + 
 +To run the software, the executable is located in the **MFM/bin** folder. Type:
  
 <code> <code>
-bin/mfms+MFM$ ./bin/mfms
 </code> </code>
  
dev/clone_from_github.1500020098.txt.gz · Last modified: 2017/07/14 08:14 by ackley