Skip to content

Commit

Permalink
[docs] add notes about manual-link (#7390)
Browse files Browse the repository at this point in the history
  • Loading branch information
Rastaban authored Jul 23, 2019
1 parent 6d019ca commit 0079c18
Showing 1 changed file with 11 additions and 2 deletions.
13 changes: 11 additions & 2 deletions docs/maintainers/maintainer-guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ At this time, the following helpers are deprecated:

### Avoid excessive comments in portfiles

Ideally, portfiles should be short, simple, and as declarative as possible. Remove any helper comments introduced by the `create` command before submitting a PR.
Ideally, portfiles should be short, simple, and as declarative as possible. Remove any boiler plate comments introduced by the `create` command before submitting a PR.

## Build Techniques

Expand Down Expand Up @@ -85,6 +85,15 @@ vcpkg_configure_cmake(

Note that `ZLIB` in the above is case-sensitive. See the [cmake documentation](https://cmake.org/cmake/help/v3.15/variable/CMAKE_DISABLE_FIND_PACKAGE_PackageName.html) for more details.

### Place conflicting libs in a `manual-link` directory

A lib is considered conflicting if it does any of the following:
+ Define `main`
+ Define malloc
+ Define symbols that are also declared in other libraries

Conflicting libs are typically by design and not considered a defect. Because some build systems link against everything in the lib directory, these should be moved into a subdirectory named `manual-link`.

## Versioning

### Follow common conventions for the `Version:` field
Expand Down Expand Up @@ -157,7 +166,7 @@ While `portfile.cmake`'s and `CMakeLists.txt`'s share a common syntax and core C

Portfiles have direct access to variables set in the triplet file, but `CMakeLists.txt`s do not (though there is often a translation that happens -- `VCPKG_LIBRARY_LINKAGE` versus `BUILD_SHARED_LIBS`).

Finally, portfiles and CMake builds invoked by portfiles are run in different processes. Conceptually:
Portfiles and CMake builds invoked by portfiles are run in different processes. Conceptually:

```no-highlight
+----------------------------+ +------------------------------------+
Expand Down

0 comments on commit 0079c18

Please sign in to comment.