mkmfmf 0.3
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG.rdoc +7 -0
- data/Manifest.txt +6 -0
- data/README.rdoc +60 -0
- data/Rakefile +62 -0
- data/lib/mkmfmf.rb +2112 -0
- data/mkmfmf.gemspec +50 -0
- metadata +116 -0
data/CHANGELOG.rdoc
ADDED
data/Manifest.txt
ADDED
data/README.rdoc
ADDED
@@ -0,0 +1,60 @@
|
|
1
|
+
== Sender
|
2
|
+
|
3
|
+
http://rubygems.org/gems/mkmfmf
|
4
|
+
|
5
|
+
== DESCRIPTION:
|
6
|
+
|
7
|
+
Fork of bundled mkmf.rb, should work as drop in replacement.
|
8
|
+
|
9
|
+
Modifications:
|
10
|
+
|
11
|
+
* GDB and XCode path compatibility: relative path specified by mkmf
|
12
|
+
(../../../../ext/<target>/...) confuses source-to-debug correspondence.
|
13
|
+
The downside to this is that mkmfmf specifies absolute paths, which
|
14
|
+
means that the project will have to be recompiled for debugging from an
|
15
|
+
alternate location. This can be disabled by adding a use_relative_paths block.
|
16
|
+
|
17
|
+
* CURRENTLY NOT WORKING: Sub-directory support for source code: all .c, .m, .cc, .cxx., .cpp files and
|
18
|
+
if the filesystem is case sensitive, all .C files are automatically included,
|
19
|
+
and any directories with .h files are added to INCFLAGS.
|
20
|
+
|
21
|
+
* Automatically uses CC from ENV if set
|
22
|
+
|
23
|
+
== SUMMARY:
|
24
|
+
|
25
|
+
Add additional 'mf' to require 'mkmf':
|
26
|
+
|
27
|
+
require 'mkmfmf'
|
28
|
+
|
29
|
+
== INSTALL:
|
30
|
+
|
31
|
+
* sudo gem install mkmfmf
|
32
|
+
|
33
|
+
== EXAMPLE:
|
34
|
+
|
35
|
+
see mkmf documentation
|
36
|
+
|
37
|
+
== LICENSE:
|
38
|
+
|
39
|
+
(The MIT License)
|
40
|
+
|
41
|
+
Copyright (c) 2010 Asher
|
42
|
+
|
43
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
44
|
+
a copy of this software and associated documentation files (the
|
45
|
+
'Software'), to deal in the Software without restriction, including
|
46
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
47
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
48
|
+
permit persons to whom the Software is furnished to do so, subject to
|
49
|
+
the following conditions:
|
50
|
+
|
51
|
+
The above copyright notice and this permission notice shall be
|
52
|
+
included in all copies or substantial portions of the Software.
|
53
|
+
|
54
|
+
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
|
55
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
56
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
57
|
+
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
58
|
+
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
59
|
+
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
60
|
+
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/Rakefile
ADDED
@@ -0,0 +1,62 @@
|
|
1
|
+
###############################################################################
|
2
|
+
# #
|
3
|
+
# Gem Specification #
|
4
|
+
# #
|
5
|
+
###############################################################################
|
6
|
+
|
7
|
+
gem_name = 'mkmfmf'
|
8
|
+
has_c_source = false
|
9
|
+
|
10
|
+
developer_name = 'Asher'
|
11
|
+
email = 'asher@ridiculouspower.com'
|
12
|
+
rubyforge_name = 'asher'
|
13
|
+
|
14
|
+
$VERBOSE = false
|
15
|
+
|
16
|
+
################################################################################
|
17
|
+
|
18
|
+
require 'hoe'
|
19
|
+
require 'rake/extensiontask'
|
20
|
+
|
21
|
+
require 'pp'
|
22
|
+
|
23
|
+
Hoe.spec gem_name do
|
24
|
+
developer( developer_name, email )
|
25
|
+
self.rubyforge_name = rubyforge_name
|
26
|
+
self.version = 0.3
|
27
|
+
self.readme_file = 'README.rdoc'
|
28
|
+
self.history_file = 'CHANGELOG.rdoc'
|
29
|
+
self.extra_rdoc_files = FileList['*.rdoc']
|
30
|
+
if has_c_source
|
31
|
+
self.spec_extras = { :extensions => 'ext/' + gem_name + '/extconf.rb' }
|
32
|
+
self.extra_dev_deps << ['rake-compiler', '>= 0']
|
33
|
+
end
|
34
|
+
Rake::ExtensionTask.new( gem_name, spec ) do |ext|
|
35
|
+
ext.lib_dir = File.join( 'lib', gem_name )
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
task :make do
|
40
|
+
Rake::Task[:compile].invoke
|
41
|
+
end
|
42
|
+
|
43
|
+
task :cultivate do
|
44
|
+
system "touch Manifest.txt; rake check_manifest | grep -v \"(in \" | patch"
|
45
|
+
system "rake debug_gem | grep -v \"(in \" > " + gem_name + ".gemspec"
|
46
|
+
end
|
47
|
+
|
48
|
+
# clear default task and set default to :compile
|
49
|
+
Rake::Task[ :default ].clear
|
50
|
+
task :default => :compile
|
51
|
+
|
52
|
+
# allow spec task to be turned off from command line
|
53
|
+
if has_c_source and
|
54
|
+
not ( ENV[ "no_spec" ] or
|
55
|
+
ENV[ "no_spec" ] == "true" or
|
56
|
+
ENV[ "no_spec" ] == "yes" or
|
57
|
+
ENV[ "no_spec" ] == "on" or
|
58
|
+
ENV[ "spec" ] == "false" or
|
59
|
+
ENV[ "spec" ] == "no" or
|
60
|
+
ENV[ "spec" ] == "off" )
|
61
|
+
Rake::Task[ :spec ].prerequisites << :compile
|
62
|
+
end
|