From da36c82a0a3fd7c1c55b959f5db68260d00a3a94 Mon Sep 17 00:00:00 2001 From: Matthew Halpern Date: Tue, 16 Jan 2018 10:16:14 -0500 Subject: Allow lllc to be installed --- CMakeLists.txt | 2 ++ lllc/CMakeLists.txt | 16 ++++++++++++++++ scripts/release_ppa.sh | 3 +++ 3 files changed, 21 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 8993f372..eafe8d90 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" ON) # 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 < debian/copyright Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ -- cgit