release.sh (3338B)
1 #!/bin/sh 2 # Release the QuickJS source code 3 4 set -e 5 6 version=`cat VERSION` 7 8 if [ "$1" = "-h" ] ; then 9 echo "release.sh [release_list]" 10 echo "" 11 echo "release_list: extras binary win_binary quickjs" 12 13 exit 1 14 fi 15 16 release_list="extras binary win_binary quickjs" 17 18 if [ "$1" != "" ] ; then 19 release_list="$1" 20 fi 21 22 #################################################" 23 # extras 24 25 if echo $release_list | grep -w -q extras ; then 26 27 d="quickjs-${version}" 28 name="quickjs-extras-${version}" 29 outdir="/tmp/${d}" 30 31 rm -rf $outdir 32 mkdir -p $outdir $outdir/unicode $outdir/tests 33 34 cp unicode/* $outdir/unicode 35 cp -a tests/bench-v8 $outdir/tests 36 37 ( cd /tmp && tar Jcvf /tmp/${name}.tar.xz ${d} ) 38 39 fi 40 41 #################################################" 42 # Windows binary release 43 44 if echo $release_list | grep -w -q win_binary ; then 45 46 # win64 47 48 dlldir=/usr/x86_64-w64-mingw32/sys-root/mingw/bin 49 cross_prefix="x86_64-w64-mingw32-" 50 d="quickjs-win-x86_64-${version}" 51 outdir="/tmp/${d}" 52 53 rm -rf $outdir 54 mkdir -p $outdir 55 56 make CONFIG_WIN32=y qjs.exe 57 cp qjs.exe $outdir 58 ${cross_prefix}strip $outdir/qjs.exe 59 cp $dlldir/libwinpthread-1.dll $outdir 60 61 ( cd /tmp/$d && rm -f ../${d}.zip && zip -r ../${d}.zip . ) 62 63 make CONFIG_WIN32=y clean 64 65 # win32 66 67 dlldir=/usr/i686-w64-mingw32/sys-root/mingw/bin 68 cross_prefix="i686-w64-mingw32-" 69 d="quickjs-win-i686-${version}" 70 outdir="/tmp/${d}" 71 72 rm -rf $outdir 73 mkdir -p $outdir 74 75 make clean 76 make CONFIG_WIN32=y clean 77 78 make CONFIG_WIN32=y CONFIG_M32=y qjs.exe 79 cp qjs.exe $outdir 80 ${cross_prefix}strip $outdir/qjs.exe 81 cp $dlldir/libwinpthread-1.dll $outdir 82 83 ( cd /tmp/$d && rm -f ../${d}.zip && zip -r ../${d}.zip . ) 84 85 fi 86 87 #################################################" 88 # Linux binary release 89 90 if echo $release_list | grep -w -q binary ; then 91 92 make clean 93 make CONFIG_WIN32=y clean 94 make -j4 qjs run-test262 95 make -j4 CONFIG_M32=y qjs32 run-test262-32 96 strip qjs run-test262 qjs32 run-test262-32 97 98 d="quickjs-linux-x86_64-${version}" 99 outdir="/tmp/${d}" 100 101 rm -rf $outdir 102 mkdir -p $outdir 103 104 cp qjs run-test262 $outdir 105 106 ( cd /tmp/$d && rm -f ../${d}.zip && zip -r ../${d}.zip . ) 107 108 d="quickjs-linux-i686-${version}" 109 outdir="/tmp/${d}" 110 111 rm -rf $outdir 112 mkdir -p $outdir 113 114 cp qjs32 $outdir/qjs 115 cp run-test262-32 $outdir/run-test262 116 117 ( cd /tmp/$d && rm -f ../${d}.zip && zip -r ../${d}.zip . ) 118 119 fi 120 121 #################################################" 122 # quickjs 123 124 if echo $release_list | grep -w -q quickjs ; then 125 126 make build_doc 127 128 d="quickjs-${version}" 129 outdir="/tmp/${d}" 130 131 rm -rf $outdir 132 mkdir -p $outdir $outdir/doc $outdir/tests $outdir/examples 133 134 cp Makefile VERSION TODO Changelog readme.txt LICENSE \ 135 release.sh unicode_download.sh \ 136 qjs.c qjsc.c qjscalc.js repl.js \ 137 quickjs.c quickjs.h quickjs-atom.h \ 138 quickjs-libc.c quickjs-libc.h quickjs-opcode.h \ 139 cutils.c cutils.h list.h \ 140 libregexp.c libregexp.h libregexp-opcode.h \ 141 libunicode.c libunicode.h libunicode-table.h \ 142 libbf.c libbf.h \ 143 unicode_gen.c unicode_gen_def.h \ 144 run-test262.c test262o.conf test262.conf \ 145 test262o_errors.txt test262_errors.txt \ 146 $outdir 147 148 cp tests/*.js tests/*.patch tests/bjson.c $outdir/tests 149 150 cp examples/*.js examples/*.c $outdir/examples 151 152 cp doc/quickjs.texi doc/quickjs.pdf doc/quickjs.html \ 153 doc/jsbignum.texi doc/jsbignum.html doc/jsbignum.pdf \ 154 $outdir/doc 155 156 ( cd /tmp && tar Jcvf /tmp/${d}.tar.xz ${d} ) 157 158 fi