> Dave Yeo wrote: >> Yes that makes sense. Requiring a C99 compliant compiler seems quitereasonable.> Well I'm actually going to be even more reasonable than that. The onlybits of C99 that flac will really require is header file> with C99 standard width integers (int8_t, uint8_t, int16_t etc). ErikI would recommend including with the distribution a file for windows developers to use. It's fairly simple /* since windows doesn't have stdint.h */ typedef unsigned __int64 uint64_t; typedef unsigned __int32 uint32_t; typedef unsigned __int16 uint16_t; typedef unsigned __int8 uint8_t; typedef __int64 int64_t; typedef __int32 int32_t; typedef __int16 int16_t; typedef __int8 int8_t; #if defined(_M_IX64) typedef unsigned __int128 uint128_t; typedef __int128 int128_t; #endif
>> Dave Yeo wrote: >>> Yes that makes sense. Requiring a C99 compliant compiler seems quite > reasonable. >> Well I'm actually going to be even more reasonable than that. The only > bits of C99 that flac will really require is header file >> with C99 standard width integers (int8_t, uint8_t, int16_t etc). Erik > > I would recommend including with the distribution a file for windows > developers to use. It's fairly simple > > > /* since windows doesn't have stdint.h */ > typedef unsigned __int64 uint64_t; > typedef unsigned __int32 uint32_t; > typedef unsigned __int16 uint16_t; > typedef unsigned __int8 uint8_t; > typedef __int64 int64_t; > typedef __int32 int32_t; > typedef __int16 int16_t; > typedef __int8 int8_t; > #if defined(_M_IX64) > typedef unsigned __int128 uint128_t; > typedef __int128 int128_t; > #endifAlso, I agree with the consensus that developers have to #include such a file before using including FLAC/all.h This is because many Windows developers (such as myself) are likely to already have a stdint.h replacement defined somewhere in their project. The other choice would be to see if there's some preprocessor symbol commonly in use that would indicate that these are defined by the compiler or by preprocessor directives.
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 09.02.2012 21:41, Ben Allison wrote:>>> Dave Yeo wrote: >>>> Yes that makes sense. Requiring a C99 compliant compiler >>>> seems quite >> reasonable. >>> Well I'm actually going to be even more reasonable than that. >>> The only >> bits of C99 that flac will really require is header file >>> with C99 standard width integers (int8_t, uint8_t, int16_t >>> etc). Erik >> >> I would recommend including with the distribution a file for >> windows developers to use. It's fairly simple >> >> >> /* since windows doesn't have stdint.h */ typedef unsigned >> __int64 uint64_t; typedef unsigned __int32 uint32_t; typedef >> unsigned __int16 uint16_t; typedef unsigned __int8 uint8_t; >> typedef __int64 int64_t; typedef __int32 int32_t; typedef __int16 >> int16_t; typedef __int8 int8_t; #if defined(_M_IX64) typedef >> unsigned __int128 uint128_t; typedef __int128 int128_t; #endif > > Also, I agree with the consensus that developers have to #include > such a file before using including FLAC/all.h This is because many > Windows developers (such as myself) are likely to already have a > stdint.h replacement defined somewhere in their project. The other > choice would be to see if there's some preprocessor symbol commonly > in use that would indicate that these are defined by the compiler > or by preprocessor directives.Please, exclude us, MinGW users, from this. MinGW comes with stdint.h -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (MingW32) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iQEcBAEBAgAGBQJPNAzoAAoJEOs4Jb6SI2Cw+ugH/ja+paMxX/z8mMnRS+tcey87 jA6tAlabpRVBzGq0uKxVpfEczbvAbhVynVa2gJ9k8oDYrr18iBGubJavekToP37+ Y7CH6gVAjybela2u5g+mQ5OXRW/8gfVAyMFTVA9PAhao7BQ9nkktFz9A4V7tn7gr VcFRM5ijTj38dqdjBZ6Bal2qfxFr6cashx0hvOMfPfuJHeSTPWgGZYroHIMW3W9P TqmcXnuKVy50w5p8Nu4kOIaQ8Aedo/WOGsZFy/hrUrJLUJPk+VsSZ6LwZlOA3BxP fiEqSX/gEq3+6mdCIuBjc4dm3tVddlVuVfapLof2zlK3z5EECOGGBXP9XYzIAuE=9C/8 -----END PGP SIGNATURE-----