aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorchriseth <chris@ethereum.org>2018-02-13 19:46:15 +0800
committerGitHub <noreply@github.com>2018-02-13 19:46:15 +0800
commit1d21f30f828ee9b50ae71e877218b11c75b37526 (patch)
tree3ce1a74078ed00154ffe89c0482042d78430ca61
parentf8810ef9e8891fb198eb213e4b32374d11ae4bbd (diff)
parent52e55b75a2d0e76618349fe44af0772e4bc91f74 (diff)
downloaddexon-solidity-1d21f30f828ee9b50ae71e877218b11c75b37526.tar.gz
dexon-solidity-1d21f30f828ee9b50ae71e877218b11c75b37526.tar.zst
dexon-solidity-1d21f30f828ee9b50ae71e877218b11c75b37526.zip
Merge pull request #3398 from ConsenSys/install-lllc
Allow lllc to be installed via Make
-rw-r--r--CMakeLists.txt2
-rw-r--r--lllc/CMakeLists.txt16
-rwxr-xr-xscripts/release_ppa.sh3
3 files changed, 21 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 8993f372..a0b52621 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -12,6 +12,8 @@ set(PROJECT_VERSION "0.4.20")
project(solidity VERSION ${PROJECT_VERSION})
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" OFF)
# Setup cccache.
include(EthCcache)
diff --git a/lllc/CMakeLists.txt b/lllc/CMakeLists.txt
index 7bebd0b1..5c480093 100644
--- a/lllc/CMakeLists.txt
+++ b/lllc/CMakeLists.txt
@@ -1,3 +1,19 @@
add_executable(lllc main.cpp)
target_link_libraries(lllc PRIVATE lll)
+if (INSTALL_LLLC)
+ include(GNUInstallDirs)
+ install(TARGETS lllc DESTINATION ${CMAKE_INSTALL_BINDIR})
+
+ if(LLLC_LINK_STATIC AND UNIX AND NOT APPLE)
+ # Produce lllc as statically linked binary (includes C/C++ standard libraries)
+ # This is not supported on macOS, see
+ # https://developer.apple.com/library/content/qa/qa1118/_index.html.
+ set_target_properties(
+ lllc PROPERTIES
+ LINK_FLAGS -static
+ LINK_SEARCH_START_STATIC ON
+ LINK_SEARCH_END_STATIC ON
+ )
+ endif()
+endif()
diff --git a/scripts/release_ppa.sh b/scripts/release_ppa.sh
index 2dd43302..b314d00d 100755
--- a/scripts/release_ppa.sh
+++ b/scripts/release_ppa.sh
@@ -166,6 +166,9 @@ override_dh_auto_test:
override_dh_shlibdeps:
dh_shlibdeps --dpkg-shlibdeps-params=--ignore-missing-info
+
+override_dh_auto_configure:
+ dh_auto_configure -- -DINSTALL_LLLC=Off
EOF
cat <<EOF > debian/copyright
Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/