-
-
Notifications
You must be signed in to change notification settings - Fork 1.4k
picotls: update, disable mbedtls, fix test #29397
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
base: master
Are you sure you want to change the base?
Conversation
Notifying maintainers: |
Uhh, it seems the fusion backend detects AES-NI capabilities on build. I should probably turn this on with a build flag for x86-64 and off for ARM64? |
Should definitely be off for powerpc. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fusion should either be fixed for all archs or handled conditionally.
Update. It uses Intel intrinsics, so won’t be fixable.
net/picotls/Portfile
Outdated
copy ${worksrcpath}/include/picotls ${destroot}${prefix}/include | ||
copy ${worksrcpath}/include/picotls.h ${destroot}${prefix}/include | ||
foreach lib {libpicotls-core.a libpicotls-mbedtls.a libpicotls-minicrypto.a libpicotls-openssl.a} { | ||
foreach lib {libpicotls-core.a libpicotls-fusion.a libpicotls-minicrypto.a libpicotls-openssl.a} { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This does not work, libpicotls-fusion.a
is not built on powerpc (or with gcc).
net/picotls/Portfile
Outdated
HTTP/1, HTTP/2 and HTTP/3 over QUIC. | ||
|
||
set with_fusion OFF | ||
if {${build_arch} in [list i386 x86_64]} { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sorry for nitpicking, but configure.build_arch
should rather be used, IMO, here (though it makes difference only for edge cases).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Interesting... I'm actually thinking of +universal
, does this count as an edge case? What's the semantic difference between the two? I just took this from random ports I found. I thought configure.*
would make sense in the configure phase, probably I should also move the block?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
AFAIK, build_arch
is a single primary arch in macports.conf. For example, I may have x86_64 there, but build a given port for ppc, or reverse (assuming 10.6.8 on a physical Intel machine). configure.build_arch
is what I am actually building for. I am not an expert with universal builds, since they are largely broken for my cases of interest.
net/picotls/Portfile
Outdated
# FIXME: fails to build with clang on 10.6–10.7: | ||
# error: call to undeclared library function 'aligned_alloc' | ||
# https://github.com/h2o/picotls/issues/514 | ||
*gcc-3.* *gcc-4.* {clang < 800} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not sure gcc-3.x is a concern anymore, but this can be written shorter as {*gcc-[34].*}
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The build works fine now.
@reneeotten This should be good to merge (with squashing commits). |
Description
Type(s)
Tested on
macOS 10.15.7 19H2026 x86_64
Command Line Tools 12.4.0.0.1.1610135815
Verification
Have you
port lint
?sudo port test
?sudo port -vst install
?