fn rel_symlink_file<P, Q>(original: P, link: Q)
    where
        P: AsRef<Path>,
        Q: AsRef<Path>,
    {
        #[cfg(unix)]
        use os::unix::fs::symlink;
        #[cfg(windows)]
        use os::windows::fs::symlink_file as symlink;

        let target_dir = link.as_ref().parent().unwrap();
        fs::create_dir_all(target_dir).unwrap();
        let _ = fs::remove_file(&link);
        let relpath = diff_paths(original, target_dir).unwrap();
        symlink(relpath, link).unwrap();
    }
Place a relative symlink pointing to `original` at `link`.
crates/recursion/core/build.rs