Closed carlonluca closed 3 months ago
I picked up some changes from this PR to safe-string
branch.
Going to merge safe-string
to master shortly and close this PR.
Would appreciate testing if I missed anything there.
builds for me with $ ./configure --enable-upnp-natpmp --enable-debug
Network modules:
- eDonkey enabled (eMule SUI enabled)
- BitTorrent enabled
- FileTP (aka wget) enabled
- Fasttrack enabled
- Gnutella disabled - unmaintained
- Gnutella2 disabled - unmaintained
- Direct Connect enabled
- Open Napster disabled - currently not usable
- Soulseek disabled - currently not usable
- OpenFT disabled - currently not usable
Core features:
- zlib (required) enabled
- threads enabled
- bzip2 enabled
- iconv enabled
- libmagic enabled
- upnp & natpmp enabled
- graphical stats disabled
Compilers:
- OCaml version 4.14.1
- gcc version 12
- g++ version 12
Thanks a lot!
Compiling with recent versions of the ocaml compiler requires to respect the string immutability rule. This patch allows to build mldonkey without the unsafe strings switch, thus opening to new compiler versions and recent distros.
Respecting the string immutability rule required more byte/string conversions, which results in more copies. More refactoring is needed to prevent these copies.
This patch should close #46.