diff options
author | Ronan Collobert <locronan@fb.com> | 2017-04-19 03:41:10 +0300 |
---|---|---|
committer | Ronan Collobert <locronan@fb.com> | 2017-04-19 03:41:10 +0300 |
commit | 38429af5a15c573b74dbef7077a4dd85dc402318 (patch) | |
tree | 8f73cc1bb069b33097a520048b2f72bd4c1c3cef | |
parent | 87c6475363613b0508e92e788a723267cdf3e51d (diff) |
luajit 2.{0,1}: fixing/improving CMakeLists.txt
-rw-r--r-- | luajit-2.0/CMakeLists.txt | 39 | ||||
-rw-r--r-- | luajit-2.1/CMakeLists.txt | 64 |
2 files changed, 68 insertions, 35 deletions
diff --git a/luajit-2.0/CMakeLists.txt b/luajit-2.0/CMakeLists.txt index 702f56d..3c2ae0a 100644 --- a/luajit-2.0/CMakeLists.txt +++ b/luajit-2.0/CMakeLists.txt @@ -87,44 +87,49 @@ MARK_AS_ADVANCED( LUA_USE_ASSERT ) +MACRO(ADD_MANDATORY_DEFINITIONS stuff) + ADD_DEFINITIONS(${stuff}) + SET(CMAKE_REQUIRED_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS} ${stuff}) +ENDMACRO() + IF(LUAJIT_DISABLE_FFI) - ADD_DEFINITIONS(-DLUAJIT_DISABLE_FFI) + ADD_MANDATORY_DEFINITIONS(-DLUAJIT_DISABLE_FFI) ENDIF() IF(LUAJIT_ENABLE_LUA52COMPAT) - ADD_DEFINITIONS(-DLUAJIT_ENABLE_LUA52COMPAT) + ADD_MANDATORY_DEFINITIONS(-DLUAJIT_ENABLE_LUA52COMPAT) ENDIF() IF(LUAJIT_DISABLE_JIT) - ADD_DEFINITIONS(-DLUAJIT_DISABLE_JIT) + ADD_MANDATORY_DEFINITIONS(-DLUAJIT_DISABLE_JIT) ENDIF() IF(LUAJIT_CPU_SSE2) - ADD_DEFINITIONS(-DLUAJIT_CPU_SSE2) + ADD_MANDATORY_DEFINITIONS(-DLUAJIT_CPU_SSE2) ENDIF() IF(LUAJIT_CPU_NOCMOV) - ADD_DEFINITIONS(-DLUAJIT_CPU_NOCMOV) + ADD_MANDATORY_DEFINITIONS(-DLUAJIT_CPU_NOCMOV) ENDIF() IF(LUAJIT_USE_SYSMALLOC) - ADD_DEFINITIONS(-DLUAJIT_USE_SYSMALLOC) + ADD_MANDATORY_DEFINITIONS(-DLUAJIT_USE_SYSMALLOC) ENDIF() IF(LUAJIT_USE_VALGRIND) - ADD_DEFINITIONS(-DLUAJIT_USE_VALGRIND) + ADD_MANDATORY_DEFINITIONS(-DLUAJIT_USE_VALGRIND) ENDIF() IF(LUAJIT_USE_GDBJIT) - ADD_DEFINITIONS(-DLUAJIT_USE_GDBJIT) + ADD_MANDATORY_DEFINITIONS(-DLUAJIT_USE_GDBJIT) ENDIF() IF(LUA_USE_APICHECK) - ADD_DEFINITIONS(-DLUA_USE_APICHECK) + ADD_MANDATORY_DEFINITIONS(-DLUA_USE_APICHECK) ENDIF() IF(LUA_USE_ASSERT) - ADD_DEFINITIONS(-DLUA_USE_ASSERT) + ADD_MANDATORY_DEFINITIONS(-DLUA_USE_ASSERT) ENDIF() ###### @@ -137,9 +142,8 @@ ENDIF() if ( WIN32 AND NOT CYGWIN ) set(LUA_BUILD_AS_DLL 1) add_definitions ( -DLUA_BUILD_AS_DLL -DLUAJIT_OS=LUAJIT_OS_WINDOWS) - set ( LJVM_MODE coffasm ) + set ( LJVM_MODE peobj ) elseif ( APPLE ) - set ( CMAKE_EXE_LINKER_FLAGS "-pagezero_size 10000 -image_base 100000000 ${CMAKE_EXE_LINKER_FLAGS}" ) set ( LJVM_MODE machasm ) else () set ( LJVM_MODE elfasm ) @@ -212,8 +216,6 @@ ENDFOREACH() IF(NOT TARGET_LJARCH) MESSAGE(FATAL_ERROR "architecture not supported") -ELSE() - MESSAGE(STATUS "LuaJIT target ${TARGET_LJARCH}") ENDIF() SET(DASM_ARCH ${TARGET_LJARCH}) @@ -250,6 +252,11 @@ IF(NOT LJ_ABI_SOFTFP_1) ELSE() LIST(APPEND TARGET_ARCH "LJ_ABI_SOFTFP=1") ENDIF() +LJ_TEST_ARCH_VALUE(LJ_NO_UNWIND 1) +IF(LJ_NO_UNWIND_1) + SET(DASM_FLAGS ${DASM_FLAGS} -D NO_UNWIND) + LIST(APPEND TARGET_ARCH "LUAJIT_NO_UNWIND") +ENDIF() IF(WIN32) SET(DASM_FLAGS ${DASM_FLAGS} -LN -D WIN) ENDIF() @@ -260,6 +267,10 @@ IF(TARGET_LJARCH STREQUAL "x86") ENDIF() ENDIF() IF(TARGET_LJARCH STREQUAL "x64") + IF(APPLE) + set ( CMAKE_EXE_LINKER_FLAGS "-pagezero_size 10000 -image_base 100000000 ${CMAKE_EXE_LINKER_FLAGS}" ) + set ( CMAKE_SHARED_LINKER_FLAGS "-image_base 7fff04c4a000" ${CMAKE_SHARED_LINKER_FLAGS}) + ENDIF() SET(DASM_ARCH "x86") ENDIF() IF(TARGET_LJARCH STREQUAL "ppc") diff --git a/luajit-2.1/CMakeLists.txt b/luajit-2.1/CMakeLists.txt index c59eae9..fb50ef6 100644 --- a/luajit-2.1/CMakeLists.txt +++ b/luajit-2.1/CMakeLists.txt @@ -74,6 +74,8 @@ option ( LUAJIT_USE_GDBJIT "Luajit uses GDBJIT?" OFF ) option ( LUA_USE_APICHECK "LuaJIT does API checks?" OFF ) option ( LUA_USE_ASSERT "LuaJIT does asserts?" OFF ) +option ( LUAJIT_ENABLE_GC64 "LuaJIT 64 bits support" OFF ) + MARK_AS_ADVANCED( LUAJIT_DISABLE_FFI LUAJIT_ENABLE_LUA52COMPAT @@ -85,46 +87,56 @@ MARK_AS_ADVANCED( LUAJIT_USE_GDBJIT LUA_USE_APICHECK LUA_USE_ASSERT + LUAJIT_ENABLE_GC64 ) +MACRO(ADD_MANDATORY_DEFINITIONS stuff) + ADD_DEFINITIONS(${stuff}) + SET(CMAKE_REQUIRED_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS} ${stuff}) +ENDMACRO() + IF(LUAJIT_DISABLE_FFI) - ADD_DEFINITIONS(-DLUAJIT_DISABLE_FFI) + ADD_MANDATORY_DEFINITIONS(-DLUAJIT_DISABLE_FFI) ENDIF() IF(LUAJIT_ENABLE_LUA52COMPAT) - ADD_DEFINITIONS(-DLUAJIT_ENABLE_LUA52COMPAT) + ADD_MANDATORY_DEFINITIONS(-DLUAJIT_ENABLE_LUA52COMPAT) ENDIF() IF(LUAJIT_DISABLE_JIT) - ADD_DEFINITIONS(-DLUAJIT_DISABLE_JIT) + ADD_MANDATORY_DEFINITIONS(-DLUAJIT_DISABLE_JIT) ENDIF() IF(LUAJIT_CPU_SSE2) - ADD_DEFINITIONS(-DLUAJIT_CPU_SSE2) + ADD_MANDATORY_DEFINITIONS(-DLUAJIT_CPU_SSE2) ENDIF() IF(LUAJIT_CPU_NOCMOV) - ADD_DEFINITIONS(-DLUAJIT_CPU_NOCMOV) + ADD_MANDATORY_DEFINITIONS(-DLUAJIT_CPU_NOCMOV) ENDIF() IF(LUAJIT_USE_SYSMALLOC) - ADD_DEFINITIONS(-DLUAJIT_USE_SYSMALLOC) + ADD_MANDATORY_DEFINITIONS(-DLUAJIT_USE_SYSMALLOC) ENDIF() IF(LUAJIT_USE_VALGRIND) - ADD_DEFINITIONS(-DLUAJIT_USE_VALGRIND) + ADD_MANDATORY_DEFINITIONS(-DLUAJIT_USE_VALGRIND) ENDIF() IF(LUAJIT_USE_GDBJIT) - ADD_DEFINITIONS(-DLUAJIT_USE_GDBJIT) + ADD_MANDATORY_DEFINITIONS(-DLUAJIT_USE_GDBJIT) ENDIF() IF(LUA_USE_APICHECK) - ADD_DEFINITIONS(-DLUA_USE_APICHECK) + ADD_MANDATORY_DEFINITIONS(-DLUA_USE_APICHECK) ENDIF() IF(LUA_USE_ASSERT) - ADD_DEFINITIONS(-DLUA_USE_ASSERT) + ADD_MANDATORY_DEFINITIONS(-DLUA_USE_ASSERT) +ENDIF() + +IF(LUAJIT_ENABLE_GC64) + ADD_MANDATORY_DEFINITIONS(-DLUAJIT_ENABLE_GC64) ENDIF() ###### @@ -137,9 +149,8 @@ ENDIF() if ( WIN32 AND NOT CYGWIN ) set(LUA_BUILD_AS_DLL 1) add_definitions ( -DLUA_BUILD_AS_DLL -DLUAJIT_OS=LUAJIT_OS_WINDOWS) - set ( LJVM_MODE coffasm ) + set ( LJVM_MODE peobj ) elseif ( APPLE ) - set ( CMAKE_EXE_LINKER_FLAGS "-pagezero_size 10000 -image_base 100000000 ${CMAKE_EXE_LINKER_FLAGS}" ) set ( LJVM_MODE machasm ) else () set ( LJVM_MODE elfasm ) @@ -217,14 +228,18 @@ ENDFOREACH() IF(NOT TARGET_LJARCH) MESSAGE(FATAL_ERROR "architecture not supported") -ELSE() - MESSAGE(STATUS "LuaJIT target ${TARGET_LJARCH}") ENDIF() SET(DASM_ARCH ${TARGET_LJARCH}) SET(DASM_FLAGS) SET(TARGET_ARCH) LIST(APPEND TARGET_ARCH "LUAJIT_TARGET=LUAJIT_ARCH_${TARGET_LJARCH}") +LJ_TEST_ARCH_VALUE(LJ_LE 1) +IF(LJ_LE_1) + SET(DASM_FLAGS ${DASM_FLAGS} -D ENDIAN_LE) +ELSEIF() + SET(DASM_FLAGS ${DASM_FLAGS} -D ENDIAN_BE) +ENDIF() LJ_TEST_ARCH_VALUE(LJ_ARCH_BITS 64) IF(LJ_ARCH_BITS_64) SET(DASM_FLAGS ${DASM_FLAGS} -D P64) @@ -255,17 +270,24 @@ IF(NOT LJ_ABI_SOFTFP_1) ELSE() LIST(APPEND TARGET_ARCH "LJ_ABI_SOFTFP=1") ENDIF() +LJ_TEST_ARCH_VALUE(LJ_NO_UNWIND 1) +IF(LJ_NO_UNWIND_1) + SET(DASM_FLAGS ${DASM_FLAGS} -D NO_UNWIND) + LIST(APPEND TARGET_ARCH "LUAJIT_NO_UNWIND") +ENDIF() IF(WIN32) SET(DASM_FLAGS ${DASM_FLAGS} -LN -D WIN) ENDIF() -IF(TARGET_LJARCH STREQUAL "x86") - LJ_TEST_ARCH_VALUE(__SSE2__ 1) - IF(__SSE2__1) - SET(DASM_FLAGS ${DASM_FLAGS} -D SSE) - ENDIF() -ENDIF() IF(TARGET_LJARCH STREQUAL "x64") - SET(DASM_ARCH "x86") + IF(APPLE) + set ( CMAKE_EXE_LINKER_FLAGS "-pagezero_size 10000 -image_base 100000000 ${CMAKE_EXE_LINKER_FLAGS}" ) + set ( CMAKE_SHARED_LINKER_FLAGS "-image_base 7fff04c4a000" ${CMAKE_SHARED_LINKER_FLAGS}) + ENDIF() + + LJ_TEST_ARCH_VALUE(LJ_FR2 1) + IF(NOT LJ_FR2_1) + SET(DASM_ARCH "x86") + ENDIF() ENDIF() IF(TARGET_LJARCH STREQUAL "ppc") LJ_TEST_ARCH_VALUE(LJ_ARCH_SQRT 1) |