diff --git a/.circleci/config.yml b/.circleci/config.yml index f8b2c7df..f8bdb74f 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -189,6 +189,117 @@ jobs: when: always command: ./config-opt && make -C build -j2 + build_22_04: + working_directory: ~/GNUAspell/aspell + parallelism: 1 + #shell: /bin/bash --login + # To see the list of pre-built images that CircleCI provides for most common languages see + # https://circleci.com/docs/2.0/circleci-images/ + docker: + - image: cimg/base:2022.12-22.04 + steps: + # Machine Setup + # If you break your build into multiple jobs with workflows, you will probably want to do the parts + # of this that are relevant in each + # The following `checkout` command checks out your code to your working directory. In 1.0 we did this implicitly. + # In 2.0 you can choose where in the course of a job your code should be checked out. + - checkout + # + - run: sudo apt-get -y update + - run: sudo apt-get -y install make autopoint texinfo libtool intltool bzip2 gettext g++-multilib + g++-10 g++-11 g++-12 clang-11 clang-12 clang-13 clang-14 + - run: sudo apt-get -y purge aspell + # + - run: + command: ./autogen + - run: + when: on_fail + command: circleci-agent step halt + - run: + when: always + command: ./sanity-check.sh + - run: + when: always + command: CXX="g++ -m32" CC="gcc -m32" ./sanity-check.sh + - run: + when: always + command: CXX=g++-10 CC=gcc-10 ./sanity-check.sh + - run: + when: always + command: CXX=g++-11 CC=gcc-11 ./sanity-check.sh + - run: + when: always + command: CXX=g++-12 CC=gcc-12 ./sanity-check.sh + - run: + when: always + command: CXX=clang++-11 CC=clang-11 ./sanity-check.sh + - run: + when: always + command: CXX=clang++-12 CC=clang-12 ./sanity-check.sh + - run: + when: always + command: CXX=clang++-13 CC=clang-13 ./sanity-check.sh + - run: + when: always + command: CXX=clang++-14 CC=clang-14 ./sanity-check.sh + - run: + when: always + command: ./config-opt && make -C build -j2 + + build_20_04_mingw64: + working_directory: ~/GNUAspell/aspell + parallelism: 1 + #shell: /bin/bash --login + # To see the list of pre-built images that CircleCI provides for most common languages see + # https://circleci.com/docs/2.0/circleci-images/ + docker: + - image: cimg/base:2022.12-20.04 + steps: + # Machine Setup + # If you break your build into multiple jobs with workflows, you will probably want to do the parts + # of this that are relevant in each + # The following `checkout` command checks out your code to your working directory. In 1.0 we did this implicitly. + # In 2.0 you can choose where in the course of a job your code should be checked out. + - checkout + # + # note: default gcc version is 8.3 + - run: sudo apt-get -y update + - run: sudo apt-get -y install make autopoint texinfo libtool intltool bzip2 gettext g++-multilib mingw-w64 + - run: sudo apt-get -y purge aspell + # + - run: ./autogen + - run: ./configure --host=x86_64-w64-mingw32 && make + - run: make dist clean + - run: ./configure --host=i686-w64-mingw32 && make + - run: make dist clean + + build_22_04_mingw64: + working_directory: ~/GNUAspell/aspell + parallelism: 1 + #shell: /bin/bash --login + # To see the list of pre-built images that CircleCI provides for most common languages see + # https://circleci.com/docs/2.0/circleci-images/ + docker: + - image: cimg/base:2022.12-22.04 + steps: + # Machine Setup + # If you break your build into multiple jobs with workflows, you will probably want to do the parts + # of this that are relevant in each + # The following `checkout` command checks out your code to your working directory. In 1.0 we did this implicitly. + # In 2.0 you can choose where in the course of a job your code should be checked out. + - checkout + # + # note: default gcc version is 8.3 + - run: sudo apt-get -y update + - run: sudo apt-get -y install make autopoint texinfo libtool intltool bzip2 gettext g++-multilib mingw-w64 + - run: sudo apt-get -y purge aspell + # + - run: ./autogen + - run: ./configure --host=x86_64-w64-mingw32 && make + - run: make dist clean + - run: ./configure --host=i686-w64-mingw32 && make + - run: make dist clean + tests: working_directory: ~/GNUAspell/aspell parallelism: 1 @@ -211,10 +322,14 @@ workflows: version: 2 sanity_check: jobs: - - build_jessie - - build_16_04 - - build_18_04 - - build_20_04 + #- build_jessie + #- build_16_04 + #- build_18_04 + #- build_20_04 + - build_22_04 + - build_20_04_mingw64 + - build_22_04_mingw64 + tests: jobs: - tests diff --git a/appveyor.yml b/appveyor.yml new file mode 100644 index 00000000..eeb4a1d2 --- /dev/null +++ b/appveyor.yml @@ -0,0 +1,17 @@ +version: 0.60.8.{build} +image: Visual Studio 2017 + + +environment: + matrix: + - MSYSTEM: MINGW64 + BASH_PATH: C:\msys64\usr\bin\bash + + +build_script: + - cmd: '%BASH_PATH% -lc "cd $APPVEYOR_BUILD_FOLDER; ./autogen && ./configure && make && make install && make dist"' + +after_build: + - cd "%APPVEYOR_BUILD_FOLDER%" + - ps: >- + Push-AppveyorArtifact "aspell-0.60.9-git.tar.gz" -FileName aspell-0.60.9-git.tar.gz diff --git a/common/config.cpp b/common/config.cpp index a9201d0d..8d68c98c 100644 --- a/common/config.cpp +++ b/common/config.cpp @@ -39,6 +39,12 @@ #include "vararray.hpp" #include "string_list.hpp" +#if ENABLE_NLS +#define printf printf +#include "libintl.h" +#undef printf +#endif + #include "gettext.h" #include "iostream.hpp" diff --git a/common/convert.cpp b/common/convert.cpp index 6a126452..c388d11e 100644 --- a/common/convert.cpp +++ b/common/convert.cpp @@ -22,6 +22,12 @@ #include "iostream.hpp" +#if ENABLE_NLS +#define printf printf +#include "libintl.h" +#undef printf +#endif + #include "gettext.h" namespace acommon { diff --git a/common/file_util.cpp b/common/file_util.cpp index 56ea5010..a0a0ba2a 100644 --- a/common/file_util.cpp +++ b/common/file_util.cpp @@ -13,6 +13,7 @@ #include "fstream.hpp" #include "errors.hpp" #include "string_list.hpp" +#include "asc_ctype.hpp" #ifdef USE_FILE_LOCKS # include diff --git a/modules/speller/default/language.cpp b/modules/speller/default/language.cpp index 08da3275..bae480d4 100644 --- a/modules/speller/default/language.cpp +++ b/modules/speller/default/language.cpp @@ -20,10 +20,16 @@ #include "getdata.hpp" #include "file_util.hpp" -#ifdef ENABLE_NLS +#ifdef HAVE_LANGINFO_CODESET # include #endif +#if ENABLE_NLS +#define printf printf +#include "libintl.h" +#undef printf +#endif + #include "gettext.h" namespace aspeller { diff --git a/prog/aspell.cpp b/prog/aspell.cpp index 850c946e..6d5910b2 100644 --- a/prog/aspell.cpp +++ b/prog/aspell.cpp @@ -61,6 +61,12 @@ #include "hash-t.hpp" #include "hash_fun.hpp" +#if ENABLE_NLS +#define printf printf +#include "libintl.h" +#undef printf +#endif + #include "gettext.h" using namespace acommon;