42 lines
		
	
	
	
		
			844 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			42 lines
		
	
	
	
		
			844 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
| #!/bin/bash
 | |
| #Small wrapper to deal with compilation of the compiler and the stdlib.
 | |
| 
 | |
| RUN_DIR="`pwd`"
 | |
| 
 | |
| SCRIPT_DIR="$( cd "$( dirname "$0" )" && pwd )"
 | |
| 
 | |
| COMPILER_DIR="$SCRIPT_DIR/compiler"
 | |
| COMPILER=heptc.byte
 | |
| COMPILER_DEBUG=heptc.d.byte
 | |
| LIB_DIR="$SCRIPT_DIR/lib"
 | |
| 
 | |
| #the symlink
 | |
| HEPTC="$COMPILER_DIR/$COMPILER"
 | |
| HEPTC_DEBUG="$COMPILER_DIR/$COMPILER_DEBUG"
 | |
| 
 | |
| #compile the compiler
 | |
| if [ ! -x "$HEPTC" ]
 | |
| then
 | |
| 	if [ -x "$HEPTC_DEBUG" ]
 | |
| 	then
 | |
| 		#use the debug
 | |
| 		HEPTC=$HEPTC_DEBUG
 | |
| 	else
 | |
| 		cd "$COMPILER_DIR"
 | |
| 		ocamlbuild -j 0 "$COMPILER"
 | |
| 		cd -
 | |
| 	fi
 | |
| fi
 | |
| 
 | |
| #compile the stdlib
 | |
| if [ ! -e "$LIB_DIR/pervasives.epci" ] || [ "$HEPTC" -nt "$LIB_DIR/pervasives.epci" ]
 | |
| then
 | |
| 	cd "$LIB_DIR"
 | |
| 	echo "Recompile pervasives.epci"
 | |
| 	"$HEPTC" -nopervasives pervasives.epi
 | |
| 	cd -
 | |
| fi
 | |
| 
 | |
| #call the compiler with the passed arguments.
 | |
| cd "$RUN_DIR"
 | |
| "$HEPTC" -stdlib "$LIB_DIR" "$@"
 | 
