Re: [Patches] Portability, support for CloudABI, etc.

Moritz Bunkus <[email protected]> Wed, 18 Nov 2015 18:28:25 +0100
Newsgroups gmane.comp.multimedia.matroska.devel
Message-ID <[email protected]>
Hey,

thanks for the contribution.

> 1. Determinism

I get the requirement for determinism but removing the variable causes
an ABI break, and I'm not really willing to go there just for the sake
of determinism.

I would be OK with a configure option for that, though. Now that both
libraries use autoconf this should be easy enough to implement. Problem
is that a config.h that would define the appropriate preprocessor
#defines would have to be shipped and included somehow, too, making the
#requirement for a patch a bit larger.

If you're willing to invest the work to create a patch for the following
points then I'll apply it:

1. add option to configure, e.g. --without-build-timestamp
2. patch both the header and source files to exclude the variable
   depending on the configure option
3. rename config.h to something else (e.g. libebml_config.h), patch a
   central include file (e.g. EbmlConfig.h) to include libebml_config.h,
   and patch the Makefile.am to install the file upon "make install"

It would be enough for libEBML; I could adjust it for libMatroska.

A less invasive approach might be to keep the variable but to leave it
empty.

> 2. Missing include of <stdlib.h>

That's fine, of course, I'll use it.

> 3. Use of non-standard u_int*_t types

Looks fine to me, too. There are several reasons why libEBML uses its
own typedefs: back when it was started (around… 2002?) cross-platform
support for the C99 types was abysmal, and we only received full
autoconf support this year.

Nowadays we can just include inttypes.h and use the C99 variants.

What we cannot do is getting rid of our typedefs altogether (the ones
without the _t suffixes) as that would break existing code.

> 4. CloudABI specific: disable StdIOCallback

Yeah, that's not acceptable as-is for upstreaming.

However, if you're willing to implement what I've talked about in
1. (making the configure-generated config.h part of the libEBML
installation) then I would definitely accept a patch that adds an option
to configure for compiling without StdIOCallback.

That's more work but it would allow your patch to be upstreamed.

Kind regards,
mosu

_______________________________________________
Matroska-devel mailing list
[email protected]
http://lists.matroska.org/cgi-bin/mailman/listinfo/matroska-devel
Read Matroska-Devel on GMane: http://dir.gmane.org/gmane.comp.multimedia.matroska.devel
signature.asc (application/pgp-signature, 819 B)
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQIcBAABCAAGBQJWTLU0AAoJEHSvAK3y4yyF9VwQAND8UZajwlk7+JuGqt/FE7Es
2/IW7Az3AJI3mwatlIV/GGG1ah6rFKencBi/d8EiVWFq7SwPcB5aXcL69H1grUdN
LMsgaaJHaJHr1MSCs/306V+7BNlO3FX5r0aYvT4PS0teMWZ3/UTU+sGvQdKMJjkd
s3TNnwyMOVIEyq/DvLhaUG879/k8J30SMMYDDx+wpL8D5SBM+NG/hV/WTwtvrctK
Wq60IzV5vbAtxqbkxsElAvdD6r2Rqi7qQlX/XKefmVQXBHtBC33hKRhzJu3xzRgh
9uPGmPjzn6z5TPJlf6GC9KFd1tuGxsR70OtnsBcGDnmEo/Wb2JO/s68rHxqFdIEU
jnjRg9cBQyiFoijvBOsuaAz56SEANYtR/C4xH3l5Bz2g+bUj79R/Ix8JBuaTd5tE
z+e/b+96gtxA50Z0LUMC3RZmF4IRx0cYapFrBe12eoLLQOx+kFo8wM+Fv0pXOROK
7UnhGReTcCcKwFIbgmM4nsI4IgPLZOq5MiJkhgLn+qk+houJXcQawMzqI4ia5O4d
2dp5IPmkm9baMkiYz3fwbJbuKTdo8WY8vescf0lZdUUKEgVooUhTVyEGvmJPYKQy
exTX2TciaKhsk9RL7uC7/Ry2wrRArW1t3j19NcghfeP9ynNSQrmZtqi8tbidWnhs
rxVP/nPwykE2+0HHiwSr
=pWcz
-----END PGP SIGNATURE-----