Re: [rust-dev] [ANN] Rust ported to DragonFlyBSD

2014-07-30 Thread Rob Latham
On Wed, Jul 30, 2014 at 8:44 AM, Michael Neumann  wrote:
> Am 29.07.2014 um 20:37 schrieb Rob Latham:
>> what other errors were you encountering with the --target approach?
>
> When building the related C libraries you also need to specify the
> --sysroot to point to the DragonFly tree, otherwise it's building the
> libraries targeted at DragonFly but with Linux header files, which
> clearly is *wrong*.

I'd set this up in mk/platform.mk.  Check out how arm-apple-ios does it:

CFG_IOS_SDK = $(shell xcrun --show-sdk-path -sdk iphoneos 2>/dev/null)
CFG_IOS_FLAGS = -target armv7-apple-darwin -isysroot $(CFG_IOS_SDK)
-mios-version-min=7.0
CFG_CFLAGS_arm-apple-ios := -arch armv7 -mfpu=vfp3 $(CFG_IOS_FLAGS)

https://github.com/rust-lang/rust/blob/master/mk/platform.mk#L158

> Actually I wasn't able to cross-compile LLVM. Also
> when using the --target approach, I always had to wait for hours until
> it finished the Linux (host) build before it started to build the
> target. I think I was just waiting too much time for compiles to finish.
> If someone else figures out how to cross-compile to DragonFly with the
> --target approach I am happy to know :).

I agree it takes a while.  ccache is a big help but it still takes a while.

==rob
___
Rust-dev mailing list
Rust-dev@mozilla.org
https://mail.mozilla.org/listinfo/rust-dev


Re: [rust-dev] [ANN] Rust ported to DragonFlyBSD

2014-07-29 Thread Rob Latham
"After trying to cross-compile Rust by specifying --target
x86_64-pc-dragonfly-elf to Rust’s own configure script and spending
numerous hours just to note that the build fails"...

Howdy, fellow crazy cross-compiling person.  Did you by any chance
come across my message from a week or so ago?  One response seemed
likely to help you if you were encountering a specific kind of build
failure:

https://mail.mozilla.org/pipermail/rust-dev/2014-July/010827.html

what other errors were you encountering with the --target approach?

==rob




On Tue, Jul 29, 2014 at 7:59 AM, Michael Neumann  wrote:
> Hi all,
>
> I am happy to announce that I succeeded in porting Rust to the DragonFly
> operating system. [This article][1] describes `how` and might also be of
> interest to others porting Rust to NetBSD or OpenBSD. Within the next
> week I submit patches to the LLVM project (segmented stack support for
> DragonFly) and also to the rust repo itself. My `dragonfly` branch of
> the Rust repository can be found [here][2].
>
> If someone is interested to try out early, I can provide some binaries
> until I set up some automatic builds.
>
> Regards,
>
>   Michael
>
> [1]: http://www.ntecs.de/blog/2014/07/29/rust-ported-to-dragonflybsd/
> [2]: https://github.com/mneumann/rust/tree/dragonfly
> ___
> Rust-dev mailing list
> Rust-dev@mozilla.org
> https://mail.mozilla.org/listinfo/rust-dev
___
Rust-dev mailing list
Rust-dev@mozilla.org
https://mail.mozilla.org/listinfo/rust-dev


[rust-dev] adding a new cross-compile target

2014-07-20 Thread Rob Latham
I probably picked the exact wrong project for diving into rust, but
I'd like to teach rust how to build powerpc64-bgq-linux binaries.

I've got a powerpc64-bgq-linux toolchain.   I added this stanza to
mk/platforms.mk, but cribbed from other platforms.  Did I leave out
any important settings?

% git diff
diff --git a/mk/platform.mk b/mk/platform.mk
index d1ec7c65..f1272eaa 100644
--- a/mk/platform.mk
+++ b/mk/platform.mk
@@ -580,6 +580,19 @@ CFG_LDPATH_x86_64-unknown-freebsd :=
 CFG_RUN_x86_64-unknown-freebsd=$(2)
 CFG_RUN_TARG_x86_64-unknown-freebsd=$(call
CFG_RUN_x86_64-unknown-freebsd,,$(2))

+# powerpc64-bgq-linux configuration
+CC_powerpc64-bgq-linux=powerpc64-bgq-linux-gcc
+CXX_powerpc64-bgq-linux=powerpc64-bgq-linux-g++
+CPP_powerpc64-bgq-linux=powerpc64-bgq-linux-cpp
+AR_powerpc64-bgq-linux=powerpc64-bgq-linux-ar
+CFG_LIB_NAME_powerpc64-bgq-linux=libs$(1).so
+CFG_STATIC_LIB_NAME_powerpc64-bgq-linux=libs$(1).a
+CFG_LIB_GLOB_powerpc64-bgq-linux=lib$(1)-*.so
+CFG_CFLAGS_powerpc64-bgq-linux := $(CFLAGS)
+CFG_GCCISH_CFLAGS_powerpc64-bgq-linux := -Wall -Werror -g -fPIC $(CFLAGS)
+CFG_UNIXY_powerpc64-bgq-linux := 1
+CFG_RUN_powerpc64-bgq-linux =
+CFG_RUN_TARG_powerpc64-bgq-linux =

I can configure ok:

 ../configure --target=powerpc64-bgq-linux --prefix=/sandbox/robl/rust-master

But  build progresses pretty far, hanging up here:

[...]
rustc: 
x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustdoc
rustc: 
x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib/libfourcc
rustc: 
x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib/libhexfloat
rustc: 
x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib/libregex_macros
make: *** No rule to make target
`powerpc64-bgq-linux/rt/arch/powerpc64/morestack.o', needed by
`powerpc64-bgq-linux/rt/libsmorestack.a'.  Stop.

I don't know how to go about debugging this.   Any ideas?

thanks
==rob
___
Rust-dev mailing list
Rust-dev@mozilla.org
https://mail.mozilla.org/listinfo/rust-dev