command-t 1.7 → 1.8
Sign up to get free protection for your applications and to get access to all the features.
- 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
|