quickjs-tart

quickjs-based runtime for wallet-core logic
Log | Files | Refs | README | LICENSE

release.sh (3838B)


      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 cosmo_binary quickjs"
     12 
     13     exit 1
     14 fi
     15 
     16 release_list="extras binary win_binary cosmo_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 tests/octane tests/cli $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 clean
     57 make CONFIG_WIN32=y clean
     58 
     59 make CONFIG_WIN32=y CONFIG_LTO=y qjs.exe
     60 cp qjs.exe $outdir
     61 ${cross_prefix}strip $outdir/qjs.exe
     62 cp $dlldir/libwinpthread-1.dll $outdir
     63 
     64 ( cd /tmp/$d && rm -f ../${d}.zip && zip -r ../${d}.zip . )
     65 
     66 make CONFIG_WIN32=y clean
     67 
     68 # win32
     69 
     70 dlldir=/usr/i686-w64-mingw32/sys-root/mingw/bin
     71 cross_prefix="i686-w64-mingw32-"
     72 d="quickjs-win-i686-${version}"
     73 outdir="/tmp/${d}"
     74 
     75 rm -rf $outdir
     76 mkdir -p $outdir
     77 
     78 make clean
     79 make CONFIG_WIN32=y clean
     80 
     81 make CONFIG_WIN32=y CONFIG_M32=y CONFIG_LTO=y qjs.exe
     82 cp qjs.exe $outdir
     83 ${cross_prefix}strip $outdir/qjs.exe
     84 cp $dlldir/libwinpthread-1.dll $outdir
     85 
     86 ( cd /tmp/$d && rm -f ../${d}.zip && zip -r ../${d}.zip . )
     87 
     88 fi
     89 
     90 #################################################"
     91 # Linux binary release
     92 
     93 if echo $release_list | grep -w -q binary ; then
     94 
     95 make clean
     96 make CONFIG_WIN32=y clean
     97 make -j4 CONFIG_LTO=y qjs run-test262
     98 strip qjs run-test262
     99 
    100 d="quickjs-linux-x86_64-${version}"
    101 outdir="/tmp/${d}"
    102 
    103 rm -rf $outdir
    104 mkdir -p $outdir
    105 
    106 cp qjs run-test262 $outdir
    107 
    108 ( cd /tmp/$d && rm -f ../${d}.zip && zip -r ../${d}.zip . )
    109 
    110 make clean
    111 make -j4 CONFIG_LTO=y CONFIG_M32=y qjs run-test262
    112 strip qjs run-test262
    113 
    114 d="quickjs-linux-i686-${version}"
    115 outdir="/tmp/${d}"
    116 
    117 rm -rf $outdir
    118 mkdir -p $outdir
    119 
    120 cp qjs run-test262 $outdir
    121 
    122 ( cd /tmp/$d && rm -f ../${d}.zip && zip -r ../${d}.zip . )
    123 
    124 fi
    125 
    126 #################################################"
    127 # Cosmopolitan binary release
    128 
    129 if echo $release_list | grep -w -q cosmo_binary ; then
    130 
    131 export PATH=$PATH:$HOME/cosmocc/bin
    132 
    133 d="quickjs-cosmo-${version}"
    134 outdir="/tmp/${d}"
    135 
    136 rm -rf $outdir
    137 mkdir -p $outdir
    138 
    139 make clean
    140 make CONFIG_COSMO=y -j4 qjs run-test262
    141 cp qjs run-test262 $outdir
    142 cp readme-cosmo.txt $outdir/readme.txt
    143 
    144 ( cd /tmp/$d && rm -f ../${d}.zip && zip -r ../${d}.zip . )
    145 
    146 fi
    147 
    148 #################################################"
    149 # quickjs
    150 
    151 if echo $release_list | grep -w -q quickjs ; then
    152 
    153 make build_doc
    154 
    155 d="quickjs-${version}"
    156 outdir="/tmp/${d}"
    157 
    158 rm -rf $outdir
    159 mkdir -p $outdir $outdir/doc $outdir/tests $outdir/examples
    160 
    161 cp Makefile VERSION TODO Changelog readme.txt LICENSE \
    162    release.sh unicode_download.sh \
    163    qjs.c qjsc.c repl.js \
    164    quickjs.c quickjs.h quickjs-atom.h \
    165    quickjs-libc.c quickjs-libc.h quickjs-opcode.h \
    166    cutils.c cutils.h list.h \
    167    libregexp.c libregexp.h libregexp-opcode.h \
    168    libunicode.c libunicode.h libunicode-table.h \
    169    dtoa.c dtoa.h \
    170    unicode_gen.c unicode_gen_def.h \
    171    run-test262.c test262o.conf test262.conf \
    172    test262o_errors.txt test262_errors.txt \
    173    $outdir
    174 
    175 cp tests/*.js tests/*.patch tests/bjson.c $outdir/tests
    176 
    177 cp examples/*.js examples/*.c examples/*.json $outdir/examples
    178 
    179 cp doc/quickjs.texi doc/quickjs.pdf doc/quickjs.html \
    180    $outdir/doc
    181 
    182 ( cd /tmp && tar Jcvf /tmp/${d}.tar.xz ${d} )
    183 
    184 fi