eSpeak NG is an open source speech synthesizer that supports more than hundred languages and accents.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

autoconf.yml 2.4KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. name: Autoconf
  2. on:
  3. workflow_dispatch:
  4. push:
  5. branches: [ master ]
  6. pull_request:
  7. branches: [ master ]
  8. jobs:
  9. build:
  10. runs-on: ${{ matrix.os }}-${{ matrix.osver }}
  11. name: "${{ matrix.os }} ${{ matrix.arch }}: ${{ matrix.compiler }}"
  12. strategy:
  13. fail-fast: false
  14. matrix:
  15. os: [ubuntu, macos]
  16. arch: [amd64, i386]
  17. compiler: [gcc, clang]
  18. include:
  19. - os: ubuntu
  20. osver: 22.04
  21. - os: macos
  22. osver: 14
  23. - arch: i386
  24. archcflags: "-m32 -msse2 -mfpmath=sse"
  25. exclude:
  26. - os: macos
  27. arch: i386
  28. steps:
  29. # Linux - dependencies
  30. - name: apt-build-deps
  31. if: matrix.os == 'ubuntu'
  32. run: |
  33. sudo dpkg --add-architecture ${{ matrix.arch }}
  34. sudo apt-get update
  35. sudo apt-get install ronn kramdown python3
  36. - name: apt-arch-deps
  37. if: matrix.os == 'ubuntu'
  38. run: "sudo apt-get install libtool-bin valgrind g++-12-multilib linux-libc-dev:${{ matrix.arch }} libpcaudio-dev:${{ matrix.arch }} libsonic-dev:${{ matrix.arch }} libgcc-s1:${{ matrix.arch }}"
  39. - name: apt-compile-clang
  40. if: matrix.os == 'ubuntu' && matrix.compiler == 'clang'
  41. run: sudo apt-get install clang
  42. # MacOS - dependencies
  43. - name: brew-deps
  44. if: matrix.os == 'macos'
  45. run: brew install libtool automake ronn OJFord/homebrew-formulae/kramdown
  46. - name: brew-compile-deps
  47. if: matrix.os == 'macos' && matrix.compiler == 'gcc'
  48. run: brew install gcc@12
  49. # Checkout code
  50. - uses: actions/checkout@v4
  51. # Configure
  52. - name: configure
  53. run: |
  54. ./autogen.sh
  55. chmod -x INSTALL m4/*.m4
  56. [ 'x${{ matrix.compiler }}' = 'xgcc' ] && export CC="gcc-12"
  57. [ 'x${{ matrix.compiler }}' = 'xgcc' ] && export CXX="g++-12"
  58. [ 'x${{ matrix.compiler }}' = 'xclang' ] && export CC="clang"
  59. [ 'x${{ matrix.compiler }}' = 'xclang' ] && export CXX="clang++"
  60. export CFLAGS="-g -Og -fno-omit-frame-pointer ${{ matrix.archcflags }}"
  61. export CXXFLAGS="-g -Og -fno-omit-frame-pointer ${{ matrix.archcflags }}"
  62. ./configure
  63. - name: config-failed-upload
  64. if: ${{ failure() }}
  65. uses: actions/upload-artifact@v4
  66. with:
  67. name: config-${{ matrix.os }}-${{ matrix.arch }}-${{ matrix.compiler }}.log
  68. path: config.log
  69. # Build and test
  70. - name: build
  71. run: make all-am
  72. - name: test
  73. run: make check