Commit aed116c4fcc2d50172225981ea0d2833ff4fad01

Authored by Marcin Woliński
1 parent 95cbe5ea

skrypty kompilacyjne wstawione do repozytorium

także: poprawka generowania deba dla buildera
buildDarwin.sh
1 #!/bin/bash 1 #!/bin/bash
  2 +# Kompiluje bibliotekę i buduje paczki dystrybucyjne zawierające
  3 +# Morfeusza i słowniki SGJP i Polimorf
  4 +#
  5 +# Założenia:
  6 +# • kod źródłowy Morfeusza jest w MORFEUSZ_SRC
  7 +# • słowniki są już skompilowane w katalogu DICT_DIR
  8 +# • kompilacja odbędzie się w katalogu BUILD_DIR (który zostanie skasowany i utworzony)
  9 +# • wyniki zostaną umieszczone w TARGET_DIR
2 10
3 -set -e -o pipefail 11 +#set -ex -o pipefail
  12 +set -x
4 13
5 -if [ "$#" -ne 4 ]; then  
6 - echo "Must provide exactly 4 arguments: <CROSSMORFEUSZ_ROOT> <INPUT_DICTIONARIES> <DEFAULT_DICT_NAME> <DICT_VERSION>" 14 +if [ "$#" -ne 3 ]; then
  15 + echo "Expected arguments: ‹DICT_NAME› ‹DICT_VERSION› ‹64/32›"
7 exit 1 16 exit 1
8 fi 17 fi
9 18
10 -export CROSSMORFEUSZ_ROOT="$1"  
11 -export INPUT_DICTIONARIES="$2"  
12 -export DEFAULT_DICT_NAME="$3"  
13 -export DICT_VERSION="$4"  
14 -export ANALYZER_DICTIONARY_CPP=`mktemp`.cpp  
15 -export GENERATOR_DICTIONARY_CPP=`mktemp`.cpp  
16 -export DICT_DIR=`mktemp -d` 19 +export DICT_NAME="$1"
  20 +export DICT_VERSION="$2"
  21 +export BITS=$3
  22 +
  23 +
  24 +export MORFEUSZ_SRC=`pwd`/Morfeusz
  25 +export DICT_DIR=`pwd`/dicts
  26 +export CROSSMORFEUSZ_ROOT=$HOME/crossmorfeusz
  27 +export ANALYZER_DICTIONARY_CPP=$DICT_DIR/$DICT_NAME-a.cpp
  28 +export GENERATOR_DICTIONARY_CPP=$DICT_DIR/$DICT_NAME-s.cpp
  29 +
  30 +
  31 +export BUILD_ROOT=`pwd`/build/$1
  32 +export TARGET_ROOT=`pwd`/target
  33 +
17 34
18 -function buildDictionaries {  
19 -  
20 - INPUT_TAGSET=input/morfeusz-sgjp.tagset  
21 - SEGMENT_RULES_FILE=input/segmenty.dat  
22 -  
23 - python fsabuilder/morfeusz_builder \  
24 - --input-files="$INPUT_DICTIONARIES" \  
25 - --tagset-file="$INPUT_TAGSET" \  
26 - --segments-file="$SEGMENT_RULES_FILE" \  
27 - --analyzer-cpp="$ANALYZER_DICTIONARY_CPP" \  
28 - --generator-cpp="$GENERATOR_DICTIONARY_CPP" \  
29 - --dict="$DEFAULT_DICT_NAME" \  
30 - --dict-dir="$DICT_DIR"  
31 -  
32 - echo "DONE building dictionaries" >&2  
33 -}  
34 35
35 function build { 36 function build {
36 set -e -o pipefail 37 set -e -o pipefail
37 os=$1 38 os=$1
38 - arch=$2 39 + bity=$2
39 embedded=$3 40 embedded=$3
40 - shift  
41 - shift  
42 - shift 41 + python_ver=$4
  42 + shift 4
43 targets=$@ 43 targets=$@
  44 +
  45 + if [ "$bity" = "64" ]; then
  46 + arch=amd64
  47 + else
  48 + arch=i386
  49 + fi
  50 +
  51 + toolchain=$MORFEUSZ_SRC/toolchains/Toolchain-$os-$arch.cmake
  52 +
  53 + buildDir=$BUILD_ROOT/$os-$bity-$embedded
  54 + targetDir=$TARGET_ROOT/$os/$bity
  55 +
  56 +# rm -rf $buildDir || true
  57 + mkdir -p $buildDir
  58 +
44 59
45 - srcDir=`pwd`  
46 - buildDir=buildall/$os-$arch-$embedded  
47 - targetDir=$srcDir/target  
48 - toolchain=$srcDir/toolchains/Toolchain-$os-$arch.cmake  
49 -  
50 - echo "Will use $toolchain toolchain" 60 +# echo "Will use $toolchain toolchain"
51 61
52 - rm -rf $buildDir 62 + # rm -rf $buildDir
53 #~ rm -rf $targetDir 63 #~ rm -rf $targetDir
54 mkdir -p $buildDir 64 mkdir -p $buildDir
  65 + rm -f $buildDir/CMakeCache.txt
55 mkdir -p $targetDir 66 mkdir -p $targetDir
56 cd $buildDir 67 cd $buildDir
57 68
@@ -66,62 +77,209 @@ function build { @@ -66,62 +77,209 @@ function build {
66 -D TARGET_DIR=$targetDir \ 77 -D TARGET_DIR=$targetDir \
67 -D ANALYZER_DICTIONARY_CPP=$ANALYZER_DICTIONARY_CPP \ 78 -D ANALYZER_DICTIONARY_CPP=$ANALYZER_DICTIONARY_CPP \
68 -D GENERATOR_DICTIONARY_CPP=$GENERATOR_DICTIONARY_CPP \ 79 -D GENERATOR_DICTIONARY_CPP=$GENERATOR_DICTIONARY_CPP \
69 - -D DEFAULT_DICT_NAME=$DEFAULT_DICT_NAME \ 80 + -D DEFAULT_DICT_NAME=$DICT_NAME \
70 -D SKIP_DICTIONARY_BUILDING=1 \ 81 -D SKIP_DICTIONARY_BUILDING=1 \
71 -D EMBEDDED_DEFAULT_DICT=1 \ 82 -D EMBEDDED_DEFAULT_DICT=1 \
72 - -D DICT_VERSION=$DICT_VERSION" 83 + -D DICT_VERSION=$DICT_VERSION "
73 if [ "$CPACK_GENERATOR" != "" ] 84 if [ "$CPACK_GENERATOR" != "" ]
74 then 85 then
75 CMAKE_ARGS="$CMAKE_ARGS -D CPACK_GENERATOR=$CPACK_GENERATOR" 86 CMAKE_ARGS="$CMAKE_ARGS -D CPACK_GENERATOR=$CPACK_GENERATOR"
76 fi 87 fi
77 else 88 else
78 - echo "setting default ACL to prevent control-file-has-bad-permissions lintian error"  
79 - setfacl -R -d -m o::rx -m g::rx -m u::rwx . 89 + # "setting default ACL to prevent control-file-has-bad-permissions lintian error"
  90 + #setfacl -R -d -m o::rx -m g::rx -m u::rwx .
80 91
81 CMAKE_ARGS="-D CROSSMORFEUSZ_ROOT=$CROSSMORFEUSZ_ROOT \ 92 CMAKE_ARGS="-D CROSSMORFEUSZ_ROOT=$CROSSMORFEUSZ_ROOT \
82 -D CMAKE_TOOLCHAIN_FILE=$toolchain \ 93 -D CMAKE_TOOLCHAIN_FILE=$toolchain \
83 -D TARGET_DIR=$targetDir \ 94 -D TARGET_DIR=$targetDir \
84 -D DEFAULT_DICT_DIR=$DICT_DIR \ 95 -D DEFAULT_DICT_DIR=$DICT_DIR \
85 - -D DEFAULT_DICT_NAME=$DEFAULT_DICT_NAME \ 96 + -D DEFAULT_DICT_NAME=$DICT_NAME \
86 -D SKIP_DICTIONARY_BUILDING=1 \ 97 -D SKIP_DICTIONARY_BUILDING=1 \
87 -D CPACK_GENERATOR=DEB \ 98 -D CPACK_GENERATOR=DEB \
88 - -D DICT_VERSION=$DICT_VERSION" 99 + -D DICT_VERSION=$DICT_VERSION "
89 fi 100 fi
90 - cmake $CMAKE_ARGS $srcDir 2>&1  
91 - echo "building $toolchain" >&2  
92 - make 101 + CMAKE_ARGS="$CMAKE_ARGS -D PY=$python_ver"
  102 + cmake $CMAKE_ARGS $MORFEUSZ_SRC 2>&1
  103 + echo "building for $os-$arch" >&2
  104 +# make
93 make $targets 105 make $targets
94 106
95 - for f in `find "$targetDir" -name "*-Linux-*.deb"`  
96 - do  
97 - mv "$f" "`echo $f | sed -r 's/Linux-amd64.deb$/amd64.deb/' | sed -r 's/Linux-i386.deb/i386.deb/'`"  
98 - done 107 + # for f in `find "$targetDir" -name "*-Linux-*.deb"`
  108 + # do
  109 + # mv "$f" "`echo $f | sed -r 's/Linux-amd64.deb$/amd64.deb/' | sed -r 's/Linux-i386.deb/i386.deb/'`"
  110 + # done
  111 +
  112 + # for f in `find "$targetDir" -name "*-Linux-*.egg"`
  113 + # do
  114 + # mv "$f" "`echo $f | sed -r 's/Linux-amd64.egg$/linux-x86_64.egg/' | sed -r 's/Linux-i386.egg$/linux-i686.egg/'`"
  115 + # done
99 116
100 - cd "$srcDir"  
101 } 117 }
  118 +export -f build
  119 +
  120 +function buildegg {
  121 + os=$1
  122 + bity=$2
  123 + embedded=$3
  124 + python_ver=$4
  125 +
  126 + if [ "$bity" = "64" ]; then
  127 + arch=amd64
  128 + else
  129 + arch=i386
  130 + fi
  131 +
  132 + buildDir=$BUILD_ROOT/$os-$bity-$embedded/morfeusz/wrappers/python${python_ver:0:1}
  133 + if [[ "$python_ver" =~ 2.* ]]
  134 + then
  135 + eggName=morfeusz2-0.4.0-py2.7
  136 + eggDir=$buildDir/$eggName
  137 + pythonIncl=python27
  138 + if [ "$os-$arch" == "Windows-amd64" ]
  139 + then
  140 + pythonDir=$CROSSMORFEUSZ_ROOT/windows64/Python27
  141 + elif [ "$os-$arch" == "Windows-i386" ]
  142 + then
  143 + pythonDir=$CROSSMORFEUSZ_ROOT/windows32/Python27
  144 + elif [ "$os-$arch" == "Linux-i386" ]
  145 + then
  146 + pythonDir=$CROSSMORFEUSZ_ROOT/linux32/python/include/python2.7
  147 + elif [ "$os-$arch" == "Darwin-amd64" ]
  148 + then
  149 + pythonIncl=python2.7
  150 + pythonDir=$CROSSMORFEUSZ_ROOT/darwin64/Python.framework/Headers
  151 + pythonLib=$CROSSMORFEUSZ_ROOT/darwin64/Python.framework/Versions/2.7/lib
  152 + fi
  153 + else
  154 + if [ "$os-$arch" == "Windows-amd64" ]
  155 + then
  156 + if [ "$python_ver" == "3.6" ]
  157 + then
  158 + pythonDir=$CROSSMORFEUSZ_ROOT/windows64/Python36
  159 + eggName=morfeusz2-0.4.0-py3.6
  160 + eggDir=$buildDir/$eggName
  161 + pythonIncl=python36
  162 + elif [ "$python_ver" == "3.7" ]
  163 + then
  164 + pythonDir=$CROSSMORFEUSZ_ROOT/windows64/Python37
  165 + eggName=morfeusz2-0.4.0-py3.7
  166 + eggDir=$buildDir/$eggName
  167 + pythonIncl=python37
  168 + fi
  169 + else
  170 + eggName=morfeusz2-0.4.0-py3.6
  171 + eggDir=$buildDir/$eggName
  172 + pythonIncl=python36
  173 + if [ "$os-$arch" == "Windows-i386" ]
  174 + then
  175 + pythonDir=$CROSSMORFEUSZ_ROOT/windows32/Python36-32
  176 + elif [ "$os-$arch" == "Linux-i386" ]
  177 + then
  178 + pythonDir=$CROSSMORFEUSZ_ROOT/linux32/python3/include/python3.4m
  179 + elif [ "$os-$arch" == "Darwin-amd64" ]
  180 + then
  181 + pythonIncl=python3.6m
  182 + pythonDir=$CROSSMORFEUSZ_ROOT/darwin64/anaconda3.6-macos/include/python3.6m
  183 + pythonLib=$CROSSMORFEUSZ_ROOT/darwin64/anaconda3.6-macos/lib
  184 + # pythonDir=$CROSSMORFEUSZ_ROOT/darwin64/Python3.framework/Versions/3.6/Headers
  185 + # pythonLib=$CROSSMORFEUSZ_ROOT/darwin64/Python3.framework/Versions/3.6/lib
  186 + fi
  187 + fi
  188 + fi
  189 +
  190 + targetDir=$TARGET_ROOT/$os/$bity
  191 + echo "src_dir: $MORFEUSZ_SRC"
  192 + echo "python_build_dir: $buildDir"
  193 + echo "egg_dir: $eggDir"
  194 + echo "python_lib_dir: $pythonDir"
  195 + if [ "$os-$arch" == "Windows-amd64" ]
  196 + then
  197 + gcc_command="x86_64-w64-mingw32-gcc -pthread -static-libgcc -static-libstdc++ -std=c++98 -DNDEBUG -DMS_WIN64 -g -fwrapv -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -Wdate-time -D_FORTIFY_SOURCE=2 -g -fno-stack-protector -Wformat -Werror=format-security -fPIC -I$MORFEUSZ_SRC/morfeusz -I$buildDir/../../.. -I$pythonDir/include -c $buildDir/swigPYTHON.cpp -o $buildDir/swigPYTHON.o"
  198 + echo "$gcc_command"
  199 + eval $gcc_command
  200 + gpp_command="x86_64-w64-mingw32-g++ -pthread -static-libgcc -static-libstdc++ -DMS_WIN64 -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -Wdate-time -D_FORTIFY_SOURCE=2 -g -fno-stack-protector -Wformat -Werror=format-security -Wl,-Bsymbolic-functions -Wdate-time -D_FORTIFY_SOURCE=2 -g -fno-stack-protector -Wformat -Werror=format-security $buildDir/swigPYTHON.o -L$buildDir/../.. -L$pythonDir/libs -lmorfeusz2 -l$pythonIncl -o $eggDir/_morfeusz2.pyd"
  201 + echo "$gpp_command"
  202 + eval $gpp_command
  203 + elif [ "$os-$arch" == "Windows-i386" ]
  204 + then
  205 + gcc_command="i686-w64-mingw32-gcc -pthread -static-libgcc -static-libstdc++ -std=c++98 -DNDEBUG -DMS_WIN64 -g -fwrapv -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -Wdate-time -D_FORTIFY_SOURCE=2 -g -fno-stack-protector -Wformat -Werror=format-security -fPIC -I$MORFEUSZ_SRC/morfeusz -I$buildDir/../../.. -I$pythonDir/include -c $buildDir/swigPYTHON.cpp -o $buildDir/swigPYTHON.o"
  206 + echo "$gcc_command"
  207 + eval $gcc_command
  208 + gpp_command="i686-w64-mingw32-g++ -pthread -static-libgcc -static-libstdc++ -DMS_WIN64 -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -Wdate-time -D_FORTIFY_SOURCE=2 -g -fno-stack-protector -Wformat -Werror=format-security -Wl,-Bsymbolic-functions -Wdate-time -D_FORTIFY_SOURCE=2 -g -fno-stack-protector -Wformat -Werror=format-security $buildDir/swigPYTHON.o -L$buildDir/../.. -L$pythonDir/libs -lmorfeusz2 -l$pythonIncl -o $eggDir/_morfeusz2.pyd"
  209 + echo "$gpp_command"
  210 + eval $gpp_command
  211 + elif [ "$os-$arch" == "Linux-i386" ]
  212 + then
  213 + gcc_command="x86_64-linux-gnu-gcc -m32 -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I$MORFEUSZ_SRC/morfeusz -I$buildDir/../../.. -I$pythonDir -I$pythonDir/.. -c $buildDir/swigPYTHON.cpp -o $buildDir/swigPYTHON.o"
  214 + echo "$gcc_command"
  215 + eval $gcc_command
  216 + gpp_command="x86_64-linux-gnu-g++ -m32 -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -specs=/usr/share/dpkg/no-pie-link.specs -Wl,-z,relro -Wl,-Bsymbolic-functions -Wl,-z,relro -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 $buildDir/swigPYTHON.o -L$buildDir/../.. -lmorfeusz2 -o $eggDir/_morfeusz2.so"
  217 + echo "$gpp_command"
  218 + eval $gpp_command
  219 + elif [ "$os-$arch" == "Darwin-amd64" ]
  220 + then
  221 + gcc_command="/usr/x86_64-apple-darwin9/bin/x86_64-apple-darwin9-gcc -std=c++98 -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -g -O2 -Wformat -D_FORTIFY_SOURCE=2 -fPIC -I$MORFEUSZ_SRC/morfeusz -I$buildDir/../../.. -I$pythonDir -I$pythonDir/.. -c $buildDir/swigPYTHON.cpp -o $buildDir/swigPYTHON.o"
  222 + eval $gcc_command
  223 + gpp_command="/usr/x86_64-apple-darwin9/bin/x86_64-apple-darwin9-g++ -std=c++98 -Wall -O3 -DNDEBUG -dynamiclib -Wl,-headerpad_max_install_names -install_name _morfeusz2.so $buildDir/swigPYTHON.o -L$buildDir/../.. -L$pythonLib -lmorfeusz2 -l$pythonIncl -o $eggDir/_morfeusz2.so"
  224 + eval $gpp_command
  225 + INSTALL_NAME_TOOL=/usr/x86_64-apple-darwin9/bin/x86_64-apple-darwin9-install_name_tool
  226 + ${INSTALL_NAME_TOOL} -change /usr/x86_64-apple-darwin9/x86_64-apple-darwin9/lib/libstdc++.6.dylib /usr/lib/libstdc++.6.dylib $eggDir/_morfeusz2.so
  227 + ${INSTALL_NAME_TOOL} -change libmorfeusz2.dylib @loader_path/libmorfeusz2.dylib $eggDir/_morfeusz2.so
  228 + # ${INSTALL_NAME_TOOL} -change libmorfeusz2.dylib @executable_path/../bin/libmorfeusz2.dylib $eggDir/_morfeusz2.so
  229 + fi
  230 +
  231 +
  232 + if [ "$os" == "Windows" ]
  233 + then
  234 + cp $buildDir/../../morfeusz2.dll $eggDir/
  235 + elif [ "$os" == "Linux" ]
  236 + then
  237 + cp $buildDir/../../libmorfeusz2.so $eggDir/
  238 + elif [ "$os" == "Darwin" ]
  239 + then
  240 + cp $buildDir/../../libmorfeusz2.dylib $eggDir/
  241 + fi
  242 +
  243 + cp $buildDir/morfeusz2.py $eggDir/
  244 + if [ -d "$buildDir/$eggName" ]; then
  245 + cd $buildDir/$eggName
  246 + if [ "$os-$arch" == "Windows-amd64" ]
  247 + then
  248 + zip -r $eggName-win-amd64.zip ./*
  249 + cp $eggName-win-amd64.zip $targetDir/$eggName-win-amd64.egg
  250 + elif [ "$os-$arch" == "Windows-i386" ]
  251 + then
  252 + zip -r $eggName-win32.zip ./*
  253 + cp $eggName-win32.zip $targetDir/$eggName-win32.egg
  254 + elif [ "$os-$arch" == "Linux-i386" ]
  255 + then
  256 + zip -r $eggName-linux-i686.zip ./*
  257 + cp $eggName-linux-i686.zip $targetDir/$eggName-linux-i686.egg
  258 + elif [ "$os-$arch" == "Darwin-amd64" ]
  259 + then
  260 + zip -r $eggName-macosx-10.9-x86_64.zip ./*
  261 + cp $eggName-macosx-10.9-x86_64.zip $targetDir/$eggName-macosx-10.9-x86_64.egg
  262 + fi
  263 + fi
  264 +
  265 +}
  266 +export -f buildegg
102 267
103 function log { 268 function log {
104 os=$1 269 os=$1
105 arch=$2 270 arch=$2
106 - stdbuf -oL sed -e $"s/^/$os-$arch:\t/" | tee "log/$os-$arch.out" 271 + stdbuf -oL sed -e $"s/^/$os-$arch:\t/" | tee -a "log/$os-$arch.out"
107 } 272 }
108 -  
109 -export -f build  
110 export -f log 273 export -f log
111 274
112 -rm -rf log target  
113 -mkdir -p log  
114 -  
115 -buildDictionaries 2>&1 | log All all  
116 -  
117 -{  
118 - #echo "build Linux amd64 true package package-java package-python package-builder 2>&1 | log Linux-tgz amd64"  
119 - #echo "build Linux amd64 false package 2>&1 | log Linux-deb amd64"  
120 - #echo "LDFLAGS=-m32;CFLAGS=-m32;CXXFLAGS=-m32 build Linux i386 true package package-java 2>&1 | log Linux-tgz i386"  
121 - #echo "LDFLAGS=-m32;CFLAGS=-m32;CXXFLAGS=-m32 build Linux i386 false package 2>&1 | log Linux-deb i386"  
122 - #echo "build Windows amd64 true package package-java 2>&1 | log Windows amd64"  
123 - #echo "build Windows i386 true package package-java 2>&1 | log Windows i386"  
124 - echo "build Darwin amd64 true package package-java 2>&1 | log Darwin amd64"  
125 -} | xargs -n1 -P2 -d$'\n' bash -c 275 +##??? rm -rf log $BUILD_ROOT
  276 +mkdir -p log
126 277
  278 +build Darwin $BITS true 2 package package-java gui-dmg 2>&1 | log Darwin $BITS;
  279 +build Darwin $BITS true 2 py2morfeusz 2>&1 | log Darwin $BITS;
  280 +buildegg Darwin $BITS true 2 2>&1 | log Darwin $BITS;
  281 +build Darwin $BITS true 3 py3morfeusz 2>&1 | log Darwin $BITS;
  282 +buildegg Darwin $BITS true 3 2>&1 | log Darwin $BITS
  283 +#build Darwin $BITS true 2 package package-java py2morfeusz 2>&1 | log Darwin $BITS
  284 +#buildegg Darwin $BITS true 2 2>&1 | log Darwin $BITS
127 285
buildDict.sh 0 → 100755
  1 +#! /bin/bash
  2 +# Buduje postać binarną i pliki .cpp zawierające słowniki SGJP i Polimorf
  3 +#
  4 +# Założenia:
  5 +# • kod źródłowy Morfeusza jest w MORFEUSZ_SRC
  6 +# • słowniki źródłowe są w katalogu SRC_DICT_DIR i nazywają się ‹słownik›-‹data›.tab
  7 +# • wynik kompilacji zostanie umieszczony w katalogu DICT_DIR (który zostanie skasowany i utworzony)
  8 +# • kompilacja odbędzie się w katalogu BUILD_DIR (który zostanie skasowany i utworzony)
  9 +
  10 +
  11 +set -ex -o pipefail
  12 +
  13 +if [ "$#" -ne 1 ]; then
  14 + echo "Exactly 1 argument needed: ‹DICT_VERSION›"
  15 + exit 1
  16 +fi
  17 +
  18 +export MORFEUSZ_SRC=`pwd`/Morfeusz
  19 +export DICT_DIR=`pwd`/dicts
  20 +export SRC_DICT_DIR=$DICT_DIR
  21 +export BUILD_DIR=`pwd`/build/dicts
  22 +
  23 +rm -rf $BUILD_DIR || true
  24 +
  25 +mkdir -p $BUILD_DIR $DICT_DIR
  26 +
  27 +cd $BUILD_DIR
  28 +cmake $MORFEUSZ_SRC
  29 +
  30 +
  31 +export DICT_VERSION="$1"
  32 +
  33 +# argument: nazwa słownika
  34 +function buildDictionary {
  35 + set -x
  36 + DICT_NAME=$1
  37 +
  38 + MAIN_DICT=$SRC_DICT_DIR/$DICT_NAME-$DICT_VERSION.tab
  39 + INPUT_DICTIONARIES="$MAIN_DICT,$MORFEUSZ_SRC/input/dodatki.tab"
  40 + INPUT_TAGSET=$MORFEUSZ_SRC/input/morfeusz-sgjp.tagset
  41 + SEGMENT_RULES_FILE=$MORFEUSZ_SRC/input/segmenty.dat
  42 + ANALYZER_DICTIONARY_CPP=$DICT_DIR/$DICT_NAME-a.cpp
  43 + GENERATOR_DICTIONARY_CPP=$DICT_DIR/$DICT_NAME-s.cpp
  44 +
  45 + fsabuilder/morfeusz_builder \
  46 + --input-files="$INPUT_DICTIONARIES" \
  47 + --tagset-file="$INPUT_TAGSET" \
  48 + --segments-file="$SEGMENT_RULES_FILE" \
  49 + --analyzer-cpp="$ANALYZER_DICTIONARY_CPP" \
  50 + --generator-cpp="$GENERATOR_DICTIONARY_CPP" \
  51 + --dict="$DICT_NAME" \
  52 + --dict-dir="$DICT_DIR"
  53 +
  54 + echo "DONE building dictionaries" >&2
  55 +
  56 + DICT_PACKAGE=morfeusz2-dictionary-${DICT_NAME}-${DICT_VERSION}.tgz
  57 + (cd $DICT_DIR; tar czvf $DICT_PACKAGE $DICT_NAME-a.dict $DICT_NAME-s.dict )
  58 + gzip "$MAIN_DICT"
  59 +}
  60 +
  61 +export -f buildDictionary
  62 +
  63 +
  64 +{
  65 + echo "buildDictionary sgjp"
  66 + echo "buildDictionary polimorf"
  67 +} | xargs -n1 -P6 -d$'\n' bash -c
buildLinux.sh 0 → 100755
  1 +#!/bin/bash
  2 +# Kompiluje bibliotekę i buduje paczki dystrybucyjne zawierające
  3 +# Morfeusza i słowniki SGJP i Polimorf
  4 +#
  5 +# Założenia:
  6 +# • kod źródłowy Morfeusza jest w MORFEUSZ_SRC
  7 +# • słowniki są już skompilowane w katalogu DICT_DIR
  8 +# • kompilacja odbędzie się w katalogu BUILD_DIR (który zostanie skasowany i utworzony)
  9 +# • wyniki zostaną umieszczone w TARGET_DIR
  10 +
  11 +#set -ex -o pipefail
  12 +set -x
  13 +
  14 +if [ "$#" -ne 4 ]; then
  15 + echo "Expected arguments: ‹DICT_NAME› ‹DICT_VERSION› ‹BUILD_ENV› ‹64/32›"
  16 + exit 1
  17 +fi
  18 +
  19 +export DICT_NAME="$1"
  20 +export DICT_VERSION="$2"
  21 +
  22 +export MORFEUSZ_SRC=`pwd`/Morfeusz
  23 +export DICT_DIR=`pwd`/dicts
  24 +export ANALYZER_DICTIONARY_CPP=$DICT_DIR/$DICT_NAME-a.cpp
  25 +export GENERATOR_DICTIONARY_CPP=$DICT_DIR/$DICT_NAME-s.cpp
  26 +
  27 +# Wersja środowiska kompilacyjnego (znaczy pod którym Ubuntu budujemy: 14.04, 16.04, 18.04, 19.04 …):
  28 +# Staje się debianowym numerem subwersji: morfeusz…_1.9.27-18.04_amd64.deb
  29 +export BUILD_ENV=$3
  30 +
  31 +export BITS=$4
  32 +
  33 +export BUILD_ROOT=`pwd`/build/$1
  34 +export TARGET_ROOT=`pwd`/target
  35 +
  36 +
  37 +
  38 +function build {
  39 + set -e -o pipefail
  40 + os=$1
  41 + arch=$2
  42 + embedded=$3
  43 + python_ver=$4
  44 + shift 4
  45 + targets=$@
  46 +
  47 +# toolchain=$MORFEUSZ_SRC/toolchains/Toolchain-$os-$arch.cmake
  48 + toolchain=$MORFEUSZ_SRC/toolchains/Toolchain-Linux-native.cmake
  49 + if [ "$os" = "Linux" ]; then
  50 + buildDir=$BUILD_ROOT/$os-$BUILD_ENV-$arch-$embedded
  51 + targetDir=$TARGET_ROOT/$os/$BUILD_ENV/$arch
  52 + else
  53 + buildDir=$BUILD_ROOT/$os-$arch-$embedded
  54 + targetDir=$TARGET_ROOT/$os/$arch
  55 + fi
  56 +# rm -rf $buildDir || true
  57 + mkdir -p $buildDir
  58 +
  59 +
  60 +# echo "Will use $toolchain toolchain"
  61 +
  62 + # rm -rf $buildDir
  63 + #~ rm -rf $targetDir
  64 + mkdir -p $buildDir
  65 + rm -f $buildDir/CMakeCache.txt
  66 + mkdir -p $targetDir
  67 + cd $buildDir
  68 +
  69 + if [ "$embedded" = true ]
  70 + then
  71 + if [ "$os" == "Linux" ]
  72 + then
  73 + CPACK_GENERATOR=TGZ
  74 + fi
  75 + CMAKE_ARGS="-D CMAKE_TOOLCHAIN_FILE=$toolchain \
  76 + -D TARGET_DIR=$targetDir \
  77 + -D ANALYZER_DICTIONARY_CPP=$ANALYZER_DICTIONARY_CPP \
  78 + -D GENERATOR_DICTIONARY_CPP=$GENERATOR_DICTIONARY_CPP \
  79 + -D DEFAULT_DICT_NAME=$DICT_NAME \
  80 + -D SKIP_DICTIONARY_BUILDING=1 \
  81 + -D EMBEDDED_DEFAULT_DICT=1 \
  82 + -D DICT_VERSION=$DICT_VERSION \
  83 + -D BUILT_ON=$BUILD_ENV "
  84 + if [ "$CPACK_GENERATOR" != "" ]
  85 + then
  86 + CMAKE_ARGS="$CMAKE_ARGS -D CPACK_GENERATOR=$CPACK_GENERATOR"
  87 + fi
  88 + else
  89 + # "setting default ACL to prevent control-file-has-bad-permissions lintian error"
  90 + setfacl -R -d -m o::rx -m g::rx -m u::rwx .
  91 +
  92 + CMAKE_ARGS="-D CMAKE_TOOLCHAIN_FILE=$toolchain \
  93 + -D TARGET_DIR=$targetDir \
  94 + -D DEFAULT_DICT_DIR=$DICT_DIR \
  95 + -D DEFAULT_DICT_NAME=$DICT_NAME \
  96 + -D SKIP_DICTIONARY_BUILDING=1 \
  97 + -D CPACK_GENERATOR=DEB \
  98 + -D DICT_VERSION=$DICT_VERSION \
  99 + -D BUILT_ON=$BUILD_ENV "
  100 + fi
  101 + CMAKE_ARGS="$CMAKE_ARGS -D PY=$python_ver"
  102 + cmake $CMAKE_ARGS $MORFEUSZ_SRC 2>&1
  103 + echo "building for $os-$arch ($BUILD_ENV)" >&2
  104 +# make
  105 + make $targets
  106 +
  107 + # for f in `find "$targetDir" -name "*-Linux-*.deb"`
  108 + # do
  109 + # mv "$f" "`echo $f | sed -r 's/Linux-amd64.deb$/amd64.deb/' | sed -r 's/Linux-i386.deb/i386.deb/'`"
  110 + # done
  111 +
  112 + # for f in `find "$targetDir" -name "*-Linux-*.egg"`
  113 + # do
  114 + # mv "$f" "`echo $f | sed -r 's/Linux-amd64.egg$/linux-x86_64.egg/' | sed -r 's/Linux-i386.egg$/linux-i686.egg/'`"
  115 + # done
  116 +
  117 +}
  118 +export -f build
  119 +
  120 +function log {
  121 + os=$1
  122 + arch=$2
  123 + stdbuf -oL sed -e $"s/^/$os-$BUILD_ENV-$arch:\t/" | tee -a "log/$os-$BUILD_ENV-$arch.out"
  124 +}
  125 +export -f log
  126 +
  127 +##??? rm -rf log $BUILD_ROOT
  128 +mkdir -p log
  129 +
  130 +build Linux $BITS true 2.7 package package-java gui-tgz package-python2 2>&1 | log Linux-tgz2 $BITS;
  131 +build Linux $BITS true 3.0 package-python3 package-builder 2>&1 | log Linux-tgz3 $BITS
  132 +build Linux $BITS false 0 lib-deb bin-deb dev-deb dictionary-deb java-deb gui-deb 2>&1 | log Linux-deb $BITS
  133 +
  134 +
  135 +# {
  136 +# echo "build Linux amd64 true 2.7 package package-java package-python2 package-builder 2>&1 | log Linux-tgz2 amd64; \
  137 +# build Linux amd64 true 3.0 package-python3 2>&1 | log Linux-tgz3 amd64"
  138 +# echo "build Linux amd64 false 0 lib-deb bin-deb dev-deb dictionary-deb java-deb 2>&1 | log Linux-deb amd64"
  139 +# echo "LDFLAGS=-m32;CFLAGS=-m32;CXXFLAGS=-m32 build Linux i386 true 2.7 package package-java py2morfeusz 2>&1 | log Linux-tgz i386; \
  140 +# buildegg Linux i386 true 2.7 2>&1 | log Linux i386; \
  141 +# LDFLAGS=-m32;CFLAGS=-m32;CXXFLAGS=-m32 build Linux i386 true 3.0 py3morfeusz 2>&1 | log Linux-tgz i386; \
  142 +# buildegg Linux i386 true 3.0 2>&1 | log Linux i386"
  143 +# echo "LDFLAGS=-m32;CFLAGS=-m32;CXXFLAGS=-m32 build Linux i386 false 0 lib-deb bin-deb java-deb 2>&1 | log Linux-deb i386"
  144 +# echo "build Windows amd64 true 2.7 package package-java py2morfeusz 2>&1 | log Windows amd64; \
  145 +# buildegg Windows amd64 true 2.7 2>&1 | log Windows amd64; \
  146 +# build Windows amd64 true 3.6 py3morfeusz 2>&1 | log Windows amd64; \
  147 +# buildegg Windows amd64 true 3.6 2>&1 | log Windows amd64; \
  148 +# build Windows amd64 true 3.7 py3morfeusz 2>&1 | log Windows amd64; \
  149 +# buildegg Windows amd64 true 3.7 2>&1 | log Windows amd64"
  150 +# echo "build Windows i386 true 2.7 package package-java py2morfeusz 2>&1 | log Windows i386; \
  151 +# buildegg Windows i386 true 2.7 2>&1 | log Windows i386; \
  152 +# build Windows i386 true 3.0 py3morfeusz 2>&1 | log Windows i386 \
  153 +# buildegg Windows i386 true 3.0 2>&1 | log Windows i386"
  154 +# echo "build Darwin amd64 true 2 package package-java py2morfeusz 2>&1 | log Darwin amd64; \
  155 +# buildegg Darwin amd64 true 2 2>&1 | log Darwin amd64; \
  156 +# build Darwin amd64 true 3 py3morfeusz 2>&1 | log Darwin amd64; \
  157 +# buildegg Darwin amd64 true 3 2>&1 | log Darwin amd64"
  158 +# echo "build Darwin amd64 true 2 package package-java py2morfeusz 2>&1 | log Darwin amd64"
  159 +# echo "buildegg Darwin amd64 true 2 2>&1 | log Darwin amd64"
  160 +
  161 +# } | xargs -n1 -P6 -d$'\n' bash -c
buildOtherDict.sh 0 → 100755
  1 +#!/bin/bash
  2 +# Kompiluje pakiet debianowy z dodatkowym słownikiem dla Morfeusza
  3 +# [Zrobione z myślą o Polimorfie, ale można użyć do innych.]
  4 +#
  5 +# Założenia:
  6 +# • kod źródłowy Morfeusza jest w MORFEUSZ_SRC
  7 +# • słowniki są już skompilowane w katalogu DICT_DIR
  8 +# • kompilacja odbędzie się w katalogu BUILD_DIR (który zostanie skasowany i utworzony)
  9 +# • wyniki zostaną umieszczone w TARGET_DIR
  10 +
  11 +#set -ex -o pipefail
  12 +set -x
  13 +
  14 +if [ "$#" -ne 2 ]; then
  15 + echo "Expected arguments: ‹DICT_NAME› ‹DICT_VERSION›"
  16 + exit 1
  17 +fi
  18 +
  19 +export DICT_NAME="$1"
  20 +export DICT_VERSION="$2"
  21 +
  22 +export MORFEUSZ_SRC=`pwd`/Morfeusz
  23 +export DICT_DIR=`pwd`/dicts
  24 +export CROSSMORFEUSZ_ROOT=${HOME}/crossmorfeusz
  25 +export ANALYZER_DICTIONARY_CPP=$DICT_DIR/$DICT_NAME-a.cpp
  26 +export GENERATOR_DICTIONARY_CPP=$DICT_DIR/$DICT_NAME-s.cpp
  27 +
  28 +# Wersja środowiska kompilacyjnego (znaczy pod którym Ubuntu budujemy: 14.04, 16.04, 18.04, 19.04 …):
  29 +# Staje się debianowym numerem subwersji: morfeusz…_1.9.27-18.04_amd64.deb
  30 +export BUILD_ENV=18.04
  31 +
  32 +export BITS=64
  33 +
  34 +export BUILD_ROOT=`pwd`/build/$1
  35 +export TARGET_ROOT=`pwd`/target
  36 +
  37 +
  38 +
  39 +function build {
  40 + set -e -o pipefail
  41 + os=$1
  42 + arch=$2
  43 + embedded=$3
  44 + python_ver=$4
  45 + shift 4
  46 + targets=$@
  47 +
  48 +# toolchain=$MORFEUSZ_SRC/toolchains/Toolchain-$os-$arch.cmake
  49 + toolchain=$MORFEUSZ_SRC/toolchains/Toolchain-Linux-native.cmake
  50 + buildDir=$BUILD_ROOT/$os-$BUILD_ENV-$arch-$embedded
  51 + targetDir=$TARGET_ROOT/$os/$BUILD_ENV/$arch
  52 +# rm -rf $buildDir || true
  53 + mkdir -p $buildDir
  54 +
  55 +
  56 +# echo "Will use $toolchain toolchain"
  57 +
  58 + # rm -rf $buildDir
  59 + #~ rm -rf $targetDir
  60 + mkdir -p $buildDir
  61 + rm -f $buildDir/CMakeCache.txt
  62 + mkdir -p $targetDir
  63 + cd $buildDir
  64 +
  65 + if [ "$embedded" = true ]
  66 + then
  67 + if [ "$os" == "Linux" ]
  68 + then
  69 + CPACK_GENERATOR=TGZ
  70 + fi
  71 + CMAKE_ARGS="-D CMAKE_TOOLCHAIN_FILE=$toolchain \
  72 + -D TARGET_DIR=$targetDir \
  73 + -D ANALYZER_DICTIONARY_CPP=$ANALYZER_DICTIONARY_CPP \
  74 + -D GENERATOR_DICTIONARY_CPP=$GENERATOR_DICTIONARY_CPP \
  75 + -D DEFAULT_DICT_NAME=$DICT_NAME \
  76 + -D SKIP_DICTIONARY_BUILDING=1 \
  77 + -D EMBEDDED_DEFAULT_DICT=1 \
  78 + -D DICT_VERSION=$DICT_VERSION \
  79 + -D BUILT_ON=$BUILD_ENV "
  80 + if [ "$CPACK_GENERATOR" != "" ]
  81 + then
  82 + CMAKE_ARGS="$CMAKE_ARGS -D CPACK_GENERATOR=$CPACK_GENERATOR"
  83 + fi
  84 + else
  85 + # "setting default ACL to prevent control-file-has-bad-permissions lintian error"
  86 + setfacl -R -d -m o::rx -m g::rx -m u::rwx .
  87 +
  88 + CMAKE_ARGS="-D CMAKE_TOOLCHAIN_FILE=$toolchain \
  89 + -D TARGET_DIR=$targetDir \
  90 + -D DEFAULT_DICT_DIR=$DICT_DIR \
  91 + -D DEFAULT_DICT_NAME=$DICT_NAME \
  92 + -D SKIP_DICTIONARY_BUILDING=1 \
  93 + -D CPACK_GENERATOR=DEB \
  94 + -D DICT_VERSION=$DICT_VERSION \
  95 + -D BUILT_ON=$BUILD_ENV "
  96 + fi
  97 + CMAKE_ARGS="$CMAKE_ARGS -D PY=$python_ver"
  98 + cmake $CMAKE_ARGS $MORFEUSZ_SRC 2>&1
  99 + echo "building $DICT_NAME for $os-$arch ($BUILD_ENV)" >&2
  100 +# make
  101 + make $targets
  102 +
  103 + # for f in `find "$targetDir" -name "*-Linux-*.deb"`
  104 + # do
  105 + # mv "$f" "`echo $f | sed -r 's/Linux-amd64.deb$/amd64.deb/' | sed -r 's/Linux-i386.deb/i386.deb/'`"
  106 + # done
  107 +
  108 + # for f in `find "$targetDir" -name "*-Linux-*.egg"`
  109 + # do
  110 + # mv "$f" "`echo $f | sed -r 's/Linux-amd64.egg$/linux-x86_64.egg/' | sed -r 's/Linux-i386.egg$/linux-i686.egg/'`"
  111 + # done
  112 +
  113 +}
  114 +export -f build
  115 +
  116 +function log {
  117 + os=$1
  118 + arch=$2
  119 + stdbuf -oL sed -e $"s/^/$os-$BUILD_ENV-$arch:\t/" | tee "log/$os-$BUILD_ENV-$arch-$DICT_NAME.out"
  120 +}
  121 +export -f log
  122 +
  123 +##??? rm -rf log $BUILD_ROOT
  124 +mkdir -p log
  125 +
  126 +build Linux $BITS false 0 dictionary-deb 2>&1 | log Linux-deb $BITS
  127 +
  128 +
  129 +# {
  130 +# echo "build Linux amd64 true 2.7 package package-java package-python2 package-builder 2>&1 | log Linux-tgz2 amd64; \
  131 +# build Linux amd64 true 3.0 package-python3 2>&1 | log Linux-tgz3 amd64"
  132 +# echo "build Linux amd64 false 0 lib-deb bin-deb dev-deb dictionary-deb java-deb 2>&1 | log Linux-deb amd64"
  133 +# echo "LDFLAGS=-m32;CFLAGS=-m32;CXXFLAGS=-m32 build Linux i386 true 2.7 package package-java py2morfeusz 2>&1 | log Linux-tgz i386; \
  134 +# buildegg Linux i386 true 2.7 2>&1 | log Linux i386; \
  135 +# LDFLAGS=-m32;CFLAGS=-m32;CXXFLAGS=-m32 build Linux i386 true 3.0 py3morfeusz 2>&1 | log Linux-tgz i386; \
  136 +# buildegg Linux i386 true 3.0 2>&1 | log Linux i386"
  137 +# echo "LDFLAGS=-m32;CFLAGS=-m32;CXXFLAGS=-m32 build Linux i386 false 0 lib-deb bin-deb java-deb 2>&1 | log Linux-deb i386"
  138 +# echo "build Windows amd64 true 2.7 package package-java py2morfeusz 2>&1 | log Windows amd64; \
  139 +# buildegg Windows amd64 true 2.7 2>&1 | log Windows amd64; \
  140 +# build Windows amd64 true 3.6 py3morfeusz 2>&1 | log Windows amd64; \
  141 +# buildegg Windows amd64 true 3.6 2>&1 | log Windows amd64; \
  142 +# build Windows amd64 true 3.7 py3morfeusz 2>&1 | log Windows amd64; \
  143 +# buildegg Windows amd64 true 3.7 2>&1 | log Windows amd64"
  144 +# echo "build Windows i386 true 2.7 package package-java py2morfeusz 2>&1 | log Windows i386; \
  145 +# buildegg Windows i386 true 2.7 2>&1 | log Windows i386; \
  146 +# build Windows i386 true 3.0 py3morfeusz 2>&1 | log Windows i386 \
  147 +# buildegg Windows i386 true 3.0 2>&1 | log Windows i386"
  148 +# echo "build Darwin amd64 true 2 package package-java py2morfeusz 2>&1 | log Darwin amd64; \
  149 +# buildegg Darwin amd64 true 2 2>&1 | log Darwin amd64; \
  150 +# build Darwin amd64 true 3 py3morfeusz 2>&1 | log Darwin amd64; \
  151 +# buildegg Darwin amd64 true 3 2>&1 | log Darwin amd64"
  152 +# echo "build Darwin amd64 true 2 package package-java py2morfeusz 2>&1 | log Darwin amd64"
  153 +# echo "buildegg Darwin amd64 true 2 2>&1 | log Darwin amd64"
  154 +
  155 +# } | xargs -n1 -P6 -d$'\n' bash -c
buildAll.sh renamed to buildWindows.sh
1 #!/bin/bash 1 #!/bin/bash
  2 +# Kompiluje bibliotekę i buduje paczki dystrybucyjne zawierające
  3 +# Morfeusza i słowniki SGJP i Polimorf
  4 +#
  5 +# Założenia:
  6 +# • kod źródłowy Morfeusza jest w MORFEUSZ_SRC
  7 +# • słowniki są już skompilowane w katalogu DICT_DIR
  8 +# • kompilacja odbędzie się w katalogu BUILD_DIR (który zostanie skasowany i utworzony)
  9 +# • wyniki zostaną umieszczone w TARGET_DIR
2 10
3 -set -e -o pipefail 11 +#set -ex -o pipefail
  12 +set -x
4 13
5 -if [ "$#" -ne 4 ]; then  
6 - echo "Must provide exactly 4 arguments: <CROSSMORFEUSZ_ROOT> <INPUT_DICTIONARIES> <DEFAULT_DICT_NAME> <DICT_VERSION>" 14 +if [ "$#" -ne 3 ]; then
  15 + echo "Expected arguments: ‹DICT_NAME› ‹DICT_VERSION› ‹64/32›"
7 exit 1 16 exit 1
8 fi 17 fi
9 18
10 -export CROSSMORFEUSZ_ROOT="$1"  
11 -export INPUT_DICTIONARIES="$2"  
12 -export DEFAULT_DICT_NAME="$3"  
13 -export DICT_VERSION="$4"  
14 -export ANALYZER_DICTIONARY_CPP=`mktemp`.cpp  
15 -export GENERATOR_DICTIONARY_CPP=`mktemp`.cpp  
16 -export DICT_DIR=`mktemp -d` 19 +export DICT_NAME="$1"
  20 +export DICT_VERSION="$2"
  21 +export BITS=$3
  22 +
  23 +
  24 +export MORFEUSZ_SRC=`pwd`/Morfeusz
  25 +export DICT_DIR=`pwd`/dicts
  26 +export CROSSMORFEUSZ_ROOT=${HOME}/crosslibs
  27 +export ANALYZER_DICTIONARY_CPP=$DICT_DIR/$DICT_NAME-a.cpp
  28 +export GENERATOR_DICTIONARY_CPP=$DICT_DIR/$DICT_NAME-s.cpp
  29 +
  30 +
  31 +export BUILD_ROOT=`pwd`/build/$1
  32 +export TARGET_ROOT=`pwd`/target
  33 +
17 34
18 -function buildDictionaries {  
19 -  
20 - INPUT_TAGSET=input/morfeusz-sgjp.tagset  
21 - SEGMENT_RULES_FILE=input/segmenty.dat  
22 -  
23 - python fsabuilder/morfeusz_builder \  
24 - --input-files="$INPUT_DICTIONARIES" \  
25 - --tagset-file="$INPUT_TAGSET" \  
26 - --segments-file="$SEGMENT_RULES_FILE" \  
27 - --analyzer-cpp="$ANALYZER_DICTIONARY_CPP" \  
28 - --generator-cpp="$GENERATOR_DICTIONARY_CPP" \  
29 - --dict="$DEFAULT_DICT_NAME" \  
30 - --dict-dir="$DICT_DIR"  
31 -  
32 - echo "DONE building dictionaries" >&2  
33 -}  
34 35
35 function build { 36 function build {
36 set -e -o pipefail 37 set -e -o pipefail
37 os=$1 38 os=$1
38 - arch=$2 39 + bity=$2
39 embedded=$3 40 embedded=$3
40 python_ver=$4 41 python_ver=$4
41 - shift  
42 - shift  
43 - shift  
44 - shift 42 + shift 4
45 targets=$@ 43 targets=$@
  44 +
  45 + if [ "$bity" = "64" ]; then
  46 + arch=amd64
  47 + else
  48 + arch=i386
  49 + fi
  50 +
  51 + toolchain=$MORFEUSZ_SRC/toolchains/Toolchain-$os-$arch.cmake
  52 +
  53 + buildDir=$BUILD_ROOT/$os-$bity-$embedded
  54 + targetDir=$TARGET_ROOT/$os/$bity
  55 +
  56 +# rm -rf $buildDir || true
  57 + mkdir -p $buildDir
  58 +
46 59
47 - srcDir=`pwd`  
48 - buildDir=buildall/$os-$arch-$embedded  
49 - targetDir=$srcDir/target  
50 - toolchain=$srcDir/toolchains/Toolchain-$os-$arch.cmake  
51 -  
52 - echo "Will use $toolchain toolchain" 60 +# echo "Will use $toolchain toolchain"
53 61
54 # rm -rf $buildDir 62 # rm -rf $buildDir
55 #~ rm -rf $targetDir 63 #~ rm -rf $targetDir
56 - rm -f $buildDir/CMakeCache.txt  
57 mkdir -p $buildDir 64 mkdir -p $buildDir
  65 + rm -f $buildDir/CMakeCache.txt
58 mkdir -p $targetDir 66 mkdir -p $targetDir
59 cd $buildDir 67 cd $buildDir
60 68
@@ -69,64 +77,59 @@ function build { @@ -69,64 +77,59 @@ function build {
69 -D TARGET_DIR=$targetDir \ 77 -D TARGET_DIR=$targetDir \
70 -D ANALYZER_DICTIONARY_CPP=$ANALYZER_DICTIONARY_CPP \ 78 -D ANALYZER_DICTIONARY_CPP=$ANALYZER_DICTIONARY_CPP \
71 -D GENERATOR_DICTIONARY_CPP=$GENERATOR_DICTIONARY_CPP \ 79 -D GENERATOR_DICTIONARY_CPP=$GENERATOR_DICTIONARY_CPP \
72 - -D DEFAULT_DICT_NAME=$DEFAULT_DICT_NAME \ 80 + -D DEFAULT_DICT_NAME=$DICT_NAME \
73 -D SKIP_DICTIONARY_BUILDING=1 \ 81 -D SKIP_DICTIONARY_BUILDING=1 \
74 -D EMBEDDED_DEFAULT_DICT=1 \ 82 -D EMBEDDED_DEFAULT_DICT=1 \
75 - -D DICT_VERSION=$DICT_VERSION" 83 + -D DICT_VERSION=$DICT_VERSION "
76 if [ "$CPACK_GENERATOR" != "" ] 84 if [ "$CPACK_GENERATOR" != "" ]
77 then 85 then
78 CMAKE_ARGS="$CMAKE_ARGS -D CPACK_GENERATOR=$CPACK_GENERATOR" 86 CMAKE_ARGS="$CMAKE_ARGS -D CPACK_GENERATOR=$CPACK_GENERATOR"
79 fi 87 fi
80 else 88 else
81 - echo "setting default ACL to prevent control-file-has-bad-permissions lintian error"  
82 - setfacl -R -d -m o::rx -m g::rx -m u::rwx . 89 + # "setting default ACL to prevent control-file-has-bad-permissions lintian error"
  90 + #setfacl -R -d -m o::rx -m g::rx -m u::rwx .
83 91
84 CMAKE_ARGS="-D CROSSMORFEUSZ_ROOT=$CROSSMORFEUSZ_ROOT \ 92 CMAKE_ARGS="-D CROSSMORFEUSZ_ROOT=$CROSSMORFEUSZ_ROOT \
85 -D CMAKE_TOOLCHAIN_FILE=$toolchain \ 93 -D CMAKE_TOOLCHAIN_FILE=$toolchain \
86 -D TARGET_DIR=$targetDir \ 94 -D TARGET_DIR=$targetDir \
87 -D DEFAULT_DICT_DIR=$DICT_DIR \ 95 -D DEFAULT_DICT_DIR=$DICT_DIR \
88 - -D DEFAULT_DICT_NAME=$DEFAULT_DICT_NAME \ 96 + -D DEFAULT_DICT_NAME=$DICT_NAME \
89 -D SKIP_DICTIONARY_BUILDING=1 \ 97 -D SKIP_DICTIONARY_BUILDING=1 \
90 -D CPACK_GENERATOR=DEB \ 98 -D CPACK_GENERATOR=DEB \
91 - -D DICT_VERSION=$DICT_VERSION" 99 + -D DICT_VERSION=$DICT_VERSION "
92 fi 100 fi
93 CMAKE_ARGS="$CMAKE_ARGS -D PY=$python_ver" 101 CMAKE_ARGS="$CMAKE_ARGS -D PY=$python_ver"
94 - cmake $CMAKE_ARGS $srcDir 2>&1  
95 - echo "building $toolchain" >&2  
96 - make 102 + cmake $CMAKE_ARGS $MORFEUSZ_SRC 2>&1
  103 + echo "building for $os-$arch" >&2
  104 +# make
97 make $targets 105 make $targets
98 106
99 - for f in `find "$targetDir" -name "*-Linux-*.deb"`  
100 - do  
101 - mv "$f" "`echo $f | sed -r 's/Linux-amd64.deb$/amd64.deb/' | sed -r 's/Linux-i386.deb/i386.deb/'`"  
102 - done 107 + # for f in `find "$targetDir" -name "*-Linux-*.deb"`
  108 + # do
  109 + # mv "$f" "`echo $f | sed -r 's/Linux-amd64.deb$/amd64.deb/' | sed -r 's/Linux-i386.deb/i386.deb/'`"
  110 + # done
103 111
104 - for f in `find "$targetDir" -name "*-Linux-*.egg"`  
105 - do  
106 - mv "$f" "`echo $f | sed -r 's/Linux-amd64.egg$/linux-x86_64.egg/' | sed -r 's/Linux-i386.egg$/linux-i686.egg/'`"  
107 - done  
108 -  
109 - if [ "$os" = Linux -a "$embedded" = false ]; then  
110 - "$srcDir/createDictionaryDeb.sh" "$DICT_DIR" "${DEFAULT_DICT_NAME}" "${DICT_VERSION}" "${targetDir}"  
111 - fi 112 + # for f in `find "$targetDir" -name "*-Linux-*.egg"`
  113 + # do
  114 + # mv "$f" "`echo $f | sed -r 's/Linux-amd64.egg$/linux-x86_64.egg/' | sed -r 's/Linux-i386.egg$/linux-i686.egg/'`"
  115 + # done
112 116
113 - cd "$srcDir"  
114 -}  
115 -  
116 -function log {  
117 - os=$1  
118 - arch=$2  
119 - stdbuf -oL sed -e $"s/^/$os-$arch:\t/" | tee "log/$os-$arch.out"  
120 } 117 }
  118 +export -f build
121 119
122 function buildegg { 120 function buildegg {
123 os=$1 121 os=$1
124 - arch=$2 122 + bity=$2
125 embedded=$3 123 embedded=$3
126 python_ver=$4 124 python_ver=$4
127 125
128 - srcDir=`pwd`  
129 - buildDir=buildall/$os-$arch-$embedded/morfeusz/wrappers/python${python_ver:0:1} 126 + if [ "$bity" = "64" ]; then
  127 + arch=amd64
  128 + else
  129 + arch=i386
  130 + fi
  131 +
  132 + buildDir=$BUILD_ROOT/$os-$bity-$embedded/morfeusz/wrappers/python${python_ver:0:1}
130 if [[ "$python_ver" =~ 2.* ]] 133 if [[ "$python_ver" =~ 2.* ]]
131 then 134 then
132 eggName=morfeusz2-0.4.0-py2.7 135 eggName=morfeusz2-0.4.0-py2.7
@@ -182,14 +185,14 @@ function buildegg { @@ -182,14 +185,14 @@ function buildegg {
182 fi 185 fi
183 fi 186 fi
184 187
185 - targetDir=$srcDir/target  
186 - echo "$srcDir"  
187 - echo "$buildDir"  
188 - echo "$eggDir"  
189 - echo "$pythonDir" 188 + targetDir=$TARGET_ROOT/$os/$bity
  189 + echo "src_dir: $MORFEUSZ_SRC"
  190 + echo "python_build_dir: $buildDir"
  191 + echo "egg_dir: $eggDir"
  192 + echo "python_lib_dir: $pythonDir"
190 if [ "$os-$arch" == "Windows-amd64" ] 193 if [ "$os-$arch" == "Windows-amd64" ]
191 then 194 then
192 - gcc_command="x86_64-w64-mingw32-gcc -pthread -static-libgcc -static-libstdc++ -std=c++98 -DNDEBUG -DMS_WIN64 -g -fwrapv -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -Wdate-time -D_FORTIFY_SOURCE=2 -g -fno-stack-protector -Wformat -Werror=format-security -fPIC -I$srcDir/morfeusz -I$buildDir/../../.. -I$pythonDir/include -c $buildDir/swigPYTHON.cpp -o $buildDir/swigPYTHON.o" 195 + gcc_command="x86_64-w64-mingw32-gcc -pthread -static-libgcc -static-libstdc++ -std=c++98 -DNDEBUG -DMS_WIN64 -g -fwrapv -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -Wdate-time -D_FORTIFY_SOURCE=2 -g -fno-stack-protector -Wformat -Werror=format-security -fPIC -I$MORFEUSZ_SRC/morfeusz -I$buildDir/../../.. -I$pythonDir/include -c $buildDir/swigPYTHON.cpp -o $buildDir/swigPYTHON.o"
193 echo "$gcc_command" 196 echo "$gcc_command"
194 eval $gcc_command 197 eval $gcc_command
195 gpp_command="x86_64-w64-mingw32-g++ -pthread -static-libgcc -static-libstdc++ -DMS_WIN64 -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -Wdate-time -D_FORTIFY_SOURCE=2 -g -fno-stack-protector -Wformat -Werror=format-security -Wl,-Bsymbolic-functions -Wdate-time -D_FORTIFY_SOURCE=2 -g -fno-stack-protector -Wformat -Werror=format-security $buildDir/swigPYTHON.o -L$buildDir/../.. -L$pythonDir/libs -lmorfeusz2 -l$pythonIncl -o $eggDir/_morfeusz2.pyd" 198 gpp_command="x86_64-w64-mingw32-g++ -pthread -static-libgcc -static-libstdc++ -DMS_WIN64 -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -Wdate-time -D_FORTIFY_SOURCE=2 -g -fno-stack-protector -Wformat -Werror=format-security -Wl,-Bsymbolic-functions -Wdate-time -D_FORTIFY_SOURCE=2 -g -fno-stack-protector -Wformat -Werror=format-security $buildDir/swigPYTHON.o -L$buildDir/../.. -L$pythonDir/libs -lmorfeusz2 -l$pythonIncl -o $eggDir/_morfeusz2.pyd"
@@ -197,7 +200,7 @@ function buildegg { @@ -197,7 +200,7 @@ function buildegg {
197 eval $gpp_command 200 eval $gpp_command
198 elif [ "$os-$arch" == "Windows-i386" ] 201 elif [ "$os-$arch" == "Windows-i386" ]
199 then 202 then
200 - gcc_command="i686-w64-mingw32-gcc -pthread -static-libgcc -static-libstdc++ -std=c++98 -DNDEBUG -DMS_WIN64 -g -fwrapv -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -Wdate-time -D_FORTIFY_SOURCE=2 -g -fno-stack-protector -Wformat -Werror=format-security -fPIC -I$srcDir/morfeusz -I$buildDir/../../.. -I$pythonDir/include -c $buildDir/swigPYTHON.cpp -o $buildDir/swigPYTHON.o" 203 + gcc_command="i686-w64-mingw32-gcc -pthread -static-libgcc -static-libstdc++ -std=c++98 -DNDEBUG -DMS_WIN64 -g -fwrapv -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -Wdate-time -D_FORTIFY_SOURCE=2 -g -fno-stack-protector -Wformat -Werror=format-security -fPIC -I$MORFEUSZ_SRC/morfeusz -I$buildDir/../../.. -I$pythonDir/include -c $buildDir/swigPYTHON.cpp -o $buildDir/swigPYTHON.o"
201 echo "$gcc_command" 204 echo "$gcc_command"
202 eval $gcc_command 205 eval $gcc_command
203 gpp_command="i686-w64-mingw32-g++ -pthread -static-libgcc -static-libstdc++ -DMS_WIN64 -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -Wdate-time -D_FORTIFY_SOURCE=2 -g -fno-stack-protector -Wformat -Werror=format-security -Wl,-Bsymbolic-functions -Wdate-time -D_FORTIFY_SOURCE=2 -g -fno-stack-protector -Wformat -Werror=format-security $buildDir/swigPYTHON.o -L$buildDir/../.. -L$pythonDir/libs -lmorfeusz2 -l$pythonIncl -o $eggDir/_morfeusz2.pyd" 206 gpp_command="i686-w64-mingw32-g++ -pthread -static-libgcc -static-libstdc++ -DMS_WIN64 -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -Wdate-time -D_FORTIFY_SOURCE=2 -g -fno-stack-protector -Wformat -Werror=format-security -Wl,-Bsymbolic-functions -Wdate-time -D_FORTIFY_SOURCE=2 -g -fno-stack-protector -Wformat -Werror=format-security $buildDir/swigPYTHON.o -L$buildDir/../.. -L$pythonDir/libs -lmorfeusz2 -l$pythonIncl -o $eggDir/_morfeusz2.pyd"
@@ -205,7 +208,7 @@ function buildegg { @@ -205,7 +208,7 @@ function buildegg {
205 eval $gpp_command 208 eval $gpp_command
206 elif [ "$os-$arch" == "Linux-i386" ] 209 elif [ "$os-$arch" == "Linux-i386" ]
207 then 210 then
208 - gcc_command="x86_64-linux-gnu-gcc -m32 -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I$srcDir/morfeusz -I$buildDir/../../.. -I$pythonDir -I$pythonDir/.. -c $buildDir/swigPYTHON.cpp -o $buildDir/swigPYTHON.o" 211 + gcc_command="x86_64-linux-gnu-gcc -m32 -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I$MORFEUSZ_SRC/morfeusz -I$buildDir/../../.. -I$pythonDir -I$pythonDir/.. -c $buildDir/swigPYTHON.cpp -o $buildDir/swigPYTHON.o"
209 echo "$gcc_command" 212 echo "$gcc_command"
210 eval $gcc_command 213 eval $gcc_command
211 gpp_command="x86_64-linux-gnu-g++ -m32 -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -specs=/usr/share/dpkg/no-pie-link.specs -Wl,-z,relro -Wl,-Bsymbolic-functions -Wl,-z,relro -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 $buildDir/swigPYTHON.o -L$buildDir/../.. -lmorfeusz2 -o $eggDir/_morfeusz2.so" 214 gpp_command="x86_64-linux-gnu-g++ -m32 -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -specs=/usr/share/dpkg/no-pie-link.specs -Wl,-z,relro -Wl,-Bsymbolic-functions -Wl,-z,relro -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 $buildDir/swigPYTHON.o -L$buildDir/../.. -lmorfeusz2 -o $eggDir/_morfeusz2.so"
@@ -213,7 +216,7 @@ function buildegg { @@ -213,7 +216,7 @@ function buildegg {
213 eval $gpp_command 216 eval $gpp_command
214 elif [ "$os-$arch" == "Darwin-amd64" ] 217 elif [ "$os-$arch" == "Darwin-amd64" ]
215 then 218 then
216 - gcc_command="/home/zil/crossmorfeusz/darwin64/x86_64-apple-darwin9/bin/x86_64-apple-darwin9-gcc -std=c++98 -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -g -O2 -Wformat -D_FORTIFY_SOURCE=2 -fPIC -I$srcDir/morfeusz -I$buildDir/../../.. -I$pythonDir -I$pythonDir/.. -c $buildDir/swigPYTHON.cpp -o $buildDir/swigPYTHON.o" 219 + gcc_command="/home/zil/crossmorfeusz/darwin64/x86_64-apple-darwin9/bin/x86_64-apple-darwin9-gcc -std=c++98 -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -g -O2 -Wformat -D_FORTIFY_SOURCE=2 -fPIC -I$MORFEUSZ_SRC/morfeusz -I$buildDir/../../.. -I$pythonDir -I$pythonDir/.. -c $buildDir/swigPYTHON.cpp -o $buildDir/swigPYTHON.o"
217 echo "$gcc_command" 220 echo "$gcc_command"
218 eval $gcc_command 221 eval $gcc_command
219 gpp_command="/home/zil/crossmorfeusz/darwin64/x86_64-apple-darwin9/bin/x86_64-apple-darwin9-g++ -std=c++98 -Wall -O3 -DNDEBUG -dynamiclib -Wl,-headerpad_max_install_names -install_name _morfeusz2.so $buildDir/swigPYTHON.o -L$buildDir/../.. -L$pythonLib -lmorfeusz2 -l$pythonIncl -o $eggDir/_morfeusz2.so" 222 gpp_command="/home/zil/crossmorfeusz/darwin64/x86_64-apple-darwin9/bin/x86_64-apple-darwin9-g++ -std=c++98 -Wall -O3 -DNDEBUG -dynamiclib -Wl,-headerpad_max_install_names -install_name _morfeusz2.so $buildDir/swigPYTHON.o -L$buildDir/../.. -L$pythonLib -lmorfeusz2 -l$pythonIncl -o $eggDir/_morfeusz2.so"
@@ -256,54 +259,56 @@ function buildegg { @@ -256,54 +259,56 @@ function buildegg {
256 fi 259 fi
257 260
258 } 261 }
  262 +export -f buildegg
259 263
260 -export -f build 264 +function log {
  265 + os=$1
  266 + arch=$2
  267 + stdbuf -oL sed -e $"s/^/$os-$arch:\t/" | tee -a "log/$os-$arch.out"
  268 +}
261 export -f log 269 export -f log
262 -export -f buildegg  
263 270
264 -rm -rf log target buildall  
265 -mkdir -p log buildall  
266 -  
267 -buildDictionaries 2>&1 | log All all  
268 -  
269 -{  
270 - echo "build Linux amd64 true 2.7 package package-java package-python2 package-builder 2>&1 | log Linux-tgz2 amd64; \  
271 - build Linux amd64 true 3.0 package-python3 2>&1 | log Linux-tgz3 amd64"  
272 - echo "build Linux amd64 false 0 lib-deb bin-deb dev-deb dictionary-deb java-deb 2>&1 | log Linux-deb amd64"  
273 - echo "LDFLAGS=-m32;CFLAGS=-m32;CXXFLAGS=-m32 build Linux i386 true 2.7 package package-java py2morfeusz 2>&1 | log Linux-tgz i386; \  
274 - buildegg Linux i386 true 2.7 2>&1 | log Linux i386; \  
275 - LDFLAGS=-m32;CFLAGS=-m32;CXXFLAGS=-m32 build Linux i386 true 3.0 py3morfeusz 2>&1 | log Linux-tgz i386; \  
276 - buildegg Linux i386 true 3.0 2>&1 | log Linux i386"  
277 - echo "LDFLAGS=-m32;CFLAGS=-m32;CXXFLAGS=-m32 build Linux i386 false 0 lib-deb bin-deb java-deb 2>&1 | log Linux-deb i386"  
278 - echo "build Windows amd64 true 2.7 package package-java py2morfeusz 2>&1 | log Windows amd64; \  
279 - buildegg Windows amd64 true 2.7 2>&1 | log Windows amd64; \  
280 - build Windows amd64 true 3.6 py3morfeusz 2>&1 | log Windows amd64; \  
281 - buildegg Windows amd64 true 3.6 2>&1 | log Windows amd64; \  
282 - build Windows amd64 true 3.7 py3morfeusz 2>&1 | log Windows amd64; \  
283 - buildegg Windows amd64 true 3.7 2>&1 | log Windows amd64"  
284 - echo "build Windows i386 true 2.7 package package-java py2morfeusz 2>&1 | log Windows i386; \  
285 - buildegg Windows i386 true 2.7 2>&1 | log Windows i386; \  
286 - build Windows i386 true 3.0 py3morfeusz 2>&1 | log Windows i386 \  
287 - buildegg Windows i386 true 3.0 2>&1 | log Windows i386"  
288 - echo "build Darwin amd64 true 2 package package-java py2morfeusz 2>&1 | log Darwin amd64; \  
289 - buildegg Darwin amd64 true 2 2>&1 | log Darwin amd64; \  
290 - build Darwin amd64 true 3 py3morfeusz 2>&1 | log Darwin amd64; \  
291 - buildegg Darwin amd64 true 3 2>&1 | log Darwin amd64"  
292 - echo "build Darwin amd64 true 2 package package-java py2morfeusz 2>&1 | log Darwin amd64"  
293 - echo "buildegg Darwin amd64 true 2 2>&1 | log Darwin amd64"  
294 -  
295 -} | xargs -n1 -P6 -d$'\n' bash -c  
296 -  
297 -srcDir=`pwd`  
298 -targetDir=$srcDir/target  
299 -  
300 -for f in `find "$targetDir" -name "*-py3.6-linux-x86_64.egg"`  
301 -do  
302 - cp -f "$f" "`echo $f | sed -r 's/py3.6/py3.7/'`"  
303 -done  
304 -  
305 -for f in `find "$targetDir" -name "*-py3.5-linux-x86_64.egg"`  
306 -do  
307 - cp -f "$f" "`echo $f | sed -r 's/py3.5/py3.6/'`"  
308 - cp -f "$f" "`echo $f | sed -r 's/py3.5/py3.7/'`"  
309 -done 271 +##??? rm -rf log $BUILD_ROOT
  272 +mkdir -p log
  273 +
  274 +build Windows $BITS true 2.7 package package-java py2morfeusz 2>&1 | log Windows $BITS
  275 +build Windows $BITS true 2.7 gui-installer 2>&1 | log Windows $BITS
  276 +buildegg Windows $BITS true 2.7 2>&1 | log Windows $BITS
  277 +build Windows $BITS true 3.6 py3morfeusz 2>&1 | log Windows $BITS
  278 +buildegg Windows $BITS true 3.6 2>&1 | log Windows $BITS
  279 +build Windows $BITS true 3.7 py3morfeusz 2>&1 | log Windows $BITS
  280 +buildegg Windows $BITS true 3.7 2>&1 | log Windows $BITS
  281 +
  282 +# build Windows $BITS true 2.7 package package-java py2morfeusz 2>&1 | log Windows $BITS
  283 +# buildegg Windows $BITS true 2.7 2>&1 | log Windows $BITS
  284 +# build Windows $BITS true 3.0 py3morfeusz 2>&1 | log Windows $BITS
  285 +# buildegg Windows $BITS true 3.0 2>&1 | log Windows $BITS
  286 +
  287 +
  288 +# {
  289 +# echo "build Linux amd64 true 2.7 package package-java package-python2 package-builder 2>&1 | log Linux-tgz2 amd64; \
  290 +# build Linux amd64 true 3.0 package-python3 2>&1 | log Linux-tgz3 amd64"
  291 +# echo "build Linux amd64 false 0 lib-deb bin-deb dev-deb dictionary-deb java-deb 2>&1 | log Linux-deb amd64"
  292 +# echo "LDFLAGS=-m32;CFLAGS=-m32;CXXFLAGS=-m32 build Linux i386 true 2.7 package package-java py2morfeusz 2>&1 | log Linux-tgz i386; \
  293 +# buildegg Linux i386 true 2.7 2>&1 | log Linux i386; \
  294 +# LDFLAGS=-m32;CFLAGS=-m32;CXXFLAGS=-m32 build Linux i386 true 3.0 py3morfeusz 2>&1 | log Linux-tgz i386; \
  295 +# buildegg Linux i386 true 3.0 2>&1 | log Linux i386"
  296 +# echo "LDFLAGS=-m32;CFLAGS=-m32;CXXFLAGS=-m32 build Linux i386 false 0 lib-deb bin-deb java-deb 2>&1 | log Linux-deb i386"
  297 +# echo "build Windows amd64 true 2.7 package package-java py2morfeusz 2>&1 | log Windows amd64; \
  298 +# buildegg Windows amd64 true 2.7 2>&1 | log Windows amd64; \
  299 +# build Windows amd64 true 3.6 py3morfeusz 2>&1 | log Windows amd64; \
  300 +# buildegg Windows amd64 true 3.6 2>&1 | log Windows amd64; \
  301 +# build Windows amd64 true 3.7 py3morfeusz 2>&1 | log Windows amd64; \
  302 +# buildegg Windows amd64 true 3.7 2>&1 | log Windows amd64"
  303 +# echo "build Windows i386 true 2.7 package package-java py2morfeusz 2>&1 | log Windows i386; \
  304 +# buildegg Windows i386 true 2.7 2>&1 | log Windows i386; \
  305 +# build Windows i386 true 3.0 py3morfeusz 2>&1 | log Windows i386 \
  306 +# buildegg Windows i386 true 3.0 2>&1 | log Windows i386"
  307 +# echo "build Darwin amd64 true 2 package package-java py2morfeusz 2>&1 | log Darwin amd64; \
  308 +# buildegg Darwin amd64 true 2 2>&1 | log Darwin amd64; \
  309 +# build Darwin amd64 true 3 py3morfeusz 2>&1 | log Darwin amd64; \
  310 +# buildegg Darwin amd64 true 3 2>&1 | log Darwin amd64"
  311 +# echo "build Darwin amd64 true 2 package package-java py2morfeusz 2>&1 | log Darwin amd64"
  312 +# echo "buildegg Darwin amd64 true 2 2>&1 | log Darwin amd64"
  313 +
  314 +# } | xargs -n1 -P6 -d$'\n' bash -c
fsabuilder/CMakeLists.txt
@@ -10,26 +10,26 @@ set (DEPS &quot;&quot;) @@ -10,26 +10,26 @@ set (DEPS &quot;&quot;)
10 configure_file (${SETUP_PY_IN} ${SETUP_PY}) 10 configure_file (${SETUP_PY_IN} ${SETUP_PY})
11 11
12 add_custom_command (OUTPUT ${SETUP_PY} 12 add_custom_command (OUTPUT ${SETUP_PY}
13 - COMMAND python 13 + COMMAND python3
14 ARGS setup.py build 14 ARGS setup.py build
15 DEPENDS ${DEPS}) 15 DEPENDS ${DEPS})
16 16
17 add_custom_target (builder-setup DEPENDS ${SETUP_PY}) 17 add_custom_target (builder-setup DEPENDS ${SETUP_PY})
18 18
19 add_custom_target (install-builder 19 add_custom_target (install-builder
20 - COMMAND python ${SETUP_PY} install --home=${CMAKE_INSTALL_PREFIX} 20 + COMMAND python3 ${SETUP_PY} install --home=${CMAKE_INSTALL_PREFIX}
21 DEPENDS builder-setup 21 DEPENDS builder-setup
22 ) 22 )
23 #~ add_custom_target (package-builder-tgz 23 #~ add_custom_target (package-builder-tgz
24 - #~ COMMAND python ${SETUP_PY} bdist -d "${TARGET_DIR}" --plat-name='all' 24 + #~ COMMAND python3 ${SETUP_PY} bdist -d "${TARGET_DIR}" --plat-name='all'
25 #~ DEPENDS builder-setup 25 #~ DEPENDS builder-setup
26 #~ ) 26 #~ )
27 add_custom_target (package-builder-egg 27 add_custom_target (package-builder-egg
28 - COMMAND python ${SETUP_PY} bdist_egg -d "${TARGET_DIR}" 28 + COMMAND python3 ${SETUP_PY} bdist_egg -d "${TARGET_DIR}"
29 DEPENDS builder-setup 29 DEPENDS builder-setup
30 ) 30 )
31 add_custom_target (package-builder-sdist 31 add_custom_target (package-builder-sdist
32 - COMMAND python ${SETUP_PY} sdist -d "${TARGET_DIR}" 32 + COMMAND python3 ${SETUP_PY} sdist -d "${TARGET_DIR}"
33 DEPENDS builder-setup 33 DEPENDS builder-setup
34 ) 34 )
35 35
@@ -38,12 +38,12 @@ set (PACKAGE_DEPENDS &quot;package-builder-egg&quot; &quot;package-builder-sdist&quot;) @@ -38,12 +38,12 @@ set (PACKAGE_DEPENDS &quot;package-builder-egg&quot; &quot;package-builder-sdist&quot;)
38 if (${CMAKE_SYSTEM_NAME} MATCHES "Linux") 38 if (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
39 if (BUILT_ON) 39 if (BUILT_ON)
40 add_custom_target (package-builder-deb-sdist 40 add_custom_target (package-builder-deb-sdist
41 - COMMAND python ${SETUP_PY} --command-packages=stdeb.command sdist_dsc --package "${MORFEUSZBUILDER}" --depends "${CPACK_DEBIAN_PACKAGE_NAME}" --depends python-pyparsing --debian-version ${BUILT_ON} 41 + COMMAND python3 ${SETUP_PY} --command-packages=stdeb.command sdist_dsc --package3 "${MORFEUSZBUILDER}" --depends "${CPACK_DEBIAN_PACKAGE_NAME}" --depends python-pyparsing --debian-version ${BUILT_ON}
42 DEPENDS builder-setup 42 DEPENDS builder-setup
43 ) 43 )
44 else () 44 else ()
45 add_custom_target (package-builder-deb-sdist 45 add_custom_target (package-builder-deb-sdist
46 - COMMAND python ${SETUP_PY} --command-packages=stdeb.command sdist_dsc --package "${MORFEUSZBUILDER}" --depends "${CPACK_DEBIAN_PACKAGE_NAME}" --depends python-pyparsing 46 + COMMAND python3 ${SETUP_PY} --command-packages=stdeb.command sdist_dsc --package3 "${MORFEUSZBUILDER}" --depends "${CPACK_DEBIAN_PACKAGE_NAME}" --depends python-pyparsing
47 DEPENDS builder-setup 47 DEPENDS builder-setup
48 ) 48 )
49 endif () 49 endif ()