Skip to content

Commit

Permalink
overhaul: reduce use of "will"
Browse files Browse the repository at this point in the history
Write more in present tense.

A few other minor cleanups while at it.

Closes #385
  • Loading branch information
bagder committed Dec 28, 2023
1 parent 8eb1bf3 commit df68c8b
Show file tree
Hide file tree
Showing 190 changed files with 1,256 additions and 1,263 deletions.
2 changes: 1 addition & 1 deletion build.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ already done and prepared to allow you to easily build it yourself.

There are also friendly people and organizations who put together binary
packages of curl and libcurl and make them available for download. The
different options will be explored below.
different options are explored below.

## The latest version?

Expand Down
20 changes: 9 additions & 11 deletions build/autotools.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,8 @@ with the previously used options adjusted.
After configure has completed, you invoke `make` to build the entire thing and
then finally `make install` to install curl, libcurl and associated
things. `make install` requires that you have the correct rights in your
system to create and write files in the installation directory or you will get
some errors.
system to create and write files in the installation directory or you get an
error displayed.

## Cross-compiling

Expand All @@ -47,8 +47,8 @@ result then can be moved over and used on the other machine.

## Static linking

By default, configure will setup the build files so that the following 'make'
command will create both shared and static versions of libcurl. You can change
By default, configure setups the build files so that the following 'make'
command creates both shared and static versions of libcurl. You can change
that with the `--disable-static` or `--disable-shared` options to configure.

If you instead want to build with static versions of third party libraries
Expand Down Expand Up @@ -87,13 +87,12 @@ automatically check for OpenSSL, but modern versions do not.
- Secure Transport: `--with-secure-transport`
- wolfSSL: `--with-wolfssl`

If you do not specify which TLS library to use, the configure script will
fail. If you want to build *without* TLS support, you must explicitly ask for
that with `--without-ssl`.
If you do not specify which TLS library to use, the configure script fails. If
you want to build *without* TLS support, you must explicitly ask for that with
`--without-ssl`.

These `--with-*` options also allow you to provide the install prefix so that
configure will search for the specific library where you tell it to. Like
this:
configure searches for the specific library where you tell it to. Like this:

./configure --with-gnutls=/home/user/custom-gnutls

Expand All @@ -116,8 +115,7 @@ correct command-line options.
- wolfSSH: `--with-wolfssh`

These `--with-*` options also allow you to provide the install prefix so that
configure will search for the specific library where you tell it to. Like
this:
configure searches for the specific library where you tell it to. Like this:

./configure --with-libssh2=/home/user/custom-libssh2

Expand Down
18 changes: 9 additions & 9 deletions build/deps.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ code.

A whole slew of features that curl provides require that it is built to use
one or more external libraries. They are then dependencies of curl. None of
them are *required*, but most users will want to use at least some of them.
them are *required*, but most users want to use at least some of them.

## HTTP Compression

Expand All @@ -19,18 +19,18 @@ these libraries:
- brotli compression with [brotli](https://github.com/google/brotli)
- zstd compression with [libzstd](https://github.com/facebook/zstd)

Getting compressed data over the wire will use less bandwidth, which might
also result in shorter transfer times.
Getting compressed data over the wire uses less bandwidth, which might also
result in shorter transfer times.

## c-ares

https://c-ares.org/

curl can be built with c-ares to be able to do asynchronous name resolution.
Another option to enable asynchronous name resolution is to build curl with the
threaded name resolver backend, which will then instead create a separate
helper thread for each name resolve. c-ares does it all within the
same thread.
Another option to enable asynchronous name resolution is to build curl with
the threaded name resolver backend, which then instead creates a separate
helper thread for each name resolve. c-ares does it all within the same
thread.

## nghttp2

Expand All @@ -57,8 +57,8 @@ librtmp library that comes from the RTMPDump project.

https://rockdaboot.github.io/libpsl/

When you build curl with support for libpsl, the cookie parser will know about
the Public Suffix List and thus handle such cookies appropriately.
When you build curl with support for libpsl, the cookie parser knows about the
Public Suffix List and thus handle such cookies appropriately.

## libidn2

Expand Down
12 changes: 6 additions & 6 deletions build/separate.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,11 @@ tends to confuse users.
## Static linking

You can avoid the problem of curl finding an older dynamic libcurl library by
instead linking with libcurl statically. This will however instead trigger a
slew of other challenges because linking modern libraries with several third
party dependencies statically is hard work. When you link statically, you need
to make sure you provide all the dependencies to the linker. This is not a
method we recommend.
instead linking with libcurl statically. This however instead triggers a slew
of other challenges because linking modern libraries with several third party
dependencies statically is hard work. When you link statically, you need to
make sure you provide all the dependencies to the linker. This is not a method
we recommend.

## Dynamic linking

Expand Down Expand Up @@ -74,7 +74,7 @@ application, you can make that load your custom libcurl build like this:

With `rpath` set, the executable linked against `$HOME/install/lib/libcurl.so`
then makes the runtime linker use that specific path and library, while other
binaries in your system will continue to use the system libcurl.
binaries in your system continue to use the system libcurl.

When you want to make your custom build of `curl` use its own libcurl and you
install them into `$HOME/install`, then a configure command line for this
Expand Down
45 changes: 20 additions & 25 deletions build/tls.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,60 +25,56 @@ machine.

## configure

Below, you will learn how to tell configure to use the different libraries.
The configure script will not select any TLS library by default. You must
select one, or instruct configure that you want to build without TLS support
using `--without-ssl`.
Below, you learn how to tell configure to use the different libraries. The
configure script does not select any TLS library by default. You must select
one, or instruct configure that you want to build without TLS support using
`--without-ssl`.

### OpenSSL, BoringSSL, libressl

./configure --with-openssl

configure will detect OpenSSL in its default path by default. You can
optionally point configure to a custom install path prefix where it can find
OpenSSL:
configure detects OpenSSL in its default path by default. You can optionally
point configure to a custom install path prefix where it can find OpenSSL:

./configure --with-openssl=/home/user/installed/openssl

The alternatives [BoringSSL](boringssl.md) and libressl look similar
enough that configure will detect them the same way as OpenSSL. It then uses
additional measures to figure out which of the particular flavors it is using.
The alternatives [BoringSSL](boringssl.md) and libressl look similar enough
that configure detects them the same way as OpenSSL. It then uses additional
measures to figure out which of the particular flavors it is using.

### GnuTLS

./configure --with-gnutls

configure will detect GnuTLS in its default path by default. You can
optionally point configure to a custom install path prefix where it can find
gnutls:
configure detects GnuTLS in its default path by default. You can optionally
point configure to a custom install path prefix where it can find gnutls:

./configure --with-gnutls=/home/user/installed/gnutls

### WolfSSL

./configure --with-wolfssl

configure will detect WolfSSL in its default path by default. You can
optionally point configure to a custom install path prefix where it can find
WolfSSL:
configure detects WolfSSL in its default path by default. You can optionally
point configure to a custom install path prefix where it can find WolfSSL:

./configure --with-wolfssl=/home/user/installed/wolfssl

### mbedTLS

./configure --with-mbedtls

configure will detect mbedTLS in its default path by default. You can
optionally point configure to a custom install path prefix where it can find
mbedTLS:
configure detects mbedTLS in its default path by default. You can optionally
point configure to a custom install path prefix where it can find mbedTLS:

./configure --with-mbedtls=/home/user/installed/mbedtls

### Secure Transport

./configure --with-secure-transport

configure will detect Secure Transport in its default path by default. You can
configure detects Secure Transport in its default path by default. You can
optionally point configure to a custom install path prefix where it can find
Secure Transport:

Expand All @@ -88,7 +84,7 @@ Secure Transport:

./configure --with-schannel

configure will detect Schannel in its default path by default.
configure detects Schannel in its default path by default.

(WinSSL was previously an alternative name for Schannel, and earlier curl
versions instead needed `--with-winssl`)
Expand All @@ -97,9 +93,8 @@ versions instead needed `--with-winssl`)

./configure --with-bearssl

configure will detect BearSSL in its default path by default. You can
optionally point configure to a custom install path prefix where it can find
BearSSL:
configure detects BearSSL in its default path by default. You can optionally
point configure to a custom install path prefix where it can find BearSSL:

./configure --with-bearssl=/home/user/installed/bearssl

Expand All @@ -108,7 +103,7 @@ BearSSL:
./configure --with-rustls

When told to use "rustls", curl is actually trying to find and use the
rustls-ffi library - the C API for the rustls library. configure will detect
rustls-ffi library - the C API for the rustls library. configure detects
rustls-ffi in its default path by default. You can optionally point configure
to a custom install path prefix where it can find rustls-ffi:

Expand Down
20 changes: 10 additions & 10 deletions build/windows.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,13 +29,13 @@ build curl with.

Project files are provided for several different Visual C++ versions.

To build with VC++, you will of course have to first install VC++ which is
part of Visual Studio.
To build with VC++, you need to first install VC++ which is part of Visual
Studio.

Once you have VC++ installed you should launch the application and open one of
the solution or workspace files. The VC directory names are based on the
version of Visual C++ that you will be using. Each version of Visual Studio
has a default version of Visual C++. We offer these versions:
version of Visual C++ that you use. Each version of Visual Studio has a
default version of Visual C++. We offer these versions:

- VC10 (Visual Studio 2010 Version 10.0)
- VC11 (Visual Studio 2012 Version 11.0)
Expand All @@ -56,7 +56,7 @@ use `VC14.30\curl-all.sln` to build curl and libcurl.

If you are a developer and plan to run the curl tool from Visual Studio (eg
you are debugging) with any third-party libraries (such as OpenSSL, wolfSSL or
libSSH2) then you will need to add the search path of these DLLs to the
libSSH2) then you need to add the search path of these DLLs to the
configuration's PATH environment. To do that:

1. Open the 'curl-all.sln' or 'curl.sln' solutions
Expand Down Expand Up @@ -88,8 +88,8 @@ DLL Debug - DLL wolfSSL (x64):
C:\Windows;C:\Windows\System32\Wbem

If you are using a configuration that uses multiple third-party library DLLs
(such as `DLL Debug - DLL OpenSSL - DLL LibSSH2`) then `Path to DLL` will need
to contain the path to both of these.
(such as `DLL Debug - DLL OpenSSL - DLL LibSSH2`) then `Path to DLL` need to
contain the path to both of these.

## Notes

Expand All @@ -102,12 +102,12 @@ The following keywords have been used in the directory hierarchy:
Release - LIB OpenSSL)

If you are using the source code from the git repository, rather than a
release archive or nightly build, you will need to generate the project
release archive or nightly build, you need to generate the project
files. Please run "generate -help" for usage details.

Should you wish to help out with some of the items on the TODO list, or find
bugs in the project files that need correcting, and would like to submit
updated files back then please note that, whilst the solution files can be
edited directly, the templates for the project files (which are stored in the
git repository) will need to be modified rather than the generated project
files that Visual Studio uses.
git repository) need to be modified rather than the generated project files
that Visual Studio uses.
4 changes: 2 additions & 2 deletions cmdline.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@ prompts and from within scripts by countless users over the years.
## Garbage in gives garbage out

curl has little will of its own. It tries to please you and your wishes to a
large extent. It also means that it will try to play with what you give it. If
large extent. It also means that it tries to play with what you give it. If
you misspell an option, it might do something unintended. If you pass in a
slightly illegal URL, chances are curl will still deal with it and proceed. It
slightly illegal URL, chances are curl still deals with it and proceeds. It
means that you can pass in crazy data in some options and you can have curl
pass on that crazy data in its transfer operation.

Expand Down
5 changes: 3 additions & 2 deletions cmdline/configfile.md
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,8 @@ You'll need to use double quotes when:
* the parameter contains white space, or starts with the characters `:` or `=`.
* you need to use escape sequences (available options: `\\`, `\"`, `\t`, `\n`, `\r` and `\v`. A backslash preceding any other letter is ignored).

If a parameter containing white space is not enclosed in double quotes, curl will treat the next space or newline as the end of the argument.
If a parameter containing white space is not enclosed in double quotes, curl
considers the next space or newline as the end of the argument.

## Default config file

Expand Down Expand Up @@ -129,4 +130,4 @@ it checks for one in the same dir the curl executable is placed.

On Windows two filenames are checked per location: `.curlrc` and `_curlrc`,
preferring the former. Ancient curl versions on Windows checked for `_curlrc`
only.
only.
9 changes: 4 additions & 5 deletions cmdline/differences.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,7 @@ precedence when a command line is executed. In order to use curl properly with
PowerShell, you need to type in its full name including the extension:
"curl.exe".

Different command-line environments will also have different maximum command
line lengths and force the users to limit how large amount of data that can be
put into a single line. curl adapts to this by offering a way to provide
command-line options through a file or stdin using the
[-K option](configfile.md).
Different command-line environments have different maximum command line
lengths and force the users to limit how large amount of data that can be put
into a single line. curl adapts to this by offering a way to provide
command-line options through a file or stdin using the [-K option](configfile.md).
4 changes: 2 additions & 2 deletions cmdline/globbing.md
Original file line number Diff line number Diff line change
Expand Up @@ -53,8 +53,8 @@ of the brackets used for the ranges:

## Combinations

You can use several globs in the same URL which then will make curl iterate
over those, too. To download the images of Ben, Alice and Frank, in both the
You can use several globs in the same URL which then makes curl iterate over
those, too. To download the images of Ben, Alice and Frank, in both the
resolutions 100 x 100 and 1000 x 1000, a command line could look like:

curl -O "http://example.com/{Ben,Alice,Frank}-{100x100,1000x1000}.jpg"
Expand Down
14 changes: 7 additions & 7 deletions cmdline/listopts.md
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
# List options

curl has more than two hundred and fifty command-line options and the number
of options keep increasing over time. Chances are the number of options will
reach three hundred in the coming years.
of options keep increasing over time. Chances are the number of options
reaches or even surpasses three hundred in the coming years.

To find out which options you need to perform as certain action, you can get
curl to list them. First, `curl --help` or simply `curl -h` will get you a
list of the most important and frequently used options. You can then provide
an additional "category" to `-h` to get more options listed for that specific
curl to list them. First, `curl --help` or simply `curl -h` get you a list of
the most important and frequently used options. You can then provide an
additional "category" to `-h` to get more options listed for that specific
area. Use `curl -h category` to list all existing categories or `curl -h all`
to list *all* available options.

The `curl --manual` option outputs the entire man page for curl. That is a
thorough and complete document on how each option works amassing several
thousand lines of documentation. To wade through that is also a tedious work
and we encourage use of a search function through those text masses. Some
people will appreciate the man page in its [web
version](https://curl.se/docs/manpage.html).
people might also appreciate the man page in its
[web version](https://curl.se/docs/manpage.html).
8 changes: 4 additions & 4 deletions cmdline/options.md
Original file line number Diff line number Diff line change
Expand Up @@ -76,17 +76,17 @@ contains one or more spaces. For example you want to set the user-agent field
curl uses to be exactly `I am your father`, including those three spaces. Then
you need to put quotes around the string when you pass it to curl on the
command line. The exact quotes to use varies depending on your shell/command
prompt, but generally it will work with double quotes in most places:
prompt, but generally it works with double quotes in most places:

curl -A "I am your father" http://example.com

Failing to use quotes, like if you would write the command line like this:

curl -A I am your father http://example.com

will make curl only use 'I' as a user-agent string, and the following
strings, 'am', your, etc will instead all be treated as separate URLs since
they do not start with `-` to indicate that they are options and curl only ever
makes curl only use 'I' as a user-agent string, and the following strings,
`am`, `your` and `father` are instead treated as separate URLs since they do
not start with `-` to indicate that they are options and curl only ever
handles options and URLs.

To make the string itself contain double quotes, which is common when you for
Expand Down
Loading

0 comments on commit df68c8b

Please sign in to comment.