Closed
Bug 1237471
Opened 9 years ago
Closed 9 years ago
New ffvpx code redefines vsnprintf and snprintf on windows unconditionally conflicting with VS2015
Categories
(Firefox Build System :: General, defect)
Firefox Build System
General
Tracking
(firefox46 fixed)
RESOLVED
FIXED
mozilla46
Tracking | Status | |
---|---|---|
firefox46 | --- | fixed |
People
(Reporter: bas.schouten, Assigned: jya)
References
Details
Attachments
(2 files)
58 bytes,
text/x-review-board-request
|
Details | |
3.12 KB,
patch
|
Details | Diff | Splinter Review |
ffvpxcommon.mozbuild defines snprintf and vsnprintf. VS2015 actually has these functions as part of the standard library and it does not like us redefining them.
Assignee | ||
Comment 1•9 years ago
|
||
thanks for reporting that. will take over.
Assignee: bas → jyavenard
Assignee | ||
Updated•9 years ago
|
Component: Audio/Video → Build Config
Reporter | ||
Comment 2•9 years ago
|
||
Review commit: https://reviewboard.mozilla.org/r/29799/diff/#index_header
See other reviews: https://reviewboard.mozilla.org/r/29799/
Attachment #8704926 -
Flags: review?(jyavenard)
Comment 3•9 years ago
|
||
https://reviewboard.mozilla.org/r/29799/#review26641
::: media/ffvpx/libavutil/avutil-54-oldmsvc.symbols:1
(Diff revision 1)
> +av_add_q
You could #include avutil-54.symbols instead of putting everything in here.
Assignee | ||
Comment 4•9 years ago
|
||
Assignee | ||
Comment 5•9 years ago
|
||
Comment on attachment 8704944 [details] [diff] [review]
Fix VS2015 compilation. rpending=glandium
Mike, I see that you're around.. If you could have a look quickly.
Verified fixed locally.
I'll push it shortly if you're not there...
Flags: needinfo?(mh+mozilla)
Assignee | ||
Comment 6•9 years ago
|
||
Comment on attachment 8704926 [details]
MozReview Request: Bug 1237471: Fix VS2015 build by not using custom snprintf/vsnprintf functions when having VS2015's. r=jya
I'd prefer not to have a second symbols file, and that will break all non-2015 build.
should have been:
if CONFIG['_MSC_VER'] && CONFIG['_MSC_VER'] < '1900'
Attachment #8704926 -
Flags: review?(jyavenard)
Comment 8•9 years ago
|
||
bugherder |
Status: ASSIGNED → RESOLVED
Closed: 9 years ago
status-firefox46:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla46
Comment 9•9 years ago
|
||
Comment on attachment 8704944 [details] [diff] [review]
Fix VS2015 compilation. rpending=glandium
Review of attachment 8704944 [details] [diff] [review]:
-----------------------------------------------------------------
::: media/ffvpx/libavutil/dummy_funcs.c
@@ +20,5 @@
> +
> +// VS2015 (and later) now provides snprintf. As we have a global symbols
> +// file that do not allow conditional export, we create a dummy entry instead.
> +#if defined(_MSC_VER) && _MSC_VER >= 1900
> +int avpriv_snprintf(char *s, size_t n, const char *fmt, ...) { return 0; }
I hope this is not used...
Updated•9 years ago
|
Flags: needinfo?(mh+mozilla)
Assignee | ||
Comment 10•9 years ago
|
||
(In reply to Mike Hommey [:glandium] from comment #9)
> Comment on attachment 8704944 [details] [diff] [review]
> Fix VS2015 compilation. rpending=glandium
>
> Review of attachment 8704944 [details] [diff] [review]:
> -----------------------------------------------------------------
>
> ::: media/ffvpx/libavutil/dummy_funcs.c
> @@ +20,5 @@
> > +
> > +// VS2015 (and later) now provides snprintf. As we have a global symbols
> > +// file that do not allow conditional export, we create a dummy entry instead.
> > +#if defined(_MSC_VER) && _MSC_VER >= 1900
> > +int avpriv_snprintf(char *s, size_t n, const char *fmt, ...) { return 0; }
>
> I hope this is not used...
It isn't... But as the .symbols file list it, we have to make a dummy one (better alternative would be to have conditional support in .symbols file, so the symbol could be within #if _MSC_VER < 1900 .. #endif)
Updated•7 years ago
|
Product: Core → Firefox Build System
You need to log in
before you can comment on or make changes to this bug.
Description
•