diff --git a/appveyor.yml b/appveyor.yml index a5c34c7..389fb3b 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -2,59 +2,72 @@ branches: only: - master - - prelease - - ci - - appveyor # https://www.appveyor.com/docs/build-environment/#using-multiple-images-for-the-same-build # APPVEYOR_BUILD_WORKER_IMAGE is used in environment matrix, image is not environment: matrix: - - _CC: VS2019 - _PLATFORM: desktop - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019 - - _CC: VS2019 - _PLATFORM: store - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019 - - _CC: MINGW + - _ARCH: arm64 + _CC: MINGW _PLATFORM: desktop _CACHE: msys64 - - _ARCH: arm - _CC: VS2013 - _PLATFORM: phone - - _ARCH: x86 - _CC: VS2013 - _PLATFORM: store - - _ARCH: x86 - _CC: VS2013 - _PLATFORM: desktop - + matrix: fast_finish: false + +cache: + - C:\%_CACHE%\var\cache\pacman\pkg -> appveyor.yml init: - echo NUMBER_OF_PROCESSORS=%NUMBER_OF_PROCESSORS% - echo PROCESSOR_IDENTIFIER=%PROCESSOR_IDENTIFIER% - set MSYS2_PATH_TYPE=inherit - set MSYS2_DIR=C:\msys64 - - set - + - set USE_TOOLCHAIN=clang + - set NDK_HOST=windows + - set NDK_VERSION=r21d #https://stackoverflow.com/questions/37627248/how-to-split-a-command-over-multiple-lines-in-appveyor-yml install: # can not starts with % - - git submodule update --init - - if /i %_CC%==MinGW ( - C:\msys64\usr\bin\pacman -Syyuu --noconfirm && - C:\msys64\usr\bin\pacman -Suu --noconfirm && - C:\msys64\usr\bin\pacman -S --noconfirm --needed mingw-w64-i686-gcc mingw-w64-x86_64-gcc && - C:\msys64\usr\bin\pacman -Sc --noconfirm - ) - - C:\msys64\usr\bin\pacman -S --noconfirm --needed diffutils patch pkg-config nasm yasm - - set FF_BRANCH=%FF_VERSION% - - if not [%FF_BRANCH%]==[master] set FF_BRANCH=release/%FF_VERSION% - - git clone -b %FF_BRANCH% --depth 1 --no-tags https://git.ffmpeg.org/ffmpeg.git ffmpeg-%FF_VERSION% - - if /i %_PLATFORM%==desktop ( +- git submodule update --init + +# - curl -O http://repo.msys2.org/msys/x86_64/msys2-keyring-r21.b39fb11-1-any.pkg.tar.xz +# - curl -O http://repo.msys2.org/msys/x86_64/msys2-keyring-r21.b39fb11-1-any.pkg.tar.xz.sig +# - C:\msys64\usr\bin\bash.exe pacman-key --verify msys2-keyring-r21.b39fb11-1-any.pkg.tar.xz.sig +- C:\msys64\usr\bin\pacman -U --noconfirm http://repo.msys2.org/msys/x86_64/msys2-keyring-r21.b39fb11-1-any.pkg.tar.xz +# install latest pacman +- C:\msys64\usr\bin\pacman -U --noconfirm http://repo.msys2.org/msys/x86_64/pacman-5.2.2-1-x86_64.pkg.tar.xz +- C:\msys64\usr\bin\pacman -U --noconfirm http://repo.msys2.org/msys/x86_64/pacman-mirrors-20200329-1-any.pkg.tar.xz +# - C:\msys64\usr\bin\pacman -U --noconfirm http://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-db-6.0.19-3-any.pkg.tar.xz +# - C:\msys64\usr\bin\pacman -U --noconfirm http://repo.msys2.org/msys/x86_64/msys.db.tar.gz +# - C:\msys64\usr\bin\pacman -U --noconfirm http://repo.msys2.org/msys/x86_64/gnupg-2.2.20-1-x86_64.pkg.tar.xz +# - C:\msys64\usr\bin\pacman -U --noconfirm http://repo.msys2.org/msys/x86_64/libgpgme-1.14.0-1-x86_64.pkg.tar.zst + + +# - C:\msys64\usr\bin\pacman -U --noconfirm http://repo.msys2.org/mingw/x86_64/mingw64.db +# - C:\msys64\usr\bin\pacman -U --noconfirm http://repo.msys2.org/mingw/x86_64/mingw64.db.tar.gz + +- C:\msys64\usr\bin\pacman -Su --noconfirm +- C:\msys64\usr\bin\pacman -Su --noconfirm + + # install packages +- C:\msys64\usr\bin\pacman -Su --noconfirm --needed VCS + +- C:\msys64\usr\bin\pacman -Su --noconfirm --needed base-devel mingw-w64-x86_64-toolchain mingw-w64-cross-toolchain +- C:\msys64\usr\bin\pacman -Su --noconfirm --needed mingw-w64-x86_64-clang +- C:\msys64\usr\bin\pacman -Su --noconfirm --needed wget diffutils patch pkg-config nasm yasm +# - C:\msys64\usr\bin\pacman -Scc --noconfirm + +- curl -O http://dl.google.com/android/repository/android-ndk-%NDK_VERSION%-%NDK_HOST%-x86_64.zip +- 7z x -y android-ndk-%NDK_VERSION%-%NDK_HOST%-x86_64.zip -oandroid-ndk +- set ANDROID_NDK=%CD%\android-ndk + +- set FF_VERSION=master +- set FF_BRANCH=%FF_VERSION% +- if not [%FF_BRANCH%]==[master] set FF_BRANCH=release/%FF_VERSION% +- git clone -b %FF_BRANCH% --no-tags https://git.ffmpeg.org/ffmpeg.git ffmpeg-%FF_BRANCH% +- if /i %_PLATFORM%==desktop ( appveyor DownloadFile "https://sourceforge.net/projects/avbuild/files/dep/dep.7z/download" -FileName dep.7z && 7z x -y dep.7z -otools && set PKG_CONFIG_PATH_MFX=%CD%\tools\%_CC%%_ARCH%\lib\pkgconfig) @@ -67,18 +80,17 @@ before_build: build_script: # V=1 to check libmfx error, but the error disappears if V=1. WTF - - if /i not %_CC%==MinGW if /i not %_PLATFORM%==store set V=1 - - if /i %_CC%==MinGW ( - set VC_BUILD=false&& - set MSYS2_PATH_TYPE=&& - C:\msys64\usr\bin\bash.exe --login avbuild.sh mingw - ) else ( - set BUILD_NOW=true&& - tools\vcbuild.bat %_CC% %_PLATFORM% %_ARCH% all - ) +# - if /i not %_CC%==MinGW if /i not %_PLATFORM%==store set V=1 +# - ./avbuild.sh android arm64 +- set VC_BUILD=false +- C:\msys64\usr\bin\bash.exe --login avbuild.sh android arm64 + # ) else ( + # set BUILD_NOW=true&& + # tools\vcbuild.bat %_CC% %_PLATFORM% %_ARCH% all + # ) after_build: - - set SDK_NAME=ffmpeg-%FF_VERSION%-%_PLATFORM%-%_CC%%_ARCH%%CONFIG_SUFFIX% + - set SDK_NAME=ffmpeg-%FF_VERSION%-%_PLATFORM%-%_CC%%_ARCH% - move sdk* %SDK_NAME% - 7z a %SDK_NAME%.7z %SDK_NAME% @@ -87,12 +99,3 @@ test: off artifacts: - path: '%SDK_NAME%.7z' # relative to repo root -deploy: - provider: FTP - protocol: sftp - host: frs.sourceforge.net - username: novesky - password: - secure: 2mQg4oxdX8S7rMJz2TCGGg== - folder: /home/frs/project/avbuild/windows-%_PLATFORM% # why always relative path even if starts with / ? I have to make a link home/frs/project/avbuild/xxx => /home/frs/project/avbuild/xxx - active_mode: false \ No newline at end of file diff --git a/config-lite.sh b/config.sh similarity index 100% rename from config-lite.sh rename to config.sh