[FFmpeg-devel] [PATCH] Microsoft Interix support

Måns Rullgård mans
Thu Feb 21 23:25:38 CET 2008


pross at xvid.org writes:

> gday,
>
> interix is microsoft's free posix migration environment for
> windows, and is better known as services-for-unix (sfu)
> or "subsystem-for-unix-applications (sua)". the latest release
> for includes gcc-3.3 and binutils-2.13, with a microsoft
> derived c99 stdlib. the enclosed patch corrects some minor
> annoyances when building ffmpeg.
>
> summary of changes:
> - configure: vhooks requires -export-dynamic and this causes
>   a false-positive when configure tests for closesocket().

I don't understand this.  Could you please post the resulting
config.err?

> - des.h uses uint64_t, but only includes inttypes.h.
>   according to the iso, only stdint.h has to define uint64_t

As other's have said, this is a bug in your system.

> - rtpproto.c uses select() but does not include sys/select.h
>
> the microsoft stdlib is almost c99, but the following features are
> missing. i'll submit a seperate bug dump to the sfu/sua team:
>
> -Dstrtoll=strtol
> -Datoll=atol

That's dangerous.  You could be truncating values (strtol) or invoking
undefined behaviour (atol).

> -DPRIx64=\"%llx\" -DPRId64=\"%lld\" -DPRIu64=\"%llu\" -DPRIdFAST16=\"%hd\" -DPRIdFAST32=\"%ld\"

http://msinttypes.googlecode.com/

> Index: configure
> ===================================================================
> --- configure	(revision 12166)
> +++ configure	(working copy)
> @@ -1293,6 +1293,9 @@
>          SLIB_UNINSTALL_EXTRA_CMD='rm -f "$(LIBDIR)"/$(LIBPREF)$(NAME)_dll.a "$(LIBDIR)"/$(LIBPREF)$(NAME)_dll.lib'
>          vhook="no"
>          ;;
> +    interix)
> +        disable vhook
> +        ;;

While this is certainly clean, it cannot be accepted until an adequate
explanation has been provided.

-- 
M?ns Rullg?rd
mans at mansr.com




More information about the ffmpeg-devel mailing list