jan_flanders

Untitled

Dec 2nd, 2012
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 4.75 KB | None | 0 0
  1.  
  2.  
  3. OCAML_TGZ="ocaml-3.12.1.tar.gz"
  4. OCAML_URL="http://caml.inria.fr/pub/distrib/ocaml-3.12/$OCAML_TGZ"
  5. NEKO_REPO="http://nekovm.googlecode.com/svn/trunk/"
  6. HAXE_REPO="http://haxe.googlecode.com/svn/trunk/"
  7. echo "@ using shell: " $SHELL
  8. echo " WARNING --  WARNING --  WARNING --  WARNING  --  WARNING --  WARNING --  WARNING -- "
  9. echo " WARNING --  WARNING --  use at your own risk --  WARNING --  WARNING --  WARNING -- "
  10. echo " WARNING --  WARNING --  use at your own risk --  WARNING --  WARNING --  WARNING -- "
  11.  
  12. #echo " please create a dedicated directory to run this script in "
  13. #echo " please enter the directory for a local haxe install (relative to $PWD)"
  14.  
  15. #read BASEDIR || { echo "could not read directory name "; exit 1; };
  16.  
  17. #mkdir $BASEDIR || { echo "could not create directory '$BASEDIR', bye."; exit 1; };
  18.  
  19. echo "building in $PWD/motion-twin"
  20. BASEDIR=$PWD"/motion-twin"
  21.  
  22. cd $BASEDIR
  23.  
  24. echo "@ $PWD"
  25.  
  26. for DIR in src bin lib include man ; do
  27.     rm -rf $DIR ||
  28.     { echo "could not remove directory $DIR"; exit 1; };
  29. done
  30.  
  31. for DIR in src bin lib include man ; do
  32.     mkdir $DIR ||
  33.         test -d $DIR ||
  34.         { echo "could not create directory $DIR"; exit 1; };
  35. done
  36. for REQ in svn curl ; do
  37.     type -P $REQ ||
  38.         { echo "$REQ not found. please install and run again."; exit 1; } ;
  39. done
  40.  
  41. LOG_PATH=$PWD
  42. PREFIX_PATH=$PWD
  43.  
  44. #cd src
  45.  
  46. #echo "@ downloading ocaml, nekovm and haxe (logs in $LOG_PATH/downloads.log)"
  47.  
  48. #    curl -o $OCAML_TGZ $OCAML_URL > $LOG_PATH/downloads.log 2>&1 ||
  49. #        { echo "downloading ocaml ($OCAML_TGZ) failed"; exit 1; };
  50. #    svn checkout $NEKO_REPO nekovm >> $LOG_PATH/downloads.log 2>&1 ||
  51. #        { echo "checking out nekovm ($NEKO_REPO) failed"; exit 1; };
  52. #    svn checkout $HAXE_REPO haxe >> $LOG_PATH/downloads.log 2>&1 ||
  53. #        { echo "checking out haxe ($HAXE_REPO) failed"; exit 1; }
  54.  
  55. #for ITEM in ls ocaml* ; do echo $ITEM; test $ITEM != $OCAML_TGZ && rm -rf $ITEM ; done
  56.  
  57. #echo "@ unpacking $OCAML_TGZ"
  58. #tar xvzf $OCAML_TGZ > /dev/null 2>&1
  59. #cd ocaml*
  60.  
  61. #echo "@ ./configure/make/make install ocaml (logs in $LOG_PATH/ocaml.log)"
  62.  
  63. #time {
  64. #./configure -prefix $PREFIX_PATH > $LOG_PATH/ocaml.log 2>&1;
  65. #make world > $LOG_PATH/ocaml.log 2>&1 ||
  66. #    { echo "ERROR: while building ocaml, 'make world' failed"; exit 1; };
  67. #make opt >> $LOG_PATH/ocaml.log 2>&1 ||
  68. #    { echo "ERROR: while building ocaml, 'make opt' failed"; exit 1; };
  69. #make install >> $LOG_PATH/ocaml.log 2>&1 ||
  70. #    { echo "ERROR: while building ocaml, 'make install' failed"; exit 1; };
  71. #};
  72.  
  73. #cd ..
  74.  
  75. #echo "building ocaml successful."
  76.  
  77.  
  78. echo "setting up paths"
  79.  
  80. export PATH=$PREFIX_PATH/bin:$PATH
  81.  
  82.  
  83.  
  84. export LD_LIBRARY_PATH=$PREFIX_PATH/lib
  85.  
  86. cd nekovm
  87. cp Makefile Makefile64
  88.  
  89. echo "@ make.clean.nekovm (logs in $LOG_PATH/make.clean.nekovm.log)"
  90.  
  91. make clean > $LOG_PATH/make.clean.nekovm.log 2>&1
  92.  
  93. test -f src/tools/install.neko.original && cp src/tools/install.neko.original src/tools/install.neko;
  94. sed "/INSTALL_PREFIX = /c INSTALL_PREFIX = $PREFIX_PATH" Makefile64 > tmp1
  95. sed '/MAKESO = $(CC) -shared -WBsymbolic/cMAKESO = $(CC) -shared -Bsymbolic' tmp1 > tmp2
  96. sed '/# CFLAGS += -D_64BITS/cCFLAGS += -D_64BITS' tmp2 > Makefile64
  97. export NEKO_SKIPLIBS="SKIP"
  98. sed '/request_lib = function() {/c request_lib = function() { if (getenv("NEKO_SKIPLIBS") == "SKIP") return false;' src/tools/install.neko > itmp  
  99. sed '/request_include = function(incl) {/c request_include = function(incl) { if (getenv("NEKO_SKIPLIBS") == "SKIP") return null;' itmp > itmp2
  100. cp src/tools/install.neko src/tools/install.neko.original
  101. cp itmp2 src/tools/install.neko
  102. rm tmp1 tmp2 itmp itmp2
  103.  
  104. echo "@ make.nekovm (logs in $LOG_PATH/make.nekovm.log)"
  105.  
  106. time make -f Makefile64 > $LOG_PATH/make.nekovm.log 2>&1
  107.  
  108. echo "@ make.install.nekovm (logs in $LOG_PATH/make.install.nekovm.log)"
  109.  
  110. time make -f Makefile64 install > $LOG_PATH/make.nekovminstall.log 2>&1
  111.  
  112. echo "@ "
  113. echo "@ ocaml and neko are done.. building haxe now"
  114. echo "@ "
  115.  
  116. cd ..
  117. export NEKOPATH=$PREFIX_PATH/bin
  118. cd haxe
  119.  
  120. echo "@ make.haxe (logs in $LOG_PATH/make.haxe.log)"
  121.  
  122. time make > $LOG_PATH/make.haxe.log 2>&1
  123.  
  124. cp haxe $PREFIX_PATH/bin
  125.  
  126. SETUPENV=$PREFIX_PATH/env
  127.  
  128. echo "export NEKOPATH=$PREFIX_PATH/bin"                               >  $SETUPENV
  129. echo "export PATH=$PREFIX_PATH/bin:$PATH"                             >> $SETUPENV
  130. echo "export LD_LIBRARY_PATH=$PREFIX_PATH/lib:$PREFIX_PATH/lib/neko"  >> $SETUPENV
  131. echo "export HAXE_LIBRARY_PATH=$PREFIX_PATH/haxe/std"                 >> $SETUPENV
  132.  
  133.  
  134. echo "@ $PREFIX_PATH/env is a shell script that exports the necessary"
  135. echo "@ environment vars to run this local haxe install."
  136. echo "@ if your shell supports it, you can simply source it: 'source $PREFIX_PATH/env'"
  137.  
  138. echo "@ "
  139. echo "@ all done"
  140. echo "@ "
Advertisement
Add Comment
Please, Sign In to add comment