[rust-dev] Cargo multiple targets

Isak Andersson contact at bitpuffin.com
Wed Jul 2 04:58:04 PDT 2014


Hi!

Thanks for the reply!

Apparently multiple targets does in fact work. Just that you can't rely on
the
default path anymore, so I had to add the path = ... to both the [[lib]]
and [[bin]].
Not sure if this is a bug or not.

However the library compiles as an rlib and I'm not sure how to change it
to build
a C library instead (a .a or .so on *nix or .lib I think on windows).

Actually I'm not even sure how to make rustc build a C library so I guess
that's what
I will start looking at.


On Wed, Jul 2, 2014 at 1:37 PM, Sebastian Gesemann <s.gesemann at gmail.com>
wrote:

> On Wed, Jul 2, 2014 at 12:49 PM, Isak Andersson wrote:
> > Hello Rust folks!
> >
> > I am using Cargo and I am trying to specify mulitple targets in my
> > Cargo.toml file.
> > First of all is this even possible?
> > ...
> > [package]
> > name = "hmproof"
> > version = "0.1.0"
> > authors = [ "isak at houstonmedia.se" ]
> > [[bin]]
> > name = "hmwhoami"
> > [[lib]]
> > name = "proof"
> > (I also tried adding a path)
> > path = "src/proof.rs"
> > [dependencies.rust-http]
> > git = "https://github.com/chris-morgan/rust-http.git"
> >
> > I also tried putting the [[lib]] part after the dependencies part. The
> error
> > I get is this:
> > error: couldn't read src/bin/hmwhoami.rs: couldn't open file (no such
> file
> > or directory [...]
> > Whiich doesn't make any sense at all to me. Why does it suddenly start
> > looking in src/bin?
>
> According to http://crates.io/manifest.html the default path for a
> binary is src (if there is no other lib) and src/bin (if there is also
> a lib target). You should be able to override this with path =
> src/hmwhoami.
>
> > Do I have to put my bin code in src/bin and my lib code in src lib or
> what?
>
> Currently, only a single lib per package is supported and it seems,
> judging by the document about the manifest format, that Cargo always
> looks for src/lib.rs for a library unless you override this using a
> "path=something".
>
> As for how to tell Cargo to invoke rustc with the appropriate -L
> option: I don't know.
>
> HTH,
> sg
> _______________________________________________
> Rust-dev mailing list
> Rust-dev at mozilla.org
> https://mail.mozilla.org/listinfo/rust-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/rust-dev/attachments/20140702/7655db5b/attachment.html>


More information about the Rust-dev mailing list