| 
					
				 | 
			
			
				@@ -7,9 +7,9 @@ JTALK=`dirname ${0}`/.. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 function usage { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	cat <<ENDOFHELP 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-Usage: $0 [-N|D] [-K|C] [-m class] [-M file] [-i file] [-I] [-r] file1 file2 ... file3 Program 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+Usage: $0 [-N|D] [-K|C] [-m class] [-M file] [-i file] [-I] file1 [file2 ...] [Program] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-   Will compile Jtalk programs in a variety of ways. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   Will compile Jtalk files in a variety of ways. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    Files listed will be handled using these rules: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      *.js files are concatenated as is. If not found we look in $JTALK/js 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -18,6 +18,9 @@ Usage: $0 [-N|D] [-K|C] [-m class] [-M file] [-i file] [-I] [-r] file1 file2 ... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      Each file is currently considered to be a fileout of a single class 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      category of the same name as the file. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   If no Program is specified only each given .st file will be compiled into a .js file. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   Otherwise a Program.js file is linked together based on the given options described below: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   -N or -D 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      Compile for Node.js or D8 (V8 shell). Defaults to "-KIm Main" so boot.js and Kernel.js 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      are added first and init.js is added last with a call to Main class>>main. 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -62,6 +65,10 @@ ENDOFHELP 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	exit 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# Check we at least got one argument 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+if [ -z $1 ] ; then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   usage 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 # Define our predefined library combinations 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 BOOT="$JTALK/js/boot.js" 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -113,6 +120,7 @@ trap "rm -rf $TMPDIR" EXIT 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 # Collect libraries and Smalltalk files looking 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 # both locally and in $JTALK/js and $JTALK/st  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 # -------------------------------------------------- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+PROGRAM= 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 until [ "$*" = "" ] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 do 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   case $1 in 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -144,9 +152,11 @@ do 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         ;; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      *) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        # Will end up being the last non js/st argument 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        PROGRAM=$1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ;; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   esac 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  # Will end up being the last argument 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  PROGRAM=$1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   shift 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 done 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -171,6 +181,11 @@ do 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   fi  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 done 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+if [ -z $PROGRAM ]; then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  echo "Done compiling." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  exit 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 # -------------------------------------------------- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 # Now we start composing resulting javascript file. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 # -------------------------------------------------- 
			 |