Allow lllc to be installed via Make#3398
Conversation
lllc/CMakeLists.txt
Outdated
| # This is not supported on macOS, see | ||
| # https://developer.apple.com/library/content/qa/qa1118/_index.html. | ||
| set_target_properties( | ||
| solc PROPERTIES |
There was a problem hiding this comment.
This should probably read lllc
|
In general, I welcome this change. We only have to check whether it adds another executable to the debian / ubuntu builds. lllc should be its own package and not a binary that is part of the solc package. |
160c860 to
05a625e
Compare
|
Sounds good. Let me know if there is anything I need to do to help. |
|
I'm pretty sure it will just install lllc as well. If you know debian/ubuntu packaging, you can take a look at |
lllc/CMakeLists.txt
Outdated
| # This is not supported on macOS, see | ||
| # https://developer.apple.com/library/content/qa/qa1118/_index.html. | ||
| set_target_properties( | ||
| solc PROPERTIES |
There was a problem hiding this comment.
Are you sure this shouldn't read lllc?
05a625e to
9dbc141
Compare
|
@axic good catch -- addressed. |
|
I don't know much in regard to packaging, but if you feel like more has to be done here in that regard I can take a look. Just let me know. |
lllc/CMakeLists.txt
Outdated
| target_link_libraries(lllc PRIVATE lll) | ||
|
|
||
| include(GNUInstallDirs) | ||
| install(TARGETS lllc DESTINATION "${CMAKE_INSTALL_BINDIR}") |
There was a problem hiding this comment.
Just remove "". They actually can corrupt paths.
There was a problem hiding this comment.
@chfast I followed the convention in solc/CMakeLists.txt:
install(TARGETS solc DESTINATION "${CMAKE_INSTALL_BINDIR}")
There was a problem hiding this comment.
Yes, I was doing the same, but it turned out it does not anything. And sometimes is harmful.
9dbc141 to
afcb0be
Compare
|
@chfast I have removed the quotes in |
chriseth
left a comment
There was a problem hiding this comment.
Before this can be merged, 'scripts/release_ppa.sh` has to be fixed so that lllc is not installed as part of the solc ubuntu package.
|
As a compromise, we could probably change this so that |
|
There are 2 solutions for this in CMake: Don't build lllc by default.
I think this is rather confusing, because Use
|
afcb0be to
c8a479d
Compare
|
Can I propose a third option where there is a CMAKE option to specify whether
|
Yes, this is good idea. However I'd call it |
|
I'm fine with whatever name you and @chriseth agree on. |
|
@matthalp a cmake flag is a good idea! I think we can actually default it to install lllc and then add the setting in the scripts/ppa_relaese.sh: But someone would have to test that :) |
c8a479d to
4d58011
Compare
|
The change is easy, but I still have to sit down and test it locally. I'll try to do that by the end of the weekend. |
4d58011 to
745f633
Compare
|
Interesting thing: most of Solidity manuals say "if you have installed solc you've already had lllc also". |
|
Yes, lllc should have its own debian package. |
CMakeLists.txt
Outdated
|
|
||
| option(SOLC_LINK_STATIC "Link solc executable statically on supported platforms" OFF) | ||
| option(LLLC_LINK_STATIC "Link lllc executable statically on supported platforms" OFF) | ||
| option(INSTALL_LLLC "Include lllc executable in installation" ON) |
There was a problem hiding this comment.
How about making this off by default?
There was a problem hiding this comment.
After having read up the earlier comments, the benefits are:
- it definitely won't alter the ppa process
- it will not give the impression that
lllcis a fully maintained, supported and integral part ofsolc(as it is just something allowed to exists here)
There was a problem hiding this comment.
I'm fine either way. Most people don't build from source anyway.
There was a problem hiding this comment.
Let's just get this merged today so we can create a release tomorrow.
|
@chriseth approve then? |
| override_dh_shlibdeps: | ||
| dh_shlibdeps --dpkg-shlibdeps-params=--ignore-missing-info | ||
|
|
||
| override_dh_auto_configure: |
There was a problem hiding this comment.
@axic If INSTALL_LLLC is off by default then this can be removed.
There was a problem hiding this comment.
Yes, but kept it there for safety reasons. We may switch it on or who knows :)
Fixes #2785.