Skip to content
This repository was archived by the owner on Apr 6, 2020. It is now read-only.

Use xargo to build #62

Merged
merged 1 commit into from
Sep 25, 2016
Merged

Use xargo to build #62

merged 1 commit into from
Sep 25, 2016

Conversation

steveklabnik
Copy link
Member

This is much much nicer than maintaining a port of libcore. Thanks
@japaric! ❤️

This also means that the "hello cargo" chapter of the book will need to
be redone.

r? @ashleygwilliams

@steveklabnik steveklabnik force-pushed the xargo branch 2 times, most recently from 2334b29 to d0c3a0e Compare September 25, 2016 19:12
steveklabnik added a commit to intermezzOS/book that referenced this pull request Sep 25, 2016
Paired iwth intermezzOS/kernel#62, this now uses
xargo rather than our own fork of libcore.
steveklabnik added a commit to intermezzOS/book that referenced this pull request Sep 25, 2016
Paired with intermezzOS/kernel#62, this now uses
xargo rather than our own fork of libcore.
@@ -1,8 +1,13 @@
sudo: required
dist: trusty
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

you might make a comment in this PR about the changes that are happening here

"os": "intermezzos",
"target-endian": "little",
"target-pointer-width": "64",
"features": "-mmx,-fxsr,-sse,-sse2,+soft-float",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

mention this in the PR the diff makes it impossible to see

"raw-cpuid 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
"serde_json 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)",
]

[metadata]
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lol oh hey

@@ -31,7 +23,7 @@ target/boot.o: src/asm/boot.asm
nasm -f elf64 src/asm/boot.asm -o target/boot.o

target/kernel.bin: $(o_files) src/asm/linker.ld cargo
ld -n -o target/kernel.bin -T src/asm/linker.ld $(o_files) $(libintermezzos_a)
ld -n -o target/kernel.bin -T src/asm/linker.ld --gc-sections $(o_files) $(libintermezzos_a)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

splain please

```bash
$ rustup override set nightly-2016-05-26
```
If you don’t have Rust installed, you should use [rustup](https://rustup.rs/)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"If you don’t have Rust installed, and probably even if you do,"

steveklabnik added a commit to intermezzOS/book that referenced this pull request Sep 25, 2016
Paired with intermezzOS/kernel#62, this now uses
xargo rather than our own fork of libcore.
This is much much nicer than maintaining a port of libcore. Thanks
@japaric! ❤️

This also means that the "hello cargo" chapter of the book will need to
be redone.

I also re-organized the .json file to be in alphabetical order and fixed
some indentation issues. I also added +soft-float, which is needed since
we no longer have the no-float patch.

I also had to update the x86 dependency to work with current nightly.

There were some updates to the travis.yml: removing the specific VM
version of Trusty, which meant installing grub-common.

This also means that we are no longer tied to a specific Rust version.

Finally, --gc-sections was needed. We used to have a no-float patch for
libcore when we compiled it custom, but xargo doesn't know how to do
that. --gc-sections will get rid of the unused calls instead.
@ashleygwilliams ashleygwilliams merged commit a6bd383 into master Sep 25, 2016
@ashleygwilliams ashleygwilliams deleted the xargo branch September 25, 2016 20:07
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants