From 124a66c69d7362a5b25d3f370a27a74a131c6030 Mon Sep 17 00:00:00 2001 From: Oleg Oshmyan Date: Sun, 27 Apr 2014 06:55:42 +0100 Subject: Fully fix compilation with MSVC/ICL As before, this does not add any build system support: a config.h file and a project must still be manually created (or the compiler can be run manually instead of using a project). Signed-off-by: Grigori Goronzy Signed-off-by: Oleg Oshmyan --- libass/Makefile.am | 2 +- libass/ass.c | 1 + libass/ass_bitmap.c | 1 + libass/ass_blur.c | 1 + libass/ass_cache.c | 1 + libass/ass_compat.h | 29 +++++++++++++++++++++++++++++ libass/ass_coretext.c | 1 + libass/ass_directwrite.c | 1 + libass/ass_drawing.c | 1 + libass/ass_font.c | 1 + libass/ass_fontconfig.c | 1 + libass/ass_fontselect.c | 1 + libass/ass_library.c | 1 + libass/ass_parse.c | 1 + libass/ass_rasterizer.c | 1 + libass/ass_rasterizer_c.c | 1 + libass/ass_render.c | 1 + libass/ass_render_api.c | 2 ++ libass/ass_shaper.c | 1 + libass/ass_string.c | 1 + libass/ass_strtod.c | 1 + libass/ass_utils.c | 1 + 22 files changed, 51 insertions(+), 1 deletion(-) create mode 100644 libass/ass_compat.h (limited to 'libass') diff --git a/libass/Makefile.am b/libass/Makefile.am index cef1291..cf075bb 100644 --- a/libass/Makefile.am +++ b/libass/Makefile.am @@ -30,7 +30,7 @@ libass_la_SOURCES = ass.c ass_cache.c ass_font.c ass_fontselect.c ass_render.c \ ass_drawing.h ass_cache_template.h ass_render.h \ ass_parse.c ass_parse.h ass_render_api.c ass_shaper.c \ ass_shaper.h ass_strtod.c ass_fontconfig.c ass_fontconfig.h \ - ass_string.h ass_string.c + ass_string.h ass_string.c ass_compat.h libass_la_LDFLAGS = -no-undefined -version-info $(LIBASS_LT_CURRENT):$(LIBASS_LT_REVISION):$(LIBASS_LT_AGE) libass_la_LDFLAGS += -export-symbols $(srcdir)/libass.sym diff --git a/libass/ass.c b/libass/ass.c index 57cc0e2..e8bc843 100644 --- a/libass/ass.c +++ b/libass/ass.c @@ -17,6 +17,7 @@ */ #include "config.h" +#include "ass_compat.h" #include #include diff --git a/libass/ass_bitmap.c b/libass/ass_bitmap.c index f2480c8..2c354b3 100644 --- a/libass/ass_bitmap.c +++ b/libass/ass_bitmap.c @@ -19,6 +19,7 @@ */ #include "config.h" +#include "ass_compat.h" #include #include diff --git a/libass/ass_blur.c b/libass/ass_blur.c index f020725..870992e 100644 --- a/libass/ass_blur.c +++ b/libass/ass_blur.c @@ -17,6 +17,7 @@ */ #include "config.h" +#include "ass_compat.h" #include #include diff --git a/libass/ass_cache.c b/libass/ass_cache.c index d1aaec0..d8c561e 100644 --- a/libass/ass_cache.c +++ b/libass/ass_cache.c @@ -18,6 +18,7 @@ */ #include "config.h" +#include "ass_compat.h" #include #include diff --git a/libass/ass_compat.h b/libass/ass_compat.h new file mode 100644 index 0000000..dc3395e --- /dev/null +++ b/libass/ass_compat.h @@ -0,0 +1,29 @@ +/* + * Copyright (C) 2015 Oleg Oshmyan + * + * This file is part of libass. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +#ifndef LIBASS_COMPAT_H +#define LIBASS_COMPAT_H + +#ifdef _MSC_VER +#define _CRT_NONSTDC_NO_DEPRECATE +#define _CRT_SECURE_NO_WARNINGS +#define _USE_MATH_DEFINES +#define inline __inline +#endif + +#endif /* LIBASS_COMPAT_H */ diff --git a/libass/ass_coretext.c b/libass/ass_coretext.c index 877018d..fdc7bd1 100644 --- a/libass/ass_coretext.c +++ b/libass/ass_coretext.c @@ -17,6 +17,7 @@ */ #include "config.h" +#include "ass_compat.h" #include #include diff --git a/libass/ass_directwrite.c b/libass/ass_directwrite.c index cc0f1ed..521447d 100644 --- a/libass/ass_directwrite.c +++ b/libass/ass_directwrite.c @@ -18,6 +18,7 @@ #define COBJMACROS #include "config.h" +#include "ass_compat.h" #include #include diff --git a/libass/ass_drawing.c b/libass/ass_drawing.c index 9828d57..6c99428 100644 --- a/libass/ass_drawing.c +++ b/libass/ass_drawing.c @@ -17,6 +17,7 @@ */ #include "config.h" +#include "ass_compat.h" #include #include FT_OUTLINE_H diff --git a/libass/ass_font.c b/libass/ass_font.c index b97567f..7dd0e8c 100644 --- a/libass/ass_font.c +++ b/libass/ass_font.c @@ -17,6 +17,7 @@ */ #include "config.h" +#include "ass_compat.h" #include #include diff --git a/libass/ass_fontconfig.c b/libass/ass_fontconfig.c index 184f090..30a9d38 100644 --- a/libass/ass_fontconfig.c +++ b/libass/ass_fontconfig.c @@ -17,6 +17,7 @@ */ #include "config.h" +#include "ass_compat.h" #ifdef CONFIG_FONTCONFIG diff --git a/libass/ass_fontselect.c b/libass/ass_fontselect.c index e75eb1f..cde3332 100644 --- a/libass/ass_fontselect.c +++ b/libass/ass_fontselect.c @@ -18,6 +18,7 @@ */ #include "config.h" +#include "ass_compat.h" #include #include diff --git a/libass/ass_library.c b/libass/ass_library.c index a2945d8..6ee5f81 100644 --- a/libass/ass_library.c +++ b/libass/ass_library.c @@ -17,6 +17,7 @@ */ #include "config.h" +#include "ass_compat.h" #include #include diff --git a/libass/ass_parse.c b/libass/ass_parse.c index c818e73..e6db422 100644 --- a/libass/ass_parse.c +++ b/libass/ass_parse.c @@ -17,6 +17,7 @@ */ #include "config.h" +#include "ass_compat.h" #include #include diff --git a/libass/ass_rasterizer.c b/libass/ass_rasterizer.c index 91c0cf1..d8e86e8 100644 --- a/libass/ass_rasterizer.c +++ b/libass/ass_rasterizer.c @@ -17,6 +17,7 @@ */ #include "config.h" +#include "ass_compat.h" #include "ass_utils.h" #include "ass_rasterizer.h" diff --git a/libass/ass_rasterizer_c.c b/libass/ass_rasterizer_c.c index ac86545..324cdca 100644 --- a/libass/ass_rasterizer_c.c +++ b/libass/ass_rasterizer_c.c @@ -17,6 +17,7 @@ */ #include "config.h" +#include "ass_compat.h" #include "ass_utils.h" #include "ass_rasterizer.h" diff --git a/libass/ass_render.c b/libass/ass_render.c index e7a3060..7044335 100644 --- a/libass/ass_render.c +++ b/libass/ass_render.c @@ -17,6 +17,7 @@ */ #include "config.h" +#include "ass_compat.h" #include #include diff --git a/libass/ass_render_api.c b/libass/ass_render_api.c index 975cd63..4f6b063 100644 --- a/libass/ass_render_api.c +++ b/libass/ass_render_api.c @@ -18,6 +18,8 @@ */ #include "config.h" +#include "ass_compat.h" + #include "ass_render.h" static void ass_reconfigure(ASS_Renderer *priv) diff --git a/libass/ass_shaper.c b/libass/ass_shaper.c index 658d1ef..31e3682 100644 --- a/libass/ass_shaper.c +++ b/libass/ass_shaper.c @@ -17,6 +17,7 @@ */ #include "config.h" +#include "ass_compat.h" #include "ass_shaper.h" #include "ass_render.h" diff --git a/libass/ass_string.c b/libass/ass_string.c index dfde674..0a086b1 100644 --- a/libass/ass_string.c +++ b/libass/ass_string.c @@ -17,6 +17,7 @@ */ #include "config.h" +#include "ass_compat.h" #include "ass_string.h" diff --git a/libass/ass_strtod.c b/libass/ass_strtod.c index 0d5f752..856815c 100644 --- a/libass/ass_strtod.c +++ b/libass/ass_strtod.c @@ -13,6 +13,7 @@ */ #include "config.h" +#include "ass_compat.h" #include #include diff --git a/libass/ass_utils.c b/libass/ass_utils.c index 9c9155b..10b37a3 100644 --- a/libass/ass_utils.c +++ b/libass/ass_utils.c @@ -17,6 +17,7 @@ */ #include "config.h" +#include "ass_compat.h" #include #include -- cgit v1.2.3