summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGrigori Goronzy <greg@kinoho.net>2015-09-22 23:07:02 +0200
committerGrigori Goronzy <greg@kinoho.net>2015-09-22 23:07:02 +0200
commit0b0ce2cd0bd6448372b8ef7b9b6b18437d264546 (patch)
treeb7d5d15b55d0b6d025c85bee4f6235eeff2b2529
parent3e8ea9421204b51a819d983ee1d924621259043c (diff)
parent124a66c69d7362a5b25d3f370a27a74a131c6030 (diff)
downloadlibass-0b0ce2cd0bd6448372b8ef7b9b6b18437d264546.tar.bz2
libass-0b0ce2cd0bd6448372b8ef7b9b6b18437d264546.tar.xz
Merge pull request #84 from astiob/msvc
MSVC/ICL and general header fixes
-rw-r--r--configure.ac2
-rw-r--r--libass/Makefile.am2
-rw-r--r--libass/ass.c2
-rw-r--r--libass/ass_bitmap.c1
-rw-r--r--libass/ass_blur.c3
-rw-r--r--libass/ass_cache.c1
-rw-r--r--libass/ass_compat.h29
-rw-r--r--libass/ass_coretext.c1
-rw-r--r--libass/ass_coretext.h2
-rw-r--r--libass/ass_directwrite.c1
-rw-r--r--libass/ass_directwrite.h2
-rw-r--r--libass/ass_drawing.c3
-rw-r--r--libass/ass_font.c1
-rw-r--r--libass/ass_fontconfig.c1
-rw-r--r--libass/ass_fontconfig.h2
-rw-r--r--libass/ass_fontselect.c1
-rw-r--r--libass/ass_library.c1
-rw-r--r--libass/ass_parse.c1
-rw-r--r--libass/ass_rasterizer.c3
-rw-r--r--libass/ass_rasterizer_c.c3
-rw-r--r--libass/ass_render.c1
-rw-r--r--libass/ass_render.h5
-rw-r--r--libass/ass_render_api.c2
-rw-r--r--libass/ass_shaper.c1
-rw-r--r--libass/ass_shaper.h2
-rw-r--r--libass/ass_string.c3
-rw-r--r--libass/ass_string.h2
-rw-r--r--libass/ass_strtod.c3
-rw-r--r--libass/ass_utils.c1
-rw-r--r--libass/ass_utils.h2
30 files changed, 67 insertions, 17 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/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 a0a6d47..e8bc843 100644
--- a/libass/ass.c
+++ b/libass/ass.c
@@ -17,6 +17,7 @@
*/
#include "config.h"
+#include "ass_compat.h"
#include <stdio.h>
#include <stdlib.h>
@@ -25,7 +26,6 @@
#include <errno.h>
#include <sys/types.h>
#include <sys/stat.h>
-#include <unistd.h>
#include <inttypes.h>
#ifdef CONFIG_ICONV
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 <stdlib.h>
#include <string.h>
diff --git a/libass/ass_blur.c b/libass/ass_blur.c
index 023be03..870992e 100644
--- a/libass/ass_blur.c
+++ b/libass/ass_blur.c
@@ -16,6 +16,9 @@
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
+#include "config.h"
+#include "ass_compat.h"
+
#include <math.h>
#include <stdbool.h>
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 <inttypes.h>
#include <ft2build.h>
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 <chortos@inbox.lv>
+ *
+ * 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 <CoreFoundation/CoreFoundation.h>
#include <CoreText/CoreText.h>
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.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 <initguid.h>
#include <ole2.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..6c99428 100644
--- a/libass/ass_drawing.c
+++ b/libass/ass_drawing.c
@@ -16,6 +16,9 @@
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
+#include "config.h"
+#include "ass_compat.h"
+
#include <ft2build.h>
#include FT_OUTLINE_H
#include FT_BBOX_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 <inttypes.h>
#include <ft2build.h>
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_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_fontselect.c b/libass/ass_fontselect.c
index b437000..521b4d0 100644
--- a/libass/ass_fontselect.c
+++ b/libass/ass_fontselect.c
@@ -18,6 +18,7 @@
*/
#include "config.h"
+#include "ass_compat.h"
#include <stdlib.h>
#include <stdio.h>
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 <inttypes.h>
#include <stdio.h>
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 <stdio.h>
#include <stdlib.h>
diff --git a/libass/ass_rasterizer.c b/libass/ass_rasterizer.c
index 8a0ee3b..d8e86e8 100644
--- a/libass/ass_rasterizer.c
+++ b/libass/ass_rasterizer.c
@@ -16,6 +16,9 @@
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
+#include "config.h"
+#include "ass_compat.h"
+
#include "ass_utils.h"
#include "ass_rasterizer.h"
#include <assert.h>
diff --git a/libass/ass_rasterizer_c.c b/libass/ass_rasterizer_c.c
index bd378fb..324cdca 100644
--- a/libass/ass_rasterizer_c.c
+++ b/libass/ass_rasterizer_c.c
@@ -16,6 +16,9 @@
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
+#include "config.h"
+#include "ass_compat.h"
+
#include "ass_utils.h"
#include "ass_rasterizer.h"
#include <assert.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 <assert.h>
#include <math.h>
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_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_shaper.h b/libass/ass_shaper.h
index e6121d1..0d1dfc2 100644
--- a/libass/ass_shaper.h
+++ b/libass/ass_shaper.h
@@ -19,7 +19,7 @@
#ifndef LIBASS_SHAPER_H
#define LIBASS_SHAPER_H
-#include "config.h"
+typedef struct ass_shaper ASS_Shaper;
#include <fribidi.h>
#include "ass_render.h"
diff --git a/libass/ass_string.c b/libass/ass_string.c
index bb755a6..0a086b1 100644
--- a/libass/ass_string.c
+++ b/libass/ass_string.c
@@ -16,6 +16,9 @@
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
+#include "config.h"
+#include "ass_compat.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 <stdlib.h>
#ifndef ASS_STRING_H
diff --git a/libass/ass_strtod.c b/libass/ass_strtod.c
index 566f6e4..856815c 100644
--- a/libass/ass_strtod.c
+++ b/libass/ass_strtod.c
@@ -12,6 +12,9 @@
*
*/
+#include "config.h"
+#include "ass_compat.h"
+
#include <stdlib.h>
#include <errno.h>
#include "ass_string.h"
diff --git a/libass/ass_utils.c b/libass/ass_utils.c
index 1614a32..aca511b 100644
--- a/libass/ass_utils.c
+++ b/libass/ass_utils.c
@@ -17,6 +17,7 @@
*/
#include "config.h"
+#include "ass_compat.h"
#include <stddef.h>
#include <stdlib.h>
diff --git a/libass/ass_utils.h b/libass/ass_utils.h
index 8938c30..867b3e3 100644
--- a/libass/ass_utils.h
+++ b/libass/ass_utils.h
@@ -28,8 +28,6 @@
#include <errno.h>
#include <math.h>
-#include "config.h"
-
#ifdef CONFIG_ENCA
#include <enca.h>
#endif