name: liboggvorbis

inputs:
  libogg_refId:
    type: string
    required: true  
  libvorbis_refId:
    type: string
    required: true
  config:
    type: string
    required: true
  
runs:
  using: "composite"
  steps:
  - name: Set up GIT
    shell: cmd
    run: |
      git config --global core.autocrlf false
      git config --global core.eol lf
  - name: Checkout Ogg
    uses: actions/checkout@v3
    with:
      repository: xiph/ogg
      ref: ${{ inputs.libogg_refId }}
      path: ogg
  - name: Checkout Vorbis
    uses: actions/checkout@v3.0.0
    with:
      repository: xiph/vorbis
      ref: ${{ inputs.libvorbis_refId }}
      path: vorbis
  - name: Set up MSYS2
    uses: msys2/setup-msys2@v2
    with:
      install: base-devel binutils autotools automake
      path-type: inherit
  - name: Build Ogg
    shell: cmd
    env:
      vsPath: C:\Program Files\Microsoft Visual Studio\2022\Enterprise\
      cFlags: ${{ inputs.config == 'release' && '-MD' || '-MDd' }}
    run: |
      call "${{ env.vsPath }}VC\Auxiliary\Build\vcvars64.bat"
      md build
      D:\a\_temp\setup-msys2\msys2.cmd -c 'cd ogg ; autoreconf -i ; CC=cl.exe CXX=cl.exe CXXFLAGS=${{ env.cFlags }} ./configure --prefix=$(realpath ../build) --disable-shared ; make -j ; make install'
  - name: Build Vorbis
    shell: cmd
    env:
      vsPath: C:\Program Files\Microsoft Visual Studio\2022\Enterprise\
      cFlags: ${{ inputs.config == 'release' && '-MD' || '-MDd' }}
    run: |
      call "${{ env.vsPath }}VC\Auxiliary\Build\vcvars64.bat"
      md dist
      D:\a\_temp\setup-msys2\msys2.cmd -c 'cd vorbis ; autoreconf -i ; CC=cl.exe CXX=cl.exe CXXFLAGS=${{ env.cFlags }} ./configure --prefix=$(realpath ../build) --disable-shared ; make -j ; make install ; sed -i '/^Libs\.private.*/d' ../build/lib/pkgconfig/vorbis.pc ; cd ../build ; tar czf ../dist/liboggvorbis.tgz *'
  - name: Publish artifact
    uses: actions/upload-artifact@v2
    with:
      name: liboggvorbis-${{ runner.os }}-${{ inputs.config }}
      path: dist/liboggvorbis.tgz
