@@ -426,6 +426,33 @@ function mtsys_evalmod() {
426426 " ${mtsys_outdir} /${temp} " .car/run
427427 " $bin_dir " /ciaodump-oc --module dectok ${mtsys_outdir} /${temp} 2> /dev/null | head -1 # Print bytecode size
428428 ;;
429+ ciaowasm32 )
430+ rm -f ${mtsys_outdir} /${temp} .itf
431+ rm -f ${mtsys_outdir} /${temp} .po
432+ cpp -DSYSTEM=ciao -DCIAO -DOPT_MASK=0 -C -P < ${mod} .pl > ${mtsys_outdir} /${temp} .pl
433+ # TODO: missing get size of object
434+ echo > ${mtsys_outdir} /${temp} .object
435+ echo -ne " use_module('${mtsys_outdir} /${temp} .pl').\nmain, halt.\n" | CIAOARCH=wasm32 node " $ciaoroot " /build/site/js/ciao-prolog.js
436+ sizefield " ${mtsys_outdir} /${temp} .object"
437+ ;;
438+ ciaowasm64 )
439+ rm -f ${mtsys_outdir} /${temp} .itf
440+ rm -f ${mtsys_outdir} /${temp} .po
441+ cpp -DSYSTEM=ciao -DCIAO -DOPT_MASK=0 -C -P < ${mod} .pl > ${mtsys_outdir} /${temp} .pl
442+ # TODO: missing get size of object
443+ echo > ${mtsys_outdir} /${temp} .object
444+ echo -ne " use_module('${mtsys_outdir} /${temp} .pl').\nmain, halt.\n" | CIAOARCH=wasm64 node " $ciaoroot " /build/site/js/ciao-prolog.js
445+ sizefield " ${mtsys_outdir} /${temp} .object"
446+ ;;
447+ ciaowasm32p64 )
448+ rm -f ${mtsys_outdir} /${temp} .itf
449+ rm -f ${mtsys_outdir} /${temp} .po
450+ cpp -DSYSTEM=ciao -DCIAO -DOPT_MASK=0 -C -P < ${mod} .pl > ${mtsys_outdir} /${temp} .pl
451+ # TODO: missing get size of object
452+ echo > ${mtsys_outdir} /${temp} .object
453+ echo -ne " use_module('${mtsys_outdir} /${temp} .pl').\nmain, halt.\n" | CIAOARCH=wasm32p64 node " $ciaoroot " /build/site/js/ciao-prolog.js
454+ sizefield " ${mtsys_outdir} /${temp} .object"
455+ ;;
429456 sicstus )
430457 cpp -DSYSTEM=sicstus -DSICSTUS -DOPT_MASK=0 -C -P < ${mod} .pl > ${mtsys_outdir} /${temp} .pl
431458 # TODO: missing get size of object
@@ -538,6 +565,9 @@ case ${action} in
538565 mtsys-evalmod-ciao_1_6) mtsys_evalmod ciao_1_6 ${module_name} ;;
539566 mtsys-evalmod-ciao2) mtsys_evalmod ciao2 ${module_name} ;;
540567 mtsys-evalmod-ciao3) mtsys_evalmod ciao3 ${module_name} ;;
568+ mtsys-evalmod-ciaowasm32) mtsys_evalmod ciaowasm32 ${module_name} ;;
569+ mtsys-evalmod-ciaowasm64) mtsys_evalmod ciaowasm64 ${module_name} ;;
570+ mtsys-evalmod-ciaowasm32p64) mtsys_evalmod ciaowasm32p64 ${module_name} ;;
541571 mtsys-checkmod-ciao2) mtsys_checkmod ciao2 ${module_name} ;;
542572 mtsys-checkmod-ciao3) mtsys_checkmod ciao3 ${module_name} ;;
543573 mtsys-savemod-ciao2) mtsys_savemod ciao2 ${module_name} ;;
0 commit comments