Outdated getopt in windows/getopt. Used also for Linux/macOS CMake builds
The version of getopt
in windows/getopt is outdated. It's incompatible with the version that the Linux autotools builds use. The fix for !1561 (merged) in commit !1561 (997e12cf) shows this incompatibility.
Also, this outdated version is used by the CMake builds, regardless of which operating system you're on. I discovered this the hard way by an accidental (details provided on a need-to-know basis windows/getopt
in this Ubuntu CMake job.
My plan right now is to:
- Remove
windows/getopt
- Add
getopt
usingvcpkg
to the windows/dependencies/libraries submodule - Adapt the CMake builds to:
- Use the vcpkg version on Windows
- Use the native/Docker image version on Linux and hope that this also works on macOS
- Adapt the MSBuild builds to use the vcpkg version
The current libraries in windows/dependencies/libraries has unclear origins, but I read in this issue that many probably comes from https://windows.php.net/downloads/.
My plan is to add a new vcpkg
top level directory to windows/dependencies/libraries so that libraries can be installed there directly without the need to figure out which file to put where in the old structure. In future, we can replace other outdated packages in the old structure with new ones installed with vcpkg
.
I would very much like to hear your comments on this and the above.
As a reference, these are the getopt
files that are installed with vcpkg:
~/vcpkg/vcpkg-export-20200910-082739$ find . -type f
./.vcpkg-root
./installed/vcpkg/info/getopt-win32_0.1_x86-windows.list
./installed/vcpkg/info/getopt_0_x86-windows.list
./installed/x86-windows/bin/getopt.dll
./installed/x86-windows/bin/getopt.pdb
./installed/x86-windows/debug/bin/getopt.dll
./installed/x86-windows/debug/bin/getopt.pdb
./installed/x86-windows/debug/lib/getopt.lib
./installed/x86-windows/include/getopt.h
./installed/x86-windows/lib/getopt.lib
./installed/x86-windows/share/getopt/vcpkg_abi_info.txt
./installed/x86-windows/share/getopt-win32/copyright
./installed/x86-windows/share/getopt-win32/vcpkg_abi_info.txt
./scripts/buildsystems/msbuild/applocal.ps1
./scripts/buildsystems/msbuild/vcpkg-general.xml
./scripts/buildsystems/msbuild/vcpkg.props
./scripts/buildsystems/msbuild/vcpkg.targets
./scripts/buildsystems/vcpkg.cmake
./scripts/cmake/vcpkg_get_windows_sdk.cmake