[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Forking on Github and feedback
From: |
陈北宗 |
Subject: |
Forking on Github and feedback |
Date: |
Fri, 4 Dec 2015 21:04:35 +0800 |
Dear List:
I just forked libobjc2, base and corebase so I can restart the refactor project
again, now using OS X 10.11 as the refactoring standard. I would like to know
how should I contribute back?
Project plan:
1) Building with clang 3.6+ mandatory, even for C-only projects. This is to
allow...
2) … gnustep-make as well as use of autotools or cmake deprecated, replaced
with __have_include() macro provided by clang. Also parallelisation that used
to plague gnustep-make should work better now. For other projects, Xcode
project files would be used instead.
3) GC in libobjc2 removed and ARC mandated, just like OS X 10.11 and iOS 5.
4) The base build order will be libobjc2 - libdispatch - gnustep-base-headers -
gnustep-corebase - gnustep-base. The tangled look is from the fact that a few
Base classes are moved to CoreBase for the sake of TFB.
5) libobjc2 will install blocks-related headers at correct locations as if
installed from libBlocksRuntime, as well as creating a symlink for
libBlocksRuntime, essentially replacing it entirely.
6) libobjc-opts removed - LLVM 3.4 and beyond not supported anyway, and LLVM
3.6+ mandated here.
7) NSZone, CFAllocator and part of NSObject moved to libobjc2 (allow TFB to be
implemented in CoreBase)
8) Added TFB pairs for the sake of simplicity (should not break contract if
used properly): NSZone vs CFAllocator, NSRunLoop vs CFRunLoop, NSCountedSet vs
CFBag, NSIndexSet vs CFBitVector, and a few more.
9) I will figure out a way to put CFNetwork in, maybe as a separate library,
and reimplement a few Base classes on top of that.
10) CommonCrypto API is used as an abstract layer above OpenSSL and GnuTLS,
replacing the crypto bundle. It is built separately as libcommoncrypto-openssl
and libcommoncrypto-gnutls dynamic libraries but only one can be linked at a
time. Both libraries will be under a 3-clause BSD license, acting as a legal
buffer between either OpenSSL license mix or LGPL from the crypto library, and
LGPL or GPL of the framework proper.
11) dispatch-io will be used heavily across CF and Foundation - libdispatch now
a hard dependency.
12) I will try to find some mach port analogue from within POSIX API. DO and
XPC will depend on it.
13) A set of macros for creating new CF classes will be provided (for the sake
of Opal)
Distant goals:
14) DVTFoundation and xcodebuild cloned.
15) Opal, written on top of Wayland and EGL, replaces gnustep-back.
16) GUI would be taking advantage of ARC and Opal.
17) StepCode, a Xcode clone, based on libclang.
Max.
- Forking on Github and feedback,
陈北宗 <=
- Re: Forking on Github and feedback, Ivan Vučica, 2015/12/04
- Re: Forking on Github and feedback, 陈北宗, 2015/12/04
- Re: Forking on Github and feedback, Ivan Vučica, 2015/12/05
- Re: Forking on Github and feedback, 陈北宗, 2015/12/05
- Re: Forking on Github and feedback, Ivan Vučica, 2015/12/08
- Re: Forking on Github and feedback, 陈北宗, 2015/12/09
- Re: Forking on Github and feedback, 陈北宗, 2015/12/09
- Re: Forking on Github and feedback, David Chisnall, 2015/12/09
- Re: Forking on Github and feedback, 陈北宗, 2015/12/09
Re: Forking on Github and feedback, 陈北宗, 2015/12/04