mirror of
https://github.com/lifting-bits/mcsema
synced 2026-06-08 15:31:09 +00:00
Enable builds with GCC (#527)
* Enable builds with GCC * Update travis.sh
This commit is contained in:
+1
-1
@@ -1 +1 @@
|
||||
084fe9f39059490657a065b20ec890bb25fd092a
|
||||
20bfadd947c74cad53c17061eddf055565e46463
|
||||
|
||||
+11
-8
@@ -1,6 +1,3 @@
|
||||
# This is an exact copy of the cmake/settings.cmake file in the Remill
|
||||
# repository; you are encouraged to keep them in sync
|
||||
|
||||
# This is only executed once; use a macro (and not a function) so that
|
||||
# everything defined here does not end up in a separate namespace
|
||||
macro(main)
|
||||
@@ -88,15 +85,21 @@ macro(main)
|
||||
set(GLOBAL_CXXFLAGS
|
||||
-Wall -Wextra -Wno-unused-parameter -Wno-c++98-compat
|
||||
-Wno-unreachable-code-return -Wno-nested-anon-types
|
||||
-Wno-extended-offsetof -Wgnu-alignof-expression
|
||||
-Wno-gnu-anonymous-struct -Wno-gnu-designator
|
||||
-Wno-variadic-macros -Wno-gnu-zero-variadic-macro-arguments
|
||||
-Wno-gnu-statement-expression -Wno-return-type-c-linkage
|
||||
-Wno-extended-offsetof
|
||||
-Wno-variadic-macros -Wno-return-type-c-linkage
|
||||
-Wno-c99-extensions -Wno-ignored-attributes -Wno-unused-local-typedef
|
||||
-Wno-unknown-pragmas -Wno-unknown-warning-option -fPIC
|
||||
-fno-omit-frame-pointer -fvisibility-inlines-hidden -fno-exceptions
|
||||
-fno-asynchronous-unwind-tables -fno-rtti
|
||||
-fno-asynchronous-unwind-tables
|
||||
)
|
||||
|
||||
if ("${CMAKE_C_COMPILER_ID}" STREQUAL "Clang" OR "${CMAKE_C_COMPILER_ID}" STREQUAL "AppleClang")
|
||||
set(GLOBAL_CXXFLAGS
|
||||
${GLOBAL_CXXFLAGS}
|
||||
-Wgnu-alignof-expression -Wno-gnu-anonymous-struct -Wno-gnu-designator
|
||||
-Wno-gnu-zero-variadic-macro-arguments -Wno-gnu-statement-expression
|
||||
)
|
||||
endif()
|
||||
|
||||
# debug symbols
|
||||
if(CMAKE_BUILD_TYPE STREQUAL "Debug" OR CMAKE_BUILD_TYPE STREQUAL "RelWithDebInfo")
|
||||
|
||||
+1
-8
@@ -8,6 +8,7 @@ function(FindAndSelectClangCompiler)
|
||||
if(DEFINED LLVM_INSTALL_PREFIX)
|
||||
list(APPEND FINDPACKAGE_LLVM_HINTS "${LLVM_INSTALL_PREFIX}/lib/cmake/llvm/")
|
||||
list(APPEND FINDPACKAGE_LLVM_HINTS "${LLVM_INSTALL_PREFIX}/share/llvm/cmake/")
|
||||
set(FINDPACKAGE_LLVM_HINTS ${FINDPACKAGE_LLVM_HINTS} PARENT_SCOPE)
|
||||
|
||||
message(STATUS "Using LLVM_INSTALL_PREFIX hints for find_package(LLVM): ${FINDPACKAGE_LLVM_HINTS}")
|
||||
endif()
|
||||
@@ -28,10 +29,6 @@ function(FindAndSelectClangCompiler)
|
||||
set(CMAKE_C_COMPILER "clang" PARENT_SCOPE)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if (NOT "${CMAKE_C_COMPILER_ID}" STREQUAL "Clang" AND NOT "${CMAKE_C_COMPILER_ID}" STREQUAL "AppleClang")
|
||||
message(FATAL_ERROR "Remill and its dependent libraries must be compiled with Clang.")
|
||||
endif()
|
||||
|
||||
if(NOT DEFINED CMAKE_CXX_COMPILER)
|
||||
if(DEFINED LLVM_INSTALL_PREFIX)
|
||||
@@ -41,10 +38,6 @@ function(FindAndSelectClangCompiler)
|
||||
set(CMAKE_CXX_COMPILER "clang++${executable_extension}" PARENT_SCOPE)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if (NOT "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang" AND NOT "${CMAKE_CXX_COMPILER_ID}" STREQUAL "AppleClang")
|
||||
message(FATAL_ERROR "Remill and its dependent libraries must be compiled with Clang.")
|
||||
endif()
|
||||
|
||||
if(NOT DEFINED CMAKE_ASM_COMPILER)
|
||||
if(DEFINED LLVM_INSTALL_PREFIX)
|
||||
|
||||
+2
-2
@@ -162,8 +162,8 @@ linux_build() {
|
||||
local log_file=`mktemp`
|
||||
|
||||
# set up ada support for cmake
|
||||
# Old supported versions: "35" "36" "37" "38" "39"
|
||||
llvm_version_list=( "40" "50" "60" )
|
||||
# Old supported versions: "35" "36" "37" "38" "39" "40"
|
||||
llvm_version_list=( "50" "60" )
|
||||
for llvm_version in "${llvm_version_list[@]}" ; do
|
||||
printf "#\n"
|
||||
printf "# Running CI tests for LLVM version ${llvm_version}...\n"
|
||||
|
||||
Reference in New Issue
Block a user