command-t 1.7 → 1.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.txt +74 -18
- data/doc/command-t.txt +74 -18
- data/doc/tags +1 -0
- data/ruby/command-t/Makefile +28 -29
- data/ruby/command-t/depend +2 -2
- data/ruby/command-t/ext.bundle +0 -0
- data/ruby/command-t/ext.c +15 -6
- data/ruby/command-t/ext.h +5 -3
- data/ruby/command-t/extconf.rb +10 -0
- data/ruby/command-t/match.c +13 -8
- data/ruby/command-t/matcher.c +43 -26
- data/ruby/command-t/scanner/file_scanner/watchman_file_scanner.rb +14 -11
- data/ruby/command-t/watchman.c +660 -0
- data/ruby/command-t/watchman.h +52 -0
- metadata +17 -15
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c55e2ba2d749e3863e2f3a2d2d1d609c5425d4b4
|
4
|
+
data.tar.gz: 6320c53cbf425cd71a877f17b70e6e038c5772b4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: df4c6b4065a0c165b0a62542a4e9fa27d5c4752fd5fc8be2557d43158aba160c1df14040d7f027f9327bf4d16ee6c22e090f76f4eb1716398d7e7970d1d39940
|
7
|
+
data.tar.gz: c6cdb4305a1f306a8f018773c1979cb9512e0fb4e33941658eb93f50151a3ed5d69707f09753e00de25e91ac57e5f6cd109e9927fc3c6427577cf2ab44b512cd
|
data/README.txt
CHANGED
@@ -11,13 +11,14 @@ CONTENTS *command-t-contents*
|
|
11
11
|
6. Commands |command-t-commands|
|
12
12
|
7. Mappings |command-t-mappings|
|
13
13
|
8. Options |command-t-options|
|
14
|
-
9.
|
15
|
-
10.
|
16
|
-
11.
|
17
|
-
12.
|
18
|
-
13.
|
19
|
-
14.
|
20
|
-
15.
|
14
|
+
9. FAQ |command-t-faq|
|
15
|
+
10. Tips |command-t-tips|
|
16
|
+
11. Authors |command-t-authors|
|
17
|
+
12. Development |command-t-development|
|
18
|
+
13. Website |command-t-website|
|
19
|
+
14. Donations |command-t-donations|
|
20
|
+
15. License |command-t-license|
|
21
|
+
16. History |command-t-history|
|
21
22
|
|
22
23
|
|
23
24
|
INTRODUCTION *command-t-intro*
|
@@ -70,7 +71,7 @@ If your Vim lacks support you'll see an error message like this:
|
|
70
71
|
E319: Sorry, the command is not available in this version
|
71
72
|
|
72
73
|
The version of Vim distributed with OS X may not include Ruby support (for
|
73
|
-
|
74
|
+
example, Snow Leopard, which was the current version of OS X when Command-T
|
74
75
|
was first released, did not support Ruby in the system Vim, but the current
|
75
76
|
version of OS X at the time of writing, Mavericks, does). All recent versions
|
76
77
|
of MacVim come with Ruby support; it is available from:
|
@@ -87,7 +88,7 @@ Ruby 1.9, but apparently has some bugs that need to be resolved).
|
|
87
88
|
In addition to having Ruby support in Vim, your system itself must have a
|
88
89
|
compatible Ruby install. "Compatible" means the same version as Vim itself
|
89
90
|
links against. If you use a different version then Command-T is unlikely
|
90
|
-
to work (see
|
91
|
+
to work (see |command-t-trouble-shooting| below).
|
91
92
|
|
92
93
|
On OS X Snow Leopard, Lion and Mountain Lion, the system comes with Ruby 1.8.7
|
93
94
|
and all recent versions of MacVim (the 7.2 snapshots and 7.3) are linked
|
@@ -103,7 +104,7 @@ your distribution. You can usually find this out by examining the
|
|
103
104
|
compilation and linking flags displayed by the |:version| command in Vim, and
|
104
105
|
by looking at the output of:
|
105
106
|
|
106
|
-
:ruby puts RUBY_VERSION
|
107
|
+
:ruby puts "#{RUBY_VERSION}-p#{RUBY_PATCHLEVEL}"
|
107
108
|
|
108
109
|
A suitable Ruby environment for Windows can be installed using the Ruby
|
109
110
|
1.8.7-p299 RubyInstaller available at:
|
@@ -702,6 +703,46 @@ settings can be used to control behavior:
|
|
702
703
|
only during Command-T searches.
|
703
704
|
|
704
705
|
|
706
|
+
FAQ *command-t-faq*
|
707
|
+
|
708
|
+
Why does my build fail with "unknown argument -multiply_definedsuppress"? ~
|
709
|
+
|
710
|
+
You may see this on OS X Mavericks when building with the Clang compiler
|
711
|
+
against the system Ruby. This is an unfortunate Apple bug that breaks
|
712
|
+
compilation of many Ruby gems with native extensions on Mavericks. It has been
|
713
|
+
worked around in the upstream Ruby version, but won't be fixed in OS X until
|
714
|
+
Apple updates their supplied version of Ruby (most likely this won't be until
|
715
|
+
the next major release):
|
716
|
+
|
717
|
+
https://bugs.ruby-lang.org/issues/9624
|
718
|
+
|
719
|
+
Workarounds include building your own Ruby (and then your own Vim and
|
720
|
+
Command-T), or more simply, building with the following `ARCHFLAGS` set:
|
721
|
+
|
722
|
+
ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future ruby extconf.rb
|
723
|
+
make
|
724
|
+
|
725
|
+
Why can't I open in a split with <C-CR> and <C-s> in the terminal? ~
|
726
|
+
|
727
|
+
It's likely that <C-CR> won't work in most terminals, because the keycode that
|
728
|
+
is sent to processes running inside them is identical to <CR>; when you type
|
729
|
+
<C-CR>, terminal Vim literally "sees" <CR>. Unfortunately, there is no
|
730
|
+
workaround for this.
|
731
|
+
|
732
|
+
If you find that <C-s> also doesn't work the most likely explanation is that
|
733
|
+
XON/XOFF flow control is enabled; this is the default in many environments.
|
734
|
+
This means that when you press <C-s> all input to the terminal is suspended
|
735
|
+
until you release it by hitting <C-q>. While input is suspended you may think
|
736
|
+
your terminal has frozen, but it hasn't.
|
737
|
+
|
738
|
+
To disable flow control, add the following to your `.zshrc` or
|
739
|
+
`.bash_profile`:
|
740
|
+
|
741
|
+
stty -ixon
|
742
|
+
|
743
|
+
See the `stty` man page for more details.
|
744
|
+
|
745
|
+
|
705
746
|
TIPS *command-t-tips*
|
706
747
|
|
707
748
|
Working with very large repositories ~
|
@@ -744,8 +785,9 @@ Wait for 200ms of keyboard inactivity before computing search results. For
|
|
744
785
|
example, if you are enter "foobar" quickly (ie. within 1 second), there is
|
745
786
|
little sense in fetching the results for "f", "fo", "foo", "foob", "fooba" and
|
746
787
|
finally "foobar". Instead, we can just fetch the results for "foobar". This
|
747
|
-
setting trades off some immediate responsiveness at the micro level for
|
748
|
-
better search experience
|
788
|
+
setting trades off some immediate responsiveness at the micro level for
|
789
|
+
better performance (real and perceived) and a better search experience
|
790
|
+
overall.
|
749
791
|
|
750
792
|
let g:CommandTFileScanner = 'watchman'
|
751
793
|
|
@@ -759,7 +801,7 @@ repos the "watchman" scanner is the tool of choice.
|
|
759
801
|
|
760
802
|
This scanner delegates the task of finding files to Facebook's `watchman` tool
|
761
803
|
(https://github.com/facebook/watchman), which can return results for a 500,000
|
762
|
-
file hierarchy within about
|
804
|
+
file hierarchy within about a second.
|
763
805
|
|
764
806
|
Note that Watchman has a range of configuration options that can be applied by
|
765
807
|
files such as `/etc/watchman.json` or per-direcory `.watchmanconfig` files and
|
@@ -779,7 +821,7 @@ It's advisable to keep a long-running Vim instance in place and let it cache
|
|
779
821
|
the directory listings rather than repeatedly closing and re-opening Vim in
|
780
822
|
order to edit every file. On those occasions when you do need to flush the
|
781
823
|
cache (ie. with |CommandTFlush| or <C-f> in the match listing window), use of
|
782
|
-
the Watchman scanner should make the delay
|
824
|
+
the Watchman scanner should make the delay barely noticeable.
|
783
825
|
|
784
826
|
As noted in the introduction, Command-T works best when you adopt a
|
785
827
|
"path-centric" mentality. This is especially true on very large hierarchies.
|
@@ -795,9 +837,17 @@ who know what they want to open and where it is to open it as quickly as
|
|
795
837
|
possible; other tools such as NERDTree exist for visually exploring an unknown
|
796
838
|
hierarchy.
|
797
839
|
|
840
|
+
Over time, you will get a feel for how economical you can afford to be with
|
841
|
+
your search queries in a given repo. In the example above, if "foo" is not a
|
842
|
+
very common pattern in your hierarchy, then you may find that you can find
|
843
|
+
what you need with a very concise query such as "foomanjs". With time, this
|
844
|
+
kind of ongoing calibration will come quite naturally.
|
845
|
+
|
798
846
|
Finally, it is important to be on a relatively recent version of Command-T to
|
799
847
|
fully benefit from the available performance enhancements:
|
800
848
|
|
849
|
+
- version 1.8 (March 2013) sped up the Watchman file scanner by switching its
|
850
|
+
communication from the JSON to the binary Watchman protocol
|
801
851
|
- version 1.7 (February 2014) added the |g:CommandTInputDebounce| and
|
802
852
|
|g:CommandTFileScanner| settings, along with support for the Watchman file
|
803
853
|
scanner
|
@@ -821,13 +871,13 @@ order):
|
|
821
871
|
Ivan Ukhov Paul Jolly Vít Ondruch
|
822
872
|
Jeff Kreeftmeijer Pavel Sergeev Woody Peterson
|
823
873
|
Lucas de Vries Rainux Luo Yan Pritzker
|
824
|
-
Marcus Brito
|
825
|
-
Marian Schubert
|
826
|
-
Matthew Todd
|
874
|
+
Marcus Brito Roland Puntaier Yiding Jia
|
875
|
+
Marian Schubert Scott Bronson Zak Johnson
|
876
|
+
Matthew Todd Seth Fowler
|
827
877
|
|
828
878
|
As this was the first Vim plug-in I had ever written I was heavily influenced
|
829
879
|
by the design of the LustyExplorer plug-in by Stephen Bach, which I understand
|
830
|
-
|
880
|
+
was one of the largest Ruby-based Vim plug-ins at the time.
|
831
881
|
|
832
882
|
While the Command-T codebase doesn't contain any code directly copied from
|
833
883
|
LustyExplorer, I did use it as a reference for answers to basic questions (like
|
@@ -926,6 +976,12 @@ POSSIBILITY OF SUCH DAMAGE.
|
|
926
976
|
|
927
977
|
HISTORY *command-t-history*
|
928
978
|
|
979
|
+
1.8 (31 March 2014)
|
980
|
+
|
981
|
+
- taught Watchman file scanner to use the binary protocol instead of JSON,
|
982
|
+
roughly doubling its speed
|
983
|
+
- build changes to accommodate MinGW (patch from Roland Puntaier)
|
984
|
+
|
929
985
|
1.7 (9 March 2014)
|
930
986
|
|
931
987
|
- added |g:CommandTInputDebounce|, which can be used to improve responsiveness
|
data/doc/command-t.txt
CHANGED
@@ -11,13 +11,14 @@ CONTENTS *command-t-contents*
|
|
11
11
|
6. Commands |command-t-commands|
|
12
12
|
7. Mappings |command-t-mappings|
|
13
13
|
8. Options |command-t-options|
|
14
|
-
9.
|
15
|
-
10.
|
16
|
-
11.
|
17
|
-
12.
|
18
|
-
13.
|
19
|
-
14.
|
20
|
-
15.
|
14
|
+
9. FAQ |command-t-faq|
|
15
|
+
10. Tips |command-t-tips|
|
16
|
+
11. Authors |command-t-authors|
|
17
|
+
12. Development |command-t-development|
|
18
|
+
13. Website |command-t-website|
|
19
|
+
14. Donations |command-t-donations|
|
20
|
+
15. License |command-t-license|
|
21
|
+
16. History |command-t-history|
|
21
22
|
|
22
23
|
|
23
24
|
INTRODUCTION *command-t-intro*
|
@@ -70,7 +71,7 @@ If your Vim lacks support you'll see an error message like this:
|
|
70
71
|
E319: Sorry, the command is not available in this version
|
71
72
|
|
72
73
|
The version of Vim distributed with OS X may not include Ruby support (for
|
73
|
-
|
74
|
+
example, Snow Leopard, which was the current version of OS X when Command-T
|
74
75
|
was first released, did not support Ruby in the system Vim, but the current
|
75
76
|
version of OS X at the time of writing, Mavericks, does). All recent versions
|
76
77
|
of MacVim come with Ruby support; it is available from:
|
@@ -87,7 +88,7 @@ Ruby 1.9, but apparently has some bugs that need to be resolved).
|
|
87
88
|
In addition to having Ruby support in Vim, your system itself must have a
|
88
89
|
compatible Ruby install. "Compatible" means the same version as Vim itself
|
89
90
|
links against. If you use a different version then Command-T is unlikely
|
90
|
-
to work (see
|
91
|
+
to work (see |command-t-trouble-shooting| below).
|
91
92
|
|
92
93
|
On OS X Snow Leopard, Lion and Mountain Lion, the system comes with Ruby 1.8.7
|
93
94
|
and all recent versions of MacVim (the 7.2 snapshots and 7.3) are linked
|
@@ -103,7 +104,7 @@ your distribution. You can usually find this out by examining the
|
|
103
104
|
compilation and linking flags displayed by the |:version| command in Vim, and
|
104
105
|
by looking at the output of:
|
105
106
|
|
106
|
-
:ruby puts RUBY_VERSION
|
107
|
+
:ruby puts "#{RUBY_VERSION}-p#{RUBY_PATCHLEVEL}"
|
107
108
|
|
108
109
|
A suitable Ruby environment for Windows can be installed using the Ruby
|
109
110
|
1.8.7-p299 RubyInstaller available at:
|
@@ -702,6 +703,46 @@ settings can be used to control behavior:
|
|
702
703
|
only during Command-T searches.
|
703
704
|
|
704
705
|
|
706
|
+
FAQ *command-t-faq*
|
707
|
+
|
708
|
+
Why does my build fail with "unknown argument -multiply_definedsuppress"? ~
|
709
|
+
|
710
|
+
You may see this on OS X Mavericks when building with the Clang compiler
|
711
|
+
against the system Ruby. This is an unfortunate Apple bug that breaks
|
712
|
+
compilation of many Ruby gems with native extensions on Mavericks. It has been
|
713
|
+
worked around in the upstream Ruby version, but won't be fixed in OS X until
|
714
|
+
Apple updates their supplied version of Ruby (most likely this won't be until
|
715
|
+
the next major release):
|
716
|
+
|
717
|
+
https://bugs.ruby-lang.org/issues/9624
|
718
|
+
|
719
|
+
Workarounds include building your own Ruby (and then your own Vim and
|
720
|
+
Command-T), or more simply, building with the following `ARCHFLAGS` set:
|
721
|
+
|
722
|
+
ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future ruby extconf.rb
|
723
|
+
make
|
724
|
+
|
725
|
+
Why can't I open in a split with <C-CR> and <C-s> in the terminal? ~
|
726
|
+
|
727
|
+
It's likely that <C-CR> won't work in most terminals, because the keycode that
|
728
|
+
is sent to processes running inside them is identical to <CR>; when you type
|
729
|
+
<C-CR>, terminal Vim literally "sees" <CR>. Unfortunately, there is no
|
730
|
+
workaround for this.
|
731
|
+
|
732
|
+
If you find that <C-s> also doesn't work the most likely explanation is that
|
733
|
+
XON/XOFF flow control is enabled; this is the default in many environments.
|
734
|
+
This means that when you press <C-s> all input to the terminal is suspended
|
735
|
+
until you release it by hitting <C-q>. While input is suspended you may think
|
736
|
+
your terminal has frozen, but it hasn't.
|
737
|
+
|
738
|
+
To disable flow control, add the following to your `.zshrc` or
|
739
|
+
`.bash_profile`:
|
740
|
+
|
741
|
+
stty -ixon
|
742
|
+
|
743
|
+
See the `stty` man page for more details.
|
744
|
+
|
745
|
+
|
705
746
|
TIPS *command-t-tips*
|
706
747
|
|
707
748
|
Working with very large repositories ~
|
@@ -744,8 +785,9 @@ Wait for 200ms of keyboard inactivity before computing search results. For
|
|
744
785
|
example, if you are enter "foobar" quickly (ie. within 1 second), there is
|
745
786
|
little sense in fetching the results for "f", "fo", "foo", "foob", "fooba" and
|
746
787
|
finally "foobar". Instead, we can just fetch the results for "foobar". This
|
747
|
-
setting trades off some immediate responsiveness at the micro level for
|
748
|
-
better search experience
|
788
|
+
setting trades off some immediate responsiveness at the micro level for
|
789
|
+
better performance (real and perceived) and a better search experience
|
790
|
+
overall.
|
749
791
|
|
750
792
|
let g:CommandTFileScanner = 'watchman'
|
751
793
|
|
@@ -759,7 +801,7 @@ repos the "watchman" scanner is the tool of choice.
|
|
759
801
|
|
760
802
|
This scanner delegates the task of finding files to Facebook's `watchman` tool
|
761
803
|
(https://github.com/facebook/watchman), which can return results for a 500,000
|
762
|
-
file hierarchy within about
|
804
|
+
file hierarchy within about a second.
|
763
805
|
|
764
806
|
Note that Watchman has a range of configuration options that can be applied by
|
765
807
|
files such as `/etc/watchman.json` or per-direcory `.watchmanconfig` files and
|
@@ -779,7 +821,7 @@ It's advisable to keep a long-running Vim instance in place and let it cache
|
|
779
821
|
the directory listings rather than repeatedly closing and re-opening Vim in
|
780
822
|
order to edit every file. On those occasions when you do need to flush the
|
781
823
|
cache (ie. with |CommandTFlush| or <C-f> in the match listing window), use of
|
782
|
-
the Watchman scanner should make the delay
|
824
|
+
the Watchman scanner should make the delay barely noticeable.
|
783
825
|
|
784
826
|
As noted in the introduction, Command-T works best when you adopt a
|
785
827
|
"path-centric" mentality. This is especially true on very large hierarchies.
|
@@ -795,9 +837,17 @@ who know what they want to open and where it is to open it as quickly as
|
|
795
837
|
possible; other tools such as NERDTree exist for visually exploring an unknown
|
796
838
|
hierarchy.
|
797
839
|
|
840
|
+
Over time, you will get a feel for how economical you can afford to be with
|
841
|
+
your search queries in a given repo. In the example above, if "foo" is not a
|
842
|
+
very common pattern in your hierarchy, then you may find that you can find
|
843
|
+
what you need with a very concise query such as "foomanjs". With time, this
|
844
|
+
kind of ongoing calibration will come quite naturally.
|
845
|
+
|
798
846
|
Finally, it is important to be on a relatively recent version of Command-T to
|
799
847
|
fully benefit from the available performance enhancements:
|
800
848
|
|
849
|
+
- version 1.8 (March 2013) sped up the Watchman file scanner by switching its
|
850
|
+
communication from the JSON to the binary Watchman protocol
|
801
851
|
- version 1.7 (February 2014) added the |g:CommandTInputDebounce| and
|
802
852
|
|g:CommandTFileScanner| settings, along with support for the Watchman file
|
803
853
|
scanner
|
@@ -821,13 +871,13 @@ order):
|
|
821
871
|
Ivan Ukhov Paul Jolly Vít Ondruch
|
822
872
|
Jeff Kreeftmeijer Pavel Sergeev Woody Peterson
|
823
873
|
Lucas de Vries Rainux Luo Yan Pritzker
|
824
|
-
Marcus Brito
|
825
|
-
Marian Schubert
|
826
|
-
Matthew Todd
|
874
|
+
Marcus Brito Roland Puntaier Yiding Jia
|
875
|
+
Marian Schubert Scott Bronson Zak Johnson
|
876
|
+
Matthew Todd Seth Fowler
|
827
877
|
|
828
878
|
As this was the first Vim plug-in I had ever written I was heavily influenced
|
829
879
|
by the design of the LustyExplorer plug-in by Stephen Bach, which I understand
|
830
|
-
|
880
|
+
was one of the largest Ruby-based Vim plug-ins at the time.
|
831
881
|
|
832
882
|
While the Command-T codebase doesn't contain any code directly copied from
|
833
883
|
LustyExplorer, I did use it as a reference for answers to basic questions (like
|
@@ -926,6 +976,12 @@ POSSIBILITY OF SUCH DAMAGE.
|
|
926
976
|
|
927
977
|
HISTORY *command-t-history*
|
928
978
|
|
979
|
+
1.8 (31 March 2014)
|
980
|
+
|
981
|
+
- taught Watchman file scanner to use the binary protocol instead of JSON,
|
982
|
+
roughly doubling its speed
|
983
|
+
- build changes to accommodate MinGW (patch from Roland Puntaier)
|
984
|
+
|
929
985
|
1.7 (9 March 2014)
|
930
986
|
|
931
987
|
- added |g:CommandTInputDebounce|, which can be used to improve responsiveness
|
data/doc/tags
CHANGED
@@ -9,6 +9,7 @@ command-t-commands command-t.txt /*command-t-commands*
|
|
9
9
|
command-t-contents command-t.txt /*command-t-contents*
|
10
10
|
command-t-development command-t.txt /*command-t-development*
|
11
11
|
command-t-donations command-t.txt /*command-t-donations*
|
12
|
+
command-t-faq command-t.txt /*command-t-faq*
|
12
13
|
command-t-history command-t.txt /*command-t-history*
|
13
14
|
command-t-installation command-t.txt /*command-t-installation*
|
14
15
|
command-t-intro command-t.txt /*command-t-intro*
|
data/ruby/command-t/Makefile
CHANGED
@@ -11,12 +11,12 @@ ECHO = $(ECHO1:0=@echo)
|
|
11
11
|
#### Start of system configuration section. ####
|
12
12
|
|
13
13
|
srcdir = .
|
14
|
-
topdir = /Users/glh/.rbenv/versions/2.
|
14
|
+
topdir = /Users/glh/.rbenv/versions/2.0.0-p247/include/ruby-2.0.0
|
15
15
|
hdrdir = $(topdir)
|
16
|
-
arch_hdrdir = /Users/glh/.rbenv/versions/2.
|
16
|
+
arch_hdrdir = /Users/glh/.rbenv/versions/2.0.0-p247/include/ruby-2.0.0/x86_64-darwin13.1.0
|
17
17
|
PATH_SEPARATOR = :
|
18
18
|
VPATH = $(srcdir):$(arch_hdrdir)/ruby:$(hdrdir)/ruby
|
19
|
-
prefix =
|
19
|
+
prefix = /Users/glh/.rbenv/versions/2.0.0-p247
|
20
20
|
rubysitearchprefix = $(rubylibprefix)/$(sitearch)
|
21
21
|
rubyarchprefix = $(rubylibprefix)/$(arch)
|
22
22
|
rubylibprefix = $(libdir)/$(RUBY_BASE_NAME)
|
@@ -49,7 +49,7 @@ dvidir = $(docdir)
|
|
49
49
|
htmldir = $(docdir)
|
50
50
|
infodir = $(datarootdir)/info
|
51
51
|
docdir = $(datarootdir)/doc/$(PACKAGE)
|
52
|
-
oldincludedir =
|
52
|
+
oldincludedir = /usr/include
|
53
53
|
includedir = $(prefix)/include
|
54
54
|
localstatedir = $(prefix)/var
|
55
55
|
sharedstatedir = $(prefix)/com
|
@@ -67,7 +67,7 @@ CXX = g++
|
|
67
67
|
LIBRUBY = $(LIBRUBY_A)
|
68
68
|
LIBRUBY_A = lib$(RUBY_SO_NAME)-static.a
|
69
69
|
LIBRUBYARG_SHARED =
|
70
|
-
LIBRUBYARG_STATIC = -l$(RUBY_SO_NAME)-static
|
70
|
+
LIBRUBYARG_STATIC = -l$(RUBY_SO_NAME)-static
|
71
71
|
empty =
|
72
72
|
OUTFLAG = -o $(empty)
|
73
73
|
COUTFLAG = -o $(empty)
|
@@ -76,14 +76,14 @@ RUBY_EXTCONF_H =
|
|
76
76
|
cflags = $(optflags) $(debugflags) $(warnflags)
|
77
77
|
optflags = -O3 -fno-fast-math
|
78
78
|
debugflags = -ggdb3
|
79
|
-
warnflags = -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wunused-variable -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wshorten-64-to-32 -Wimplicit-function-declaration
|
79
|
+
warnflags = -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wunused-variable -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wshorten-64-to-32 -Wimplicit-function-declaration
|
80
80
|
CCDLFLAGS = -fno-common
|
81
81
|
CFLAGS = $(CCDLFLAGS) -O3 -Wno-error=shorten-64-to-32 -pipe $(ARCH_FLAG)
|
82
82
|
INCFLAGS = -I. -I$(arch_hdrdir) -I$(hdrdir)/ruby/backward -I$(hdrdir) -I$(srcdir)
|
83
|
-
DEFS =
|
84
|
-
CPPFLAGS =
|
83
|
+
DEFS = -DWATCHMAN_BUILD
|
84
|
+
CPPFLAGS = -DHAVE_FCNTL_H -DHAVE_SYS_ERRNO_H -DHAVE_SYS_SOCKET_H -DHAVE_RUBY_ST_H -DHAVE_ST_H -I/Users/glh/.rbenv/versions/2.0.0-p247/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT $(DEFS) $(cppflags)
|
85
85
|
CXXFLAGS = $(CCDLFLAGS) $(cxxflags) $(ARCH_FLAG)
|
86
|
-
ldflags = -L. -L/Users/glh/.rbenv/versions/2.
|
86
|
+
ldflags = -L. -L/Users/glh/.rbenv/versions/2.0.0-p247/lib
|
87
87
|
dldflags = -Wl,-undefined,dynamic_lookup -Wl,-multiply_defined,suppress
|
88
88
|
ARCH_FLAG =
|
89
89
|
DLDFLAGS = $(ldflags) $(dldflags) $(ARCH_FLAG)
|
@@ -99,12 +99,12 @@ RUBY_VERSION_NAME = $(RUBY_BASE_NAME)-$(ruby_version)
|
|
99
99
|
RUBYW_BASE_NAME = rubyw
|
100
100
|
RUBY_BASE_NAME = ruby
|
101
101
|
|
102
|
-
arch = x86_64-darwin13.0
|
102
|
+
arch = x86_64-darwin13.1.0
|
103
103
|
sitearch = $(arch)
|
104
|
-
ruby_version = 2.
|
104
|
+
ruby_version = 2.0.0
|
105
105
|
ruby = $(bindir)/ruby
|
106
106
|
RUBY = $(ruby)
|
107
|
-
ruby_headers = $(hdrdir)/ruby.h $(hdrdir)/ruby/
|
107
|
+
ruby_headers = $(hdrdir)/ruby.h $(hdrdir)/ruby/defines.h $(arch_hdrdir)/ruby/config.h
|
108
108
|
|
109
109
|
RM = rm -f
|
110
110
|
RM_RF = $(RUBY) -run -e rm -- -rf
|
@@ -132,11 +132,11 @@ extout =
|
|
132
132
|
extout_prefix =
|
133
133
|
target_prefix =
|
134
134
|
LOCAL_LIBS =
|
135
|
-
LIBS =
|
136
|
-
ORIG_SRCS = ext.c match.c matcher.c
|
135
|
+
LIBS = -lpthread -lpthread -ldl -lobjc
|
136
|
+
ORIG_SRCS = ext.c match.c matcher.c watchman.c
|
137
137
|
SRCS = $(ORIG_SRCS)
|
138
|
-
OBJS = ext.o match.o matcher.o
|
139
|
-
HDRS = $(srcdir)/ext.h $(srcdir)/match.h $(srcdir)/matcher.h $(srcdir)/ruby_compat.h
|
138
|
+
OBJS = ext.o match.o matcher.o watchman.o
|
139
|
+
HDRS = $(srcdir)/ext.h $(srcdir)/match.h $(srcdir)/matcher.h $(srcdir)/ruby_compat.h $(srcdir)/watchman.h
|
140
140
|
TARGET = ext
|
141
141
|
TARGET_NAME = ext
|
142
142
|
TARGET_ENTRY = Init_$(TARGET_NAME)
|
@@ -144,13 +144,12 @@ DLLIB = $(TARGET).bundle
|
|
144
144
|
EXTSTATIC =
|
145
145
|
STATIC_LIB =
|
146
146
|
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
ARCHHDRDIR = $(rubyhdrdir)/$(arch)/ruby$(target_prefix)
|
147
|
+
BINDIR = $(DESTDIR)$(bindir)
|
148
|
+
RUBYCOMMONDIR = $(DESTDIR)$(sitedir)$(target_prefix)
|
149
|
+
RUBYLIBDIR = $(DESTDIR)$(sitelibdir)$(target_prefix)
|
150
|
+
RUBYARCHDIR = $(DESTDIR)$(sitearchdir)$(target_prefix)
|
151
|
+
HDRDIR = $(DESTDIR)$(rubyhdrdir)/ruby$(target_prefix)
|
152
|
+
ARCHHDRDIR = $(DESTDIR)$(rubyhdrdir)/$(arch)/ruby$(target_prefix)
|
154
153
|
|
155
154
|
TARGET_SO = $(DLLIB)
|
156
155
|
CLEANLIBS = $(TARGET).bundle
|
@@ -180,7 +179,7 @@ distclean: clean distclean-so distclean-static distclean-rb-default distclean-rb
|
|
180
179
|
realclean: distclean
|
181
180
|
install: install-so install-rb
|
182
181
|
|
183
|
-
install-so: $(DLLIB)
|
182
|
+
install-so: $(DLLIB) ./.RUBYARCHDIR.time
|
184
183
|
$(INSTALL_PROG) $(DLLIB) $(RUBYARCHDIR)
|
185
184
|
clean-static::
|
186
185
|
-$(Q)$(RM) $(STATIC_LIB)
|
@@ -190,8 +189,8 @@ pre-install-rb: Makefile
|
|
190
189
|
pre-install-rb-default: Makefile
|
191
190
|
pre-install-rb-default:
|
192
191
|
$(ECHO) installing default ext libraries
|
193
|
-
|
194
|
-
$(Q) $(MAKEDIRS) $(
|
192
|
+
./.RUBYARCHDIR.time:
|
193
|
+
$(Q) $(MAKEDIRS) $(RUBYARCHDIR)
|
195
194
|
$(Q) $(TOUCH) $@
|
196
195
|
|
197
196
|
site-install: site-install-so site-install-rb
|
@@ -232,12 +231,12 @@ $(DLLIB): $(OBJS) Makefile
|
|
232
231
|
$(ECHO) linking shared-object $(DLLIB)
|
233
232
|
-$(Q)$(RM) $(@)
|
234
233
|
$(Q) $(LDSHARED) -o $@ $(OBJS) $(LIBPATH) $(DLDFLAGS) $(LOCAL_LIBS) $(LIBS)
|
235
|
-
$(Q) $(
|
234
|
+
$(Q) test -z '$(RUBY_CODESIGN)' || codesign -s '$(RUBY_CODESIGN)' -f $@
|
236
235
|
|
237
236
|
|
238
237
|
|
239
238
|
###
|
240
|
-
# Copyright 2010 Wincent Colaiuta. All rights reserved.
|
239
|
+
# Copyright 2010-2014 Wincent Colaiuta. All rights reserved.
|
241
240
|
#
|
242
241
|
# Redistribution and use in source and binary forms, with or without
|
243
242
|
# modification, are permitted provided that the following conditions are met:
|
@@ -260,4 +259,4 @@ $(DLLIB): $(OBJS) Makefile
|
|
260
259
|
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
261
260
|
# POSSIBILITY OF SUCH DAMAGE.
|
262
261
|
|
263
|
-
CFLAGS += -
|
262
|
+
CFLAGS += -Wall -Wextra -Wno-unused-parameter
|