Merge pull request #5410 from ethereum/lll-build

Do not build LLL unless requested via the LLL cmake option
This commit is contained in:
chriseth 2018-11-14 11:11:41 +01:00 committed by GitHub
commit 17e81c6eca
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 28 additions and 6 deletions

View File

@ -146,6 +146,7 @@ jobs:
TERM: xterm
CC: /usr/bin/clang-7
CXX: /usr/bin/clang++-7
CMAKE_OPTIONS: -DLLL=ON
steps:
- checkout
- run:
@ -167,6 +168,7 @@ jobs:
xcode: "10.0.0"
environment:
TERM: xterm
CMAKE_OPTIONS: -DLLL=ON
steps:
- checkout
- run:

View File

@ -11,9 +11,10 @@ eth_policy()
set(PROJECT_VERSION "0.5.1")
project(solidity VERSION ${PROJECT_VERSION})
option(LLL "Build LLL" OFF)
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)
option(INSTALL_LLLC "Include lllc executable in installation" ${LLL})
# Setup cccache.
include(EthCcache)
@ -50,8 +51,10 @@ add_subdirectory(libsolc)
if (NOT EMSCRIPTEN)
add_subdirectory(solc)
add_subdirectory(liblll)
add_subdirectory(lllc)
if (LLL)
add_subdirectory(liblll)
add_subdirectory(lllc)
endif()
endif()
if (TESTS AND NOT EMSCRIPTEN)

View File

@ -4,6 +4,7 @@ Language Features:
Compiler Features:
* Build System: LLL is not built anymore by default. Must configure it with CMake as `-DLLL=ON`.
Bugfixes:

View File

@ -9,6 +9,13 @@ LLL is a low-level language for the EVM with an s-expressions syntax.
The Solidity repository contains an LLL compiler, which shares the assembler subsystem with Solidity.
However, apart from maintaining that it still compiles, no other improvements are made to it.
It is not built unless specifically requested:
.. code-block:: bash
$ cmake -DLLL=ON ..
$ cmake --build .
.. warning::
The LLL codebase is deprecated and will be removed from the Solidity repository in the future.

View File

@ -9,8 +9,10 @@ file(GLOB libevmasm_sources "libevmasm/*.cpp")
file(GLOB libevmasm_headers "libevmasm/*.h")
file(GLOB libyul_sources "libyul/*.cpp")
file(GLOB libyul_headers "libyul/*.h")
file(GLOB liblll_sources "liblll/*.cpp")
file(GLOB liblll_headers "liblll/*.h")
if (LLL)
file(GLOB liblll_sources "liblll/*.cpp")
file(GLOB liblll_headers "liblll/*.h")
endif()
file(GLOB libsolidity_sources "libsolidity/*.cpp")
file(GLOB libsolidity_headers "libsolidity/*.h")
@ -22,7 +24,12 @@ add_executable(soltest ${sources} ${headers}
${liblll_sources} ${liblll_headers}
${libsolidity_sources} ${libsolidity_headers}
)
target_link_libraries(soltest PRIVATE libsolc solidity lll evmasm devcore ${Boost_UNIT_TEST_FRAMEWORK_LIBRARIES})
target_link_libraries(soltest PRIVATE libsolc solidity evmasm devcore ${Boost_UNIT_TEST_FRAMEWORK_LIBRARIES})
if (LLL)
target_link_libraries(soltest PRIVATE lll)
target_compile_definitions(soltest PRIVATE HAVE_LLL=1)
endif()
if (NOT Boost_USE_STATIC_LIBS)
target_compile_definitions(soltest PUBLIC -DBOOST_TEST_DYN_LINK)

View File

@ -160,9 +160,11 @@ test_suite* init_unit_test_suite( int /*argc*/, char* /*argv*/[] )
"SolidityAuctionRegistrar",
"SolidityFixedFeeRegistrar",
"SolidityWallet",
#if HAVE_LLL
"LLLERC20",
"LLLENS",
"LLLEndToEndTest",
#endif
"GasMeterTests",
"SolidityEndToEndTest",
"SolidityOptimizer"