|author||gdt <gdt>||2015-11-06 15:48:52 +0000|
|committer||gdt <gdt>||2015-11-06 15:48:52 +0000|
Make assorted minor updates
- Remove information about older versions of pkgsrc. - Note that /usr/include is gone and that there are SDKs - Add hazy explanation of the missing SDK/command-line-tools issue. - Add 10.11 (but do not change deprecation status of anything). - Clarify (but do not try to update for current reality) the 10.6/10.9 bulk build descriptions.
Diffstat (limited to 'bootstrap')
1 files changed, 46 insertions, 23 deletions
diff --git a/bootstrap/README.MacOSX b/bootstrap/README.MacOSX
index f8dc24c75ed..748e1d8cb9a 100644
@@ -1,34 +1,45 @@
-$NetBSD: README.MacOSX,v 1.20 2015/02/22 17:11:34 gdt Exp $
+$NetBSD: README.MacOSX,v 1.21 2015/11/06 15:48:52 gdt Exp $
+This file describes the use of current versions of pkgsrc with
+multiple versions of Mac OS X, omitting information about previous
* system tools issues
+** native headers vs SDK
+Mac OS X used to include system headers in /usr/include, so that one
+could treat it like a relatively normal POSIX system. Starting at
+approximately 10.9, headers were no longer available at the standard
+location, and one has to use an SDK that puts headers someplace else.
+pkgsrc supports this, but there has been some confusion where a 10.9
+system produced binaries for 10.10, which only mostly works. The
+confusion is believed to be resolved.
** gcc vs clang
Older versions of Mac OS X (when XCode is installed) provided gcc, and
pkgsrc defaulted to using gcc. With 10.9, gcc is no longer present.
-(In 2014Q2 and earlier, one must explicitly bootstrap with
** i386 vs x86_64 ABI issue
-Mac OS X 10.6 through 10.10 supports 64-bit binaries on most Intel
-Macs and builds those by default on such machine. This has caused
-problems with packages which get confused because "MACHINE_ARCH" is in
-some OS versions set to "i386" (on a 64-bit system!).
+Mac OS X 10.6 and higher supports x86-64 binaries on most Intel Macs.
+This has caused problems with packages which get confused because
+"MACHINE_ARCH" is in some OS versions set to "i386" (on a 64-bit
version: uname -m : uname -p
10.6: i386 : i386
10.9: x86_64 : i386
-There are of course some packages which will fail in i386 mode, and
-some in x86_64 mode. Because of all this, the default for pkgsrc was
-set to use the 32-bit ABI, which results in packages being compiled
-and run in i386 mode. In addition, there are some Intel Macs (older
-Mac Minis) which can only run i386 and not x86_64. For a longer
+On Intel machines, pkgsrc currently defaults to i386 mode (--abi=32)
+on Mac OS X, and can be set to x86_64 mode (--abi=64).
+Note that a pkgsrc build in x86_64 mode will not run on an Intel Mac
+that is i386 only (some older Mac Minis and Macbooks). For a longer
-As of 2014, the decision to default to i386 should probably be
+As of 2015-11, changing the default to x86_64 is imminent.
** sed in 10.9
@@ -38,14 +49,24 @@ Therefore, pkgsrc uses nbsed on 10.9.
* Developer tools and prerequisites
-** basic tools
+This section applies to 10.6 through 10.10.
If you haven't already, you will need to install the Mac OS X
Developer Tools package (XCode) to obtain a compiler, etc. The
procedure depends on the version of Mac OS X; recent versions use the
-Note that as of 10.9, cvs is no longer provided. You can build
+** Command-line Tools
+In 10.11, XCode has been reported as unsuitable [TODO: add details,
+but it seems it doesn't include an SDK for itself]. Instead, it is
+recommend to install command-line tools.
+Note that as of 10.9, cvs is no longer provided by Apple. You can build
devel/scmcvs. To obtain pkgsrc in order to bootstrap and build cvs,
it may be useful to `git clone https://github.com/jsonn/pkgsrc.git`.
@@ -82,9 +103,11 @@ in mind that there are no guarantees:
Given the above definitions, the pkgsrc developers label versions of
Mac OS X as follows:
- 10.10: current. [SUPPORTED]
+ 10.11: current. [SUPPORTED]
+ 10.10: recent. [SUPPORTED]
- 10.9 (13.1.0): somewhat old but not that crufty. [SUPPORTED]
+ 10.9 (13.4.0): somewhat old but not that crufty. [SUPPORTED]
10.8: old. [SUPPORTED]
@@ -112,7 +135,7 @@ and targetting newer versions makes the build closer to what would be
obtained from bootstrappping on a newer version and thus avoids some
-** 10.6, --abi=32
+** 10.6, --abi=32 (i386), gcc
Joyent provide a bulk build for quarterly branches (--abi=32, OSX
10.6, and therefore gcc 4.2.1, XQuartz, X11_TYPE=native):
@@ -123,7 +146,7 @@ Note that sed on 10.9 is broken, but a bootstrap on 10.6 will not
avoid it, so while one can install this bootstrap on 10.9 and run
binary packages, building packages will not in general work.
-** 10.9, --abi=64 --compiler=clang
+** 10.9, --abi=64 (x86-64), clang
-Joyent provide a build build for 10.9/x86_64, at the same URL as
+Joyent provide a build build for 10.9/x86_64, and therefore clang, at
+the same URL as above.