summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Breitenlohner <peb@mppmu.mpg.de>2010-07-05 15:56:46 +0000
committerPeter Breitenlohner <peb@mppmu.mpg.de>2010-07-05 15:56:46 +0000
commit5209134cd9d89ac7808e5651bf530c736f2d7449 (patch)
tree0514b0113efce7fc1adb049ec0624599a2077d1c
parentbd3749566d917b091daaebf65e7ebcf079cf10fa (diff)
more aix build fixes
git-svn-id: svn://tug.org/texlive/trunk@19246 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Build/source/libs/graphite/engine-2.3.1-PATCHES/ChangeLog4
-rw-r--r--Build/source/libs/graphite/engine-2.3.1-PATCHES/patch-03-SIZEOF_WCHAR_T5
-rw-r--r--Build/source/libs/graphite/engine-2.3.1-PATCHES/patch-07-stdlib-workaround35
-rw-r--r--Build/source/libs/graphite/engine-2.3.1/src/font/FileFont.cpp2
-rw-r--r--Build/source/libs/graphite/engine-2.3.1/src/font/TtfUtil.cpp12
5 files changed, 50 insertions, 8 deletions
diff --git a/Build/source/libs/graphite/engine-2.3.1-PATCHES/ChangeLog b/Build/source/libs/graphite/engine-2.3.1-PATCHES/ChangeLog
index 1635bc0723c..dbe5842a1ad 100644
--- a/Build/source/libs/graphite/engine-2.3.1-PATCHES/ChangeLog
+++ b/Build/source/libs/graphite/engine-2.3.1-PATCHES/ChangeLog
@@ -4,6 +4,10 @@
initialized static const class members, required for AIX.
From Vladimir Volovich, Fri, 04 Jun 2010 19:46:38.
+ * patch-07-stdlib-workaround (new): Work around stdlib problems,
+ requires -DUSE_STDLIB_WORKAROUNDS for AIX (and MinGW32?).
+ From Vladimir Volovich, Mon, 05 Jul 2010 14:05:18.
+
2010-03-29 Peter Breitenlohner <peb@mppmu.mpg.de>
* patch-05-copy-constr (new): Declare copy constructor's source
diff --git a/Build/source/libs/graphite/engine-2.3.1-PATCHES/patch-03-SIZEOF_WCHAR_T b/Build/source/libs/graphite/engine-2.3.1-PATCHES/patch-03-SIZEOF_WCHAR_T
index 86ff5fdc3c2..baf160081fb 100644
--- a/Build/source/libs/graphite/engine-2.3.1-PATCHES/patch-03-SIZEOF_WCHAR_T
+++ b/Build/source/libs/graphite/engine-2.3.1-PATCHES/patch-03-SIZEOF_WCHAR_T
@@ -6,10 +6,11 @@ diff -ur engine-2.3.1.orig/src/font/FileFont.cpp engine-2.3.1/src/font/FileFont.
// }
#else
- m_stuFaceName.assign(rgchwFace);
-+ // m_stuFaceName.assign(rgchwFace);
- // VS 2005 needs this:
+- // VS 2005 needs this:
- //for (int cch16 = 0; cch16 < cchw; cch16++)
- // m_stuFaceName.push_back(rgchwFace[cch16]);
++ // m_stuFaceName.assign(rgchwFace);
++ // VS 2005 and MinGW32 need this:
+ for (int cch16 = 0; cch16 < cchw; cch16++)
+ m_stuFaceName.push_back(rgchwFace[cch16]);
#endif
diff --git a/Build/source/libs/graphite/engine-2.3.1-PATCHES/patch-07-stdlib-workaround b/Build/source/libs/graphite/engine-2.3.1-PATCHES/patch-07-stdlib-workaround
new file mode 100644
index 00000000000..c0e0ae20cde
--- /dev/null
+++ b/Build/source/libs/graphite/engine-2.3.1-PATCHES/patch-07-stdlib-workaround
@@ -0,0 +1,35 @@
+diff -ur engine-2.3.1.orig/src/font/FileFont.cpp engine-2.3.1/src/font/FileFont.cpp
+--- engine-2.3.1.orig/src/font/FileFont.cpp 2010-02-19 23:30:05.000000000 +0100
++++ engine-2.3.1/src/font/FileFont.cpp 2010-07-05 17:33:59.065493280 +0200
+@@ -209,7 +209,7 @@
+ // }
+ #else
+ // m_stuFaceName.assign(rgchwFace);
+- // VS 2005 and MinGW32 need this:
++ // VS 2005, MinGW32, and AIX need this:
+ for (int cch16 = 0; cch16 < cchw; cch16++)
+ m_stuFaceName.push_back(rgchwFace[cch16]);
+ #endif
+diff -ur engine-2.3.1.orig/src/font/TtfUtil.cpp engine-2.3.1/src/font/TtfUtil.cpp
+--- engine-2.3.1.orig/src/font/TtfUtil.cpp 2009-10-01 22:48:21.000000000 +0200
++++ engine-2.3.1/src/font/TtfUtil.cpp 2010-07-05 17:37:51.200867045 +0200
+@@ -784,12 +784,14 @@
+ uint16 * pStr = reinterpret_cast<uint16 *>(pWStr);
+ uint16 * const pStrEnd = pStr + (nSize == 0 ? gr::utf16len(pStr) : nSize);
+
++#ifndef USE_STDLIB_WORKAROUNDS
+ std::transform(pStr, pStrEnd, pStr, read<uint16>);
+-
+-// for (int i = 0; i < nSize; i++)
+-// { // swap the wide characters in the string
+-// pStr[i] = gr::utf16(read(uint16(pStr[i])));
+-// }
++#else
++ for (int i = 0; i < nSize; i++)
++ { // swap the wide characters in the string
++ pStr[i] = gr::utf16(read(uint16(pStr[i])));
++ }
++#endif
+ }
+
+ /*----------------------------------------------------------------------------------------------
diff --git a/Build/source/libs/graphite/engine-2.3.1/src/font/FileFont.cpp b/Build/source/libs/graphite/engine-2.3.1/src/font/FileFont.cpp
index 4e5f2a62578..59e69903fce 100644
--- a/Build/source/libs/graphite/engine-2.3.1/src/font/FileFont.cpp
+++ b/Build/source/libs/graphite/engine-2.3.1/src/font/FileFont.cpp
@@ -209,7 +209,7 @@ FileFont::initializeFromFace()
// }
#else
// m_stuFaceName.assign(rgchwFace);
- // VS 2005 needs this:
+ // VS 2005, MinGW32, and AIX need this:
for (int cch16 = 0; cch16 < cchw; cch16++)
m_stuFaceName.push_back(rgchwFace[cch16]);
#endif
diff --git a/Build/source/libs/graphite/engine-2.3.1/src/font/TtfUtil.cpp b/Build/source/libs/graphite/engine-2.3.1/src/font/TtfUtil.cpp
index 4fe98adadb2..d2781ccac5f 100644
--- a/Build/source/libs/graphite/engine-2.3.1/src/font/TtfUtil.cpp
+++ b/Build/source/libs/graphite/engine-2.3.1/src/font/TtfUtil.cpp
@@ -784,12 +784,14 @@ void SwapWString(void * pWStr, size_t nSize /* = 0 */) throw (std::invalid_argum
uint16 * pStr = reinterpret_cast<uint16 *>(pWStr);
uint16 * const pStrEnd = pStr + (nSize == 0 ? gr::utf16len(pStr) : nSize);
+#ifndef USE_STDLIB_WORKAROUNDS
std::transform(pStr, pStrEnd, pStr, read<uint16>);
-
-// for (int i = 0; i < nSize; i++)
-// { // swap the wide characters in the string
-// pStr[i] = gr::utf16(read(uint16(pStr[i])));
-// }
+#else
+ for (int i = 0; i < nSize; i++)
+ { // swap the wide characters in the string
+ pStr[i] = gr::utf16(read(uint16(pStr[i])));
+ }
+#endif
}
/*----------------------------------------------------------------------------------------------