malloc 1.3.3 → 1.3.4
Sign up to get free protection for your applications and to get access to all the features.
- data/Rakefile +15 -13
- metadata +2 -2
data/Rakefile
CHANGED
@@ -7,14 +7,15 @@ require 'rake/loaders/makefile'
|
|
7
7
|
require 'rbconfig'
|
8
8
|
|
9
9
|
PKG_NAME = 'malloc'
|
10
|
-
PKG_VERSION = '1.3.
|
10
|
+
PKG_VERSION = '1.3.4'
|
11
|
+
CFG = RbConfig::CONFIG
|
11
12
|
CXX = ENV[ 'CXX' ] || 'g++'
|
12
13
|
RB_FILES = FileList[ 'lib/**/*.rb' ]
|
13
14
|
CC_FILES = FileList[ 'ext/*.cc' ]
|
14
15
|
HH_FILES = FileList[ 'ext/*.hh' ] + FileList[ 'ext/*.tcc' ]
|
15
16
|
TC_FILES = FileList[ 'test/tc_*.rb' ]
|
16
17
|
TS_FILES = FileList[ 'test/ts_*.rb' ]
|
17
|
-
SO_FILE = "ext/#{PKG_NAME}
|
18
|
+
SO_FILE = "ext/#{PKG_NAME}.#{CFG[ 'DLEXT' ]}"
|
18
19
|
PKG_FILES = [ 'Rakefile', 'README.md', 'COPYING', '.document' ] +
|
19
20
|
RB_FILES + CC_FILES + HH_FILES + TS_FILES + TC_FILES
|
20
21
|
BIN_FILES = [ 'README.md', 'COPYING', '.document', SO_FILE ] +
|
@@ -26,17 +27,18 @@ EMAIL = %q{jan@wedesoft.de}
|
|
26
27
|
HOMEPAGE = %q{http://wedesoft.github.com/malloc/}
|
27
28
|
|
28
29
|
OBJ = CC_FILES.ext 'o'
|
29
|
-
$CXXFLAGS =
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
"-I#{RbConfig::CONFIG[ 'rubyhdrdir' ]}/#{RbConfig::CONFIG[ 'arch' ]}"
|
30
|
+
$CXXFLAGS = "-DNDEBUG #{CFG[ 'CPPFLAGS' ]} #{CFG[ 'CFLAGS' ]}"
|
31
|
+
if CFG[ 'rubyhdrdir' ]
|
32
|
+
$CXXFLAGS = "#{$CXXFLAGS} -I#{CFG[ 'rubyhdrdir' ]} " +
|
33
|
+
"-I#{CFG[ 'rubyhdrdir' ]}/#{CFG[ 'arch' ]}"
|
34
34
|
else
|
35
|
-
$CXXFLAGS = "#{$CXXFLAGS} -I#{
|
35
|
+
$CXXFLAGS = "#{$CXXFLAGS} -I#{CFG[ 'archdir' ]}"
|
36
36
|
end
|
37
|
-
$LIBRUBYARG = "-L#{
|
38
|
-
|
39
|
-
$
|
37
|
+
$LIBRUBYARG = "-L#{CFG[ 'libdir' ]} #{CFG[ 'LIBRUBYARG' ]} #{CFG[ 'LDFLAGS' ]} " +
|
38
|
+
"#{CFG[ 'SOLIBS' ]} #{CFG[ 'DLDLIBS' ]}"
|
39
|
+
$SITELIBDIR = CFG[ 'sitelibdir' ]
|
40
|
+
$SITEARCHDIR = CFG[ 'sitearchdir' ]
|
41
|
+
$LDSHARED = CFG[ 'LDSHARED' ][ CFG[ 'LDSHARED' ].index( ' ' ) .. -1 ]
|
40
42
|
|
41
43
|
task :default => :all
|
42
44
|
|
@@ -44,7 +46,7 @@ desc 'Compile Ruby extension (default)'
|
|
44
46
|
task :all => [ SO_FILE ]
|
45
47
|
|
46
48
|
file SO_FILE => OBJ do |t|
|
47
|
-
sh "#{
|
49
|
+
sh "g++ #{$LDSHARED} -o #{t.name} #{OBJ} #{$LIBRUBYARG}"
|
48
50
|
end
|
49
51
|
|
50
52
|
task :test => [ SO_FILE ]
|
@@ -163,7 +165,7 @@ rule '.o' => '.cc' do |t|
|
|
163
165
|
end
|
164
166
|
|
165
167
|
file ".depends.mf" do |t|
|
166
|
-
sh "g++ -MM #{
|
168
|
+
sh "g++ -MM #{CC_FILES.join ' '} | " +
|
167
169
|
"sed -e :a -e N -e 's/\\n/\\$/g' -e ta | " +
|
168
170
|
"sed -e 's/ *\\\\\\$ */ /g' -e 's/\\$/\\n/g' | sed -e 's/^/ext\\//' > #{t.name}"
|
169
171
|
end
|