Skip to content
This repository has been archived by the owner on Mar 9, 2023. It is now read-only.

Simplify the build process using git submodules #25

Merged
merged 14 commits into from
Feb 26, 2022

Conversation

rwhitby
Copy link
Contributor

@rwhitby rwhitby commented Feb 25, 2022

With these changes, the build instructions simplify to:

git clone --recurse https://github.com/kintex-chatter/xc7k325t-blinky-nextpnr.git
cd xc7k325t-blinky-nextpnr
make BOARD=qmtech setup
make BOARD=qmtech all

It also works for BOARD=genesys2, and both boards can be built and flashed from the same directory.

I will do a separate pull request with a target to install the prerequisite distribution packages for various platforms.

Why add prjxray as a submodule? The main reason to add prjxray as a submodule is so that XRAY_UTILS_DIR can be automatically set to a default value based on this known relative location for prjxray.

There is a related discussion from 2020 at f4pga/prjxray#1384 that resulted in an independent repo for fasm2frames: https://github.com/SymbiFlow/f4pga-xc-fasm.

@unbtorsten opened an issue for further clarification at chipsalliance/f4pga-xc-fasm#19

Note: this closes #18 and provides a foundation for #21

@jrrk2
Copy link
Contributor

jrrk2 commented Feb 25, 2022

I suppose if you are calling out a special compiler under Darwin you should also add the recipe for installing that compiler (neither home-brew nor macports have a target called clang)

@@ -1,3 +1,6 @@
[submodule "nextpnr-xilinx"]
path = nextpnr-xilinx
url = git@github.com:kintex-chatter/nextpnr-xilinx.git
[submodule "prjxray"]
path = prjxray
url = git@github.com:kintex-chatter/prjxray.git
Copy link
Contributor

@unbtorsten unbtorsten Feb 25, 2022

Choose a reason for hiding this comment

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

Replace by upstream, i.e. url = git@github.com:f4pga/prjxray.git?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

prjxray in kintex-chatter is ahead of jrrk2:prjxray, which is not aligned with f4pga:prjxray, so I'm hesitant to make this change without comment from the maintainers of the kintex-chatter:prjxray repo.

Copy link
Contributor

Choose a reason for hiding this comment

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

Got it. We can move this to a separate issue.

@unbtorsten
Copy link
Contributor

unbtorsten commented Feb 25, 2022

Looks good to me and be willing to merge.

I propose to handle instructions to install a compiler on Darwin in a separate issue, e.g. #16.

@rwhitby
Copy link
Contributor Author

rwhitby commented Feb 25, 2022

I suppose if you are calling out a special compiler under Darwin you should also add the recipe for installing that compiler (neither home-brew nor macports have a target called clang)

Yes, my next pull request is to add targets to install all the dependencies on each platform.

"brew install llvm" in this case for macOS.

@unbtorsten unbtorsten merged commit 30535d8 into openXC7:main Feb 26, 2022
@unbtorsten
Copy link
Contributor

@rwhitby: Thank you for restructuring and sorting!

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.

Simplify the build process using git submodules
3 participants