Skip to content

Commit 25d5910

Browse files
committed
Merge pull request #169 from hpux735/master
Improve ARMv7 support
2 parents a7d1dd1 + 74262b6 commit 25d5910

File tree

2 files changed

+39
-29
lines changed

2 files changed

+39
-29
lines changed

Foundation/NSXMLNodeOptions.swift

Lines changed: 34 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -43,49 +43,55 @@
4343
@constant NSXMLDocumentIncludeContentTypeDeclaration Include a content type declaration for HTML or XHTML
4444
*/
4545

46-
public var NSXMLNodeOptionsNone: Int { return 0 }
46+
#if arch(x86_64)
47+
public typealias NSXMLNodeOptionRawType = Int
48+
#else
49+
public typealias NSXMLNodeOptionRawType = Int64
50+
#endif
51+
52+
public var NSXMLNodeOptionsNone: NSXMLNodeOptionRawType { return 0 }
4753

4854
// Init
49-
public var NSXMLNodeIsCDATA: Int { return 1 << 0 }
50-
public var NSXMLNodeExpandEmptyElement: Int { return 1 << 1 } // <a></a>
51-
public var NSXMLNodeCompactEmptyElement: Int { return 1 << 2 } // <a/>
52-
public var NSXMLNodeUseSingleQuotes: Int { return 1 << 3 }
53-
public var NSXMLNodeUseDoubleQuotes: Int { return 1 << 4 }
54-
public var NSXMLNodeNeverEscapeContents: Int { return 1 << 5 }
55+
public var NSXMLNodeIsCDATA: NSXMLNodeOptionRawType { return 1 << 0 }
56+
public var NSXMLNodeExpandEmptyElement: NSXMLNodeOptionRawType { return 1 << 1 } // <a></a>
57+
public var NSXMLNodeCompactEmptyElement: NSXMLNodeOptionRawType { return 1 << 2 } // <a/>
58+
public var NSXMLNodeUseSingleQuotes: NSXMLNodeOptionRawType { return 1 << 3 }
59+
public var NSXMLNodeUseDoubleQuotes: NSXMLNodeOptionRawType { return 1 << 4 }
60+
public var NSXMLNodeNeverEscapeContents: NSXMLNodeOptionRawType { return 1 << 5 }
5561

5662
// Tidy
57-
public var NSXMLDocumentTidyHTML: Int { return 1 << 9 }
58-
public var NSXMLDocumentTidyXML: Int { return 1 << 10 }
63+
public var NSXMLDocumentTidyHTML: NSXMLNodeOptionRawType { return 1 << 9 }
64+
public var NSXMLDocumentTidyXML: NSXMLNodeOptionRawType { return 1 << 10 }
5965

6066
// Validate
61-
public var NSXMLDocumentValidate: Int { return 1 << 13 }
67+
public var NSXMLDocumentValidate: NSXMLNodeOptionRawType { return 1 << 13 }
6268

6369
// External Entity Loading
6470
// Choose only zero or one option. Choosing none results in system-default behavior.
65-
public var NSXMLNodeLoadExternalEntitiesAlways: Int { return 1 << 14 }
66-
public var NSXMLNodeLoadExternalEntitiesSameOriginOnly: Int { return 1 << 15 }
67-
public var NSXMLNodeLoadExternalEntitiesNever: Int { return 1 << 19 }
71+
public var NSXMLNodeLoadExternalEntitiesAlways: NSXMLNodeOptionRawType { return 1 << 14 }
72+
public var NSXMLNodeLoadExternalEntitiesSameOriginOnly: NSXMLNodeOptionRawType { return 1 << 15 }
73+
public var NSXMLNodeLoadExternalEntitiesNever: NSXMLNodeOptionRawType { return 1 << 19 }
6874

6975
// Parse
70-
public var NSXMLDocumentXInclude: Int { return 1 << 16 }
76+
public var NSXMLDocumentXInclude: NSXMLNodeOptionRawType { return 1 << 16 }
7177

7278
// Output
73-
public var NSXMLNodePrettyPrint: Int { return 1 << 17 }
74-
public var NSXMLDocumentIncludeContentTypeDeclaration: Int { return 1 << 18 }
79+
public var NSXMLNodePrettyPrint: NSXMLNodeOptionRawType { return 1 << 17 }
80+
public var NSXMLDocumentIncludeContentTypeDeclaration: NSXMLNodeOptionRawType { return 1 << 18 }
7581

7682
// Fidelity
77-
public var NSXMLNodePreserveNamespaceOrder: Int { return 1 << 20 }
78-
public var NSXMLNodePreserveAttributeOrder: Int { return 1 << 21 }
79-
public var NSXMLNodePreserveEntities: Int { return 1 << 22 }
80-
public var NSXMLNodePreservePrefixes: Int { return 1 << 23 }
81-
public var NSXMLNodePreserveCDATA: Int { return 1 << 24 }
82-
public var NSXMLNodePreserveWhitespace: Int { return 1 << 25 }
83-
public var NSXMLNodePreserveDTD: Int { return 1 << 26 }
84-
public var NSXMLNodePreserveCharacterReferences: Int { return 1 << 27 }
85-
public var NSXMLNodePromoteSignificantWhitespace: Int { return 1 << 28 }
86-
public var NSXMLNodePreserveEmptyElements: Int { return NSXMLNodeExpandEmptyElement | NSXMLNodeCompactEmptyElement }
87-
public var NSXMLNodePreserveQuotes: Int { return NSXMLNodeUseSingleQuotes | NSXMLNodeUseDoubleQuotes }
88-
public var NSXMLNodePreserveAll: Int { return
83+
public var NSXMLNodePreserveNamespaceOrder: NSXMLNodeOptionRawType { return 1 << 20 }
84+
public var NSXMLNodePreserveAttributeOrder: NSXMLNodeOptionRawType { return 1 << 21 }
85+
public var NSXMLNodePreserveEntities: NSXMLNodeOptionRawType { return 1 << 22 }
86+
public var NSXMLNodePreservePrefixes: NSXMLNodeOptionRawType { return 1 << 23 }
87+
public var NSXMLNodePreserveCDATA: NSXMLNodeOptionRawType { return 1 << 24 }
88+
public var NSXMLNodePreserveWhitespace: NSXMLNodeOptionRawType { return 1 << 25 }
89+
public var NSXMLNodePreserveDTD: NSXMLNodeOptionRawType { return 1 << 26 }
90+
public var NSXMLNodePreserveCharacterReferences: NSXMLNodeOptionRawType { return 1 << 27 }
91+
public var NSXMLNodePromoteSignificantWhitespace: NSXMLNodeOptionRawType { return 1 << 28 }
92+
public var NSXMLNodePreserveEmptyElements: NSXMLNodeOptionRawType { return NSXMLNodeExpandEmptyElement | NSXMLNodeCompactEmptyElement }
93+
public var NSXMLNodePreserveQuotes: NSXMLNodeOptionRawType { return NSXMLNodeUseSingleQuotes | NSXMLNodeUseDoubleQuotes }
94+
public var NSXMLNodePreserveAll: NSXMLNodeOptionRawType { return
8995
NSXMLNodePreserveNamespaceOrder |
9096
NSXMLNodePreserveAttributeOrder |
9197
NSXMLNodePreserveEntities |

lib/target.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -364,7 +364,11 @@ def swift_triple(self):
364364
if self.sdk == OSType.MacOSX:
365365
return None
366366
elif self.sdk == OSType.Linux:
367-
triple += "-unknown-linux"
367+
# FIXME: It would be nice to detect the host ABI here
368+
if self.arch == ArchType.arm:
369+
triple += "-unknown-linux-gnueabihf"
370+
else:
371+
triple += "-unknown-linux"
368372
elif self.sdk == OSType.FreeBSD:
369373
triple += "-unknown-freebsd"
370374
else:

0 commit comments

Comments
 (0)