Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

update from upstream #3

Merged
merged 124 commits into from
Mar 6, 2020
Merged

update from upstream #3

merged 124 commits into from
Mar 6, 2020

Conversation

gojimmypi
Copy link
Owner

No description provided.

emard and others added 30 commits January 25, 2019 19:15
Use the GNUInstallDirs include provided by CMake to auto detect target
install paths for the target system. This allows for building natively
on the same host as well as enabling a distro to override the paths or
for cross compiling to override the paths for the target distro/system.

This removes the need to manually detect the 'lib64' directory, and also
fixes the issues with using 'FIND_LIBRARY_USE_LIB64_PATHS' which is
always true on targets other than debian (even if those targets do not
use the 'lib64' path by default).

Additionally this change calculates the relative path between bindir and
libdir in order to populate the rpath information into the built
binaries for supporting portable execution.

Signed-off-by: Nathan Rossi <[email protected]>
…n parameter config, and remove special case for no named clocks

Signed-off-by: Trammell hudson <[email protected]>
In order to execute the ecpmulti, ecppack and ecpunpack programs they
must be able to access the trellis database files. These files are
installed alongside the tools in the data directory (normally
/usr/share). To enable portable execution of these programs such that
they can access the database relative to their executables path the
programs must be built with the relative path embedded and also be able
to access the executables path at run time.

Since libtrellis already depends on Boost it makes sense to use the
Boost dll module. This module provides the 'program_location' function
which can be used with the 'boost::filesystem::path' to build the
absolute path to the database at run time. The only downside with the
use of the Boost dll module is that a unused component of the included
source relies on certain dynamic linker functions which requires linking
to libdl on some platforms. This however is easily handled by the
CMAKE_DL_LIBS variable which expands to the correct linker arg on
targets that require linking with the dynamic linker.

The Boost dll module was only added in 1.61. In order to support older
versions of Boost such as that of Ubuntu 16.04 (1.58), a local
implementation of 'program_location' is added which is based on the
'proc_self_dirname' implementation from yosys. This version is chosen
due to its use in a number of tools similar to libtrellis (e.g.
icestorm) but also due to its ISC license which matches libtrellis. This
implementation is conditionally used if the Boost dll module is
unavailable.

The cmake configuration is also changed to generate a relative path from
datadir to bindir, this path is then provided during the build as
TRELLIS_RPATH_DATADIR.

Note: ecppll does not currently use the trellis database

Signed-off-by: Nathan Rossi <[email protected]>
examples/ulx3s: serial port demo
Update docs with more information about DSP support
gatecat and others added 29 commits November 18, 2019 20:51
Signed-off-by: David Shah <[email protected]>
Signed-off-by: David Shah <[email protected]>
Signed-off-by: David Shah <[email protected]>
examples: allows to override TRELLIS when libtrellis is not installed in /usr
libtrellis: offer serialise_chip/serialise_chip_delta in Python api
cmake: Don't clobber existing CMAKE_CXX_FLAGS values.
Signed-off-by: David Shah <[email protected]>
Signed-off-by: David Shah <[email protected]>
Add DIAMONDVER and JEDEC_BITSTREAM env variables.
Use installed binary (of ecppll) in $PATH,
not the leftover from the build inside the repo with relative path
Fix wrong indentation warnings in documentation
for "Ensure to include the ECP5 architecture when building nextpnr"
include example ECP5 architecture syntax
Signed-off-by: David Shah <[email protected]>
@gojimmypi gojimmypi merged commit 13f9c7b into gojimmypi:patch-2 Mar 6, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.