summaryrefslogtreecommitdiff
path: root/lib/Makefile.am
Commit message (Collapse)AuthorAgeFilesLines
* copyright: update all copyright lines and remove year rangesDaniel Stenberg2023-01-031-1/+1
| | | | | | | | | | | | - they are mostly pointless in all major jurisdictions - many big corporations and projects already don't use them - saves us from pointless churn - git keeps history for us - the year range is kept in COPYING checksrc is updated to allow non-year using copyright statements Closes #10205
* cmake: set the soname on the shared libraryDaniel Stenberg2022-12-151-14/+3
| | | | | | | | | Set SONAME and VERSION for platforms we think this works on. Remove issue from KNOWN_BUGS. Assisted-by: Jakub Zakrzewski Closes #10023
* Makefile.mk: portable Makefile.m32Viktor Szakats2022-11-221-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update bare GNU Make `Makefile.m32` to: - Move objects into a subdirectory. - Add support for MS-DOS. Tested with DJGPP. - Add support for Watt-32 (on MS-DOS). - Add support for AmigaOS. - Rename `Makefile.m32` to `Makefile.mk` - Replace `ARCH` with `TRIPLET`. - Build `tool_hugehelp.c` proper (when tools are available). - Drop MS-DOS compatibility macro `USE_ZLIB` (replaced by `HAVE_LIBZ`) - Add support for `ZLIB_LIBS` to override `-lz`. - Omit object files when building examples. - Default `CC` to `gcc` once again, for convenience. (Caveat: compiler name `cc` cannot be set now.) - Set `-DCURL_NO_OLDIES` for examples, like autotools does. - Delete `makefile.dj` files. Notice the configuration details and defaults are not retained with the new method. - Delete `makefile.amiga` files. A successful build needs a few custom options. We're also not retaining all build details from the existing Amiga make files. - Rename `Makefile.m32` to `Makefile.mk` to reflect that they are not Windows/MinGW32-specific anymore. - Add support for new `CFG` options: `-map`, `-debug`, `-trackmem` - Set `-DNDEBUG` by default. - Allow using `-DOS=...` in all `lib/config-*.h` headers, syncing this with `config-win32.h`. - Look for zlib parts in `ZLIB_PATH/include` and `ZLIB_PATH/lib` instead of bare `ZLIB_PATH`. Note that existing build configurations for MS-DOS and AmigaOS likely become incompatible with this change. Example AmigaOS configuration: ``` export CROSSPREFIX=/opt/amiga/bin/m68k-amigaos- export CC=gcc export CPPFLAGS='-DHAVE_PROTO_BSDSOCKET_H' export CFLAGS='-mcrt=clib2' export LDFLAGS="${CFLAGS}" export LIBS='-lnet -lm' make -C lib -f Makefile.mk make -C src -f Makefile.mk ``` Example MS-DOS configuration: ``` export CROSSPREFIX=/opt/djgpp/bin/i586-pc-msdosdjgpp- export WATT_PATH=/opt/djgpp/net/watt export ZLIB_PATH=/opt/djgpp export OPENSSL_PATH=/opt/djgpp export OPENSSL_LIBS='-lssl -lcrypt' export CFG=-zlib-ssl make -C lib -f Makefile.mk make -C src -f Makefile.mk ``` Closes #9764
* windows: fail early with a missing windres in autotoolsViktor Szakats2022-11-011-2/+2
| | | | | | | | | | | | | | | | | | | | | | | `windres` is not always auto-detected by autotools when building for Windows. When this happened, the build failed with a confusing error due to the empty `RC` command: ``` /bin/bash ../libtool --tag=RC --mode=compile -I../include -DCURL_EMBED_MANIFEST -i curl.rc -o curl.o [...] Usage: /sandbox/curl/libtool [OPTION]... [MODE-ARG]... Try 'libtool --help' for more information. libtool: error: unrecognised option: '-I../include' ``` Improve this by verifying if `RC` is set, and fail with a clear error otherwise. Follow-up to 6de7322c03d5b4d91576a7d9fc893e03cc9d1057 Ref: https://curl.se/mail/lib-2022-10/0049.html Reported-by: Thomas Glanzmann Closes #9781
* windows: fix linking .rc to shared curl with autotoolsViktor Szakats2022-10-271-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `./configure --enable-shared --disable-static` fails when trying to link a shared `curl.exe`, due to `libtool` magically changing the output filename of `windres` to one that it doesn't find when linking: ``` /bin/sh ../libtool --tag=RC --mode=compile windres -I../../curl/include -DCURL_EMBED_MANIFEST -i ../../curl/src/curl.rc -o curl.o libtool: compile: windres -I../../curl/include -DCURL_EMBED_MANIFEST -i ../../curl/src/curl.rc -o .libs/curl.o [...] CCLD curl.exe clang: error: no such file or directory: 'curl.o' ``` Let's resolve this by skipping `libtool` and calling `windres` directly when building `src` (aka `curl.exe`). Leave `lib` unchanged, as it does need the `libtool` magic. This solution is compatible with building a static `curl.exe`. This build scenario is not CI-tested. While here, delete an obsolete comment about a permanent `libtool` warning that we've resolved earlier. Regression from 6de7322c03d5b4d91576a7d9fc893e03cc9d1057 Reported-by: Christoph Reiter Fixes #9803 Closes #9805
* windows: add .rc support to autotools buildsViktor Szakats2022-09-181-6/+17
| | | | | | | | | | | | | | | | | | | | After this update autotools builds will compile and link `.rc` resources to Windows executables. Bringing this feature on par with CMake and Makefile.m32 builds. And also making it unnecessary to improvise these steps manually, while monkey patching build files, e.g. [0]. You can customize the resource compiler via the `RC` envvar, and its options via `RCFLAGS`. This harmless warning may appear throughout the build, even though the autotools manual documents [1] `RC` as a valid tag, and it fails when omitting one: `libtool: error: ignoring unknown tag RC` [0] https://github.com/curl/curl-for-win/blob/535f19060d4b708f72e75dd849409ce50baa1b84/curl-autotools.sh#L376-L382 [1] https://www.gnu.org/software/libtool/manual/html_node/Tags.html Closes #9521
* copyright: make repository REUSE compliantmax.mehl2022-06-131-0/+2
| | | | | | | | | | | Add licensing and copyright information for all files in this repository. This either happens in the file itself as a comment header or in the file `.reuse/dep5`. This commit also adds a Github workflow to check pull requests and adapts copyright.pl to the changes. Closes #8869
* scripts: move three scripts from lib/ to scripts/Daniel Stenberg2022-03-231-7/+7
| | | | | | | | | | Move checksrc.pl, firefox-db2pem.sh and mk-ca-bundle.pl since they don't particularly belong in lib/ Also created an EXTRA_DIST= in scripts/Makefile.am instead of specifying those files in the root Makefile.am Closes #8625
* test1135: sync with recent API updatesDaniel Stenberg2022-03-221-1/+1
| | | | | | | | | | | This test verifies that the order of functions in public headers remain the same but hasn't been updated to care for recently added header files. The order is important for some few platforms - or VERSIONINFO needs to updated. This fix also updates VERSIONINFO to be sure. Closes #8620
* mk-ca-bundle.vbs: delete this script in favor of mk-ca-bundle.plJay Satiro2022-03-101-1/+1
| | | | | | | | | | | mk-ca-bundle.vbs is a Windows-specific script for Mozilla certificate extraction, similar to mk-ca-bundle.pl which runs on any platform. The vbs version has not been maintained while the perl version has been maintained with improvements and security fixes. I don't think it's worth the work to maintain both versions. Windows users should be able to use mk-ca-bundle.pl without any problems, as long as they have perl. Closes #8412
* lib/Makefile: remove config-tpf.h from the distDaniel Stenberg2022-02-081-1/+1
| | | | | | | | | Follow-up from da15443dddea2bfb. Missed before because the 'distcheck' CI job was not working as intended. Reported-by: Marcel Raad Bug: https://curl.se/mail/lib-2022-02/0070.html Closes #8403
* configure: remove support for "embedded ares"Daniel Stenberg2022-02-071-7/+0
| | | | | | | | | | In March 2010 (commit 4259d2df7dd) we removed the embedded 'ares' directory from the curl source tree but we have since supported especially detecting and using that build directory. The time has come to remove that kludge and ask users to specify the c-ares dir correctly with --enable-ares. Closes #8397
* vxworks: drop supportDaniel Stenberg2022-02-011-2/+1
| | | | | | | No changes or fixes in vxworks related code since 2009 leads me to believe that this doesn't work anymore. Closes #8362
* netware: remove supportDaniel Stenberg2022-01-311-9/+7
| | | | | | | There are no current users and no Netware related changes done in the code for over 13 years is a clear sign this is abandoned. Closes #8358
* dist: provide lib/.checksrc in the tarballDaniel Stenberg2021-09-161-2/+2
| | | | | | | | | So that debug builds work (checksrc really) Reported-by: Marcel Raad Reported-by: tawmoto on github Fixes #7733 Closes #7734
* curl.se: new homeDaniel Stenberg2020-11-041-1/+1
| | | | Closes #6172
* symbian: drop supportDaniel Stenberg2020-09-221-1/+1
| | | | | | | | | The OS is deprecated. I see no traces of anyone having actually built curl for Symbian after 2012. The public headers are unmodified. Closes #5989
* build: drop support for building with WatcomDaniel Stenberg2020-09-051-1/+1
| | | | | | | These files are not maintained, they seem to have no users, Watcom compilers look like not having users nor releases anymore. Closes #5918
* lib/Makefile.am: bump VERSIONINFO due to new functionsDaniel Stenberg2020-09-011-1/+1
| | | | | | | ... we're generally bad at this, but we are adding new functions for this release. Closes #5899
* options: API for meta-data about easy optionsDaniel Stenberg2020-08-271-0/+3
| | | | | | | | | | | | | | | | const struct curl_easyoption *curl_easy_option_by_name(const char *name); const struct curl_easyoption *curl_easy_option_by_id (CURLoption id); const struct curl_easyoption * curl_easy_option_next(const struct curl_easyoption *prev); The purpose is to provide detailed enough information to allow for example libcurl bindings to get option information at run-time about what easy options that exist and what arguments they expect. Assisted-by: Jeroen Ooms Closes #5365
* cleanup: correct copyright year range on a few filesDaniel Stenberg2020-04-061-1/+1
|
* dist: add missing setup-win32.hMarc Hoersken2020-04-061-1/+2
| | | | Follow up to d820224b8b
* vssh: create directory for SSH backend codeDaniel Stenberg2019-08-171-1/+1
|
* curl_multi_poll: a sister to curl_multi_wait() that waits moreDaniel Stenberg2019-08-061-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Repeatedly we see problems where using curl_multi_wait() is difficult or just awkward because if it has no file descriptor to wait for internally, it returns immediately and leaves it to the caller to wait for a small amount of time in order to avoid occasional busy-looping. This is often missed or misunderstood, leading to underperforming applications. This change introduces curl_multi_poll() as a replacement drop-in function that accepts the exact same set of arguments. This function works identically to curl_multi_wait() - EXCEPT - for the case when there's nothing to wait for internally, as then this function will by itself wait for a "suitable" short time before it returns. This effectiely avoids all risks of busy-looping and should also make it less likely that apps "over-wait". This also changes the curl tool to use this funtion internally when doing parallel transfers and changes curl_easy_perform() to use it internally. Closes #4163
* lib/Makefile.am: make checksrc run in vquic tooDaniel Stenberg2019-08-051-1/+1
|
* plan9: add support for running on Plan 9lufia2019-07-311-2/+2
| | | | Closes #3701
* makefile: make checksrc and hugefile commands "silent"Daniel Stenberg2019-03-141-2/+7
| | | | | | | ... to match the style already used for compiling, linking etc. Acknowledges 'make V=1' to enable verbose. Closes #3681
* configure: rewrite --enable-code-coverageDaniel Stenberg2019-01-261-5/+1
| | | | | | | | | The previously used ax_code_coverage.m4 is not license compatible and must not be used. Reported-by: William A. Rowe Jr Fixes #3497 Closes #3499
* tests: move objnames-* from lib into testsDaniel Stenberg2019-01-151-2/+1
| | | | | | | Since they're used purely for testing purposes, I think they should rather be stored there. Closes #3470
* Makefile: add 'tidy' target that runs clang-tidyDaniel Stenberg2018-10-271-0/+8
| | | | | | Available in the root, src and lib dirs. Closes #3163
* whitespace fixesViktor Szakats2018-09-231-7/+7
| | | | | | | | | | | - replace tabs with spaces where possible - remove line ending spaces - remove double/triple newlines at EOF - fix a non-UTF-8 character - cleanup a few indentations/line continuations in manual examples Closes https://github.com/curl/curl/pull/3037
* lib/Makefile: only do symbol hiding if told toDaniel Stenberg2018-08-031-0/+3
| | | | | | | | | | This restores the ability to build a static lib with --disable-symbol-hiding to keep non-curl_ symbols. Researched-by: Dan Fandrich Reported-by: Ran Mozes Fixes #2830 Closes #2831
* build: remove the Borland specific makefilesDaniel Stenberg2018-06-021-2/+2
| | | | | | | According to the user survey 2018, not even one out of 670 users use them. Nobody on the mailing list spoke up for them either. Closes #2629
* lib: don't export all symbols, just everything curl_*W. Mark Kubacki2017-12-011-0/+2
| | | | | | | | | | | | | | | | | Absent any 'symbol map' or script to limit what gets exported, static linking of libraries previously resulted in a libcurl with curl's and those other symbols being (re-)exported. This did not happen if 'versioned symbols' were enabled (which is not the default) because then a version script is employed. This limits exports to everything starting in 'curl_*'., which is what "libcurl.vers" exports. This avoids strange side-effects such as with mixing methods from system libraries and those erroneously offered by libcurl. Closes #2127
* configure: remove --enable-soname-bump and SONAME_BUMPDaniel Stenberg2017-09-061-14/+0
| | | | | | | | | | | | | | | | | | Back in 2008, (and commit 3f3d6ebe665f3) we changed the logic in how we determine the native type for `curl_off_t`. To really make sure we didn't break ABI without bumping SONAME, we introduced logic that attempted to detect that it would use a different size and thus not be compatible. We also provided a manual switch that allowed users to tell configure to bump SONAME by force. Today, we know of no one who ever got a SONAME bump auto-detected and we don't know of anyone who's using the manual bump feature. The auto- detection is also no longer working since we introduced defining curl_off_t in system.h (7.55.0). Finally, this bumping logic is not present in the cmake build. Closes #1861
* lib: bump version info (soname). Adapt and reenable test 1135.Patrick Monnerat2017-09-041-2/+2
|
* includes: remove curl/curlbuild.h and curl/curlrules.hDaniel Stenberg2017-06-141-5/+1
| | | | | | | | Rely entirely on curl/system.h now. Introduced in Aug 2008 with commit 14240e9e109f. Now gone. Fixes #1456
* build: provide easy code coverage measuringDaniel Stenberg2017-06-021-0/+4
| | | | Closes #1528
* VC: remove the makefile.vc6 build infraDaniel Stenberg2017-01-231-2/+2
| | | | | | The winbuild/ build files is now the single MSVC makefile build choice. Closes #1215
* lib/checksrc.whitelist: not needed anymoreDaniel Stenberg2016-04-191-1/+1
| | | | ... as checksrc now skips comments
* checksrc: pass on -D so the whitelists are found correctlyDaniel Stenberg2016-04-181-2/+2
|
* checksrc/makefile.am: use $top_srcdir to find source filesDaniel Stenberg2016-04-181-1/+2
| | | | ... to properly support out of source tree builds.
* Makefile: Fixed echo of checksrc checkSteve Holme2016-04-081-1/+1
|
* checksrc: Fix issue with the autobuilds not picking up the whitelistSteve Holme2016-04-081-1/+1
|
* checksrc: Added missing vauth and vtls directoriesSteve Holme2016-04-081-1/+1
|
* lib/src: fix the checksrc invokeDaniel Stenberg2016-04-031-2/+2
| | | | ... now works correctly when invoke from the root makefile
* URLs: change all http:// URLs to https://Daniel Stenberg2016-02-031-1/+1
|
* libcurl: VERSIONINFO updatePatrick Monnerat2015-07-211-2/+2
| | | | | Addition of new procedures curl_pushheader_bynum and curl_pushheader_byname requires VERSIONINFO updating.
* INTERNALS: cat lib/README* >> INTERNALSDaniel Stenberg2015-06-091-4/+1
| | | | | | | | and a conversion to markdown. Removed the lib/README.* files. The idea being to move toward having INTERNALS as the one and only "book" of internals documentation. Added a TOC to top of the document.
* README.pingpong: removedDaniel Stenberg2015-05-311-2/+1
|