Re: [FFmpeg-devel] [PATCH] OS/2:Support linking against libcx
On 06/13/20 07:03 AM, KO Myung-Hun wrote: Hi/2. Dave Yeo wrote: On 06/11/20 10:26 AM, Michael Niedermayer wrote: On Wed, Jun 10, 2020 at 09:24:51PM -0700, Dave Yeo wrote: On 06/10/20 02:09 PM, Michael Niedermayer wrote: On Tue, Jun 09, 2020 at 11:11:48PM -0700, Dave Yeo wrote: Hi, could I get this pushed to trunk and the 4.3 branch? Fixes a build break in libavformat/ip.c (implicit declaration of function 'getaddrinfo') and also need the prototype. Thanks, Dave it seems this breaks build on linux Sorry about that, I'll test on Linux in the future. Here's a better patch as it doesn't touch configure. Thanks, Dave I can confirm this does not break build anymore, but iam not OS/2 maintainer nor do i have such box so ill leave review / application to someone better suited for this thx [...] Fair enough, I'll CC KOMH I have no problems at all with gcc 9.1.0 because FFmpeg already has replacements for missing functions such as getaddrinfo(). What is your build environment ? Maybe is libcx linked by default ? The problem only occurs if I link in libcx, LIBS=-lcx. Note that with libcx, the build system finds its getaddrinfo() and later fails due to no prototype and will also fail as part of the addrinfo struct uses a different type (char vs int IIRC). Without LIBS=-lcx, the build falls back to FFmpeg's builtin getaddrinfo(). One of the main reasons to link to libcx is for the exceptq support. Also as it is recommended, others are likely to do the same thing. Dave ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".
Re: [FFmpeg-devel] [PATCH] OS/2:Support linking against libcx
On 06/11/20 10:26 AM, Michael Niedermayer wrote: On Wed, Jun 10, 2020 at 09:24:51PM -0700, Dave Yeo wrote: On 06/10/20 02:09 PM, Michael Niedermayer wrote: On Tue, Jun 09, 2020 at 11:11:48PM -0700, Dave Yeo wrote: Hi, could I get this pushed to trunk and the 4.3 branch? Fixes a build break in libavformat/ip.c (implicit declaration of function 'getaddrinfo') and also need the prototype. Thanks, Dave it seems this breaks build on linux Sorry about that, I'll test on Linux in the future. Here's a better patch as it doesn't touch configure. Thanks, Dave I can confirm this does not break build anymore, but iam not OS/2 maintainer nor do i have such box so ill leave review / application to someone better suited for this thx [...] Fair enough, I'll CC KOMH Dave ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".
Re: [FFmpeg-devel] [PATCH] OS/2:Support linking against libcx
On 06/10/20 02:09 PM, Michael Niedermayer wrote: On Tue, Jun 09, 2020 at 11:11:48PM -0700, Dave Yeo wrote: Hi, could I get this pushed to trunk and the 4.3 branch? Fixes a build break in libavformat/ip.c (implicit declaration of function 'getaddrinfo') and also need the prototype. Thanks, Dave it seems this breaks build on linux Sorry about that, I'll test on Linux in the future. Here's a better patch as it doesn't touch configure. Thanks, Dave From 033add727ca8c512a3f4a7d24fde88bb8c0455c8 Mon Sep 17 00:00:00 2001 From: Dave Yeo Date: Wed, 10 Jun 2020 18:55:44 -0700 Subject: [PATCH] libavformat/os_support.h:OS/2, support linking against libcx Libcx contains extensions to libc such as getaddrinfo(), mmap() and poll(). While recommended to link against, it is optional Signed-off-by: Dave Yeo --- libavformat/os_support.h | 4 1 file changed, 4 insertions(+) diff --git a/libavformat/os_support.h b/libavformat/os_support.h index 5e6b32d2dc..6c60844b7d 100644 --- a/libavformat/os_support.h +++ b/libavformat/os_support.h @@ -56,6 +56,10 @@ # define fstat(f,s) _fstati64((f), (s)) #endif /* defined(_WIN32) */ +#if defined (__OS2__) && defined (HAVE_GETADDRINFO) +#include +#define HAVE_STRUCT_ADDRINFO 1 +#endif #ifdef __ANDROID__ # if HAVE_UNISTD_H -- 2.11.0 ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".
[FFmpeg-devel] [PATCH] OS/2:Support linking against libcx
Hi, could I get this pushed to trunk and the 4.3 branch? Fixes a build break in libavformat/ip.c (implicit declaration of function 'getaddrinfo') and also need the prototype. Thanks, Dave From f9fbdaaf6cdb6f886cbdf31c1983e452567cd857 Mon Sep 17 00:00:00 2001 From: Dave Yeo Date: Tue, 9 Jun 2020 22:51:53 -0700 Subject: [PATCH] OS/2:Support linking against libcx Libcx contains extensions to libc such as getaddrinfo(), mmap() and poll(). While recommended to link against, it is optional Signed-off-by: Dave Yeo --- configure| 1 + libavformat/os_support.h | 3 +++ 2 files changed, 4 insertions(+) diff --git a/configure b/configure index 8569a60bf8..24ad990b52 100755 --- a/configure +++ b/configure @@ -5997,6 +5997,7 @@ if ! disabled network; then check_func inet_aton $network_extralibs check_type netdb.h "struct addrinfo" +check_type libcx/net.h "struct addrinfo" check_type netinet/in.h "struct group_source_req" -D_BSD_SOURCE check_type netinet/in.h "struct ip_mreq_source" -D_BSD_SOURCE check_type netinet/in.h "struct ipv6_mreq" -D_DARWIN_C_SOURCE diff --git a/libavformat/os_support.h b/libavformat/os_support.h index 5e6b32d2dc..1904fc8d5d 100644 --- a/libavformat/os_support.h +++ b/libavformat/os_support.h @@ -56,6 +56,9 @@ # define fstat(f,s) _fstati64((f), (s)) #endif /* defined(_WIN32) */ +#if defined (__OS2__) && defined (HAVE_GETADDRINFO) +#include +#endif #ifdef __ANDROID__ # if HAVE_UNISTD_H -- 2.11.0 ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".
[FFmpeg-devel] [PATCH] compat/os2threads:define INCL_DOSERRORS
From 6182a7f6b83905fb2315b416ae714a329ec2d0df Mon Sep 17 00:00:00 2001 From: Dave Yeo Date: Wed, 12 Feb 2020 20:13:00 -0800 Subject: [PATCH] compat/os2threads:define INCL_DOSERRORS This is needed to pull in the define for ERROR_TIMEOUT Signed-off-by: Dave Yeo --- compat/os2threads.h | 1 + 1 file changed, 1 insertion(+) diff --git a/compat/os2threads.h b/compat/os2threads.h index eec6f40ae7..a061eaa63d 100644 --- a/compat/os2threads.h +++ b/compat/os2threads.h @@ -27,6 +27,7 @@ #define COMPAT_OS2THREADS_H #define INCL_DOS +#define INCL_DOSERRORS #include #undef __STRICT_ANSI__ /* for _beginthread() */ -- 2.11.0 ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".
Re: [FFmpeg-devel] [PATCH 1/2] os_support: djgpp: define socket shutdown SHUT_xxx macros
On 11/24/18 04:37 AM, Peter Ross wrote: --- two more patches concerning networking. i will push the other existing djgpp patches soon. libavformat/os_support.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavformat/os_support.h b/libavformat/os_support.h index 7a56dc9a7c..3c3e37fb7c 100644 --- a/libavformat/os_support.h +++ b/libavformat/os_support.h @@ -76,7 +76,7 @@ static inline int is_dos_path(const char *path) return 0; } -#if defined(__OS2__) +#if defined(__OS2__) || defined(__DJGPP__) #define SHUT_RD 0 #define SHUT_WR 1 #define SHUT_RDWR 2 Perhaps, for future proofing -#if defined(__OS2__) +#if !defined(SHUT_RD) #define SHUT_RD 0 #define SHUT_WR 1 #define SHUT_RDWR 2 Works fine here on OS/2 and these macros may be added to the headers at some point. Dave ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] [PATCH 3/3] configure: speedup x2-x8
On 08/25/18 11:11 AM, avih wrote: After the previous speedups, configure spent 20-60% of its runtime at check_deps(). It's particularly slow with bash. After some local optimizations - mainly avoid pushvar/popvar and abort early in one notable case (empty deps), it's now x4-x25 faster. Works great on OS/2, from 700 seconds to 144 seconds Dave ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] [PATCH v2] avformat/rtsp: introduce get_sa_len() function
On 11/24/16 07:47 PM, Kevin Lo wrote: Since the Linux implementation of sockaddr doesn't have sa_len as a member, but the FreeBSD version does, introduce a get_sa_len() function that determines the size based on the address family. Signed-off-by: Kevin Lo --- diff --git a/libavformat/rtsp.c b/libavformat/rtsp.c index c6292c5..4c543ed 100644 --- a/libavformat/rtsp.c +++ b/libavformat/rtsp.c @@ -202,6 +202,19 @@ static int get_sockaddr(AVFormatContext *s, return 0; } +static socklen_t +get_sa_len(struct sockaddr *addr) +{ +switch (addr->sa_family) { +case AF_INET: + return (sizeof(struct sockaddr_in)); +case AF_INET6: + return (sizeof(struct sockaddr_in6)); +default: + return (sizeof(struct sockaddr)); +} +} + [...] Fails here (OS/2), ... CC libavformat/rtspdec.o K:/usr/local/src/ffmpeg/libavformat/rtsp.c: In function 'get_sa_len': K:/usr/local/src/ffmpeg/libavformat/rtsp.c:212:17: error: invalid application of 'sizeof' to incomplete type 'struct sockaddr_in6' return (sizeof(struct sockaddr_in6)); ^ make: *** [libavformat/rtsp.o] Error 1 ... Perhaps use #if HAVE_STRUCT_SOCKADDR_IN6 case AF_INET6: return (sizeof(struct sockaddr_in6)); #endif or such. Dave ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] [PATCH] workaround for IOS9 getaddrinfo in IPv6 only network use hardcode IPv4 address can not resolve port number.
On 11/06/16 04:34 AM, Michael Niedermayer wrote: src/libavformat/tcp.c: In function 'tcp_open': >src/libavformat/tcp.c:128:25: error: dereferencing pointer to >incomplete type > if (!sockaddr_v6->sin6_port){ > ^ >src/libavformat/tcp.c:129:24: error: dereferencing pointer to >incomplete type > sockaddr_v6->sin6_port = htons(port); > ^ >make: *** [libavformat/tcp.o] Error 1 >make: *** Waiting for unfinished jobs does this fix it: ? diff --git a/libavformat/tcp.c b/libavformat/tcp.c index fd10a56..25abafc 100644 --- a/libavformat/tcp.c +++ b/libavformat/tcp.c @@ -122,6 +122,7 @@ static int tcp_open(URLContext *h, const char *uri, int flags) cur_ai = ai; restart: +#if HAVE_STRUCT_SOCKADDR_IN6 // workaround for IOS9 getaddrinfo in IPv6 only network use hardcode IPv4 address can not resolve port number. if (cur_ai->ai_family == AF_INET6){ struct sockaddr_in6 * sockaddr_v6 = (struct sockaddr_in6 *)cur_ai->ai_addr; @@ -129,6 +130,7 @@ static int tcp_open(URLContext *h, const char *uri, int flags) sockaddr_v6->sin6_port = htons(port); } } +#endif fd = ff_socket(cur_ai->ai_family, cur_ai->ai_socktype, Yes, that seems to fix it. Thanks, Dave ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] [PATCH] workaround for IOS9 getaddrinfo in IPv6 only network use hardcode IPv4 address can not resolve port number.
On 08/24/16 03:46 AM, liu jc wrote: Signed-off-by: liujingchao --- libavformat/tcp.c | 8 1 file changed, 8 insertions(+) mode change 100644 => 100755 libavformat/tcp.c diff --git a/libavformat/tcp.c b/libavformat/tcp.c old mode 100644 new mode 100755 index c105479..fd10a56 --- a/libavformat/tcp.c +++ b/libavformat/tcp.c @@ -122,6 +122,14 @@ static int tcp_open(URLContext *h, const char *uri, int flags) cur_ai = ai; restart: +// workaround for IOS9 getaddrinfo in IPv6 only network use hardcode IPv4 address can not resolve port number. +if (cur_ai->ai_family == AF_INET6){ +struct sockaddr_in6 * sockaddr_v6 = (struct sockaddr_in6 *)cur_ai->ai_addr; +if (!sockaddr_v6->sin6_port){ +sockaddr_v6->sin6_port = htons(port); +} +} + fd = ff_socket(cur_ai->ai_family, cur_ai->ai_socktype, cur_ai->ai_protocol); src/libavformat/tcp.c: In function 'tcp_open': src/libavformat/tcp.c:128:25: error: dereferencing pointer to incomplete type if (!sockaddr_v6->sin6_port){ ^ src/libavformat/tcp.c:129:24: error: dereferencing pointer to incomplete type sockaddr_v6->sin6_port = htons(port); ^ make: *** [libavformat/tcp.o] Error 1 make: *** Waiting for unfinished jobs Dave ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
[FFmpeg-devel] Fate server problem?
I'm getting this echoing in my console at the end of a fate session /home/fate/mongo-experiments/process/node_modules/mongodb/lib/server.js:236 process.nextTick(function() { throw err; }) ^ Error: connect ECONNREFUSED 127.0.0.1:27017 at Object.exports._errnoException (util.js:870:11) at exports._exceptionWithHostPort (util.js:893:20) at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1062:14) Dave ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] [PATCH 2/3] configure: Do not create/install versioned DLLs on OS/2.
On 04/27/16 04:05 PM, Michael Niedermayer wrote: On Tue, Apr 26, 2016 at 06:15:26PM +0300, Dmitriy Kuminov wrote: On 2016-04-26 11:51:28 +, KO Myung-Hun said: However, ln_s is always set to 'cp -f' on OS/2. Please remove ln_s overriding codes as well. Yes, but my initial patch already removes this override (check the first hunk) so just applying it + Dave's should get it all done. which patches exactly should be applied ? Reattached to avoid confusion. Thanks, Dave From 68addec570bcc9db6f37232523c724e66c004149 Mon Sep 17 00:00:00 2001 From: Dmitriy Kuminov Date: Thu, 14 Apr 2016 01:45:01 +0400 Subject: [PATCH 1/2] configure: Do not create/install versioned DLLs on OS/2. Only one DLL for each module must be present on OS/2: SLIBNAME_WITH_MAJOR (the same as on Windows). Creating other DLLs makes no sense as they can't be used. Signed-off-by: Dave Yeo --- configure | 23 --- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/configure b/configure index ef0b689..c96b845 100755 --- a/configure +++ b/configure @@ -4716,7 +4716,6 @@ case $target_os in ;; os/2*) strip="lxlite -CS" -ln_s="cp -f" objformat="aout" add_cppflags -D_GNU_SOURCE add_ldflags -Zomf -Zbin-files -Zargs-wild -Zmap @@ -4724,16 +4723,18 @@ case $target_os in LIBSUF="_s.a" SLIBPREF="" SLIBSUF=".dll" -SLIBNAME_WITH_VERSION='$(SLIBPREF)$(NAME)-$(LIBVERSION)$(SLIBSUF)' -SLIBNAME_WITH_MAJOR='$(SLIBPREF)$(shell echo $(NAME) | cut -c1-6)$(LIBMAJOR)$(SLIBSUF)' -SLIB_CREATE_DEF_CMD='echo LIBRARY $(SLIBNAME_WITH_MAJOR) INITINSTANCE TERMINSTANCE > $(SUBDIR)$(NAME).def; \ -echo CODE PRELOAD MOVEABLE DISCARDABLE >> $(SUBDIR)$(NAME).def; \ -echo DATA PRELOAD MOVEABLE MULTIPLE NONSHARED >> $(SUBDIR)$(NAME).def; \ -echo EXPORTS >> $(SUBDIR)$(NAME).def; \ -emxexp $(OBJS) >> $(SUBDIR)$(NAME).def' -SLIB_EXTRA_CMD='emximp -o $(SUBDIR)$(LIBPREF)$(NAME)_dll.a $(SUBDIR)$(NAME).def; \ -emximp -o $(SUBDIR)$(LIBPREF)$(NAME)_dll.lib $(SUBDIR)$(NAME).def;' -SLIB_INSTALL_EXTRA_LIB='$(LIBPREF)$(NAME)_dll.a $(LIBPREF)$(NAME)_dll.lib' +SLIBNAME_WITH_VERSION='$(SLIBPREF)$(FULLNAME)-$(LIBVERSION)$(SLIBSUF)' +SLIBNAME_WITH_MAJOR='$(SLIBPREF)$(shell echo $(FULLNAME) | cut -c1-6)$(LIBMAJOR)$(SLIBSUF)' +SLIB_CREATE_DEF_CMD='echo LIBRARY $(SLIBNAME_WITH_MAJOR:$(SLIBSUF)=) INITINSTANCE TERMINSTANCE > $(SUBDIR)$(FULLNAME).def; \ +echo CODE PRELOAD MOVEABLE DISCARDABLE >> $(SUBDIR)$(FULLNAME).def; \ +echo DATA PRELOAD MOVEABLE MULTIPLE NONSHARED >> $(SUBDIR)$(FULLNAME).def; \ +echo EXPORTS >> $(SUBDIR)$(FULLNAME).def; \ +emxexp $(OBJS) >> $(SUBDIR)$(FULLNAME).def' +SLIB_EXTRA_CMD='emximp -o $(SUBDIR)$(LIBPREF)$(FULLNAME)_dll.a $(SUBDIR)$(FULLNAME).def; \ +emximp -o $(SUBDIR)$(LIBPREF)$(FULLNAME)_dll.lib $(SUBDIR)$(FULLNAME).def;' +SLIB_INSTALL_NAME='$(SLIBNAME_WITH_MAJOR)' +SLIB_INSTALL_LINKS= +SLIB_INSTALL_EXTRA_LIB='$(LIBPREF)$(FULLNAME)_dll.a $(LIBPREF)$(FULLNAME)_dll.lib' enable dos_paths enable_weak os2threads ;; -- 2.0.0 From 341e82add973c1ff54f93b0eca7278d5958e6b55 Mon Sep 17 00:00:00 2001 From: Dave Yeo Date: Mon, 25 Apr 2016 07:39:08 -0700 Subject: [PATCH 2/2] configure: Allow choice in choosing a symlink command Signed-off-by: Dave Yeo --- configure | 6 -- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/configure b/configure index c96b845..d75ff04 100755 --- a/configure +++ b/configure @@ -314,6 +314,7 @@ Toolchain options: --nm=NM use nm tool NM [$nm_default] --ar=AR use archive tool AR [$ar_default] --as=AS use assembler AS [$as_default] + --ln_s=LN_S use symbolic link tool LN_S [$ln_s_default] --strip=STRIPuse strip tool STRIP [$strip_default] --windres=WINDRESuse windows resource compiler WINDRES [$windres_default] --yasmexe=EXEuse yasm-compatible assembler EXE [$yasmexe_default] @@ -2137,6 +2138,7 @@ CMDLINE_SET=" host_os install ld +ln_s logfile malloc_prefix nm @@ -3078,7 +3080,7 @@ host_cc_default="gcc" cp_f="cp -f" doxygen_default="doxygen" install="install" -ln_s="ln -s -f" +ln_s_default="ln -s -f" nm_default="nm -g" objformat="elf" pkg_config_default=pkg-config @@ -4001,7 +4003,7 @@ test -n "$cc_type" && enable $cc_type || : ${dep_cc_default:=$cc} : ${ld_default:=$cc} : ${host_ld_default:=$host_cc} -set_default ar as objcc dep_cc ld host_ld windres +set_default ar as objcc dep_cc ld ln_s host_ld windres probe_cc as "$as" asflags_filter=$_flags_filter -- 2.0.0 ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] [PATCH 2/3] configure: Do not create/install versioned DLLs on OS/2.
On 04/24/16 05:53 PM, Michael Niedermayer wrote: On Sun, Apr 24, 2016 at 11:55:06AM -0700, Dave Yeo wrote: On 04/23/16 12:53 PM, Michael Niedermayer wrote: On Wed, Apr 20, 2016 at 11:15:39PM -0700, Dave Yeo wrote: On 04/20/16 03:48 PM, Dmitriy Kuminov wrote: I do care about consistency, collaboration and prevention of artificial entropy growth. One option is to make ln_s a configure option, something like the attached, which is a work in progress as out of tree builds are broken when using cp -p. Almost seems a failure in the code that decides whether symlinks work. Dave this seems not working ./configure ./configure: 4790: ./configure: /tmp/dest_sJUY97zC: Permission denied rm: cannot remove `/tmp/name_cM7p9K1e': No such file or directory It's the correct output (I get similar even before this patch) when $ln_s="cp -p" as it tries to touch a file in a symlinked directory and correctly fails. there are no error messages before here, also the ln_s and ln_s_default are not connected i think set_default or similar is missing OK, thanks, that's what I missed. Did you run make && make install after configuring? Here's the version I'll post later in a new thread, please test. this seems to apply only "in reverse" Strange, wonder how I did that. New patch which I think along with Dmitriys could be applied if KOMH has no objections Dave Dave From 341e82add973c1ff54f93b0eca7278d5958e6b55 Mon Sep 17 00:00:00 2001 From: Dave Yeo Date: Mon, 25 Apr 2016 07:39:08 -0700 Subject: [PATCH 2/2] configure: Allow choice in choosing a symlink command Signed-off-by: Dave Yeo --- configure | 6 -- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/configure b/configure index c96b845..d75ff04 100755 --- a/configure +++ b/configure @@ -314,6 +314,7 @@ Toolchain options: --nm=NM use nm tool NM [$nm_default] --ar=AR use archive tool AR [$ar_default] --as=AS use assembler AS [$as_default] + --ln_s=LN_S use symbolic link tool LN_S [$ln_s_default] --strip=STRIPuse strip tool STRIP [$strip_default] --windres=WINDRESuse windows resource compiler WINDRES [$windres_default] --yasmexe=EXEuse yasm-compatible assembler EXE [$yasmexe_default] @@ -2137,6 +2138,7 @@ CMDLINE_SET=" host_os install ld +ln_s logfile malloc_prefix nm @@ -3078,7 +3080,7 @@ host_cc_default="gcc" cp_f="cp -f" doxygen_default="doxygen" install="install" -ln_s="ln -s -f" +ln_s_default="ln -s -f" nm_default="nm -g" objformat="elf" pkg_config_default=pkg-config @@ -4001,7 +4003,7 @@ test -n "$cc_type" && enable $cc_type || : ${dep_cc_default:=$cc} : ${ld_default:=$cc} : ${host_ld_default:=$host_cc} -set_default ar as objcc dep_cc ld host_ld windres +set_default ar as objcc dep_cc ld ln_s host_ld windres probe_cc as "$as" asflags_filter=$_flags_filter -- 2.0.0 ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] [PATCH 2/3] configure: Do not create/install versioned DLLs on OS/2.
On 04/23/16 12:53 PM, Michael Niedermayer wrote: On Wed, Apr 20, 2016 at 11:15:39PM -0700, Dave Yeo wrote: >On 04/20/16 03:48 PM, Dmitriy Kuminov wrote: > >I do care about consistency, collaboration and prevention of artificial > >entropy growth. > >One option is to make ln_s a configure option, something like the >attached, which is a work in progress as out of tree builds are >broken when using cp -p. Almost seems a failure in the code that >decides whether symlinks work. >Dave > this seems not working ./configure ./configure: 4790: ./configure: /tmp/dest_sJUY97zC: Permission denied rm: cannot remove `/tmp/name_cM7p9K1e': No such file or directory It's the correct output (I get similar even before this patch) when $ln_s="cp -p" as it tries to touch a file in a symlinked directory and correctly fails. Did you run make && make install after configuring? Here's the version I'll post later in a new thread, please test. Dave From 5604d27e7af75a61c4ee249c753fd617aca3f8bd Mon Sep 17 00:00:00 2001 From: Dave Yeo Date: Sun, 24 Apr 2016 11:08:53 -0700 Subject: [PATCH] configure: Allow choice in choosing a symlink command Signed-off-by: Dave Yeo --- configure | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/configure b/configure index 52ae9c5..8801729 100755 --- a/configure +++ b/configure @@ -4789,12 +4789,12 @@ esac link_dest=$(mktemp -u $TMPDIR/dest_) link_name=$(mktemp -u $TMPDIR/name_) mkdir "$link_dest" -$ln_s_default "$link_dest" "$link_name" +$ln_s "$link_dest" "$link_name" touch "$link_dest/test_file" if [ "$source_path" != "." ] && ([ ! -d src ] || [ -L src ]) && [ -e "$link_name/test_file" ]; then # create link to source path [ -e src ] && rm src -$ln_s_default "$source_path" src +$ln_s "$source_path" src source_link=src else # creating directory links doesn't work @@ -6409,7 +6409,7 @@ AR_O=$ar_o RANLIB=$ranlib STRIP=$strip CP=cp -p -LN_S=$ln_s_default +LN_S=$ln_s CPPFLAGS=$CPPFLAGS CFLAGS=$CFLAGS CXXFLAGS=$CXXFLAGS -- 2.0.0 ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] [PATCH 3/3] configure: Remove -Wredundant-decls on OS/2 to suppress noise.
On 04/20/16 11:46 PM, Reimar Döffinger wrote: On 21.04.2016, at 06:02, Dave Yeo wrote: On 04/20/16 07:40 PM, Michael Niedermayer wrote: On Thu, Apr 14, 2016 at 07:31:48PM -0700, Dave Yeo wrote: From a417fdf752bd7c704ed5ba0c94c5cea96e1a91ff Mon Sep 17 00:00:00 2001 From: Dmitriy Kuminov Date: Thu, 14 Apr 2016 01:53:46 +0400 Subject: [PATCH 3/3] configure: Remove -Wredundant-decls on OS/2 to suppress noise. This warning causes too much noise in libc 0.6.6- headers due to duplicate function decls here and there. Signed-off-by: Dave Yeo --- configure | 5 - 1 file changed, 4 insertions(+), 1 deletion(-) [...] maybe iam missing someting but gcc doesnt/shouldnt report warnings for "system headers" AFAIK [...] It's strange. If I build under /usr/local/src with the standard environment (just tested with trunk), the warnings don't happen. When I built 3.0.1 in its own directory with the environment set up to find the libraries I'm linking against, eg $C_INCLUDE_PATH, $LIBRARY_PATH etc defined, I get warnings such as Have something that results in adding -I/usr/include to the compile options or to C_INCLUDE_PATH? Probably your compiler is misconfigured to not consider that a system include path. Adding -isystem /usr/include should fix it. Actually it didn't though according to the documentation, it looks like it should have. Even tried -isysroot which broke compilation. Dave ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] Line endings in Makefiles
On 04/22/16 05:45 AM, compn wrote: On Fri, 22 Apr 2016 07:52:56 +0200 Andreas Weis wrote: here) there are no drawbacks arising from the change. if we have mismatched line endings in makefiles it might screw up anyone wishing to make patches if their git has changed the line endings. i cant remember if this is a problem however, probably not. Here if stray DOS line endings accidentally find their way into the tree, git always commits the correct line endings with a warning. generally its ffmpeg rule to not apply hacks for broken build systems (of which, msys/mingw's outdated libs count as this). i am for your patch, but i am not maintainer. ;) Who are the build maintainer[s] now? The Maintainer file still lists Diego and Mans Dave ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] [PATCH 3/3] configure: Remove -Wredundant-decls on OS/2 to suppress noise.
On 04/20/16 11:46 PM, Reimar Döffinger wrote: On 21.04.2016, at 06:02, Dave Yeo wrote: On 04/20/16 07:40 PM, Michael Niedermayer wrote: On Thu, Apr 14, 2016 at 07:31:48PM -0700, Dave Yeo wrote: From a417fdf752bd7c704ed5ba0c94c5cea96e1a91ff Mon Sep 17 00:00:00 2001 From: Dmitriy Kuminov Date: Thu, 14 Apr 2016 01:53:46 +0400 Subject: [PATCH 3/3] configure: Remove -Wredundant-decls on OS/2 to suppress noise. This warning causes too much noise in libc 0.6.6- headers due to duplicate function decls here and there. Signed-off-by: Dave Yeo --- configure | 5 - 1 file changed, 4 insertions(+), 1 deletion(-) [...] maybe iam missing someting but gcc doesnt/shouldnt report warnings for "system headers" AFAIK [...] It's strange. If I build under /usr/local/src with the standard environment (just tested with trunk), the warnings don't happen. When I built 3.0.1 in its own directory with the environment set up to find the libraries I'm linking against, eg $C_INCLUDE_PATH, $LIBRARY_PATH etc defined, I get warnings such as Have something that results in adding -I/usr/include to the compile options or to C_INCLUDE_PATH? Probably your compiler is misconfigured to not consider that a system include path. Adding -isystem /usr/include should fix it. Actually it didn't though according to the documentation, it looks like it should have. Even tried -isysroot which broke compilation. Dave ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] [PATCH 2/3] configure: Do not create/install versioned DLLs on OS/2.
On 04/20/16 03:48 PM, Dmitriy Kuminov wrote: I do care about consistency, collaboration and prevention of artificial entropy growth. One option is to make ln_s a configure option, something like the attached, which is a work in progress as out of tree builds are broken when using cp -p. Almost seems a failure in the code that decides whether symlinks work. Dave From 3bd0a41b29b7c9abf0bededff643c48511d7611b Mon Sep 17 00:00:00 2001 From: Dave Yeo Date: Wed, 20 Apr 2016 21:24:32 -0700 Subject: [PATCH 2/2] configure: Allow choice in choosing a symlink command Signed-off-by: Dave Yeo --- configure | 10 ++ 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/configure b/configure index 699f2c8..1c7e9ad 100755 --- a/configure +++ b/configure @@ -314,6 +314,7 @@ Toolchain options: --nm=NM use nm tool NM [$nm_default] --ar=AR use archive tool AR [$ar_default] --as=AS use assembler AS [$as_default] + --ln_s=LN_S use symbolic link command [$ln_s_default] --strip=STRIPuse strip tool STRIP [$strip_default] --windres=WINDRESuse windows resource compiler WINDRES [$windres_default] --yasmexe=EXEuse yasm-compatible assembler EXE [$yasmexe_default] @@ -2137,6 +2138,7 @@ CMDLINE_SET=" host_os install ld +ln_s logfile malloc_prefix nm @@ -3077,7 +3079,7 @@ host_cc_default="gcc" cp_f="cp -f" doxygen_default="doxygen" install="install" -ln_s="ln -s -f" +ln_s_default="ln -s -f" nm_default="nm -g" objformat="elf" pkg_config_default=pkg-config -- 2.0.0 ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] [PATCH 3/3] configure: Remove -Wredundant-decls on OS/2 to suppress noise.
On 04/20/16 07:40 PM, Michael Niedermayer wrote: On Thu, Apr 14, 2016 at 07:31:48PM -0700, Dave Yeo wrote: From a417fdf752bd7c704ed5ba0c94c5cea96e1a91ff Mon Sep 17 00:00:00 2001 From: Dmitriy Kuminov Date: Thu, 14 Apr 2016 01:53:46 +0400 Subject: [PATCH 3/3] configure: Remove -Wredundant-decls on OS/2 to suppress noise. This warning causes too much noise in libc 0.6.6- headers due to duplicate function decls here and there. Signed-off-by: Dave Yeo --- configure | 5 - 1 file changed, 4 insertions(+), 1 deletion(-) [...] maybe iam missing someting but gcc doesnt/shouldnt report warnings for "system headers" AFAIK [...] It's strange. If I build under /usr/local/src with the standard environment (just tested with trunk), the warnings don't happen. When I built 3.0.1 in its own directory with the environment set up to find the libraries I'm linking against, eg $C_INCLUDE_PATH, $LIBRARY_PATH etc defined, I get warnings such as CC libavdevice/alldevices.o In file included from K:/ffmpeg/src/ffmpeg-3.0.1/libavutil/common.h:36:0, from K:/ffmpeg/src/ffmpeg-3.0.1/libavutil/avutil.h:288, from K:/ffmpeg/src/ffmpeg-3.0.1/libavutil/log.h:25, from K:/ffmpeg/src/ffmpeg-3.0.1/libavdevice/avdevice.h:46, from K:/ffmpeg/src/ffmpeg-3.0.1/libavdevice/alldevices.c:22: K:/usr/include/math.h:495:17: warning: redundant redeclaration of 'nanl' [-Wredundant-decls] long double nanl(const char *); ^ K:/usr/include/math.h:466:13: note: previous declaration of 'nanl' was here long double nanl(const char *) __pure2; ^ K:/usr/include/math.h:530:13: warning: redundant redeclaration of 'log2l' [-Wredundant-decls] long double log2l(long double); ^ K:/usr/include/math.h:458:13: note: previous declaration of 'log2l' was here long double log2l(long double); ... Not totally sure if suppressing all redundant declarations is the best option but it does quiet the noise. I take it that Dmitriy is also building the RPMs in a separate environment. Dave ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] [PATCH 2/3] configure: Do not create/install versioned DLLs on OS/2.
On 04/16/16 11:00 AM, Dmitriy Kuminov wrote: On 2016-04-16 17:24:12 +, Dave Yeo said: Actually I now get this at the beginning of the configure run, using a ramfs.ifs volume for $TMPDIR, [K:\usr\local\src\ffmpeg.obj]sh ../ffmpeg/configure --enable-gpl --disable-doc --samples=/usr/local/share/fate-suite --cpu=i686 --extra-libs=-lpoll --prefix='r:/tmp/ffmpeg' --disable-static --enable-shared ln: failed to create symbolic link `R:/tmp/name_VJhuEZNf': Operation not supported on socket Hmm, interesting use case. I bet this is because ramfs.ifs has some problems with EAs (which are needed for proper symlink support on OS/2). Looks like a ramfs.ifs bug to me. While ramfs.ifs has a few shortcomings, it dies support 64kbs of EAs, which shouldbe enough for most uses. Perhaps the problem is lack of DosFindNotify() or file locking. And yes, it seems that the master branch uses ln_s not only in DLL creation but also to symlink to src in the shadow build tree (I was checking against the 2.8 branch before where it was not used). It, however, contains a fallback code that should cover the failure in your case (if I read it right). So I still think we should remove ln_s redefinition via cp on OS/2 in FFmpeg. In case of a proper IFS (I have JFS here but HPFS is also fine) symlinking src works like a charm (performed a full build). The problem is that symlinks on OS/2 (unless using TVFS.IFS) are inherently fragile. It just takes one utility that is not aware of them to break things and not everything is linked against kLIBC. In FFmpegs case we use lxlite, which is a Pascal program and knows nothing of symlinks. I personally prefer to only use symlinks when needed, such as _virtualenv, and currently using my older environment can often pass all the FATE tests, whereas the new environment has more failures. As leaving it in doesn't hurt your use case anyways, my vote is to leave it in. Dave http://fate.ffmpeg.org/history.cgi?slot=x86.os2.446 http://fate.ffmpeg.org/history.cgi?slot=x86.os2.492 ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] [PATCH 2/3] configure: Do not create/install versioned DLLs on OS/2.
On 04/16/16 09:29 AM, Dmitriy Kuminov wrote: On 2016-04-16 04:52:23 +, KO Myung-Hun said: diff --git a/configure b/configure index ff80aee..36a23f4 100755 --- a/configure +++ b/configure @@ -4716,7 +4716,6 @@ case $target_os in ;; os/2*) strip="lxlite -CS" -ln_s="cp -f" Please do not remove this. Copying is more compatible than a symbolic link on OS/2. "More compatible" is a too general allegation. In this particular case (FFmpeg) LN_S is only used to create 'avcodec.dll` from `avcode56.dll` and alike which is completely unneeded on OS/2 (so symlinking doesn't harm but saves some time & disk space). And more over, symlinks work well in most cases in a proper OS/2 environment these days. So I think they should be generally enabled unless there is a specific case when they introduce a real incompatibility. FFmpeg is not such a case. Actually I now get this at the beginning of the configure run, using a ramfs.ifs volume for $TMPDIR, [K:\usr\local\src\ffmpeg.obj]sh ../ffmpeg/configure --enable-gpl --disable-doc --samples=/usr/local/share/fate-suite --cpu=i686 --extra-libs=-lpoll --prefix='r:/tmp/ffmpeg' --disable-static --enable-shared ln: failed to create symbolic link `R:/tmp/name_VJhuEZNf': Operation not supported on socket I'll have to file a bug at Netlabs Dave ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] [PATCH 2/3] configure: Do not create/install versioned DLLs on OS/2.
On 04/14/16 07:29 PM, Dave Yeo wrote: From fbff28a583cc9fd7144dd4f9dc37b7b5f8aa Mon Sep 17 00:00:00 2001 From: Dmitriy Kuminov Date: Thu, 14 Apr 2016 01:45:01 +0400 Subject: [PATCH 2/3] configure: Do not create/install versioned DLLs on OS/2. Attached Dave From fbff28a583cc9fd7144dd4f9dc37b7b5f8aa Mon Sep 17 00:00:00 2001 From: Dmitriy Kuminov Date: Thu, 14 Apr 2016 01:45:01 +0400 Subject: [PATCH 2/3] configure: Do not create/install versioned DLLs on OS/2. Only one DLL for each module must be present on OS/2: SLIBNAME_WITH_MAJOR (the same as on Windows). Creating other DLLs makes no sense as they can't be used. Signed-off-by: Dave Yeo --- configure | 23 --- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/configure b/configure index ff80aee..36a23f4 100755 --- a/configure +++ b/configure @@ -4716,7 +4716,6 @@ case $target_os in ;; os/2*) strip="lxlite -CS" -ln_s="cp -f" objformat="aout" add_cppflags -D_GNU_SOURCE add_ldflags -Zomf -Zbin-files -Zargs-wild -Zmap @@ -4724,16 +4723,18 @@ case $target_os in LIBSUF="_s.a" SLIBPREF="" SLIBSUF=".dll" -SLIBNAME_WITH_VERSION='$(SLIBPREF)$(NAME)-$(LIBVERSION)$(SLIBSUF)' -SLIBNAME_WITH_MAJOR='$(SLIBPREF)$(shell echo $(NAME) | cut -c1-6)$(LIBMAJOR)$(SLIBSUF)' -SLIB_CREATE_DEF_CMD='echo LIBRARY $(SLIBNAME_WITH_MAJOR) INITINSTANCE TERMINSTANCE > $(SUBDIR)$(NAME).def; \ -echo CODE PRELOAD MOVEABLE DISCARDABLE >> $(SUBDIR)$(NAME).def; \ -echo DATA PRELOAD MOVEABLE MULTIPLE NONSHARED >> $(SUBDIR)$(NAME).def; \ -echo EXPORTS >> $(SUBDIR)$(NAME).def; \ -emxexp $(OBJS) >> $(SUBDIR)$(NAME).def' -SLIB_EXTRA_CMD='emximp -o $(SUBDIR)$(LIBPREF)$(NAME)_dll.a $(SUBDIR)$(NAME).def; \ -emximp -o $(SUBDIR)$(LIBPREF)$(NAME)_dll.lib $(SUBDIR)$(NAME).def;' -SLIB_INSTALL_EXTRA_LIB='$(LIBPREF)$(NAME)_dll.a $(LIBPREF)$(NAME)_dll.lib' +SLIBNAME_WITH_VERSION='$(SLIBPREF)$(FULLNAME)-$(LIBVERSION)$(SLIBSUF)' +SLIBNAME_WITH_MAJOR='$(SLIBPREF)$(shell echo $(FULLNAME) | cut -c1-6)$(LIBMAJOR)$(SLIBSUF)' +SLIB_CREATE_DEF_CMD='echo LIBRARY $(SLIBNAME_WITH_MAJOR:$(SLIBSUF)=) INITINSTANCE TERMINSTANCE > $(SUBDIR)$(FULLNAME).def; \ +echo CODE PRELOAD MOVEABLE DISCARDABLE >> $(SUBDIR)$(FULLNAME).def; \ +echo DATA PRELOAD MOVEABLE MULTIPLE NONSHARED >> $(SUBDIR)$(FULLNAME).def; \ +echo EXPORTS >> $(SUBDIR)$(FULLNAME).def; \ +emxexp $(OBJS) >> $(SUBDIR)$(FULLNAME).def' +SLIB_EXTRA_CMD='emximp -o $(SUBDIR)$(LIBPREF)$(FULLNAME)_dll.a $(SUBDIR)$(FULLNAME).def; \ +emximp -o $(SUBDIR)$(LIBPREF)$(FULLNAME)_dll.lib $(SUBDIR)$(FULLNAME).def;' +SLIB_INSTALL_NAME='$(SLIBNAME_WITH_MAJOR)' +SLIB_INSTALL_LINKS= +SLIB_INSTALL_EXTRA_LIB='$(LIBPREF)$(FULLNAME)_dll.a $(LIBPREF)$(FULLNAME)_dll.lib' enable dos_paths enable_weak os2threads ;; -- 2.0.0 ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
[FFmpeg-devel] [PATCH 3/3] configure: Remove -Wredundant-decls on OS/2 to suppress noise.
From a417fdf752bd7c704ed5ba0c94c5cea96e1a91ff Mon Sep 17 00:00:00 2001 From: Dmitriy Kuminov Date: Thu, 14 Apr 2016 01:53:46 +0400 Subject: [PATCH 3/3] configure: Remove -Wredundant-decls on OS/2 to suppress noise. This warning causes too much noise in libc 0.6.6- headers due to duplicate function decls here and there. Signed-off-by: Dave Yeo --- configure | 5 - 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/configure b/configure index 36a23f4..767b18f 100755 --- a/configure +++ b/configure @@ -5881,7 +5881,10 @@ check_cflags -Wdeclaration-after-statement check_cflags -Wall check_cflags -Wdisabled-optimization check_cflags -Wpointer-arith -check_cflags -Wredundant-decls +if test "$host_os" != "os/2"; then +# This causes too much noise in libc headers on OS/2 +check_cflags -Wredundant-decls +fi check_cflags -Wwrite-strings check_cflags -Wtype-limits check_cflags -Wundef -- 2.0.0 ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
[FFmpeg-devel] [PATCH 2/3] configure: Do not create/install versioned DLLs on OS/2.
From fbff28a583cc9fd7144dd4f9dc37b7b5f8aa Mon Sep 17 00:00:00 2001 From: Dmitriy Kuminov Date: Thu, 14 Apr 2016 01:45:01 +0400 Subject: [PATCH 2/3] configure: Do not create/install versioned DLLs on OS/2. Only one DLL for each module must be present on OS/2: SLIBNAME_WITH_MAJOR (the same as on Windows). Creating other DLLs makes no sense as they can't be used. Signed-off-by: Dave Yeo --- configure | 23 --- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/configure b/configure index ff80aee..36a23f4 100755 --- a/configure +++ b/configure @@ -4716,7 +4716,6 @@ case $target_os in ;; os/2*) strip="lxlite -CS" -ln_s="cp -f" objformat="aout" add_cppflags -D_GNU_SOURCE add_ldflags -Zomf -Zbin-files -Zargs-wild -Zmap @@ -4724,16 +4723,18 @@ case $target_os in LIBSUF="_s.a" SLIBPREF="" SLIBSUF=".dll" -SLIBNAME_WITH_VERSION='$(SLIBPREF)$(NAME)-$(LIBVERSION)$(SLIBSUF)' -SLIBNAME_WITH_MAJOR='$(SLIBPREF)$(shell echo $(NAME) | cut -c1-6)$(LIBMAJOR)$(SLIBSUF)' -SLIB_CREATE_DEF_CMD='echo LIBRARY $(SLIBNAME_WITH_MAJOR) INITINSTANCE TERMINSTANCE > $(SUBDIR)$(NAME).def; \ -echo CODE PRELOAD MOVEABLE DISCARDABLE >> $(SUBDIR)$(NAME).def; \ -echo DATA PRELOAD MOVEABLE MULTIPLE NONSHARED >> $(SUBDIR)$(NAME).def; \ -echo EXPORTS >> $(SUBDIR)$(NAME).def; \ -emxexp $(OBJS) >> $(SUBDIR)$(NAME).def' -SLIB_EXTRA_CMD='emximp -o $(SUBDIR)$(LIBPREF)$(NAME)_dll.a $(SUBDIR)$(NAME).def; \ -emximp -o $(SUBDIR)$(LIBPREF)$(NAME)_dll.lib $(SUBDIR)$(NAME).def;' -SLIB_INSTALL_EXTRA_LIB='$(LIBPREF)$(NAME)_dll.a $(LIBPREF)$(NAME)_dll.lib' + SLIBNAME_WITH_VERSION='$(SLIBPREF)$(FULLNAME)-$(LIBVERSION)$(SLIBSUF)' +SLIBNAME_WITH_MAJOR='$(SLIBPREF)$(shell echo $(FULLNAME) | cut -c1-6)$(LIBMAJOR)$(SLIBSUF)' +SLIB_CREATE_DEF_CMD='echo LIBRARY $(SLIBNAME_WITH_MAJOR:$(SLIBSUF)=) INITINSTANCE TERMINSTANCE > $(SUBDIR)$(FULLNAME).def; \ +echo CODE PRELOAD MOVEABLE DISCARDABLE >> $(SUBDIR)$(FULLNAME).def; \ +echo DATA PRELOAD MOVEABLE MULTIPLE NONSHARED >> $(SUBDIR)$(FULLNAME).def; \ +echo EXPORTS >> $(SUBDIR)$(FULLNAME).def; \ +emxexp $(OBJS) >> $(SUBDIR)$(FULLNAME).def' +SLIB_EXTRA_CMD='emximp -o $(SUBDIR)$(LIBPREF)$(FULLNAME)_dll.a $(SUBDIR)$(FULLNAME).def; \ +emximp -o $(SUBDIR)$(LIBPREF)$(FULLNAME)_dll.lib $(SUBDIR)$(FULLNAME).def;' +SLIB_INSTALL_NAME='$(SLIBNAME_WITH_MAJOR)' +SLIB_INSTALL_LINKS= +SLIB_INSTALL_EXTRA_LIB='$(LIBPREF)$(FULLNAME)_dll.a $(LIBPREF)$(FULLNAME)_dll.lib' enable dos_paths enable_weak os2threads ;; -- 2.0.0 ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
[FFmpeg-devel] [PATCH 1/3] configure: Support backslashes in TMPDIR on OS/2.
From b322802ecc6d87fae3afb17fbca8217993d8d0c7 Mon Sep 17 00:00:00 2001 From: Dmitriy Kuminov Date: Thu, 14 Apr 2016 01:41:30 +0400 Subject: [PATCH 1/3] configure: Support backslashes in TMPDIR on OS/2. Signed-off-by: Dave Yeo --- configure | 13 + 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/configure b/configure index 0ff1b9d..ff80aee 100755 --- a/configure +++ b/configure @@ -734,7 +734,12 @@ check_deps(){ print_config(){ pfx=$1 -files=$2 +if test "$host_os" = "os/2"; then +# awk treats \ as escape chars, convert them to / in paths +files=`echo "$2" | tr '\\\' /` +else +files=$2 +fi shift 2 map 'eval echo "$v \${$v:-no}"' "$@" | awk "BEGIN { split(\"$files\", files) } @@ -3550,10 +3555,10 @@ fi tmpfile(){ tmp=$(mktemp -u "${TMPDIR}/ffconf.")$2 && -(set -C; exec > $tmp) 2>/dev/null || +(set -C; exec > "$tmp") 2>/dev/null || die "Unable to create temporary file in $TMPDIR." -append TMPFILES $tmp -eval $1=$tmp +append TMPFILES "$tmp" +eval $1=\"$tmp\" } trap 'rm -f -- $TMPFILES' EXIT -- 2.0.0 ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] [PATCH] build: use Windows path for MSVC
On 01/23/16 11:19 AM, Hendrik Leppkes wrote: On Sat, Jan 23, 2016 at 8:16 PM, Andreas Cadhalpun wrote: On 23.01.2016 17:16, Hendrik Leppkes wrote: On Sat, Jan 23, 2016 at 4:27 PM, Andreas Cadhalpun wrote: On 23.01.2016 15:07, Hendrik Leppkes wrote: On Sat, Jan 23, 2016 at 2:51 PM, Andreas Cadhalpun wrote: On 23.01.2016 14:48, Hendrik Leppkes wrote: Unfortunately, cygpath is not guaranteed to be available, and in fact is not on some working build setups today (ie. msys1 environments with msvc) Is there another way to get the Windows path on those environments? Not that I am aware. Hmm, sed should be available everywhere. Does the attached patch fix the MSVC builds? Unfortunately these assumptions are also not valid. On cygwin for example, a path would be /cygdrive/C/path/to/folder How many more strange path conventions are there? I think all mentioned so far could be supported by using cygpath, if available, and sed otherwise. Dealing with absolute paths in the unix/windows mixture is just not going to be easy, which is why we were careful to avoid them at all before. Not really. Out-of-tree builds used absolute path before, which is exactly the problem my initial patch fixed. For source files yes, but not for output files, which is the really problematic case with the MSVC CLI syntax. Does it work better without the drive delimiter? That's how I run fate, eg /fate instead of g:/fate with everything needed on G: or is Windows too anal about path separators? Dave ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] Vertical bands with RT21 (Intel Real Time Video 2.1) codec
On 12/18/15 09:54 AM, Paul B Mahol wrote: On 12/18/15, Mats Peterson wrote: >On 12/18/2015 05:32 AM, Mats Peterson wrote: >>On 12/18/2015 05:12 AM, Mats Peterson wrote: >>>On 12/18/2015 04:13 AM, Mats Peterson wrote: Samples:https://drive.google.com/open?id=0B3_pEBoLs0faei1Sd1h6SG11QlE Mats >>> >>>The clips are sample clips from Video for Windows, in case anyone >>>wonders. I haven't created them myself. >>> >>>Mats >>> >> >>The output is generally washed-out, as well, apart from the bands. >> >>Mats >> > >I noticed this issue has been discussed as far back as in 2005 (see >http://sourceforge.net/p/ffmpeg/bugs/310/), but using the slightly >different terms "ghosting and shadow effects". In any case, it obviously >still hasn't been fixed. No, this is different issue. Do you know a software that actually plays such videos correctly? They play correctly using the builtin OS/2 video player, especially at the preferred resolution, maybe 240x320. FFplay shows the colours as washed out and the banding that is mentioned. If I enlarge the OS/2 window to the same size as the FFplay window, it looks somewhat staticy with vertical lines of static but still much better then FFplay. MPlayer plays at the correct resolution but has the same issues as FFplay, banding and washed out colours. Video for Windows didn't like the fact that I tried to install it on a drive with over 2GBs free so didn't test under real hardware. Dave ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
[FFmpeg-devel] [PATCH] os2threads: Add pthread_once emulation
Based on code by Yuri Dario, http://svn.netlabs.org/repos/ports/pthread/trunk Signed-off-by: Dave Yeo --- compat/os2threads.h | 45 + 1 file changed, 45 insertions(+) diff --git a/compat/os2threads.h b/compat/os2threads.h index 5b6ca55..7f2c925 100644 --- a/compat/os2threads.h +++ b/compat/os2threads.h @@ -31,9 +31,18 @@ #undef __STRICT_ANSI__ /* for _beginthread() */ #include +#include #include "libavutil/mem.h" +/* + * Boolean values to make us independent of system includes. + */ +enum { + PTW32_FALSE = 0, + PTW32_TRUE = (! PTW32_FALSE) +}; + typedef TID pthread_t; typedef void pthread_attr_t; @@ -47,6 +56,19 @@ typedef struct { typedef void pthread_condattr_t; +typedef struct pthread_once_t_ pthread_once_t; + +#define PTHREAD_ONCE_INIT {0} + +struct pthread_once_t_ +{ + unsigned done;/* indicates if user function has been executed */ + pthread_mutex_t lock; + int reserved1; + int reserved2; +}; + + struct thread_arg { void *(*start_routine)(void *); void *arg; @@ -163,4 +185,27 @@ static av_always_inline int pthread_cond_wait(pthread_cond_t *cond, pthread_mute return 0; } +static av_always_inline int pthread_once(pthread_once_t *once_control, void (*init_routine)(void)) +{ + if (once_control == NULL || init_routine == NULL) + { + return EINVAL; + } + + if (__atomic_cmpxchg32((unsigned*)&once_control->done, 0, 0)) /* MBR fence */ + { + pthread_mutex_lock(&once_control->lock); + + if (!once_control->done) + { + (*init_routine)(); + once_control->done = PTW32_TRUE; + } + + pthread_mutex_unlock(&once_control->lock); + } + + return 0; +} + #endif /* AVCODEC_OS2PTHREADS_H */ -- 2.0.0 ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] [PATCH] libx264: copy A53 closed captions from source
On 09/26/15 03:27 AM, DeHackEd wrote: I think my mail client wrapped some lines. Sorry, this is my first patch-by-email. For Thunderbird, there is an extension, "Toggle Word Wrap" which gives the option of disabling word wrap under the Options menu. Or just attach. Dave ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] [PATCH 3/4] x86inc: Drop SECTION_TEXT macro
On 08/02/15 11:04 PM, Clément Bœsch wrote: On Sun, Aug 02, 2015 at 10:40:02PM +0200, Henrik Gramner wrote: The .text section is already 16-byte aligned by default on all supported platforms so `SECTION_TEXT` isn't any different from `SECTION .text`. naive question, what about the few SECTION_TEXT 32? [...] Here, if the 32 is left as the alignment, the build dies. ... nasm -f aout -DPREFIX -I./ -IK:/usr/local/src/ffmpeg// -Pconfig.asm -I K:/usr/local/src/ffmpeg/libavcodec/x86/ -o libavcodec/x86/hevc_idct.o K:/usr/local/src/ffmpeg/libavcodec/x86/hevc_idct.asm K:/usr/local/src/ffmpeg/libavcodec/x86/hevc_idct.asm:24: error: segment name `.text 32' not recognized make: *** [libavcodec/x86/hevc_idct.o] Error 1 My builds have been dropping the 32 without problems but that is on a 32 bit platform without AVX. Dave ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
[FFmpeg-devel] OS/2:Makedef.cmd cleanup
>From 448cf672d7793e0d5166d66c7daffacdc8a3af72 Mon Sep 17 00:00:00 2001 From: Dave Yeo Date: Tue, 5 May 2015 20:22:51 -0700 Subject: [PATCH] OS/2:Makedef.cmd cleanup Remove PROTMODE as it doesn't make sense for DLLs. Also fixes a warning with the OpenWatcom linker Export symbols as names rather then ordinals for better compatibility for minor releases. --- configure | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/configure b/configure index d3f23c8..91744c9 100755 --- a/configure +++ b/configure @@ -4301,11 +4301,10 @@ case $target_os in SLIBNAME_WITH_VERSION='$(SLIBPREF)$(NAME)-$(LIBVERSION)$(SLIBSUF)' SLIBNAME_WITH_MAJOR='$(SLIBPREF)$(shell echo $(NAME) | cut -c1-6)$(LIBMAJOR)$(SLIBSUF)' SLIB_CREATE_DEF_CMD='echo LIBRARY $(SLIBNAME_WITH_MAJOR) INITINSTANCE TERMINSTANCE > $(SUBDIR)$(NAME).def; \ -echo PROTMODE >> $(SUBDIR)$(NAME).def; \ echo CODE PRELOAD MOVEABLE DISCARDABLE >> $(SUBDIR)$(NAME).def; \ echo DATA PRELOAD MOVEABLE MULTIPLE NONSHARED >> $(SUBDIR)$(NAME).def; \ echo EXPORTS >> $(SUBDIR)$(NAME).def; \ -emxexp -o $(OBJS) >> $(SUBDIR)$(NAME).def' +emxexp $(OBJS) >> $(SUBDIR)$(NAME).def' SLIB_EXTRA_CMD='emximp -o $(SUBDIR)$(LIBPREF)$(NAME)_dll.a $(SUBDIR)$(NAME).def; \ emximp -o $(SUBDIR)$(LIBPREF)$(NAME)_dll.lib $(SUBDIR)$(NAME).def;' SLIB_INSTALL_EXTRA_LIB='$(LIBPREF)$(NAME)_dll.a $(LIBPREF)$(NAME)_dll.lib' -- 2.0.0 ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] [PATCH] configure: create the tests directory like the doc directory
On 12/14/14 07:42 PM, Michael Niedermayer wrote: This fixes an issue where the tests directory is not created for out of tree builds before its needed Signed-off-by: Michael Niedermayer --- configure |1 + 1 file changed, 1 insertion(+) diff --git a/configure b/configure index 0ec1a7c..3328026 100755 --- a/configure +++ b/configure @@ -5722,6 +5722,7 @@ enabled getenv || echo "#define getenv(x) NULL" >> $TMPH mkdir -p doc +mkdir -p tests echo "@c auto-generated by configure" > doc/config.texi print_config ARCH_ "$config_files" $ARCH_LIST Works fine here Dave ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
[FFmpeg-devel] [PATCH 1/2] libavutil/thread.h: Support OS/2 threads
Support OS/2 threading and correct an include that shouldn't be system. Dave From 7fb4b12dad0df2ff60fcfa796c34ddbbcd3aa470 Mon Sep 17 00:00:00 2001 From: Dave Yeo Date: Fri, 28 Nov 2014 23:34:20 -0800 Subject: [PATCH 1/2] libavutil/thread.h: Support OS/2 threads --- libavutil/thread.h |4 +++- 1 files changed, 3 insertions(+), 1 deletions(-) diff --git a/libavutil/thread.h b/libavutil/thread.h index 62e1340..a004fba 100644 --- a/libavutil/thread.h +++ b/libavutil/thread.h @@ -24,10 +24,12 @@ #include "config.h" -#if HAVE_PTHREADS || HAVE_W32THREADS +#if HAVE_PTHREADS || HAVE_W32THREADS || HAVE_OS2THREADS #if HAVE_PTHREADS #include +#elif HAVE_OS2THREADS +#include "compat/os2threads.h" #else #include #endif -- 1.7.2.3 From 8901a6d771df67701437f81d8b373e5ab2df42b4 Mon Sep 17 00:00:00 2001 From: Dave Yeo Date: Fri, 28 Nov 2014 23:36:06 -0800 Subject: [PATCH 2/2] libavutil/threads.h: correct an include to be local --- libavutil/thread.h |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/libavutil/thread.h b/libavutil/thread.h index a004fba..9733661 100644 --- a/libavutil/thread.h +++ b/libavutil/thread.h @@ -31,7 +31,7 @@ #elif HAVE_OS2THREADS #include "compat/os2threads.h" #else -#include +#include "compat/w32pthreads.h" #endif #define AVMutex pthread_mutex_t -- 1.7.2.3 ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel