xref: /Universal-ctags/docs/osx.rst (revision dccba5efd1817d9496a454283c2332234ce8b193)
1720603ccSCameron EagansBuilding on Mac OS
2878d8de4SMasatake YAMATO-----------------------------------------------------------------------------
3720603ccSCameron Eagans
4720603ccSCameron Eagans:Maintainer: Cameron Eagans <me@cweagans.net>
5720603ccSCameron Eagans
6720603ccSCameron Eagans----
7720603ccSCameron Eagans
8*dccba5efSHiroo HAYASHIThis part of the documentation is written by Cameron Eagans, a co-maintainer of Universal Ctags and the maintainer of
9720603ccSCameron Eagansthe OSX packaging of this project.
10720603ccSCameron Eagans
11720603ccSCameron Eagans
12720603ccSCameron EagansBuild Prerequisites
13878d8de4SMasatake YAMATO~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
14720603ccSCameron Eagans
1554982ef3SCameron EagansBuilding ctags on OSX should be no different than building on GNU/Linux. The same toolchains are used, and the Mac OS
16720603ccSCameron Eaganspackaging scripts use autotools and make (as you'd expect).
17720603ccSCameron Eagans
18720603ccSCameron EagansYou may need to install the xcode command line tools. You can install the entire xcode distribution from the App Store,
19720603ccSCameron Eagansor for a lighter install, you can simply run ``xcode-select --install`` to *only* install the compilers and such. See
202b8661bbSK.Takatahttps://stackoverflow.com/a/9329325 for more information. Once your build toolchain is installed, proceed to the next
21720603ccSCameron Eaganssection.
22720603ccSCameron Eagans
23720603ccSCameron EagansAt this point, if you'd like to build from an IDE, you'll have to figure it out. Building ctags is a pretty straightforward
24720603ccSCameron Eagansprocess that matches many other projects and most decent IDEs should be able to handle it.
25720603ccSCameron Eagans
26720603ccSCameron EagansBuilding Manually (i.e. for development)
27878d8de4SMasatake YAMATO.............................................................................
28720603ccSCameron Eagans
29720603ccSCameron EagansYou can simply run the build instructions in README.md.
30720603ccSCameron Eagans
31720603ccSCameron EagansBuilding with Homebrew
32878d8de4SMasatake YAMATO.............................................................................
33720603ccSCameron Eagans
34*dccba5efSHiroo HAYASHIHomebrew (https://brew.sh/) is the preferred method for installing Universal Ctags for end users. Currently, the process
35720603ccSCameron Eagansfor installing with Homebrew looks like this::
36720603ccSCameron Eagans
37720603ccSCameron Eagans        brew tap universal-ctags/universal-ctags
38720603ccSCameron Eagans        brew install --HEAD universal-ctags
39720603ccSCameron Eagans
40ff522909SDoug KearnsEventually, we hope to move the Universal-ctags formula to the main Homebrew repository, but since we don't have any
41720603ccSCameron Eaganstagged releases at this point, it's a head-only formula and wouldn't be accepted. When we have a tagged release, we'll
42720603ccSCameron Eaganssubmit a PR to Homebrew.
43720603ccSCameron Eagans
44720603ccSCameron EagansIf you'd like to help with the Homebrew formula, you can find the repository here:
45720603ccSCameron Eaganshttps://github.com/universal-ctags/homebrew-universal-ctags
46720603ccSCameron Eagans
47720603ccSCameron Eagans
4854982ef3SCameron EagansDifferences between OSX and GNU/Linux
49878d8de4SMasatake YAMATO~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
50720603ccSCameron Eagans
51720603ccSCameron EagansThere other things where building ctags on OSX differs from building on GNU/Linux.
52720603ccSCameron Eagans
53720603ccSCameron Eagans- Filenames on HFS+ (the Mac OS filesystem) are case-preserving, but not case-sensitive in 99% of configurations. If a
54720603ccSCameron Eagans  user manually formats their disk with a case sensitive version of HFS+, then the filesystem will behave like normal
5554982ef3SCameron Eagans  GNU/Linux systems. Depending on users doing this is not a good thing.
56720603ccSCameron Eagans
57720603ccSCameron EagansContributing
58878d8de4SMasatake YAMATO~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
59720603ccSCameron Eagans
60720603ccSCameron EagansThis documentation is very much a work in progress. If you'd like to contribute, submit a PR and mention @cweagans for
61720603ccSCameron Eagansreview.
62720603ccSCameron Eagans
63