From c94f18212330005d8b42da886fda9158b85671a1 Mon Sep 17 00:00:00 2001 From: Oleg Oshmyan Date: Sun, 27 Apr 2014 05:06:05 +0100 Subject: unistd.h is not needed --- configure.ac | 2 +- libass/ass.c | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/configure.ac b/configure.ac index 6ebaacf..340e209 100644 --- a/configure.ac +++ b/configure.ac @@ -16,7 +16,7 @@ AM_PROG_AS # Checks for header files. AC_HEADER_STDC AC_HEADER_STDBOOL -AC_CHECK_HEADERS([stdint.h unistd.h iconv.h]) +AC_CHECK_HEADERS([stdint.h iconv.h]) # Checks for library functions. AC_CHECK_FUNCS([strdup strndup]) diff --git a/libass/ass.c b/libass/ass.c index a0a6d47..57cc0e2 100644 --- a/libass/ass.c +++ b/libass/ass.c @@ -25,7 +25,6 @@ #include #include #include -#include #include #ifdef CONFIG_ICONV -- cgit v1.2.3 From 4b86ddcaab63429c7ba52ca0db4745d11cb79b8e Mon Sep 17 00:00:00 2001 From: Oleg Oshmyan Date: Sun, 27 Apr 2014 06:48:47 +0100 Subject: Move ASS_Shaper declaration to ass_shaper.h --- libass/ass_render.h | 5 ++--- libass/ass_shaper.h | 2 ++ 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/libass/ass_render.h b/libass/ass_render.h index b664c79..194c906 100644 --- a/libass/ass_render.h +++ b/libass/ass_render.h @@ -30,9 +30,6 @@ #include "hb.h" #endif -// XXX: fix the inclusion mess so we can avoid doing this here -typedef struct ass_shaper ASS_Shaper; - #include "ass.h" #include "ass_font.h" #include "ass_bitmap.h" @@ -291,6 +288,8 @@ typedef struct { size_t composite_max_size; } CacheStore; +#include "ass_shaper.h" + struct ass_renderer { ASS_Library *library; FT_Library ftlibrary; diff --git a/libass/ass_shaper.h b/libass/ass_shaper.h index e6121d1..b27cd53 100644 --- a/libass/ass_shaper.h +++ b/libass/ass_shaper.h @@ -21,6 +21,8 @@ #include "config.h" +typedef struct ass_shaper ASS_Shaper; + #include #include "ass_render.h" -- cgit v1.2.3 From d335134ae98fac808d7b1832f4ec87cbc02e217e Mon Sep 17 00:00:00 2001 From: Oleg Oshmyan Date: Tue, 15 Sep 2015 17:10:58 +0300 Subject: Include config.h in all source files and in no headers This way, #include "config.h" is consistently the very first thing the compiler sees when compiling any file. Some source files currently don't use anything defined in config.h, but it's easier and less error-prone to include it now to anticipate possible future changes in those files, config.h or other headers. --- libass/ass_blur.c | 2 ++ libass/ass_coretext.h | 2 -- libass/ass_directwrite.h | 2 -- libass/ass_drawing.c | 2 ++ libass/ass_fontconfig.h | 2 -- libass/ass_rasterizer.c | 2 ++ libass/ass_rasterizer_c.c | 2 ++ libass/ass_shaper.h | 2 -- libass/ass_string.c | 2 ++ libass/ass_string.h | 2 -- libass/ass_strtod.c | 2 ++ libass/ass_utils.h | 2 -- 12 files changed, 12 insertions(+), 12 deletions(-) diff --git a/libass/ass_blur.c b/libass/ass_blur.c index 023be03..f020725 100644 --- a/libass/ass_blur.c +++ b/libass/ass_blur.c @@ -16,6 +16,8 @@ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ +#include "config.h" + #include #include diff --git a/libass/ass_coretext.h b/libass/ass_coretext.h index 07a49fa..31edc5f 100644 --- a/libass/ass_coretext.h +++ b/libass/ass_coretext.h @@ -16,8 +16,6 @@ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -#include "config.h" - #include "ass_types.h" #include "ass_fontselect.h" diff --git a/libass/ass_directwrite.h b/libass/ass_directwrite.h index daf17ff..acb2e19 100644 --- a/libass/ass_directwrite.h +++ b/libass/ass_directwrite.h @@ -16,8 +16,6 @@ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -#include "config.h" - #include "ass_types.h" #include "ass_fontselect.h" diff --git a/libass/ass_drawing.c b/libass/ass_drawing.c index 4e98238..9828d57 100644 --- a/libass/ass_drawing.c +++ b/libass/ass_drawing.c @@ -16,6 +16,8 @@ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ +#include "config.h" + #include #include FT_OUTLINE_H #include FT_BBOX_H diff --git a/libass/ass_fontconfig.h b/libass/ass_fontconfig.h index 6d4f5e9..2db82d7 100644 --- a/libass/ass_fontconfig.h +++ b/libass/ass_fontconfig.h @@ -16,8 +16,6 @@ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -#include "config.h" - #include "ass_types.h" #include "ass_fontselect.h" diff --git a/libass/ass_rasterizer.c b/libass/ass_rasterizer.c index 8a0ee3b..91c0cf1 100644 --- a/libass/ass_rasterizer.c +++ b/libass/ass_rasterizer.c @@ -16,6 +16,8 @@ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ +#include "config.h" + #include "ass_utils.h" #include "ass_rasterizer.h" #include diff --git a/libass/ass_rasterizer_c.c b/libass/ass_rasterizer_c.c index bd378fb..ac86545 100644 --- a/libass/ass_rasterizer_c.c +++ b/libass/ass_rasterizer_c.c @@ -16,6 +16,8 @@ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ +#include "config.h" + #include "ass_utils.h" #include "ass_rasterizer.h" #include diff --git a/libass/ass_shaper.h b/libass/ass_shaper.h index b27cd53..0d1dfc2 100644 --- a/libass/ass_shaper.h +++ b/libass/ass_shaper.h @@ -19,8 +19,6 @@ #ifndef LIBASS_SHAPER_H #define LIBASS_SHAPER_H -#include "config.h" - typedef struct ass_shaper ASS_Shaper; #include diff --git a/libass/ass_string.c b/libass/ass_string.c index bb755a6..dfde674 100644 --- a/libass/ass_string.c +++ b/libass/ass_string.c @@ -16,6 +16,8 @@ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ +#include "config.h" + #include "ass_string.h" static const char lowertab[] = { diff --git a/libass/ass_string.h b/libass/ass_string.h index 8944804..7cda708 100644 --- a/libass/ass_string.h +++ b/libass/ass_string.h @@ -16,8 +16,6 @@ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -#include "config.h" - #include #ifndef ASS_STRING_H diff --git a/libass/ass_strtod.c b/libass/ass_strtod.c index 566f6e4..0d5f752 100644 --- a/libass/ass_strtod.c +++ b/libass/ass_strtod.c @@ -12,6 +12,8 @@ * */ +#include "config.h" + #include #include #include "ass_string.h" diff --git a/libass/ass_utils.h b/libass/ass_utils.h index 8295d4e..270d330 100644 --- a/libass/ass_utils.h +++ b/libass/ass_utils.h @@ -28,8 +28,6 @@ #include #include -#include "config.h" - #ifdef CONFIG_ENCA #include #endif -- cgit v1.2.3 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 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