diff options
author | gdt <gdt@pkgsrc.org> | 2015-11-06 15:48:52 +0000 |
---|---|---|
committer | gdt <gdt@pkgsrc.org> | 2015-11-06 15:48:52 +0000 |
commit | 89db43cfb268d0a09642283abebe3253f4b28880 (patch) | |
tree | 31af1f62c6f861a3fbbc3cbcc0dff928807df8f2 /bootstrap | |
parent | 8af85296b9537e9d6ce943ff46596f79c8813bbf (diff) | |
download | pkgsrc-89db43cfb268d0a09642283abebe3253f4b28880.tar.gz |
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')
-rw-r--r-- | bootstrap/README.MacOSX | 69 |
1 files changed, 46 insertions, 23 deletions
diff --git a/bootstrap/README.MacOSX b/bootstrap/README.MacOSX index f8dc24c75ed..748e1d8cb9a 100644 --- a/bootstrap/README.MacOSX +++ b/bootstrap/README.MacOSX @@ -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 +pkgsrc versions. * 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 -"--compiler=clang".) ** 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 +system!). 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 discussion, see: -http://mail-index.NetBSD.org/pkgsrc-users/2009/09/24/msg010817.html -As of 2014, the decision to default to i386 should probably be -revisited. + http://mail-index.NetBSD.org/pkgsrc-users/2009/09/24/msg010817.html + +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 +** XCode + +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 App Store. -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. + +** cvs + +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 issues. -** 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 -above. +Joyent provide a build build for 10.9/x86_64, and therefore clang, at +the same URL as above. |