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
|
TERM: xterm
|
||||||
CC: /usr/bin/clang-7
|
CC: /usr/bin/clang-7
|
||||||
CXX: /usr/bin/clang++-7
|
CXX: /usr/bin/clang++-7
|
||||||
|
CMAKE_OPTIONS: -DLLL=ON
|
||||||
steps:
|
steps:
|
||||||
- checkout
|
- checkout
|
||||||
- run:
|
- run:
|
||||||
@ -167,6 +168,7 @@ jobs:
|
|||||||
xcode: "10.0.0"
|
xcode: "10.0.0"
|
||||||
environment:
|
environment:
|
||||||
TERM: xterm
|
TERM: xterm
|
||||||
|
CMAKE_OPTIONS: -DLLL=ON
|
||||||
steps:
|
steps:
|
||||||
- checkout
|
- checkout
|
||||||
- run:
|
- run:
|
||||||
|
@ -11,9 +11,10 @@ eth_policy()
|
|||||||
set(PROJECT_VERSION "0.5.1")
|
set(PROJECT_VERSION "0.5.1")
|
||||||
project(solidity VERSION ${PROJECT_VERSION})
|
project(solidity VERSION ${PROJECT_VERSION})
|
||||||
|
|
||||||
|
option(LLL "Build LLL" OFF)
|
||||||
option(SOLC_LINK_STATIC "Link solc executable statically on supported platforms" 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(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.
|
# Setup cccache.
|
||||||
include(EthCcache)
|
include(EthCcache)
|
||||||
@ -50,8 +51,10 @@ add_subdirectory(libsolc)
|
|||||||
|
|
||||||
if (NOT EMSCRIPTEN)
|
if (NOT EMSCRIPTEN)
|
||||||
add_subdirectory(solc)
|
add_subdirectory(solc)
|
||||||
add_subdirectory(liblll)
|
if (LLL)
|
||||||
add_subdirectory(lllc)
|
add_subdirectory(liblll)
|
||||||
|
add_subdirectory(lllc)
|
||||||
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if (TESTS AND NOT EMSCRIPTEN)
|
if (TESTS AND NOT EMSCRIPTEN)
|
||||||
|
@ -4,6 +4,7 @@ Language Features:
|
|||||||
|
|
||||||
|
|
||||||
Compiler Features:
|
Compiler Features:
|
||||||
|
* Build System: LLL is not built anymore by default. Must configure it with CMake as `-DLLL=ON`.
|
||||||
|
|
||||||
|
|
||||||
Bugfixes:
|
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.
|
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.
|
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::
|
.. warning::
|
||||||
|
|
||||||
The LLL codebase is deprecated and will be removed from the Solidity repository in the future.
|
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 libevmasm_headers "libevmasm/*.h")
|
||||||
file(GLOB libyul_sources "libyul/*.cpp")
|
file(GLOB libyul_sources "libyul/*.cpp")
|
||||||
file(GLOB libyul_headers "libyul/*.h")
|
file(GLOB libyul_headers "libyul/*.h")
|
||||||
file(GLOB liblll_sources "liblll/*.cpp")
|
if (LLL)
|
||||||
file(GLOB liblll_headers "liblll/*.h")
|
file(GLOB liblll_sources "liblll/*.cpp")
|
||||||
|
file(GLOB liblll_headers "liblll/*.h")
|
||||||
|
endif()
|
||||||
file(GLOB libsolidity_sources "libsolidity/*.cpp")
|
file(GLOB libsolidity_sources "libsolidity/*.cpp")
|
||||||
file(GLOB libsolidity_headers "libsolidity/*.h")
|
file(GLOB libsolidity_headers "libsolidity/*.h")
|
||||||
|
|
||||||
@ -22,7 +24,12 @@ add_executable(soltest ${sources} ${headers}
|
|||||||
${liblll_sources} ${liblll_headers}
|
${liblll_sources} ${liblll_headers}
|
||||||
${libsolidity_sources} ${libsolidity_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)
|
if (NOT Boost_USE_STATIC_LIBS)
|
||||||
target_compile_definitions(soltest PUBLIC -DBOOST_TEST_DYN_LINK)
|
target_compile_definitions(soltest PUBLIC -DBOOST_TEST_DYN_LINK)
|
||||||
|
@ -160,9 +160,11 @@ test_suite* init_unit_test_suite( int /*argc*/, char* /*argv*/[] )
|
|||||||
"SolidityAuctionRegistrar",
|
"SolidityAuctionRegistrar",
|
||||||
"SolidityFixedFeeRegistrar",
|
"SolidityFixedFeeRegistrar",
|
||||||
"SolidityWallet",
|
"SolidityWallet",
|
||||||
|
#if HAVE_LLL
|
||||||
"LLLERC20",
|
"LLLERC20",
|
||||||
"LLLENS",
|
"LLLENS",
|
||||||
"LLLEndToEndTest",
|
"LLLEndToEndTest",
|
||||||
|
#endif
|
||||||
"GasMeterTests",
|
"GasMeterTests",
|
||||||
"SolidityEndToEndTest",
|
"SolidityEndToEndTest",
|
||||||
"SolidityOptimizer"
|
"SolidityOptimizer"
|
||||||
|
Loading…
Reference in New Issue
Block a user