Re: [swift-dev] Swift port to Windows : Offering help!
I was busy. Before cleaning build procedure, I merged recent snapshot, and resolving conflict, followed up some bug, modified and checked Cygwin build. Now in cleaning build procedure for MSVC, I decided to change the cmake generator to Ninja from MSBuild - it is more faster when recompiling. It will be finished in soon. But don't expect too much, ... you should use hexa editor to build the static library. - Han Sangjin 2016. 4. 28. 6:09 Joel Van Eenwyk: > Hi Han, > > > > I’ve synced and ready to help out on this. > > > > “For building MSVC port, it will be better waiting several days until I > prepare a draft build manual - current build description is too dirty > (/misc/Build_msvc.txt).” > > > > Any updates on this? > > > > --Joel > > > > From: Shawn Erickson [mailto:shaw...@gmail.com] > Sent: Friday, April 22, 2016 8:27 AM > To: Sangjin Han ; Joel Van Eenwyk > > Cc: swift-dev > Subject: Re: [swift-dev] Swift port to Windows : Offering help! > > > > Trying to get back on PR1950 today.. fighting to get things building again > after a recent update-checkout. > > > > -Shawn > > On Thu, Apr 21, 2016 at 7:18 PM Sangjin Han via swift-dev > wrote: > > Hi Joel, > > > > I list some URLs. > > > > Bug/Feature report in http://bugs.swift.org > > --- > > SR-34 Port Swift to Windows (https://bugs.swift.org/browse/SR-34) > > SR-612 In Cygwin port, print() crashed at hook > (https://bugs.swift.org/browse/SR-612) > > SR-1128 autolink extraction does not work on Cygwin > (https://bugs.swift.org/browse/SR-1128) > > SR-1131 Build script for MSVC on Windows > (https://bugs.swift.org/browse/SR-1131) > > > > > > Pull Requsts in http://github.com/apple/swift > > - > > [stdlib/msvc] Runtime with MSVC library > (https://github.com/apple/swift/pull/1918) > > -- Currently working on. Waiting passing PR #1950. > > > > [swiftc/msvc] Compiling with MSVC library > (https://github.com/apple/swift/pull/1516) > > -- Waiting some more opinions or reviews. > > > > [runtime] enhanced and refactored recently added Mutex abstraction > (https://github.com/apple/swift/pull/1950) > > -- This is not about porting, but it enhances portability by removing POSIX > pthread. After merging, PR #1918 will be more simpler. > > > > IRGen: add support for DLL Storage semantics > (https://github.com/apple/swift/pull/2080) > > -- I think this is the most important topic for Windows/MSVC porting, but not > Cygwin port. > > > > > > Issues in Mailing list > > -- > > Subject: "swift (ABI) and Windows" in > https://lists.swift.org/pipermail/swift-dev/Week-of-Mon-20160404/subject.html > and > https://lists.swift.org/pipermail/swift-dev/Week-of-Mon-20160411/subject.html > > > > Subject: "long double usage in swift" in > https://lists.swift.org/pipermail/swift-dev/Week-of-Mon-20160321/subject.html > > > > > > My Repo for Patch > > - > > Repository: > https://github.com/tinysun212/swift-windows/tree/upstream-with-windows > > binary for MSVC: > https://github.com/tinysun212/swift-windows/releases/tag/swift-msvc-20160418 > > binary for Cygwin: > https://github.com/tinysun212/swift-windows-bin/tree/master/swift-cygwin > > > > > > Help > > > > If you are also interested in Cygwin port, it is also very helpful to > verify/check the build manual (it is placed at /BUILD-CYGWIN-64.md in root of > my repo), so that we make a PR for master, and everyone build the Cygwin port > without my forked repo. > > > > For building MSVC port, it will be better waiting several days until I > prepare a draft build manual - current build description is too dirty > (/misc/Build_msvc.txt). > > > > If you once run the compilers, you can see they are lack compared to Linux or > OS X. > > > > All of that is only on swift port. For swift-lldb, swift-corelibs-foundation, > swift-corelibs-libdispatch, I have not touched at all. > > > > Han Sangjin > > > > 2016-04-22 8:20 GMT+09:00 Joel Van Eenwyk : > > Hi Han, > > > > Thanks for the details! Do you have a custom fork or branch with these > changes? I'd love to be able to test this out and contribute if you think > that could help you out. I can get started on testing what you have now as > soon as tomorrow. > > > > Cheers, > > > > --Joel > > > > On Thu, Apr 21, 2016 at 4:15 PM, Sangjin Han via swift-dev > wrote: > > > > I'm writing code for Windows/Cygwin port on my free time. There is no well > documented information about that. Instead I'll give you some information and > several links for you. > > > > 1. Cygwin port > > Cygwin is a POSIX environment on Windows.
[swift-dev] swift-3.0-branch to be made; details to be announced soon
Hi everyone, We’re going to create a "swift-3.0-branch" branch across the various Swift repositories within the next couple days. The branch will be used to provide a more stable baseline for producing qualified snapshots for Swift 3. With a large number of Swift 3 changes having landed the idea is to provide more qualified downloads — probably called “developer previews” or something of that nature — that will be available for those interested in playing with Swift 3 but not wanting to pull just the latest snapshots from master. I’ll post details on how this branch will be managed via a blog post in the next couple days. For the time being, you can just ignore it — but I wanted to give everyone a heads up on why it was there. Ted___ swift-dev mailing list swift-dev@swift.org https://lists.swift.org/mailman/listinfo/swift-dev
Re: [swift-dev] Swift port to Windows : Offering help!
Hi Han, I’ve synced and ready to help out on this. “For building MSVC port, it will be better waiting several days until I prepare a draft build manual - current build description is too dirty (/misc /Build_msvc.txt).” Any updates on this? --Joel *From:* Shawn Erickson [mailto:shaw...@gmail.com] *Sent:* Friday, April 22, 2016 8:27 AM *To:* Sangjin Han; Joel Van Eenwyk < joel.vaneen...@gmail.com> *Cc:* swift-dev *Subject:* Re: [swift-dev] Swift port to Windows : Offering help! Trying to get back on PR1950 today.. fighting to get things building again after a recent update-checkout. -Shawn On Thu, Apr 21, 2016 at 7:18 PM Sangjin Han via swift-dev < swift-dev@swift.org> wrote: Hi Joel, I list some URLs. Bug/Feature report in http://bugs.swift.org --- SR-34 Port Swift to Windows (https://bugs.swift.org/browse/SR-34) SR-612 In Cygwin port, print() crashed at hook ( https://bugs.swift.org/browse/SR-612) SR-1128 autolink extraction does not work on Cygwin ( https://bugs.swift.org/browse/SR-1128) SR-1131 Build script for MSVC on Windows ( https://bugs.swift.org/browse/SR-1131) Pull Requsts in http://github.com/apple/swift - [stdlib/msvc] Runtime with MSVC library ( https://github.com/apple/swift/pull/1918) -- Currently working on. Waiting passing PR #1950. [swiftc/msvc] Compiling with MSVC library ( https://github.com/apple/swift/pull/1516) -- Waiting some more opinions or reviews. [runtime] enhanced and refactored recently added Mutex abstraction ( https://github.com/apple/swift/pull/1950) -- This is not about porting, but it enhances portability by removing POSIX pthread. After merging, PR #1918 will be more simpler. IRGen: add support for DLL Storage semantics ( https://github.com/apple/swift/pull/2080) -- I think this is the most important topic for Windows/MSVC porting, but not Cygwin port. Issues in Mailing list -- Subject: "swift (ABI) and Windows" in https://lists.swift.org/pipermail/swift-dev/Week-of-Mon-20160404/subject.html and https://lists.swift.org/pipermail/swift-dev/Week-of-Mon-20160411/subject.html Subject: "long double usage in swift" in https://lists.swift.org/pipermail/swift-dev/Week-of-Mon-20160321/subject.html My Repo for Patch - Repository: https://github.com/tinysun212/swift-windows/tree/upstream-with-windows binary for MSVC: https://github.com/tinysun212/swift-windows/releases/tag/swift-msvc-20160418 binary for Cygwin: https://github.com/tinysun212/swift-windows-bin/tree/master/swift-cygwin Help If you are also interested in Cygwin port, it is also very helpful to verify/check the build manual (it is placed at /BUILD-CYGWIN-64.md in root of my repo), so that we make a PR for master, and everyone build the Cygwin port without my forked repo. For building MSVC port, it will be better waiting several days until I prepare a draft build manual - current build description is too dirty (/misc/Build_msvc.txt). If you once run the compilers, you can see they are lack compared to Linux or OS X. All of that is only on swift port. For swift-lldb, swift-corelibs-foundation, swift-corelibs-libdispatch, I have not touched at all. Han Sangjin 2016-04-22 8:20 GMT+09:00 Joel Van Eenwyk : Hi Han, Thanks for the details! Do you have a custom fork or branch with these changes? I'd love to be able to test this out and contribute if you think that could help you out. I can get started on testing what you have now as soon as tomorrow. Cheers, --Joel On Thu, Apr 21, 2016 at 4:15 PM, Sangjin Han via swift-dev < swift-dev@swift.org> wrote: I'm writing code for Windows/Cygwin port on my free time. There is no well documented information about that. Instead I'll give you some information and several links for you. 1. Cygwin port Cygwin is a POSIX environment on Windows. Porting to Cygwin is relatively easer than Windows native. This is x86_64-unknown-windows-cygwin in llvm target name. Currently, you can build the swift compiler and standard library if you applying my 'informal' hacked patch and build manual. To-be tasks are verifying and sharing the build manual, porting the autolink-extract module, passing failed test code, etc. 2. Window port This is x86_64-pc-windows-msvc in llvm target name, so I call this 'Windows with MSVC library' when confusing with Cygwin - Windows with Cygwin DLL. Porting to Windows is harder than Cygwin. Swift source uses C++11 standard with some POSIX functions, GNU extension functions as well as platform specific codes for OS X or Linux, and the build script for Swift supposed to run on BASH shell. To compile the Swift source, we should use the Clang compiler for clang specific feature. Currently, there is a 'informal' compiler that barely compiles
[swift-dev] ObjC generic containers and ObjectiveCBridgeable conformance
Importing ObjC generics is currently disabled for the bridged container classes, NSArray, NSDictionary, and NSSet. To enable generics for these types, we need to figure out what to do about their interaction with ObjectiveCBridgeable container bridging. The mapping from generic Swift value type to generic ObjC class is nontrivial, since the element type may itself be bridged—Array bridges to NSArray, whereas Array would bridge to NSArray. We'd need multiple constrained conformances to be able to accurately model this relationship at compile time. Absent that functionality, I can think of a couple of approaches in the short term: 1) Do nothing, and import NSArray and friends as nongeneric types. 2) Import NSArray and friends as generic, and define the ObjectiveCBridgeable relationship in terms of their upper bound type, so that Array bridges to NSArray, Dictionaryto NSDictionary , and so on. 3) Do (2), but also do additional special-case bridging in the compiler (again), to insert unchecked conversions from the upper bound types like NSArray to the appropriate generic type NSArray. Are there any other approaches I'm missing? -Joe ___ swift-dev mailing list swift-dev@swift.org https://lists.swift.org/mailman/listinfo/swift-dev