summaryrefslogtreecommitdiffstats
path: root/vendor/vcpkg/notes.md
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-30 03:59:24 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-30 03:59:24 +0000
commit023939b627b7dc93b01471f7d41fb8553ddb4ffa (patch)
tree60fc59477c605c72b0a1051409062ddecc43f877 /vendor/vcpkg/notes.md
parentAdding debian version 1.72.1+dfsg1-1. (diff)
downloadrustc-023939b627b7dc93b01471f7d41fb8553ddb4ffa.tar.xz
rustc-023939b627b7dc93b01471f7d41fb8553ddb4ffa.zip
Merging upstream version 1.73.0+dfsg1.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'vendor/vcpkg/notes.md')
-rw-r--r--vendor/vcpkg/notes.md81
1 files changed, 0 insertions, 81 deletions
diff --git a/vendor/vcpkg/notes.md b/vendor/vcpkg/notes.md
deleted file mode 100644
index 6db36c49c..000000000
--- a/vendor/vcpkg/notes.md
+++ /dev/null
@@ -1,81 +0,0 @@
-# Notes
-
-## Making a release
-
-1. run vcpkg_cli and test it
-1. run systest\test.cmd
-1. check that everything is committed and work dir is clean
-1. push to master on github
-1. check that github actions ci passes
-1. update changelog, commit and push
-1. update version number in Cargo.toml for the crate to be released
-1. commit
-1. push
-1. wait for the ci to work
-1. create a tag for the right crate like `git tag vcpkg-rs-0.2.3`
-1. cd to the crate dir and run `cargo publish`
-1. git push origin --tags
-
-## Possible future features
-
-- hide or deprecate or note that the lib_name api is not as good as find_package
-
-- make sure the find_package api is first in the docs and mention that it's the best option
-
-- allow specifying a triple to use using an environment variable. this will allow setting up a custom "x64-rust-static" triple that dynamically links to msvcrt, allowing static builds with the default rust.
-
-- add information about target triples and target triple selection being driven by RUSTFLAGS=-Ctarget-feature=+crt-static
-
-- add a note that even rust debug builds are linked against the release version
- of built libraries
-
-- there is a lib\no_auto_link folder that some packages generate that needs
- to be added to the link line. this will require finding an example of
- a library that uses that feature. (boost?)
-
-- vcpkg_cli: make probe failure return a nonzero exit code so the build fails
-
-- remove crate doc info about the libname -> package mapping. (why?)
-
-- look into the possibility of using dotenv to allow setting VCPKG_ROOT
-
-- could run vcpkg and parse it's output to determine what package versions are installed.
-
-- could parse vcpkg's installed files list to guess at the names for libraries and dlls rather than requiring them to be specified.
-
-- could parse vcpkg's installed packages list to determine what other packages we need to link against.
-
-- vcpkg has common include and lib dirs so there is a chance that someone is going to end up picking up a vcpkg lib on their link line in preference to some other version at some point. I believe cmake handles this by using absolute paths for libs wherever possible. if everything below you in the dependency tree is looking in vcpkg then everything will agree.
-
-- vcpkg has a per-package output dir that looks like it would be helpful, but at present it is undocumented and subject to change. (what I read mentioned the possibility of compressing the contents.)
-
-- warn if you use something that looks like a vcpkg triplet in place of a rust triple
-
-- allow specifying of the library to be installed like pkg-config does. (hard in general because there is no specific format for version numbers )
-
-- allow stipulating that a specific feature be installed. at present if a feature is installed any extra libraries it requires will be linked as expected. how should this be? The vcpkg way is to specify it as harfbuzz[graphite2,icu] for example.
-
-- report enabled/available features in the Library returned from find_package
-
-- get information about installed packages by running the vcpkg executable
-
- - if using json to encode the information, this requires writing a json parser or adding a dependency on serde for anything that transitively depends on vcpkg, which is a lot of stuff, probably only a tiny percentage of which actually uses the vcpkg functionality. otherwise, could invent yet another easy-to-parse custom format.
- - vcpkg is now available on linux and macos also. a possible use is to build the whole bag of windows dependencies on a windows machine at the point that lld can cross link windows/msvc code.
-
-- add a changelog for vcpkg_cli
-
-- make the breaking change of dropping Rust 1.10 (actually 1.12) compatibility when updating to 0.3
-
-- vcpkg_cli should say if there are other versions of the ports available that do not match what is being looked for
-
-- add some commentary describing the vcpkg target triplets on windows - static vs dynamic crt and the fact that rust prefers something in between - dynamic crt, static libs on top of that.
-
-- vcpkg now has a community supported triplet called x64-windows-static-md which is a match for the default Rust build type on windows - dynamic linking to the c runtime, and static linking to other libraries.
-
-## Creating empty files from list files
-
-```sh
-touch `grep -h \.lib$ vcpkg/info/*x86* | grep -v debug `
-touch `grep -h \.dll$ vcpkg/info/*x86* | grep -v debug `
-```
-