Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ci: build libcurl without http #255

Merged
merged 1 commit into from
Nov 17, 2023
Merged

Conversation

vszakats
Copy link
Member

@vszakats vszakats commented Nov 16, 2023

For even smaller trurl binaries, and faster builds with libcurl built
without http support.

Also move http/80 tests to imap/143 for default-port tests.
We need IMAP already for IMAP options support.

Also mark tests relying on IMAP default port to require libcurl with
IMAP enabled.

ARM64 trurl.exe sizes:

Closes #255


Pending: curl/curl#12343 [MERGED]

@vszakats
Copy link
Member Author

There are reasonable savings in binary size by using a slimmed down libcurl.

The downside is the loss of the default:port feature for the disabled protocols.

It'd help if trurl could provide its own list of default ports without relying on libcurl
for this (or if libcurl would do the same without pulling in the whole protocol logic.)

@bagder
Copy link
Member

bagder commented Nov 17, 2023

Agreed! It is probably best handled by trurl itself...

@vszakats vszakats force-pushed the win-smaller-exe branch 2 times, most recently from 562ac28 to 46083e2 Compare November 17, 2023 13:47
@vszakats vszakats changed the title ci: build libcurl without http ci: build libcurl without http and imap Nov 17, 2023
vszakats added a commit to vszakats/trurl that referenced this pull request Nov 17, 2023
Also move http/80 tests to imap/143 for default-port tests.

To allow thinner libcurl builds without HTTP support. We need IMAP
already for IMAP options support.

Also mark tests relying on IMAP default port to require libcurl with
IMAP enabled.

ARM64 `trurl.exe` sizes:
- Before: 465KB https://github.com/curl/trurl/actions/runs/6903445608
- After, no http: 318KB https://github.com/curl/trurl/actions/runs/6903509264
- no http, no unity: 244KB https://github.com/curl/trurl/actions/runs/6903576741
- no http, no unity, no imap: 189KB https://github.com/curl/trurl/actions/runs/6903738976

Closes curl#255
@vszakats vszakats changed the title ci: build libcurl without http and imap ci: build libcurl without http Nov 17, 2023
@vszakats vszakats added the enhancement New feature or request label Nov 17, 2023
vszakats added a commit to vszakats/trurl that referenced this pull request Nov 17, 2023
For even smaller trurl binaries, and faster builds with libcurl built
without http support.

Also move http/80 tests to imap/143 for default-port tests.
We need IMAP already for IMAP options support.

Also mark tests relying on IMAP default port to require libcurl with
IMAP enabled.

ARM64 `trurl.exe` sizes:
Before: 465KB https://github.com/curl/trurl/actions/runs/6903445608
After, no http: 324KB https://github.com/curl/trurl/actions/runs/6903509264
no http, no unity: 245KB https://github.com/curl/trurl/actions/runs/6903576741
no http, no unity, no imap: 189KB https://github.com/curl/trurl/actions/runs/6903738976

Closes curl#255
For even smaller trurl binaries, and faster builds with libcurl built
without http support.

Also move http/80 tests to imap/143 for default-port tests.
We need IMAP already for IMAP options support.

Also mark tests relying on IMAP default port to require libcurl with
IMAP enabled.

ARM64 `trurl.exe` sizes:
- Before: 465KB https://github.com/curl/trurl/actions/runs/6903445608
- After, no http: 324KB https://github.com/curl/trurl/actions/runs/6903509264
- no http, no unity: 245KB https://github.com/curl/trurl/actions/runs/6903576741
- no http, no imap, unity: 243KB https://github.com/curl/trurl/actions/runs/6906597033
- no http, no imap, no unity: 189KB https://github.com/curl/trurl/actions/runs/6903738976

Closes curl#255
@vszakats vszakats merged commit 96b4f40 into curl:master Nov 17, 2023
10 checks passed
@vszakats vszakats deleted the win-smaller-exe branch November 17, 2023 18:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants