[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [OpenDivX] How to make an open-source project fail



Am Samstag, 2. Juni 2001 16:50 schrieben Sie:
> If that last sentence is true, how can one build the latest CVS tree
> without having to create a complete GNU auto-shit^H^H^H^Hconf suite (I was
> never a big fan of these tools :-) ) ?

Forget Makefiles, they never work the way you want them to. At least not with
OpenDivX. Use the good old shell instead... :-)

Two shell lines are enough to create a static lib, shared can of course be
created the same way.

To go divxcore/encore/src and run

#!/bin/sh
cc -c *.c
ar r libdivxencore.a *.o

No, that's not three lines, since the first is a comment.  :-)
Of course you can add as many options as you like, I usually use
cc -O2 -Wall -g -D_RC_
for debugging symbols and creation of a trace.txt file.

For Solaris/IRIX you should set -DBIG_ENDIAN, for Linux you might need to
define -DLINUX as well. Solaris also needs -xCC because OpenDivx uses C++
type comments in C-source.
The compiling step creates a few errors, because there are files with
Windows-includes, but these are not needed for encoding itself, so just
ignore the errors, or exclude the files from compiling.


For the decode you need some more options: To go divxcore/decore/src

#!/bin/sh
cc -c *.c generic/*.c -D_DECORE -DO_RDONLY=00 -DO_BINARY=00
ar r libdivxdecore.a *.o

At least here these options are needed because of some strange includefiles
defining different symbols. Ignore the warning about "already defined
symbols".
For Solaris/IRIX you might have to add
-D__forceinline= -D__inline= , because the compiler doesn't know these flags.
Solaris need -xCC again. On i386 you can compile the MMX version by using
mmx/*.c instead of generic.

Hope it works,

Christoph

-------------------------------------------------------

_______________________________________________
OpenDivX mailing list
[email protected]
http://lists.projectmayo.com/mailman/listinfo/opendivx


Reply To Poster

Local References / HOW-TO / FAQs