Commit 01216dd8 authored by Jurriën Stutterheim's avatar Jurriën Stutterheim

Update README-Unix.txt; correct path and include copy-pastable commands

git-svn-id: https://svn.cs.ru.nl/repos/iTask-system/trunk@2393 63da3aa8-80fd-4f01-9db8-e6ea747a3da2
parent 3b2fbf2b
......@@ -11,7 +11,7 @@ Add ~/clean/bin to your path (assumming you installed clean in ~/clean). You can
4. Get the latest clean compiler with iTasks specific modifications from subversion (https://svn.cs.ru.nl/repos/clean-compiler/branches/itask) and build it by running the build script for your os from within the checkout. For example ./unix/make.linux.sh (for 32bit linux). This will build an executable called "cocl" (the clean compiler). You must copy or move this cocl to ~/clean/lib/exe/
5. You need to install the latest graph_copy library from subversion and build it. This library provides fast serialization of arbitrary Clean values. You can find it in https://svn.cs.ru.nl/repos/clean-libraries/Libraries/graph_copy. Check it out to ~/clean/lib/.
5. You need to install the latest graph_copy library from subversion and build it. This library provides fast serialization of arbitrary Clean values. You can find it in https://svn.cs.ru.nl/repos/clean-libraries/trunk/Libraries/graph_copy. Check it out to ~/clean/lib/.
This library contains C code that needs to be compiled. Remove all .o files from ~/clean/lib/graph_copy and then run the makefile for your platform. For example "make -f Makefile.linux"
To make the library work with iTasks you need to comment out two double imports that currently break on unix platforms. In dynamic_string.icl you need to comment out lines 6 and 7 such that they contain:
//import code from "copy_graph_to_string_interface."
......@@ -19,12 +19,12 @@ To make the library work with iTasks you need to comment out two double imports
6. You need to patch some of the standard clean libraries that came with the clean distribution. You can find the patches files in iTasks-SDK/Compiler/
Copy the following:
~/clean/iTasks-SDK/Compiler/StdGeneric.dcl to ~/clean/lib/StdEnv/
~/clean/iTasks-SDK/Compiler/StdGeneric.icl to ~/clean/lib/StdEnv/
~/clean/iTasks-SDK/Compiler/_SystemDynamic.dcl to ~/clean/lib/Dynamics/
~/clean/iTasks-SDK/Compiler/_SystemDynamic.icl to ~/clean/lib/Dynamics/
~/clean/iTasks-SDK/Compiler/TCPChannels.dcl to ~/clean/lib/TCPIP/
~/clean/iTasks-SDK/Compiler/TCPChannels.icl to ~/clean/lib/TCPIP/
cp ~/clean/iTasks-SDK/Compiler/StdGeneric.dcl ~/clean/lib/StdEnv/
cp ~/clean/iTasks-SDK/Compiler/StdGeneric.icl ~/clean/lib/StdEnv/
cp ~/clean/iTasks-SDK/Compiler/_SystemDynamic.dcl ~/clean/lib/Dynamics/
cp ~/clean/iTasks-SDK/Compiler/_SystemDynamic.icl ~/clean/lib/Dynamics/
cp ~/clean/iTasks-SDK/Compiler/TCPChannels.dcl ~/clean/lib/TCPIP/
cp ~/clean/iTasks-SDK/Compiler/TCPChannels.icl ~/clean/lib/TCPIP/
7. You are now ready to compile your iTasks program. You do this by running clm with the options -nt -mv -dynamics -h 80M and a series of -I options to all necessary libraries. On linux you also need the -no-opt-link option. It is easiest to do so with a small script or Makefile because the list of libraries is quite long.
The content of your script could be something like this (for a program myprogram.icl on linux32)
......@@ -34,6 +34,7 @@ ITASKS_SDK=$CLEAN_HOME/iTasks-SDK
clm -h 80M -no-opt-link -nt -mv -dynamics\
-I $CLEAN_HOME/lib/graph_copy\
-I $CLEAN_HOME/lib/Dynamics\
-I $CLEAN_HOME/lib/StdEnv\
-I $CLEAN_HOME/lib/TCPIP\
-I $ITASKS_SDK/Server\
-I $ITASKS_SDK/Server/Framework\
......@@ -58,3 +59,4 @@ clm -h 80M -no-opt-link -nt -mv -dynamics\
myprogram -o myprogram
8. Pray everything works and have fun!
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment