Hello world rust
This commit is contained in:
parent
9e65be7ab7
commit
d55f8fd5ed
6
.gitignore
vendored
6
.gitignore
vendored
@ -2,3 +2,9 @@
|
|||||||
*.hd
|
*.hd
|
||||||
dmrconfig
|
dmrconfig
|
||||||
dmrconfig.exe
|
dmrconfig.exe
|
||||||
|
|
||||||
|
|
||||||
|
# Added by cargo
|
||||||
|
|
||||||
|
/target
|
||||||
|
Cargo.lock
|
||||||
|
12
Cargo.toml
Normal file
12
Cargo.toml
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
[package]
|
||||||
|
name = "dmrconfig"
|
||||||
|
version = "0.1.0"
|
||||||
|
authors = ["Greg Shuflin <greg.shuflin@protonmail.com>"]
|
||||||
|
edition = "2018"
|
||||||
|
|
||||||
|
[lib]
|
||||||
|
crate-type = ["staticlib"]
|
||||||
|
|
||||||
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||||
|
|
||||||
|
[dependencies]
|
10
Makefile
10
Makefile
@ -12,6 +12,8 @@ CFLAGS += -DVERSION='"$(VERSION).$(GITCOUNT)"' \
|
|||||||
LDFLAGS ?= -g
|
LDFLAGS ?= -g
|
||||||
LIBS = $(shell pkg-config --libs --static libusb-1.0)
|
LIBS = $(shell pkg-config --libs --static libusb-1.0)
|
||||||
|
|
||||||
|
RUST_RELEASE := target/release/libdmrconfig.a
|
||||||
|
|
||||||
#
|
#
|
||||||
# Make sure pkg-config is installed.
|
# Make sure pkg-config is installed.
|
||||||
#
|
#
|
||||||
@ -48,8 +50,8 @@ endif
|
|||||||
|
|
||||||
all: dmrconfig
|
all: dmrconfig
|
||||||
|
|
||||||
dmrconfig: $(OBJS)
|
dmrconfig: $(OBJS) $(RUST_RELEASE)
|
||||||
$(CC) $(LDFLAGS) -o $@ $(OBJS) $(LIBS)
|
$(CC) $(LDFLAGS) -o $@ $(OBJS) $(RUST_RELEASE) -ldl $(LIBS)
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f *~ *.o core dmrconfig dmrconfig.exe
|
rm -f *~ *.o core dmrconfig dmrconfig.exe
|
||||||
@ -57,6 +59,10 @@ clean:
|
|||||||
install: dmrconfig
|
install: dmrconfig
|
||||||
install -c -s dmrconfig /usr/local/bin/dmrconfig
|
install -c -s dmrconfig /usr/local/bin/dmrconfig
|
||||||
|
|
||||||
|
.PHONY: $(RUST_RELEASE)
|
||||||
|
target/release/libdmrconfig.a:
|
||||||
|
cargo build --verbose --release
|
||||||
|
|
||||||
###
|
###
|
||||||
d868uv.o: d868uv.c radio.h util.h d868uv-map.h
|
d868uv.o: d868uv.c radio.h util.h d868uv-map.h
|
||||||
dfu-libusb.o: dfu-libusb.c util.h
|
dfu-libusb.o: dfu-libusb.c util.h
|
||||||
|
3
main.c
3
main.c
@ -37,6 +37,8 @@ const char *copyright;
|
|||||||
extern char *optarg;
|
extern char *optarg;
|
||||||
extern int optind;
|
extern int optind;
|
||||||
|
|
||||||
|
extern void print_message_from_rust();
|
||||||
|
|
||||||
int trace_flag = 0;
|
int trace_flag = 0;
|
||||||
|
|
||||||
void usage()
|
void usage()
|
||||||
@ -72,6 +74,7 @@ void usage()
|
|||||||
|
|
||||||
int main(int argc, char **argv)
|
int main(int argc, char **argv)
|
||||||
{
|
{
|
||||||
|
print_message_from_rust();
|
||||||
int read_flag = 0, write_flag = 0, config_flag = 0, csv_flag = 0;
|
int read_flag = 0, write_flag = 0, config_flag = 0, csv_flag = 0;
|
||||||
int list_flag = 0, verify_flag = 0;
|
int list_flag = 0, verify_flag = 0;
|
||||||
|
|
||||||
|
13
src/lib.rs
Normal file
13
src/lib.rs
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
#[no_mangle]
|
||||||
|
pub extern "C" fn print_message_from_rust() {
|
||||||
|
println!("Calling from Rust!");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#[cfg(test)]
|
||||||
|
mod tests {
|
||||||
|
#[test]
|
||||||
|
fn it_works() {
|
||||||
|
assert_eq!(2 + 2, 4);
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user