xref: /Universal-ctags/docs/osx.rst (revision dccba5efd1817d9496a454283c2332234ce8b193)
1Building on Mac OS
2-----------------------------------------------------------------------------
3
4:Maintainer: Cameron Eagans <me@cweagans.net>
5
6----
7
8This part of the documentation is written by Cameron Eagans, a co-maintainer of Universal Ctags and the maintainer of
9the OSX packaging of this project.
10
11
12Build Prerequisites
13~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
14
15Building ctags on OSX should be no different than building on GNU/Linux. The same toolchains are used, and the Mac OS
16packaging scripts use autotools and make (as you'd expect).
17
18You may need to install the xcode command line tools. You can install the entire xcode distribution from the App Store,
19or for a lighter install, you can simply run ``xcode-select --install`` to *only* install the compilers and such. See
20https://stackoverflow.com/a/9329325 for more information. Once your build toolchain is installed, proceed to the next
21section.
22
23At this point, if you'd like to build from an IDE, you'll have to figure it out. Building ctags is a pretty straightforward
24process that matches many other projects and most decent IDEs should be able to handle it.
25
26Building Manually (i.e. for development)
27.............................................................................
28
29You can simply run the build instructions in README.md.
30
31Building with Homebrew
32.............................................................................
33
34Homebrew (https://brew.sh/) is the preferred method for installing Universal Ctags for end users. Currently, the process
35for installing with Homebrew looks like this::
36
37        brew tap universal-ctags/universal-ctags
38        brew install --HEAD universal-ctags
39
40Eventually, we hope to move the Universal-ctags formula to the main Homebrew repository, but since we don't have any
41tagged releases at this point, it's a head-only formula and wouldn't be accepted. When we have a tagged release, we'll
42submit a PR to Homebrew.
43
44If you'd like to help with the Homebrew formula, you can find the repository here:
45https://github.com/universal-ctags/homebrew-universal-ctags
46
47
48Differences between OSX and GNU/Linux
49~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
50
51There other things where building ctags on OSX differs from building on GNU/Linux.
52
53- Filenames on HFS+ (the Mac OS filesystem) are case-preserving, but not case-sensitive in 99% of configurations. If a
54  user manually formats their disk with a case sensitive version of HFS+, then the filesystem will behave like normal
55  GNU/Linux systems. Depending on users doing this is not a good thing.
56
57Contributing
58~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
59
60This documentation is very much a work in progress. If you'd like to contribute, submit a PR and mention @cweagans for
61review.
62
63