• * 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 Code »