summaryrefslogtreecommitdiff
path: root/Build/source/texk/web2c/xetexdir
diff options
context:
space:
mode:
authorPeter Breitenlohner <peb@mppmu.mpg.de>2013-01-05 09:44:43 +0000
committerPeter Breitenlohner <peb@mppmu.mpg.de>2013-01-05 09:44:43 +0000
commit31abeb756e78904f1452897fdcaa8a907c2ac1c7 (patch)
tree6be4c31afebc586237aadf9054e1297097e4c326 /Build/source/texk/web2c/xetexdir
parentfc64f176db15d7daeac02df2d97d5169899b2f68 (diff)
XeTeX: Build fixes
git-svn-id: svn://tug.org/texlive/trunk@28735 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/texk/web2c/xetexdir')
-rw-r--r--Build/source/texk/web2c/xetexdir/ChangeLog9
-rw-r--r--Build/source/texk/web2c/xetexdir/XeTeXFontMgr.cpp6
-rw-r--r--Build/source/texk/web2c/xetexdir/XeTeXLayoutInterface.cpp6
-rw-r--r--Build/source/texk/web2c/xetexdir/XeTeX_ext.c18
-rw-r--r--Build/source/texk/web2c/xetexdir/trans.h4
5 files changed, 24 insertions, 19 deletions
diff --git a/Build/source/texk/web2c/xetexdir/ChangeLog b/Build/source/texk/web2c/xetexdir/ChangeLog
index 96cc4ff9654..af93b44e953 100644
--- a/Build/source/texk/web2c/xetexdir/ChangeLog
+++ b/Build/source/texk/web2c/xetexdir/ChangeLog
@@ -1,3 +1,12 @@
+2013-01-05 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * XeTeX_ext.c: If necessary define or declare strndup().
+
+ * XeTeXFontMgr.cpp, XeTeXLayoutInterface.cpp: Drop definition
+ of M_PI here ...
+ * trans.h: ... and '#define M_PI' here immediately after
+ '#include <math.h>'.
+
2013-01-04 Khaled Hosny <khaledhosny@eglug.org>
Merge changes from XeTeX repository.
diff --git a/Build/source/texk/web2c/xetexdir/XeTeXFontMgr.cpp b/Build/source/texk/web2c/xetexdir/XeTeXFontMgr.cpp
index 51297c6d4aa..3521a6b9b35 100644
--- a/Build/source/texk/web2c/xetexdir/XeTeXFontMgr.cpp
+++ b/Build/source/texk/web2c/xetexdir/XeTeXFontMgr.cpp
@@ -39,12 +39,6 @@ authorization from the copyright holders.
#include "XeTeXswap.h"
#include "sfnt.h"
-#ifdef _MSC_VER
-#ifndef M_PI
-#define M_PI 3.14159265358979323846
-#endif
-#endif
-
extern "C" {
extern Fixed loadedfontdesignsize;
}
diff --git a/Build/source/texk/web2c/xetexdir/XeTeXLayoutInterface.cpp b/Build/source/texk/web2c/xetexdir/XeTeXLayoutInterface.cpp
index ce6ee2cb78b..082025232c3 100644
--- a/Build/source/texk/web2c/xetexdir/XeTeXLayoutInterface.cpp
+++ b/Build/source/texk/web2c/xetexdir/XeTeXLayoutInterface.cpp
@@ -44,12 +44,6 @@ authorization from the copyright holders.
#include "XeTeXFontMgr.h"
#include "XeTeXswap.h"
-#ifdef _MSC_VER
-#ifndef M_PI
-#define M_PI 3.14159265358979323846
-#endif
-#endif
-
struct XeTeXLayoutEngine_rec
{
XeTeXFontInst* font;
diff --git a/Build/source/texk/web2c/xetexdir/XeTeX_ext.c b/Build/source/texk/web2c/xetexdir/XeTeX_ext.c
index 2c7cd172265..68dc7b9a0a7 100644
--- a/Build/source/texk/web2c/xetexdir/XeTeX_ext.c
+++ b/Build/source/texk/web2c/xetexdir/XeTeX_ext.c
@@ -876,20 +876,24 @@ readFeatureNumber(const char* s, const char* e, int* f, int* v)
return true;
}
-#ifdef _MSC_VER
+#if !defined(HAVE_STRNDUP)
+/* Inspired by the GNU C Library 2.3.6
+ * Copyright (C) 1996, 1997, 1998, 2001, 2002 Free Software Foundation, Inc.
+ */
static char *strndup (const char *str, size_t n)
{
- char *ret;
- size_t len = strlen (str);
+ const char *p = (const char *) memchr(str, 0, n);
+ size_t len = p ? p - str : n; /* strnlen(str, n) */
+ char *ret = (char *) malloc (len + 1);
- if (n < len)
- len = n;
- ret = (char *) malloc (len + 1);
- if (!ret)
+ if (ret == NULL)
return NULL;
+
ret[len] = '\0';
return (char *) memcpy (ret, str, len);
}
+#elif !(defined HAVE_DECL_STRNDUP && HAVE_DECL_STRNDUP)
+char *strndup (const char *str, size_t n);
#endif
static void*
diff --git a/Build/source/texk/web2c/xetexdir/trans.h b/Build/source/texk/web2c/xetexdir/trans.h
index 70c575fa4b3..88facea6d63 100644
--- a/Build/source/texk/web2c/xetexdir/trans.h
+++ b/Build/source/texk/web2c/xetexdir/trans.h
@@ -42,6 +42,10 @@ typedef CGAffineTransform transform;
#else
#include <math.h>
+/* apparently M_PI isn't defined by <math.h> under VC++ */
+#ifndef M_PI
+#define M_PI 3.14159265358979323846
+#endif
typedef struct {
double a;