• * Remove dependency on `perl`, now only required for maintenance
      activities and running the test suite.
    * Exercise building qpdf and running executables from JetBrains CLion
      without any special additional tooling beyond pre-built external
      libraries.
    
    This replaces the `copy_dlls` with a powershell script, written mostly
    by ChatGPT, starting from the bash script below. The copy_dlls script
    had a lot of logic that was no longer needed.
    
    ```bash
    #!/bin/bash
    set -eo pipefail
    exe="$1"
    dest="$2"
    mingw_bin_dir="$3"
    if [[ $mingw_bin_dir == "" ]]; then
        echo >&2 "Usage: $(basename $0) exe dest mingw-bin-dir"
        exit 2
    fi
    
    get_dlls() {
        objdump -p "$1" | grep 'DLL Name:' | awk '{print $NF}'
    }
    declare -a dlls
    dlls=($(get_dlls "$exe"))
    declare -A seen
    while [[ ${#dlls[@]} -gt 0 ]]; do
        i="${dlls[0]}"
        dlls=("${dlls[@]:1}")
        if [[ ${seen[$i]} == 1 ]]; then
            continue
        fi
        seen[$i]=1
        full="$mingw_bin_dir/$i"
        if [[ -f "$full" ]]; then
            cp "$full" $dest/
            dlls+=($(get_dlls "$full"))
        fi
    done
    ```
    Jay Berkenbilt authored
     
    Browse File »



  • External libraries for Windows are now built automatically in the
    qpdf/external-libs repository and include openssl in addition to zlib
    and jpeg. Use these, and update the Windows build to build with the
    openssl crypto provider by default. We leave the native crypto
    provider enabled in case there is a problem with openssl and also to
    continue to exercise that code.
    Jay Berkenbilt authored
     
    Browse File »