forked from emcrisostomo/fswatch
-
Notifications
You must be signed in to change notification settings - Fork 0
/
README.osx
143 lines (95 loc) · 4.63 KB
/
README.osx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
README.osx
**********
Introduction
============
This file describes the steps required to build this bundle on a supported Apple
OS X system. A complete C/C++ toolchain for OS X is provided with Apple XCode,
which can be freely installed from the Apple App Store. See README for more
information about the tested configurations.
XCode
=====
If you plan to build the bundle with CLang/LLVM, the easiest way to get a
working toolchain is installing Apple XCode. Apple XCode ships with both the
CLang/LLVM and the GCC compiler.
XCode, however, does not install some required command line tools by default.
To install them, the following operations must be performed:
1. Choose the "XCode/Preferences..." menu item.
2. Navigate to the "Downloads" pane.
3. Select the "Components" tab.
4. Select the "Command Line Tools" item and press the "Install" button.
XCode 4.x
=========
XCode 4 ships with the following C/C++ compilers:
1. Apple clang++/LLVM v. 4.2:
Apple LLVM version 4.2 (clang-425.0.28) (based on LLVM 3.2svn)
Target: x86_64-apple-darwin12.4.0
Thread model: posix
2. GNU GCC v. 4.2.1:
i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1
(Based on Apple Inc. build 5658) (LLVM build 2336.11.00)
Only clang++ implements the required C++11 features required by fswatch, so that
it must be configured with this compiler:
$ CXX=clang++ ./configure
XCode 5.x
=========
XCode 5 ships with the following C/C++ compilers:
1. Apple clang++/LLVM v. 5.0:
Apple LLVM version 5.0 (clang-500.2.75) (based on LLVM 3.3svn)
Target: x86_64-apple-darwin12.5.0
Thread model: posix
2. GNU GCC v. 5.0:
Apple LLVM version 5.0 (clang-500.2.76) (based on LLVM 3.3svn)
Target: x86_64-apple-darwin12.5.0
Thread model: posix
The GCC suite has been deprecated in favour of LLVM/CLang and gcc/g++ are now
aliases to clang/clang++. The project can be configured with the default
compiler:
$ ./configure
GNU Build System
================
The GNU Build System is required only by developers willing to modify the code
on a OS X machine. Regular users only willing to install fswatch do not need
the GNU Build System.
Recent XCode Command Line Tools releases are not shipping all the components of
the GNU Build System any longer. OS X users are thus required to build an
alternate GNU Build System on their system.
The required source bundles can be downloaded from their official web pages:
1. Autoconf:
(http://www.gnu.org/software/autoconf/) (>= v. 2.69)
2. Automake
(http://www.gnu.org/software/automake/) (>= v. 1.14.1)
3. Libtool:
(http://www.gnu.org/software/libtool/) (>= v. 2.4.2)
Libtool is not required to build this package but it's a core component of the
GNU Build System.
XCode Command Line Tools still ships GNU M4 (v. 1.4.6).
To avoid conflicts with the binaries installed by XCode, it is strongly
suggested to install the GNU Build System in an alternate location (such as the
default /usr/local/bin) or in a private user folder. To choose the desired
install location, use the --prefix configure option.
For further instruction on building the GNU Build System from scratch, please
check the README.gnu-build-system file.
Localization and gettext
========================
fswatch is localizable and locale support requires GNU gettext to be available
at build time. OS X does not ship gettext you will need to build it yourself or
use a package manager such as MacPorts or Homebrew to install it.
Depending on gettext installation path, configure may not be able to find
<libintl.h> or libintl. In this case, you will need to instruct configure about
their location (this example assumes you use MacPorts' default installation path
/opt/local):
$ CPPFLAGS="-I/opt/local/include" LDFLAGS="-L/opt/local/lib" ./configure
If configure detects that gettext is available, you will find a message such as:
checking whether to use NLS... yes
or, which is equivalent, config.h will contain the following definition:
#define ENABLE_NLS 1
-----
Copyright (c) 2014-2015 Enrico M. Crisostomo
This program is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software
Foundation; either version 3, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with
this program. If not, see <http://www.gnu.org/licenses/>.