Skip to content

Commit 640bfb9

Browse files
committed
Update examples for Rust master
1 parent aece964 commit 640bfb9

File tree

9 files changed

+26
-19
lines changed

9 files changed

+26
-19
lines changed

c-to-rust/Makefile

+2-3
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,11 @@ all: target/double
1010
target:
1111
mkdir -p $@
1212

13-
target/double: target/main.o target/libdouble_input.a
13+
target/double: target/main.o target/debug/libdouble_input.a
1414
$(CC) -o $@ $^ $(LDFLAGS)
1515

16-
target/libdouble_input.a: src/lib.rs Cargo.toml
16+
target/debug/libdouble_input.a: src/lib.rs Cargo.toml
1717
cargo build
18-
(cd target && ln -nsf debug/libdouble_input-*.a libdouble_input.a)
1918

2019
target/main.o: src/main.c | target
2120
$(CC) -o $@ -c $<

node-to-rust/Makefile

+2-3
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,11 @@ else
44
EXT := so
55
endif
66

7-
all: target/libdouble_input.$(EXT) node_modules/ffi
7+
all: target/debug/libdouble_input.$(EXT) node_modules/ffi
88
node src/main.js
99

10-
target/libdouble_input.$(EXT): src/lib.rs Cargo.toml
10+
target/debug/libdouble_input.$(EXT): src/lib.rs Cargo.toml
1111
cargo build
12-
(cd target && ln -nsf debug/libdouble_input-*$(EXT) libdouble_input.$(EXT))
1312

1413
node_modules/ffi:
1514
npm install ffi

node-to-rust/src/main.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
var ffi = require('ffi');
22

3-
var lib = ffi.Library('target/libdouble_input', {
3+
var lib = ffi.Library('target/debug/libdouble_input', {
44
'double_input': [ 'int', [ 'int' ] ]
55
});
66

perl-to-rust/Makefile

+2-3
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,11 @@ else
44
EXT := so
55
endif
66

7-
all: target/libdouble_input.so
7+
all: target/debug/libdouble_input.$(EXT)
88
perl src/main.pl
99

10-
target/libdouble_input.so: src/lib.rs Cargo.toml
10+
target/debug/libdouble_input.$(EXT): src/lib.rs Cargo.toml
1111
cargo build
12-
(cd target && ln -nsf debug/libdouble_input-*$(EXT) libdouble_input.so)
1312

1413
clean:
1514
rm -rf target

perl-to-rust/src/main.pl

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
use FFI::Raw;
33

44
my $double_input = FFI::Raw->new(
5-
"target/libdouble_input.so",
5+
"target/debug/libdouble_input.so",
66
'double_input',
77
FFI::Raw::int, # return value
88
FFI::Raw::int # arg #1

python-to-rust/Makefile

+2-3
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,11 @@ else
44
EXT := so
55
endif
66

7-
all: target/libdouble_input.so
7+
all: target/debug/libdouble_input.$(EXT)
88
python src/main.py
99

10-
target/libdouble_input.so: src/lib.rs Cargo.toml
10+
target/debug/libdouble_input.$(EXT): src/lib.rs Cargo.toml
1111
cargo build
12-
(cd target && ln -nsf debug/libdouble_input-*$(EXT) libdouble_input.so)
1312

1413
clean:
1514
rm -rf target

python-to-rust/src/main.py

+7-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,12 @@
11
from ctypes import cdll
2+
from sys import platform
23

3-
lib = cdll.LoadLibrary('target/libdouble_input.so')
4+
if platform == "darwin":
5+
ext = "dylib"
6+
else:
7+
ext = "so"
8+
9+
lib = cdll.LoadLibrary('target/debug/libdouble_input.' + ext)
410
double_input = lib.double_input
511

612
input = 4

ruby-to-rust/Makefile

+2-3
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,11 @@ else
44
EXT := so
55
endif
66

7-
all: target/libdouble_input.so
7+
all: target/debug/libdouble_input.$(EXT)
88
ruby src/main.rb
99

10-
target/libdouble_input.so: src/lib.rs Cargo.toml
10+
target/debug/libdouble_input.$(EXT): src/lib.rs Cargo.toml
1111
cargo build
12-
(cd target && ln -nsf debug/libdouble_input-*$(EXT) libdouble_input.so)
1312

1413
clean:
1514
rm -rf target

ruby-to-rust/src/main.rb

+7-1
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,14 @@
11
require 'ffi'
22

3+
if RUBY_PLATFORM.include?('darwin')
4+
EXT = 'dylib'
5+
else
6+
EXT = 'so'
7+
end
8+
39
module Hello
410
extend FFI::Library
5-
ffi_lib 'target/libdouble_input.so'
11+
ffi_lib 'target/debug/libdouble_input.' + EXT
612
attach_function :double_input, [ :int ], :int
713
end
814

0 commit comments

Comments
 (0)