mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Merge pull request #5410 from ethereum/lll-build
Do not build LLL unless requested via the LLL cmake option
This commit is contained in:
commit
17e81c6eca
@ -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:
|
||||
|
@ -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)
|
||||
|
@ -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:
|
||||
|
@ -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.
|
||||
|
@ -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)
|
||||
|
@ -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"
|
||||
|
Loading…
Reference in New Issue
Block a user