Diff
checker
Text
Text
Images
Documents
Excel
Folders
Legal
Enterprise
Desktop
Pricing
Sign in
Download Diffchecker Desktop
Compare text
Find the difference between two text files
Tools
History
Real-time editor
Hide whitespace changes
Hide unchanged lines
Disable line wrap
Layout
Split
Unified
Diff precision
Smart
Word
Char
Text styles
Change appearance
Syntax highlighting
Choose syntax
Ignore
Transform text
Go to first change
Edit input
Diffchecker Desktop
The most secure way to run Diffchecker. Get the Diffchecker Desktop app: your diffs never leave your computer!
Get Desktop
txiki.js CMakeLists.txt FFI support removed
Created
10 months ago
Diff never expires
Clear
Export
Share
Explain
42 removals
Lines
Total
Removed
Characters
Total
Removed
To continue using this feature, upgrade to
Diff
checker
Pro
View Pricing
181 lines
Copy
1 addition
Lines
Total
Added
Characters
Total
Added
To continue using this feature, upgrade to
Diff
checker
Pro
View Pricing
140 lines
Copy
cmake_minimum_required(VERSION 3.14)
cmake_minimum_required(VERSION 3.14)
project(tjs LANGUAGES C)
project(tjs LANGUAGES C)
include(ExternalProject)
include(ExternalProject)
include(GNUInstallDirs)
include(GNUInstallDirs)
if (NOT CMAKE_BUILD_TYPE)
if (NOT CMAKE_BUILD_TYPE)
message(STATUS "No build type selected, default to Release")
message(STATUS "No build type selected, default to Release")
set(CMAKE_BUILD_TYPE "Release")
set(CMAKE_BUILD_TYPE "Release")
endif()
endif()
message(STATUS "Building in ${CMAKE_BUILD_TYPE} mode")
message(STATUS "Building in ${CMAKE_BUILD_TYPE} mode")
message(STATUS "Building with ${CMAKE_C_COMPILER_ID} ${CMAKE_C_COMPILER_VERSION} on ${CMAKE_SYSTEM}")
message(STATUS "Building with ${CMAKE_C_COMPILER_ID} ${CMAKE_C_COMPILER_VERSION} on ${CMAKE_SYSTEM}")
set(CMAKE_C_STANDARD_REQUIRED ON)
set(CMAKE_C_STANDARD_REQUIRED ON)
set(CMAKE_C_EXTENSIONS ON)
set(CMAKE_C_EXTENSIONS ON)
set(CMAKE_C_STANDARD 11)
set(CMAKE_C_STANDARD 11)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
list(APPEND tjs_cflags -Wall -g)
list(APPEND tjs_cflags -Wall -g)
if (CMAKE_BUILD_TYPE MATCHES "Debug")
if (CMAKE_BUILD_TYPE MATCHES "Debug")
list(APPEND tjs_cflags -ggdb -O0 -fno-omit-frame-pointer)
list(APPEND tjs_cflags -ggdb -O0 -fno-omit-frame-pointer)
endif()
endif()
set(TJS__VERSION_MAJOR 24)
set(TJS__VERSION_MAJOR 24)
set(TJS__VERSION_MINOR 12)
set(TJS__VERSION_MINOR 12)
set(TJS__VERSION_PATCH 0)
set(TJS__VERSION_PATCH 0)
set(TJS__VERSION_SUFFIX "")
set(TJS__VERSION_SUFFIX "")
configure_file(
configure_file(
"${CMAKE_CURRENT_SOURCE_DIR}/src/version.h.in"
"${CMAKE_CURRENT_SOURCE_DIR}/src/version.h.in"
"${CMAKE_CURRENT_SOURCE_DIR}/src/version.h"
"${CMAKE_CURRENT_SOURCE_DIR}/src/version.h"
)
)
macro(cpr_option OPTION_NAME OPTION_TEXT OPTION_DEFAULT)
macro(cpr_option OPTION_NAME OPTION_TEXT OPTION_DEFAULT)
option(${OPTION_NAME} ${OPTION_TEXT} ${OPTION_DEFAULT})
option(${OPTION_NAME} ${OPTION_TEXT} ${OPTION_DEFAULT})
if(DEFINED ENV{${OPTION_NAME}})
if(DEFINED ENV{${OPTION_NAME}})
# Allow setting the option through an environment variable
# Allow setting the option through an environment variable
set(${OPTION_NAME} $ENV{${OPTION_NAME}})
set(${OPTION_NAME} $ENV{${OPTION_NAME}})
endif()
endif()
if(${OPTION_NAME})
if(${OPTION_NAME})
add_definitions(-D${OPTION_NAME})
add_definitions(-D${OPTION_NAME})
endif()
endif()
message(STATUS " ${OPTION_NAME}: ${${OPTION_NAME}}")
message(STATUS " ${OPTION_NAME}: ${${OPTION_NAME}}")
endmacro()
endmacro()
cpr_option(BUILD_WITH_MIMALLOC "If ON (default), build with mimalloc" ON)
cpr_option(BUILD_WITH_MIMALLOC "If ON (default), build with mimalloc" ON)
cpr_option(USE_EXTERNAL_FFI "Specify to use external ffi dependency" OFF)
cpr_option(USE_EXTERNAL_FFI "Specify to use external ffi dependency" OFF)
add_subdirectory(deps/quickjs EXCLUDE_FROM_ALL)
add_subdirectory(deps/quickjs EXCLUDE_FROM_ALL)
option(libuv_buildtests "" OFF)
option(libuv_buildtests "" OFF)
add_subdirectory(deps/libuv EXCLUDE_FROM_ALL)
add_subdirectory(deps/libuv EXCLUDE_FROM_ALL)
add_subdirectory(deps/sqlite3 EXCLUDE_FROM_ALL)
add_subdirectory(deps/sqlite3 EXCLUDE_FROM_ALL)
set(BUILD_WASI "simple" CACHE STRING "WASI implementation")
set(BUILD_WASI "simple" CACHE STRING "WASI implementation")
add_subdirectory(deps/wasm3 EXCLUDE_FROM_ALL)
add_subdirectory(deps/wasm3 EXCLUDE_FROM_ALL)
if(BUILD_WITH_MIMALLOC)
if(BUILD_WITH_MIMALLOC)
option(MI_OVERRIDE "" OFF)
option(MI_OVERRIDE "" OFF)
option(MI_BUILD_SHARED "" OFF)
option(MI_BUILD_SHARED "" OFF)
option(MI_BUILD_STATIC "" ON)
option(MI_BUILD_STATIC "" ON)
option(MI_BUILD_OBJECT "" OFF)
option(MI_BUILD_OBJECT "" OFF)
option(MI_BUILD_TESTS "" OFF)
option(MI_BUILD_TESTS "" OFF)
add_subdirectory(deps/mimalloc EXCLUDE_FROM_ALL)
add_subdirectory(deps/mimalloc EXCLUDE_FROM_ALL)
endif()
endif()
find_package(CURL REQUIRED)
find_package(CURL REQUIRED)
add_library(tjs STATIC
add_library(tjs STATIC
src/builtins.c
src/builtins.c
src/curl-utils.c
src/curl-utils.c
src/curl-websocket.c
src/curl-websocket.c
src/error.c
src/error.c
src/eval.c
src/eval.c
src/mem.c
src/mem.c
src/modules.c
src/modules.c
src/sha1.c
src/sha1.c
src/signals.c
src/signals.c
src/timers.c
src/timers.c
src/utils.c
src/utils.c
src/version.c
src/version.c
src/vm.c
src/vm.c
src/wasm.c
src/wasm.c
src/worker.c
src/worker.c
src/ws.c
src/ws.c
src/xhr.c
src/xhr.c
src/mod_dns.c
src/mod_dns.c
src/mod_engine.c
src/mod_engine.c
Copy
Copied
Copy
Copied
src/mod_ffi.c
src/mod_fs.c
src/mod_fs.c
src/mod_fswatch.c
src/mod_fswatch.c
src/mod_os.c
src/mod_os.c
src/mod_process.c
src/mod_process.c
src/mod_sqlite3.c
src/mod_sqlite3.c
src/mod_streams.c
src/mod_streams.c
src/mod_sys.c
src/mod_sys.c
src/mod_udp.c
src/mod_udp.c
src/bundles/c/core/core.c
src/bundles/c/core/core.c
src/bundles/c/core/polyfills.c
src/bundles/c/core/polyfills.c
src/bundles/c/core/run-main.c
src/bundles/c/core/run-main.c
src/bundles/c/core/run-repl.c
src/bundles/c/core/run-repl.c
src/bundles/c/core/worker-bootstrap.c
src/bundles/c/core/worker-bootstrap.c
deps/quickjs/cutils.c
deps/quickjs/cutils.c
)
)
if(UNIX)
if(UNIX)
target_sources(tjs PUBLIC src/mod_posix-socket.c)
target_sources(tjs PUBLIC src/mod_posix-socket.c)
endif()
endif()
Copy
Copied
Copy
Copied
add_library(ffi-test SHARED
tests/fixtures/ffi-test-lib.c
)
add_library(sqlite-test SHARED
tests/fixtures/sqlite-test-ext.c
)
target_link_libraries(sqlite-test sqlite3)
if(NOT USE_EXTERNAL_FFI AND NOT MINGW AND NOT APPLE)
set(LIBFFI_SRC "${CMAKE_CURRENT_SOURCE_DIR}/deps/libffi")
set(TMP_INSTALL_DIR "${CMAKE_CURRENT_BINARY_DIR}/ffi_root")
if(MINGW)
set(LIBFFI_STATIC_PATH ${TMP_INSTALL_DIR}/usr/local/lib/libffi.dll.a)
else()
set(LIBFFI_STATIC_PATH ${TMP_INSTALL_DIR}/usr/local/lib/libffi.a)
endif()
ExternalProject_Add(
libffi
BUILD_IN_SOURCE 1
SOURCE_DIR "${LIBFFI_SRC}"
CONFIGURE_COMMAND ./autogen.sh COMMAND ./configure --enable-static=yes --disable-shared --disable-docs --disable-multi-os-directory
BUILD_COMMAND make
INSTALL_DIR ${TMP_INSTALL_DIR}
INSTALL_COMMAND make DESTDIR=${TMP_INSTALL_DIR} install
EXCLUDE_FROM_ALL TRUE
BUILD_BYPRODUCTS ${LIBFFI_STATIC_PATH}
)
add_dependencies(tjs libffi)
add_library(libffi_a STATIC IMPORTED)
set_target_properties(libffi_a PROPERTIES IMPORTED_LOCATION ${LIBFFI_STATIC_PATH})
target_include_directories(tjs PRIVATE ${TMP_INSTALL_DIR}/usr/local/include)
target_link_libraries(tjs libffi_a)
else()
find_library(FFI_LIB NAMES libffi ffi REQUIRED)
find_path(FFI_INCLUDE_DIR NAMES ffi.h PATH_SUFFIXES ffi REQUIRED)
target_include_directories(tjs PRIVATE ${FFI_INCLUDE_DIR})
target_link_libraries(tjs ${FFI_LIB})
endif()
set_target_properties(tjs PROPERTIES
set_target_properties(tjs PROPERTIES
C_STANDARD 11
C_STANDARD 11
C_STANDARD_REQUIRED ON
C_STANDARD_REQUIRED ON
)
)
string(TOLOWER ${CMAKE_SYSTEM_NAME} TJS_PLATFORM)
string(TOLOWER ${CMAKE_SYSTEM_NAME} TJS_PLATFORM)
target_compile_options(tjs PRIVATE ${tjs_cflags})
target_compile_options(tjs PRIVATE ${tjs_cflags})
target_compile_definitions(tjs PRIVATE TJS__PLATFORM="${TJS_PLATFORM}")
target_compile_definitions(tjs PRIVATE TJS__PLATFORM="${TJS_PLATFORM}")
target_include_directories(tjs PUBLIC src)
target_include_directories(tjs PUBLIC src)
target_link_libraries(tjs qjs uv_a m3 sqlite3 CURL::libcurl)
target_link_libraries(tjs qjs uv_a m3 sqlite3 CURL::libcurl)
if (BUILD_WITH_MIMALLOC)
if (BUILD_WITH_MIMALLOC)
target_compile_definitions(tjs PRIVATE TJS__HAS_MIMALLOC)
target_compile_definitions(tjs PRIVATE TJS__HAS_MIMALLOC)
target_link_libraries(tjs mimalloc-static)
target_link_libraries(tjs mimalloc-static)
endif()
endif()
add_executable(tjs-cli
add_executable(tjs-cli
src/cli.c
src/cli.c
)
)
target_link_libraries(tjs-cli tjs)
target_link_libraries(tjs-cli tjs)
set_target_properties(tjs-cli
set_target_properties(tjs-cli
PROPERTIES OUTPUT_NAME tjs
PROPERTIES OUTPUT_NAME tjs
)
)
add_executable(tjsc EXCLUDE_FROM_ALL
add_executable(tjsc EXCLUDE_FROM_ALL
src/qjsc.c
src/qjsc.c
)
)
target_link_libraries(tjsc qjs)
target_link_libraries(tjsc qjs)
Copy
Copied
Copy
Copied
Saved diffs
Original text
Open file
cmake_minimum_required(VERSION 3.14) project(tjs LANGUAGES C) include(ExternalProject) include(GNUInstallDirs) if (NOT CMAKE_BUILD_TYPE) message(STATUS "No build type selected, default to Release") set(CMAKE_BUILD_TYPE "Release") endif() message(STATUS "Building in ${CMAKE_BUILD_TYPE} mode") message(STATUS "Building with ${CMAKE_C_COMPILER_ID} ${CMAKE_C_COMPILER_VERSION} on ${CMAKE_SYSTEM}") set(CMAKE_C_STANDARD_REQUIRED ON) set(CMAKE_C_EXTENSIONS ON) set(CMAKE_C_STANDARD 11) set(CMAKE_EXPORT_COMPILE_COMMANDS ON) list(APPEND tjs_cflags -Wall -g) if (CMAKE_BUILD_TYPE MATCHES "Debug") list(APPEND tjs_cflags -ggdb -O0 -fno-omit-frame-pointer) endif() set(TJS__VERSION_MAJOR 24) set(TJS__VERSION_MINOR 12) set(TJS__VERSION_PATCH 0) set(TJS__VERSION_SUFFIX "") configure_file( "${CMAKE_CURRENT_SOURCE_DIR}/src/version.h.in" "${CMAKE_CURRENT_SOURCE_DIR}/src/version.h" ) macro(cpr_option OPTION_NAME OPTION_TEXT OPTION_DEFAULT) option(${OPTION_NAME} ${OPTION_TEXT} ${OPTION_DEFAULT}) if(DEFINED ENV{${OPTION_NAME}}) # Allow setting the option through an environment variable set(${OPTION_NAME} $ENV{${OPTION_NAME}}) endif() if(${OPTION_NAME}) add_definitions(-D${OPTION_NAME}) endif() message(STATUS " ${OPTION_NAME}: ${${OPTION_NAME}}") endmacro() cpr_option(BUILD_WITH_MIMALLOC "If ON (default), build with mimalloc" ON) cpr_option(USE_EXTERNAL_FFI "Specify to use external ffi dependency" OFF) add_subdirectory(deps/quickjs EXCLUDE_FROM_ALL) option(libuv_buildtests "" OFF) add_subdirectory(deps/libuv EXCLUDE_FROM_ALL) add_subdirectory(deps/sqlite3 EXCLUDE_FROM_ALL) set(BUILD_WASI "simple" CACHE STRING "WASI implementation") add_subdirectory(deps/wasm3 EXCLUDE_FROM_ALL) if(BUILD_WITH_MIMALLOC) option(MI_OVERRIDE "" OFF) option(MI_BUILD_SHARED "" OFF) option(MI_BUILD_STATIC "" ON) option(MI_BUILD_OBJECT "" OFF) option(MI_BUILD_TESTS "" OFF) add_subdirectory(deps/mimalloc EXCLUDE_FROM_ALL) endif() find_package(CURL REQUIRED) add_library(tjs STATIC src/builtins.c src/curl-utils.c src/curl-websocket.c src/error.c src/eval.c src/mem.c src/modules.c src/sha1.c src/signals.c src/timers.c src/utils.c src/version.c src/vm.c src/wasm.c src/worker.c src/ws.c src/xhr.c src/mod_dns.c src/mod_engine.c src/mod_ffi.c src/mod_fs.c src/mod_fswatch.c src/mod_os.c src/mod_process.c src/mod_sqlite3.c src/mod_streams.c src/mod_sys.c src/mod_udp.c src/bundles/c/core/core.c src/bundles/c/core/polyfills.c src/bundles/c/core/run-main.c src/bundles/c/core/run-repl.c src/bundles/c/core/worker-bootstrap.c deps/quickjs/cutils.c ) if(UNIX) target_sources(tjs PUBLIC src/mod_posix-socket.c) endif() add_library(ffi-test SHARED tests/fixtures/ffi-test-lib.c ) add_library(sqlite-test SHARED tests/fixtures/sqlite-test-ext.c ) target_link_libraries(sqlite-test sqlite3) if(NOT USE_EXTERNAL_FFI AND NOT MINGW AND NOT APPLE) set(LIBFFI_SRC "${CMAKE_CURRENT_SOURCE_DIR}/deps/libffi") set(TMP_INSTALL_DIR "${CMAKE_CURRENT_BINARY_DIR}/ffi_root") if(MINGW) set(LIBFFI_STATIC_PATH ${TMP_INSTALL_DIR}/usr/local/lib/libffi.dll.a) else() set(LIBFFI_STATIC_PATH ${TMP_INSTALL_DIR}/usr/local/lib/libffi.a) endif() ExternalProject_Add( libffi BUILD_IN_SOURCE 1 SOURCE_DIR "${LIBFFI_SRC}" CONFIGURE_COMMAND ./autogen.sh COMMAND ./configure --enable-static=yes --disable-shared --disable-docs --disable-multi-os-directory BUILD_COMMAND make INSTALL_DIR ${TMP_INSTALL_DIR} INSTALL_COMMAND make DESTDIR=${TMP_INSTALL_DIR} install EXCLUDE_FROM_ALL TRUE BUILD_BYPRODUCTS ${LIBFFI_STATIC_PATH} ) add_dependencies(tjs libffi) add_library(libffi_a STATIC IMPORTED) set_target_properties(libffi_a PROPERTIES IMPORTED_LOCATION ${LIBFFI_STATIC_PATH}) target_include_directories(tjs PRIVATE ${TMP_INSTALL_DIR}/usr/local/include) target_link_libraries(tjs libffi_a) else() find_library(FFI_LIB NAMES libffi ffi REQUIRED) find_path(FFI_INCLUDE_DIR NAMES ffi.h PATH_SUFFIXES ffi REQUIRED) target_include_directories(tjs PRIVATE ${FFI_INCLUDE_DIR}) target_link_libraries(tjs ${FFI_LIB}) endif() set_target_properties(tjs PROPERTIES C_STANDARD 11 C_STANDARD_REQUIRED ON ) string(TOLOWER ${CMAKE_SYSTEM_NAME} TJS_PLATFORM) target_compile_options(tjs PRIVATE ${tjs_cflags}) target_compile_definitions(tjs PRIVATE TJS__PLATFORM="${TJS_PLATFORM}") target_include_directories(tjs PUBLIC src) target_link_libraries(tjs qjs uv_a m3 sqlite3 CURL::libcurl) if (BUILD_WITH_MIMALLOC) target_compile_definitions(tjs PRIVATE TJS__HAS_MIMALLOC) target_link_libraries(tjs mimalloc-static) endif() add_executable(tjs-cli src/cli.c ) target_link_libraries(tjs-cli tjs) set_target_properties(tjs-cli PROPERTIES OUTPUT_NAME tjs ) add_executable(tjsc EXCLUDE_FROM_ALL src/qjsc.c ) target_link_libraries(tjsc qjs)
Changed text
Open file
cmake_minimum_required(VERSION 3.14) project(tjs LANGUAGES C) include(ExternalProject) include(GNUInstallDirs) if (NOT CMAKE_BUILD_TYPE) message(STATUS "No build type selected, default to Release") set(CMAKE_BUILD_TYPE "Release") endif() message(STATUS "Building in ${CMAKE_BUILD_TYPE} mode") message(STATUS "Building with ${CMAKE_C_COMPILER_ID} ${CMAKE_C_COMPILER_VERSION} on ${CMAKE_SYSTEM}") set(CMAKE_C_STANDARD_REQUIRED ON) set(CMAKE_C_EXTENSIONS ON) set(CMAKE_C_STANDARD 11) set(CMAKE_EXPORT_COMPILE_COMMANDS ON) list(APPEND tjs_cflags -Wall -g) if (CMAKE_BUILD_TYPE MATCHES "Debug") list(APPEND tjs_cflags -ggdb -O0 -fno-omit-frame-pointer) endif() set(TJS__VERSION_MAJOR 24) set(TJS__VERSION_MINOR 12) set(TJS__VERSION_PATCH 0) set(TJS__VERSION_SUFFIX "") configure_file( "${CMAKE_CURRENT_SOURCE_DIR}/src/version.h.in" "${CMAKE_CURRENT_SOURCE_DIR}/src/version.h" ) macro(cpr_option OPTION_NAME OPTION_TEXT OPTION_DEFAULT) option(${OPTION_NAME} ${OPTION_TEXT} ${OPTION_DEFAULT}) if(DEFINED ENV{${OPTION_NAME}}) # Allow setting the option through an environment variable set(${OPTION_NAME} $ENV{${OPTION_NAME}}) endif() if(${OPTION_NAME}) add_definitions(-D${OPTION_NAME}) endif() message(STATUS " ${OPTION_NAME}: ${${OPTION_NAME}}") endmacro() cpr_option(BUILD_WITH_MIMALLOC "If ON (default), build with mimalloc" ON) cpr_option(USE_EXTERNAL_FFI "Specify to use external ffi dependency" OFF) add_subdirectory(deps/quickjs EXCLUDE_FROM_ALL) option(libuv_buildtests "" OFF) add_subdirectory(deps/libuv EXCLUDE_FROM_ALL) add_subdirectory(deps/sqlite3 EXCLUDE_FROM_ALL) set(BUILD_WASI "simple" CACHE STRING "WASI implementation") add_subdirectory(deps/wasm3 EXCLUDE_FROM_ALL) if(BUILD_WITH_MIMALLOC) option(MI_OVERRIDE "" OFF) option(MI_BUILD_SHARED "" OFF) option(MI_BUILD_STATIC "" ON) option(MI_BUILD_OBJECT "" OFF) option(MI_BUILD_TESTS "" OFF) add_subdirectory(deps/mimalloc EXCLUDE_FROM_ALL) endif() find_package(CURL REQUIRED) add_library(tjs STATIC src/builtins.c src/curl-utils.c src/curl-websocket.c src/error.c src/eval.c src/mem.c src/modules.c src/sha1.c src/signals.c src/timers.c src/utils.c src/version.c src/vm.c src/wasm.c src/worker.c src/ws.c src/xhr.c src/mod_dns.c src/mod_engine.c src/mod_fs.c src/mod_fswatch.c src/mod_os.c src/mod_process.c src/mod_sqlite3.c src/mod_streams.c src/mod_sys.c src/mod_udp.c src/bundles/c/core/core.c src/bundles/c/core/polyfills.c src/bundles/c/core/run-main.c src/bundles/c/core/run-repl.c src/bundles/c/core/worker-bootstrap.c deps/quickjs/cutils.c ) if(UNIX) target_sources(tjs PUBLIC src/mod_posix-socket.c) endif() set_target_properties(tjs PROPERTIES C_STANDARD 11 C_STANDARD_REQUIRED ON ) string(TOLOWER ${CMAKE_SYSTEM_NAME} TJS_PLATFORM) target_compile_options(tjs PRIVATE ${tjs_cflags}) target_compile_definitions(tjs PRIVATE TJS__PLATFORM="${TJS_PLATFORM}") target_include_directories(tjs PUBLIC src) target_link_libraries(tjs qjs uv_a m3 sqlite3 CURL::libcurl) if (BUILD_WITH_MIMALLOC) target_compile_definitions(tjs PRIVATE TJS__HAS_MIMALLOC) target_link_libraries(tjs mimalloc-static) endif() add_executable(tjs-cli src/cli.c ) target_link_libraries(tjs-cli tjs) set_target_properties(tjs-cli PROPERTIES OUTPUT_NAME tjs ) add_executable(tjsc EXCLUDE_FROM_ALL src/qjsc.c ) target_link_libraries(tjsc qjs)
Find difference