Pullup ticket #3704.
[pkgsrcv2.git] / bootstrap / README.MacOSX
1 $NetBSD: README.MacOSX,v 1.9 2010/10/31 21:24:14 gdt Exp $
2
3
4 Mac OS X Snow Leopard 32/64 (i386/x86_64) ABI issue:
5
6 Mac OS X Snow Leopard (10.6) supports 64-bit binaries on most Intel
7 Macs and builds those by default on such machine.  This causes
8 problems with a lot of packages which get confused because
9 "MACHINE_ARCH" is set to "i386" (on a 64-bit system!).  There are also
10 packages that don't support 64-bit under Mac OS X at all.  Because of
11 this, the default for pkgsrc is use use the 32-bit ABI, which results
12 in packages being compiled and run in i386 mode.  For a longer
13 discussion, see:
14 http://mail-index.netbsd.org/pkgsrc-users/2009/09/24/msg010817.html
15
16
17 Developer tools:
18
19 If you haven't already, you will need to install the Mac OS X Developer
20 Tools package. Depending on the version of OS X you are running, you
21 may have this on CD. If not, you can download it from Apple's
22 Developer Connection. (You will need to register for a free ADC
23 account.) See http://developer.apple.com/macosx/ for details.
24
25 Note for MacOS X 1.4 (Tiger) you will need to download xcode 2.5
26 if you intend to use gcc 4.  gcc 4.0.0 bundled with xcode 2.0 on
27 the desktop installation dvds builds broken pkg_install tools.
28
29 If you plan to build packages that use the X11 Window System, you will
30 also need to make sure you have X11 installed. OS X 10.3 (Panther)
31 includes X11 and X11 SDK packages on CD. If you are using an older
32 version of OS X, you can install the XFree86 packages instead, from
33 www.xfree86.org.
34
35 Experimental support for IBM's XL C/C++ compiler is present (tested
36 with version 6.0). To use it, set:
37
38 PKGSRC_COMPILER=xlc
39
40 in mk.conf. XL C uses the Apple provided libtool to create shared
41 libraries, however, we must force it to call libtool with the full
42 path to avoid calling the pkgsrc provided GNU libtool with arguments
43 that it does not understand.
44
45 edit the template configuration file /opt/ibmcmp/vac/6.0/etc/vac.base.cfg
46 and set:
47
48 libtool = /usr/bin/libtool
49
50 then run:
51
52 /opt/ibmcmp/vacpp/6.0/bin/vacpp_configure -gcc /usr -install -force
53
54 as root to install the configuration.
55
56 to bootstrap with xlc, you need to make sure CFLAGS contains "-ma":
57
58 env CC=/opt/ibmcmp/vacpp/6.0/bin/xlc CFLAGS=-ma ./bootstrap
59
60
61 Mac OS X Versions
62
63 pkgsrc is a volunteer project, and individuals support/fix packages
64 and platforms as they choose.  However, pkgsrc contributors as a group
65 share both a bugtracker and norms about what is ok to break and what
66 is not.  To describe these norms, we define levels of concern, keeping
67 in mind that there are no guarantees:
68
69   SUPPORTED doesn't mean that anyone is required to fix your problem; it
70   means that we agree that it is broadly desireable that such problems
71   be fixed and that we therefore allow them to be listed in our issue
72   tracker.
73
74   DEPRECATED means that individual problems are not of interest, but
75   pkgsrc overall working is of enough interest to be allowed to be
76   listed in the issue tracker.
77
78   IGNORED means we are not willing to expend issue tracker resources
79   (clutter for those reviewing the db) at all.
80
81 Given the above definitions, the pkgsrc developers label versions of
82 Mac OS X as follows:
83
84   10.6: current, PRs may be filed.  Structurally breaking pkgsrc on 10.6
85         is considered not ok.  [SUPPORTED]
86
87   10.5: old, but PRs may still be filed.  Structurally breaking pkgsrc on
88         10.5 is considered not ok. [SUPPORTED]
89
90   10.4: very old, and individual pkg PRs may be bounced to authors to
91         retest with newer versions, and closed if that doesn't happen
92         in 14 days.  We will for now consider structurally breaking
93         pkgsrc on 10.4 to be undesirable.  If keeping support for 10.4
94         causes excessive work for maintainers it may be moved to
95         IGNORED state any time, without warning. [DEPRECATED]
96
97   10.3 and below: ancient, and PRs will be summarily closed.  It is
98         acceptable to give zero consideration to causing structural
99         problems on 10.3 and below. [IGNORED]
100
101 (Note that with the impending release of 10.7, it is likely that 10.4
102 will be moved to IGNORED.)