Merge pull request #197 from lhoward/lhoward/SR-404
[SR-404]: use linker script to export protocol conformances start
diff --git a/Foundation/NSNumber.swift b/Foundation/NSNumber.swift
index f32321a..300bb77 100644
--- a/Foundation/NSNumber.swift
+++ b/Foundation/NSNumber.swift
@@ -139,13 +139,13 @@
public override var hash: Int {
get {
- return Int(CFHash(_cfObject))
+ return Int(bitPattern: CFHash(_cfObject))
}
}
public override func isEqual(object: AnyObject?) -> Bool {
- if let obj = object {
- return CFEqual(_cfObject, obj)
+ if let number = object as? NSNumber {
+ return CFEqual(_cfObject, number._cfObject)
} else {
return false
}
diff --git a/build.py b/build.py
index 9ba7b7f..97e7c86 100644
--- a/build.py
+++ b/build.py
@@ -26,12 +26,12 @@
# For now, we do not distinguish between public and private headers (they are all private to Foundation)
# These are really part of CF, which should ultimately be a separate target
-foundation.ROOT_HEADERS_FOLDER_PATH = "/usr/lib/swift"
-foundation.PUBLIC_HEADERS_FOLDER_PATH = "/usr/lib/swift/CoreFoundation"
-foundation.PRIVATE_HEADERS_FOLDER_PATH = "/usr/lib/swift/CoreFoundation"
-foundation.PROJECT_HEADERS_FOLDER_PATH = "/usr/lib/swift/CoreFoundation"
+foundation.ROOT_HEADERS_FOLDER_PATH = "${PREFIX}/lib/swift"
+foundation.PUBLIC_HEADERS_FOLDER_PATH = "${PREFIX}/lib/swift/CoreFoundation"
+foundation.PRIVATE_HEADERS_FOLDER_PATH = "${PREFIX}/lib/swift/CoreFoundation"
+foundation.PROJECT_HEADERS_FOLDER_PATH = "${PREFIX}/lib/swift/CoreFoundation"
-foundation.PUBLIC_MODULE_FOLDER_PATH = "/usr/lib/swift/CoreFoundation"
+foundation.PUBLIC_MODULE_FOLDER_PATH = "${PREFIX}/lib/swift/CoreFoundation"
foundation.CFLAGS += " ".join([
'-DU_SHOW_DRAFT_API',