]> granicus.if.org Git - libvpx/blob - tools_common.c
Merge "disable avx/avx2 for old versions of MSVC"
[libvpx] / tools_common.c
1 /*
2  *  Copyright (c) 2010 The WebM project authors. All Rights Reserved.
3  *
4  *  Use of this source code is governed by a BSD-style license
5  *  that can be found in the LICENSE file in the root of the source
6  *  tree. An additional intellectual property rights grant can be found
7  *  in the file PATENTS.  All contributing project authors may
8  *  be found in the AUTHORS file in the root of the source tree.
9  */
10 #include "tools_common.h"
11
12 #include <stdarg.h>
13 #include <stdlib.h>
14
15 #if defined(_WIN32) || defined(__OS2__)
16 #include <io.h>
17 #include <fcntl.h>
18
19 #ifdef __OS2__
20 #define _setmode    setmode
21 #define _fileno     fileno
22 #define _O_BINARY   O_BINARY
23 #endif
24 #endif
25
26 #define LOG_ERROR(label) do {\
27   const char *l = label;\
28   va_list ap;\
29   va_start(ap, fmt);\
30   if (l)\
31     fprintf(stderr, "%s: ", l);\
32   vfprintf(stderr, fmt, ap);\
33   fprintf(stderr, "\n");\
34   va_end(ap);\
35 } while (0)
36
37
38 FILE *set_binary_mode(FILE *stream) {
39   (void)stream;
40 #if defined(_WIN32) || defined(__OS2__)
41   _setmode(_fileno(stream), _O_BINARY);
42 #endif
43   return stream;
44 }
45
46 void die(const char *fmt, ...) {
47   LOG_ERROR(NULL);
48   usage_exit();
49 }
50
51 void fatal(const char *fmt, ...) {
52   LOG_ERROR("Fatal");
53   exit(EXIT_FAILURE);
54 }
55
56 void warn(const char *fmt, ...) {
57   LOG_ERROR("Warning");
58 }