Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- OCAML_TGZ="ocaml-3.12.1.tar.gz"
- OCAML_URL="http://caml.inria.fr/pub/distrib/ocaml-3.12/$OCAML_TGZ"
- NEKO_REPO="http://nekovm.googlecode.com/svn/trunk/"
- HAXE_REPO="http://haxe.googlecode.com/svn/trunk/"
- echo "@ using shell: " $SHELL
- echo " WARNING -- WARNING -- WARNING -- WARNING -- WARNING -- WARNING -- WARNING -- "
- echo " WARNING -- WARNING -- use at your own risk -- WARNING -- WARNING -- WARNING -- "
- echo " WARNING -- WARNING -- use at your own risk -- WARNING -- WARNING -- WARNING -- "
- #echo " please create a dedicated directory to run this script in "
- #echo " please enter the directory for a local haxe install (relative to $PWD)"
- #read BASEDIR || { echo "could not read directory name "; exit 1; };
- #mkdir $BASEDIR || { echo "could not create directory '$BASEDIR', bye."; exit 1; };
- echo "building in $PWD/motion-twin"
- BASEDIR=$PWD"/motion-twin"
- cd $BASEDIR
- echo "@ $PWD"
- for DIR in src bin lib include man ; do
- rm -rf $DIR ||
- { echo "could not remove directory $DIR"; exit 1; };
- done
- for DIR in src bin lib include man ; do
- mkdir $DIR ||
- test -d $DIR ||
- { echo "could not create directory $DIR"; exit 1; };
- done
- for REQ in svn curl ; do
- type -P $REQ ||
- { echo "$REQ not found. please install and run again."; exit 1; } ;
- done
- LOG_PATH=$PWD
- PREFIX_PATH=$PWD
- #cd src
- #echo "@ downloading ocaml, nekovm and haxe (logs in $LOG_PATH/downloads.log)"
- # curl -o $OCAML_TGZ $OCAML_URL > $LOG_PATH/downloads.log 2>&1 ||
- # { echo "downloading ocaml ($OCAML_TGZ) failed"; exit 1; };
- # svn checkout $NEKO_REPO nekovm >> $LOG_PATH/downloads.log 2>&1 ||
- # { echo "checking out nekovm ($NEKO_REPO) failed"; exit 1; };
- # svn checkout $HAXE_REPO haxe >> $LOG_PATH/downloads.log 2>&1 ||
- # { echo "checking out haxe ($HAXE_REPO) failed"; exit 1; }
- #for ITEM in ls ocaml* ; do echo $ITEM; test $ITEM != $OCAML_TGZ && rm -rf $ITEM ; done
- #echo "@ unpacking $OCAML_TGZ"
- #tar xvzf $OCAML_TGZ > /dev/null 2>&1
- #cd ocaml*
- #echo "@ ./configure/make/make install ocaml (logs in $LOG_PATH/ocaml.log)"
- #time {
- #./configure -prefix $PREFIX_PATH > $LOG_PATH/ocaml.log 2>&1;
- #make world > $LOG_PATH/ocaml.log 2>&1 ||
- # { echo "ERROR: while building ocaml, 'make world' failed"; exit 1; };
- #make opt >> $LOG_PATH/ocaml.log 2>&1 ||
- # { echo "ERROR: while building ocaml, 'make opt' failed"; exit 1; };
- #make install >> $LOG_PATH/ocaml.log 2>&1 ||
- # { echo "ERROR: while building ocaml, 'make install' failed"; exit 1; };
- #};
- #cd ..
- #echo "building ocaml successful."
- echo "setting up paths"
- export PATH=$PREFIX_PATH/bin:$PATH
- export LD_LIBRARY_PATH=$PREFIX_PATH/lib
- cd nekovm
- cp Makefile Makefile64
- echo "@ make.clean.nekovm (logs in $LOG_PATH/make.clean.nekovm.log)"
- make clean > $LOG_PATH/make.clean.nekovm.log 2>&1
- test -f src/tools/install.neko.original && cp src/tools/install.neko.original src/tools/install.neko;
- sed "/INSTALL_PREFIX = /c INSTALL_PREFIX = $PREFIX_PATH" Makefile64 > tmp1
- sed '/MAKESO = $(CC) -shared -WBsymbolic/cMAKESO = $(CC) -shared -Bsymbolic' tmp1 > tmp2
- sed '/# CFLAGS += -D_64BITS/cCFLAGS += -D_64BITS' tmp2 > Makefile64
- export NEKO_SKIPLIBS="SKIP"
- sed '/request_lib = function() {/c request_lib = function() { if (getenv("NEKO_SKIPLIBS") == "SKIP") return false;' src/tools/install.neko > itmp
- sed '/request_include = function(incl) {/c request_include = function(incl) { if (getenv("NEKO_SKIPLIBS") == "SKIP") return null;' itmp > itmp2
- cp src/tools/install.neko src/tools/install.neko.original
- cp itmp2 src/tools/install.neko
- rm tmp1 tmp2 itmp itmp2
- echo "@ make.nekovm (logs in $LOG_PATH/make.nekovm.log)"
- time make -f Makefile64 > $LOG_PATH/make.nekovm.log 2>&1
- echo "@ make.install.nekovm (logs in $LOG_PATH/make.install.nekovm.log)"
- time make -f Makefile64 install > $LOG_PATH/make.nekovminstall.log 2>&1
- echo "@ "
- echo "@ ocaml and neko are done.. building haxe now"
- echo "@ "
- cd ..
- export NEKOPATH=$PREFIX_PATH/bin
- cd haxe
- echo "@ make.haxe (logs in $LOG_PATH/make.haxe.log)"
- time make > $LOG_PATH/make.haxe.log 2>&1
- cp haxe $PREFIX_PATH/bin
- SETUPENV=$PREFIX_PATH/env
- echo "export NEKOPATH=$PREFIX_PATH/bin" > $SETUPENV
- echo "export PATH=$PREFIX_PATH/bin:$PATH" >> $SETUPENV
- echo "export LD_LIBRARY_PATH=$PREFIX_PATH/lib:$PREFIX_PATH/lib/neko" >> $SETUPENV
- echo "export HAXE_LIBRARY_PATH=$PREFIX_PATH/haxe/std" >> $SETUPENV
- echo "@ $PREFIX_PATH/env is a shell script that exports the necessary"
- echo "@ environment vars to run this local haxe install."
- echo "@ if your shell supports it, you can simply source it: 'source $PREFIX_PATH/env'"
- echo "@ "
- echo "@ all done"
- echo "@ "
Advertisement
Add Comment
Please, Sign In to add comment