-
Notifications
You must be signed in to change notification settings - Fork 560
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
Add Socket.so link to perlembed doc #19
Conversation
When using xs_init we need to link the binary to the .so files in order to be able to call the boot_* function. Note: not sure if ExtUtils::Embed can provide a way to get the path of the .so file
Pull Request just there for code review |
This is almost certainly the wrong change. I would instead suggest is to remove all references to boot_Socket. Such a thing would only be needed on a perl without dynamic loading, And then all XS extensions that will be used would need to be mentioned and linked in correctly. Effectively long stopped supporting such a scenario. |
@Leont indeed removing the I do not think we can compile the providing example without linking it to the |
That is not a sensible purpose in 2019. I'm not aware of any platform that runs perl but doesn't have dynamic loading, for that matter (I think the last such platform was DOS). This stuff is dead.
Then perhaps we should just delete the entire section. |
Yes you are right the section I think deleting the section is probably the correct thing to do. |
mm after second reflection not sure we should delete it, This is uncommon usage, but I can the value of it, for example B::C programs are pretty close to that and linking with the .so file makes sense to me... |
We probably need to rewrite this thing from scratch. |
[DELTA] 0.2309 2019-01-06 20:29:15Z - fix longstanding pod formatting error (issue Perl#19, RT#109526)
When using LLVM to generate a WASM target, it's currently not possible to dynamically link XS code. WebPerl needs this feature to statically link modules like Text::CSV_XS for example. |
Doesn't Webperl do that by adding those modules at perl build time and statically linking everything? It seems irrelevant to this PR. |
Looping in @haukex to answer for WebPerl. :) |
You can dump members of %Config on the sample page to see that WebPerl is built with -Uusedl and many static_exts, including |
WebPerl builds with So yeah, currently WebPerl requires all XS code to be statically linked into the I've skimmed this issue and I have to admit I don't yet understand if this affects the way WebPerl is built :-/ |
From the discussion this doesn't appear to be a reasonable change, I'll close this soonish if no-one objects. |
[DELTA] 2.74 2020-09-09 09:21:39 rurban Features - Add ICMPv6_NI_REPLY support. Bugfixes - Fix icmp payload offset to match icmpv6 (JimC Leones GH #21) Skip the 20 byte header to reliably find the various return types. This unifies icmpv6 with icmp better. - Fix $SOCKET::VERSION eval (Petr Pavlu, PR #22) META Changes - Fix and improve the META repository as hashref, license as arrayref (Tom Hukins, PR #19) - add TEST_REQUIRES - sort MANIFEST - add windows smokers: appveyor Test fixes - Improve the tcp test to localhost, when there is no route to localhost (freebsd mostly) - TODO a flaky 450_service.t on 127.0.0.1 on port 2 on Windows (analog to freebsd, ...) (Christian Walde, PR #20) - Skip 501_ping_icmpv6.t when icmpv6 cannot be initialized. Mostly due to missing icmpv6 support. (GH #15) - add more xt tests: t/602_kwalitee.t, t/603_meta.t, t/604_manifest.t
v6.0.99 - 2024-07-10 - Drop support for Perl 5.10. podlators now requires Perl 5.12 or later. - podlators now uses semantic versioning for the package and module versions, with a v prefix to work with Perl's packaging system. - Pod::Man now translates all "-" characters in the input into *roff "\-" escapes (normally rendered as an ASCII hyphen-minus, U+002D) rather than using fragile heuristics to decide which characters represent true hyphens and which represent ASCII hyphen-minus. The previous heuristics misrendered command names such as apt-get, causing search and cut-and-paste issues. This change may cause line-break issues with long hyphenated phrases. In cases where the intent is a true hyphen, consider using UTF-8 as the POD character set (declared with =encoding) and using true Unicode hyphens instead of the ASCII "-" character. - Pod::Man now disables the special *roff interpretation of "`" and "'" characters as paired quotes everywhere, not just in verbatim text, thus forcing them to be interpreted as the regular ASCII characters. This also disables the use of "``" and "''" for paired double-quotes. The rationale is similar to that for hyphens: there is no way to tell from the POD source that the special interpretation as quotes is intended. To produce paired typographic quotes in the output, use UTF-8 and Unicode paired quote characters. - Man page references in L<> that are detected as such by Pod::Simple are now always formatted as man page references even if our normal heuristic would not detect them. This fixes the formatting of constructions such as @@RXVT_NAME@@Perl(3), which are used by packages that format a man page with POD and then substitute variables into it at build time. Thanks to Marco Sirabella for the analysis and an initial patch. (GitHub Perl#21) - Add a workaround to Pod::Man to force persistent ragged-right justification under nroff with groff 1.23.0. Thanks to Guillem Jover for the report and G. Branden Robinson for the analysis. (GitHub Perl#23) - Fix wrapping of text with S<> markup in all subclasses of Pod::Text. Thanks to Jim Avera for the report. (GitHub Perl#24) - Pod::Man now forces a blank line after a nested list contains only =item tags without bodies. In previous versions, the blank line before the next item in the surrounding =over block was not included. Thanks to Julien ÉLIE for the report. (GitHub Perl#26) - Import PerlIO before checking for layers so that PerlIO::F_UTF8 is available, which fixes double-encoding of output when a :utf8 layer is in place and PerlIO is not imported. Thanks to youpong for the bug report, James Keenan for the elaboration, and Graham Knop for the fix. (GitHub #25) - pod2text --help now exits with status 0, not 1, matching normal UNIX command behavior and the behavior of pod2man. (GitHub Perl#19) - Fix tests when NO_COLOR is set in the environment. (GitHub Perl#20)
v6.0.0 - 2024-07-10 - Drop support for Perl 5.10. podlators now requires Perl 5.12 or later. - podlators now uses semantic versioning for the package and module versions, with a v prefix to work with Perl's packaging system. - Pod::Man now translates all "-" characters in the input into *roff "\-" escapes (normally rendered as an ASCII hyphen-minus, U+002D) rather than using fragile heuristics to decide which characters represent true hyphens and which represent ASCII hyphen-minus. The previous heuristics misrendered command names such as apt-get, causing search and cut-and-paste issues. This change may cause line-break issues with long hyphenated phrases. In cases where the intent is a true hyphen, consider using UTF-8 as the POD character set (declared with =encoding) and using true Unicode hyphens instead of the ASCII "-" character. - Pod::Man now disables the special *roff interpretation of "`" and "'" characters as paired quotes everywhere, not just in verbatim text, thus forcing them to be interpreted as the regular ASCII characters. This also disables the use of "``" and "''" for paired double-quotes. The rationale is similar to that for hyphens: there is no way to tell from the POD source that the special interpretation as quotes is intended. To produce paired typographic quotes in the output, use UTF-8 and Unicode paired quote characters. - Man page references in L<> that are detected as such by Pod::Simple are now always formatted as man page references even if our normal heuristic would not detect them. This fixes the formatting of constructions such as @@RXVT_NAME@@Perl(3), which are used by packages that format a man page with POD and then substitute variables into it at build time. Thanks to Marco Sirabella for the analysis and an initial patch. (GitHub #21) - Add a workaround to Pod::Man to force persistent ragged-right justification under nroff with groff 1.23.0. Thanks to Guillem Jover for the report and G. Branden Robinson for the analysis. (GitHub #23) - Fix wrapping of text with S<> markup in all subclasses of Pod::Text. Thanks to Jim Avera for the report. (GitHub #24) - Pod::Man now forces a blank line after a nested list contains only =item tags without bodies. In previous versions, the blank line before the next item in the surrounding =over block was not included. Thanks to Julien ÉLIE for the report. (GitHub #26) - Import PerlIO before checking for layers so that PerlIO::F_UTF8 is available, which fixes double-encoding of output when a :utf8 layer is in place and PerlIO is not imported. Thanks to youpong for the bug report, James Keenan for the elaboration, and Graham Knop for the fix. (GitHub #25) - pod2text --help now exits with status 0, not 1, matching normal UNIX command behavior and the behavior of pod2man. (GitHub #19) - Fix tests when NO_COLOR is set in the environment. (GitHub #20) v6.0.1 - 2024-07-12 - Remove autodie from the module build process. When built as part of Perl core, podlators is built before autodie is available. Thanks to James E Keenan for the report and a draft patch. (GitHub #33)
v6.0.0 - 2024-07-10 - Drop support for Perl 5.10. podlators now requires Perl 5.12 or later. - podlators now uses semantic versioning for the package and module versions, with a v prefix to work with Perl's packaging system. - Pod::Man now translates all "-" characters in the input into *roff "\-" escapes (normally rendered as an ASCII hyphen-minus, U+002D) rather than using fragile heuristics to decide which characters represent true hyphens and which represent ASCII hyphen-minus. The previous heuristics misrendered command names such as apt-get, causing search and cut-and-paste issues. This change may cause line-break issues with long hyphenated phrases. In cases where the intent is a true hyphen, consider using UTF-8 as the POD character set (declared with =encoding) and using true Unicode hyphens instead of the ASCII "-" character. - Pod::Man now disables the special *roff interpretation of "`" and "'" characters as paired quotes everywhere, not just in verbatim text, thus forcing them to be interpreted as the regular ASCII characters. This also disables the use of "``" and "''" for paired double-quotes. The rationale is similar to that for hyphens: there is no way to tell from the POD source that the special interpretation as quotes is intended. To produce paired typographic quotes in the output, use UTF-8 and Unicode paired quote characters. - Man page references in L<> that are detected as such by Pod::Simple are now always formatted as man page references even if our normal heuristic would not detect them. This fixes the formatting of constructions such as @@RXVT_NAME@@Perl(3), which are used by packages that format a man page with POD and then substitute variables into it at build time. Thanks to Marco Sirabella for the analysis and an initial patch. (GitHub #21) - Add a workaround to Pod::Man to force persistent ragged-right justification under nroff with groff 1.23.0. Thanks to Guillem Jover for the report and G. Branden Robinson for the analysis. (GitHub #23) - Fix wrapping of text with S<> markup in all subclasses of Pod::Text. Thanks to Jim Avera for the report. (GitHub #24) - Pod::Man now forces a blank line after a nested list contains only =item tags without bodies. In previous versions, the blank line before the next item in the surrounding =over block was not included. Thanks to Julien ÉLIE for the report. (GitHub #26) - Import PerlIO before checking for layers so that PerlIO::F_UTF8 is available, which fixes double-encoding of output when a :utf8 layer is in place and PerlIO is not imported. Thanks to youpong for the bug report, James Keenan for the elaboration, and Graham Knop for the fix. (GitHub #25) - pod2text --help now exits with status 0, not 1, matching normal UNIX command behavior and the behavior of pod2man. (GitHub #19) - Fix tests when NO_COLOR is set in the environment. (GitHub #20) v6.0.1 - 2024-07-12 - Remove autodie from the module build process. When built as part of Perl core, podlators is built before autodie is available. Thanks to James E Keenan for the report and a draft patch. (GitHub #33)
v6.0.0 - 2024-07-10 - Drop support for Perl 5.10. podlators now requires Perl 5.12 or later. - podlators now uses semantic versioning for the package and module versions, with a v prefix to work with Perl's packaging system. - Pod::Man now translates all "-" characters in the input into *roff "\-" escapes (normally rendered as an ASCII hyphen-minus, U+002D) rather than using fragile heuristics to decide which characters represent true hyphens and which represent ASCII hyphen-minus. The previous heuristics misrendered command names such as apt-get, causing search and cut-and-paste issues. This change may cause line-break issues with long hyphenated phrases. In cases where the intent is a true hyphen, consider using UTF-8 as the POD character set (declared with =encoding) and using true Unicode hyphens instead of the ASCII "-" character. - Pod::Man now disables the special *roff interpretation of "`" and "'" characters as paired quotes everywhere, not just in verbatim text, thus forcing them to be interpreted as the regular ASCII characters. This also disables the use of "``" and "''" for paired double-quotes. The rationale is similar to that for hyphens: there is no way to tell from the POD source that the special interpretation as quotes is intended. To produce paired typographic quotes in the output, use UTF-8 and Unicode paired quote characters. - Man page references in L<> that are detected as such by Pod::Simple are now always formatted as man page references even if our normal heuristic would not detect them. This fixes the formatting of constructions such as @@RXVT_NAME@@Perl(3), which are used by packages that format a man page with POD and then substitute variables into it at build time. Thanks to Marco Sirabella for the analysis and an initial patch. (GitHub #21) - Add a workaround to Pod::Man to force persistent ragged-right justification under nroff with groff 1.23.0. Thanks to Guillem Jover for the report and G. Branden Robinson for the analysis. (GitHub #23) - Fix wrapping of text with S<> markup in all subclasses of Pod::Text. Thanks to Jim Avera for the report. (GitHub #24) - Pod::Man now forces a blank line after a nested list contains only =item tags without bodies. In previous versions, the blank line before the next item in the surrounding =over block was not included. Thanks to Julien ÉLIE for the report. (GitHub #26) - Import PerlIO before checking for layers so that PerlIO::F_UTF8 is available, which fixes double-encoding of output when a :utf8 layer is in place and PerlIO is not imported. Thanks to youpong for the bug report, James Keenan for the elaboration, and Graham Knop for the fix. (GitHub #25) - pod2text --help now exits with status 0, not 1, matching normal UNIX command behavior and the behavior of pod2man. (GitHub #19) - Fix tests when NO_COLOR is set in the environment. (GitHub #20) v6.0.1 - 2024-07-12 - Remove autodie from the module build process. When built as part of Perl core, podlators is built before autodie is available. Thanks to James E Keenan for the report and a draft patch. (GitHub #33) v6.0.2 - 2024-07-14 - Fix removal of scripts/pod2man and scripts/pod2text by make realclean, broken in the v6.0.0 release. Thanks to James E Keenan for the report.
v6.0.0 - 2024-07-10 - Drop support for Perl 5.10. podlators now requires Perl 5.12 or later. - podlators now uses semantic versioning for the package and module versions, with a v prefix to work with Perl's packaging system. - Pod::Man now translates all "-" characters in the input into *roff "\-" escapes (normally rendered as an ASCII hyphen-minus, U+002D) rather than using fragile heuristics to decide which characters represent true hyphens and which represent ASCII hyphen-minus. The previous heuristics misrendered command names such as apt-get, causing search and cut-and-paste issues. This change may cause line-break issues with long hyphenated phrases. In cases where the intent is a true hyphen, consider using UTF-8 as the POD character set (declared with =encoding) and using true Unicode hyphens instead of the ASCII "-" character. - Pod::Man now disables the special *roff interpretation of "`" and "'" characters as paired quotes everywhere, not just in verbatim text, thus forcing them to be interpreted as the regular ASCII characters. This also disables the use of "``" and "''" for paired double-quotes. The rationale is similar to that for hyphens: there is no way to tell from the POD source that the special interpretation as quotes is intended. To produce paired typographic quotes in the output, use UTF-8 and Unicode paired quote characters. - Man page references in L<> that are detected as such by Pod::Simple are now always formatted as man page references even if our normal heuristic would not detect them. This fixes the formatting of constructions such as @@RXVT_NAME@@Perl(3), which are used by packages that format a man page with POD and then substitute variables into it at build time. Thanks to Marco Sirabella for the analysis and an initial patch. (GitHub #21) - Add a workaround to Pod::Man to force persistent ragged-right justification under nroff with groff 1.23.0. Thanks to Guillem Jover for the report and G. Branden Robinson for the analysis. (GitHub #23) - Fix wrapping of text with S<> markup in all subclasses of Pod::Text. Thanks to Jim Avera for the report. (GitHub #24) - Pod::Man now forces a blank line after a nested list contains only =item tags without bodies. In previous versions, the blank line before the next item in the surrounding =over block was not included. Thanks to Julien ÉLIE for the report. (GitHub #26) - Import PerlIO before checking for layers so that PerlIO::F_UTF8 is available, which fixes double-encoding of output when a :utf8 layer is in place and PerlIO is not imported. Thanks to youpong for the bug report, James Keenan for the elaboration, and Graham Knop for the fix. (GitHub #25) - pod2text --help now exits with status 0, not 1, matching normal UNIX command behavior and the behavior of pod2man. (GitHub #19) - Fix tests when NO_COLOR is set in the environment. (GitHub #20) v6.0.1 - 2024-07-12 - Remove autodie from the module build process. When built as part of Perl core, podlators is built before autodie is available. Thanks to James E Keenan for the report and a draft patch. (GitHub #33) v6.0.2 - 2024-07-14 - Fix removal of scripts/pod2man and scripts/pod2text by make realclean, broken in the v6.0.0 release. Thanks to James E Keenan for the report.
When using xs_init we need to link the
binary to the .so files in order to be able
to call the boot_* function.
Note: not sure if ExtUtils::Embed can provide
a way to get the path of the .so file