#!/usr/bin/env bash if [ $# != 2 ] then if [ $# != 3 ] then echo "USAGE: $(basename "$0") -[aAmM] "; echo " -a: apertium standard mode"; echo " -A: apertium optimized mode (default mode)"; echo " -m: matxin standard mode"; echo " -M: matxin optimized mode"; exit 1; elif [ "$1" != "-a" ] && [ "$1" != "-A" ] && [ "$1" != "-m" ] && [ "$1" != "-M" ] then echo "USAGE: $(basename "$0") -[AaMm] "; echo " -a: apertium standard mode"; echo " -A: apertium optimized mode (default mode)"; echo " -m: matxin standard mode"; echo " -M: matxin optimized mode"; exit 1; fi fi FLEXOPTS="" FILE1=$1; FILE2=$2; if [ $# = 2 ] then if [ ! -e "$1" ] then echo "ERROR: '$1' file not found"; exit 1; fi fi MODE="apertium" # default mode if [ $# = 3 ] then if [ ! -e "$2" ] then echo "ERROR: '$2' file not found"; exit 1; fi if [ "$1" = "-a" ] then FLEXOPTS=""; MODE="apertium"; elif [ "$1" = "-m" ] then FLEXOPTS=""; MODE="matxin"; elif [ "$1" = "-M" ] then FLEXOPTS="-Cfer"; MODE="matxin"; fi FILE1=$2; FILE2=$3; fi xmllint --dtdvalid "/usr/share/apertium"/format.dtd --noout "$FILE1" && \ xsltproc --stringparam mode $MODE "/usr/share/apertium"/deformat.xsl "$FILE1" >/tmp/$$.deformat.l && \ /usr/bin/flex $FLEXOPTS -o/tmp/$$.lex.cc /tmp/$$.deformat.l && \ g++ -DGENFORMAT -Wall -Wextra -g -O2 -ffile-prefix-map=/build/apertium-3.9.12+g942~b714e38c-1~sid1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -std=c++26 -w -I /usr/include -o "$FILE2" /tmp/$$.lex.cc 2>/dev/null && \ rm /tmp/$$.deformat.l /tmp/$$.lex.cc