curl/.reuse/dep5
Viktor Szakats 2ebc74c36a
cmake: add support for single libcurl compilation pass
Before this patch CMake builds used two separate compilation passes to
build the shared and static libcurl respectively. This patch allows to
reduce that to a single pass if the target platform and build settings
allow it.

This reduces CMake build times when building both static and shared
libcurl at the same time, making these dual builds an almost zero-cost
option.

Enable this feature for Windows builds, where the difference between the
two passes was the use of `__declspec(dllexport)` attribute for exported
API functions for the shared builds. This patch replaces this method
with the use of `libcurl.def` at DLL link time.

Also update `Makefile.mk` to use `libcurl.def` to export libcurl API
symbols on Windows. This simplifies (or fixes) this build method (e.g.
in curl-for-win, which generated a `libcurl.def` from `.h` files using
an elaborate set of transformations).

`libcurl.def` has the maintenance cost of keeping the list of public
libcurl API symbols up-to-date. This list seldom changes, so the cost
is low.

Closes #11546
2023-08-01 08:12:26 +00:00

99 lines
2.7 KiB
Plaintext

Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: curl
Upstream-Contact: Daniel Stenberg <daniel@haxx.se>
Source: https://curl.se
# Tests
Files: tests/data/test* tests/certs/* tests/stunnel.pem tests/valgrind.supp
Copyright: Daniel Stenberg, <daniel@haxx.se>, et al.
License: curl
# Markdown documentation in docs/
Files: docs/*.md
Copyright: Daniel Stenberg, <daniel@haxx.se>, et al.
License: curl
# Docs in docs/
Files: docs/FAQ docs/INSTALL docs/INSTALL.cmake docs/KNOWN_BUGS docs/MAIL-ETIQUETTE docs/THANKS docs/TODO docs/cmdline-opts/page-footer docs/libcurl/curl_multi_socket_all.3 docs/libcurl/curl_strnequal.3 docs/libcurl/symbols-in-versions docs/options-in-versions
Copyright: Daniel Stenberg, <daniel@haxx.se>, et al.
License: curl
# Windows
Files: projects/Windows/*
Copyright: Daniel Stenberg, <daniel@haxx.se>, et al.
License: curl
Files: libcurl.def
Copyright: Daniel Stenberg, <daniel@haxx.se>, et al.
License: curl
# Single files we do not want to edit directly
Files: CHANGES
Copyright: Daniel Stenberg, <daniel@haxx.se>, et al.
License: curl
Files: GIT-INFO
Copyright: Daniel Stenberg, <daniel@haxx.se>, et al.
License: curl
Files: RELEASE-NOTES
Copyright: Daniel Stenberg, <daniel@haxx.se>, et al.
License: curl
# checksrc control files
Files: lib/.checksrc docs/examples/.checksrc tests/libtest/.checksrc
Copyright: Daniel Stenberg, <daniel@haxx.se>, et al.
License: curl
Files: lib/libcurl.plist.in
Copyright: Daniel Stenberg, <daniel@haxx.se>, et al.
License: curl
Files: lib/libcurl.vers.in
Copyright: Daniel Stenberg, <daniel@haxx.se>, et al.
License: curl
Files: packages/OS400/README.OS400
Copyright: Daniel Stenberg, <daniel@haxx.se>, et al.
License: curl
Files: packages/vms/build_vms.com
Copyright: Daniel Stenberg, <daniel@haxx.se>, et al.
License: curl
Files: packages/vms/curl_release_note_start.txt
Copyright: Daniel Stenberg, <daniel@haxx.se>, et al.
License: curl
Files: packages/vms/curlmsg.sdl
Copyright: Daniel Stenberg, <daniel@haxx.se>, et al.
License: curl
Files: packages/vms/macro32_exactcase.patch
Copyright: Daniel Stenberg, <daniel@haxx.se>, et al.
License: curl
Files: packages/vms/readme
Copyright: Daniel Stenberg, <daniel@haxx.se>, et al.
License: curl
Files: plan9/README
Copyright: Daniel Stenberg, <daniel@haxx.se>, et al.
License: curl
Files: projects/wolfssl_override.props
Copyright: Daniel Stenberg, <daniel@haxx.se>, et al.
License: curl
Files: README
Copyright: Daniel Stenberg, <daniel@haxx.se>, et al.
License: curl
Files: .github/ISSUE_TEMPLATE/bug_report.md
Copyright: Daniel Stenberg, <daniel@haxx.se>, et al.
License: curl
Files: .mailmap
Copyright: Daniel Stenberg, <daniel@haxx.se>, et al.
License: curl