jdzyzh / mp4v2

Automatically exported from code.google.com/p/mp4v2
Other
0 stars 0 forks source link

libmp4v2 should compile with -std=c99 (for PowerPC 64bit) #62

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
What steps will reproduce the problem?
1. Compile and install libmp4v2-1.9.1
2. Try to compile faac 1.28 with libmp4v2-1.9.1 ( http://www.audiocoding.com )

What is the expected output? What do you see instead?

Please see, http://bugs.gentoo.org/306881 for details

What version of the product are you using? On what operating system?

PowerPC, 64bit userland, Altivec, Linux, GLIBC, GCC-4

Please provide any additional information below.

Either compile with -std=c99 
or add:

defined(HAVE_STDBOOL_H)

to platform.h (this should work too, this is being used for same issue in 
openjpeg package)

Original issue reported on code.google.com by ssuomi...@unk.fi on 4 Jul 2010 at 12:26

GoogleCodeExporter commented 8 years ago
ssuominen,

I reviewed the threads you linked to, as well as information about c99.  

It seems to me that the basic problem is faac is not compiling with -std=c99. 
This does not seem to be an issue with mp4v2, because mp4v2 is written in C++.  
-std=c99 informs gcc that mp4v2 conforms to the c99 specification for the C 
programming language, which is simply wrong given that mp4v2 is written in C++. 
 The GNU gcc documentation even makes it clear that you cannot compile C++ with 
std=c99 (see http://gcc.gnu.org/onlinedocs/gcc-3.0.4/gcc_6.html, for example).  
Furthermore, platform.h is a system header, and altering a system header could 
potentially break other packages.

See http://www.ibm.com/developerworks/library/l-c99.html for more info, but 
it's pretty clear to me that c99 applies only to the C language.  Please let me 
know if you disagree with this, but after reviewing all material, I believe 
this change needs to happen in faac and not mp4v2.

Original comment by kid...@gmail.com on 22 Jul 2010 at 8:02