From 5910589457c163e8488208dc57f953b19f2491c6 Mon Sep 17 00:00:00 2001 From: Victor Cebollada Date: Tue, 17 Dec 2019 08:37:21 +0000 Subject: [PATCH] VCPKG - CMakeLists.txt updated to build for vcpkg. * MS Windows dependencies added. Change-Id: Ife2ffa29da91b24fe3e559b7484b24167095252e Signed-off-by: Victor Cebollada --- README.md | 1 - build/tizen/CMakeLists.txt | 181 ++++++++++++++------- build/tizen/common.cmake | 5 +- build/tizen/deps-check.cmake | 2 +- build/tizen/profiles/windows-profile.cmake | 81 +++++++++ dali/internal/accessibility/file.list | 72 ++++---- dali/internal/adaptor/file.list | 6 + dali/internal/clipboard/file.list | 11 +- dali/internal/graphics/file.list | 25 +-- dali/internal/imaging/file.list | 58 ++++--- .../internal/imaging/windows/file-download-win.cpp | 1 - dali/internal/input/file.list | 8 + dali/internal/system/file.list | 106 +++++++----- dali/internal/window-system/file.list | 11 ++ third-party/file.list | 12 +- .../windows-platform/Win32File/CustomFile.cpp | 163 +++++++++++++++++++ .../windows-platform/Win32File/CustomFile.h | 28 ++++ .../windows-platform/Win32File/GetRealFileName.cpp | 35 ++++ third-party/windows-platform/Win32File/MemFile.cpp | 159 ++++++++++++++++++ .../windows-platform/Win32File/OriginalFile.cpp | 41 +++++ third-party/windows-platform/dirent.h | 0 third-party/windows-platform/dlfcn.cpp | 29 ++++ third-party/windows-platform/dlfcn.h | 18 ++ third-party/windows-platform/environment.cpp | 26 +++ third-party/windows-platform/extern-definitions.h | 45 +++++ third-party/windows-platform/netinet/in.h | 0 third-party/windows-platform/network.cpp | 11 ++ .../windows-platform/preprocessor-definitions.h | 24 +++ third-party/windows-platform/sys/mman.h | 19 +++ third-party/windows-platform/sys/prctl.h | 8 + third-party/windows-platform/sys/socket.h | 31 ++++ third-party/windows-platform/sys/time.h | 35 ++++ third-party/windows-platform/thread.cpp | 4 + third-party/windows-platform/unistd.h | 9 + 34 files changed, 1088 insertions(+), 177 deletions(-) create mode 100644 build/tizen/profiles/windows-profile.cmake create mode 100644 third-party/windows-platform/Win32File/CustomFile.cpp create mode 100644 third-party/windows-platform/Win32File/CustomFile.h create mode 100644 third-party/windows-platform/Win32File/GetRealFileName.cpp create mode 100644 third-party/windows-platform/Win32File/MemFile.cpp create mode 100644 third-party/windows-platform/Win32File/OriginalFile.cpp create mode 100644 third-party/windows-platform/dirent.h create mode 100644 third-party/windows-platform/dlfcn.cpp create mode 100644 third-party/windows-platform/dlfcn.h create mode 100644 third-party/windows-platform/environment.cpp create mode 100644 third-party/windows-platform/extern-definitions.h create mode 100644 third-party/windows-platform/netinet/in.h create mode 100644 third-party/windows-platform/network.cpp create mode 100644 third-party/windows-platform/preprocessor-definitions.h create mode 100644 third-party/windows-platform/sys/mman.h create mode 100644 third-party/windows-platform/sys/prctl.h create mode 100644 third-party/windows-platform/sys/socket.h create mode 100644 third-party/windows-platform/sys/time.h create mode 100644 third-party/windows-platform/thread.cpp create mode 100644 third-party/windows-platform/unistd.h diff --git a/README.md b/README.md index f976ac7..cc06c82 100644 --- a/README.md +++ b/README.md @@ -54,4 +54,3 @@ See the README.md in dali-adaptor/automated-tests. ### DEBUG Builds $ gbs build -A [TARGET_ARCH] --define "%enable_debug 1" - diff --git a/build/tizen/CMakeLists.txt b/build/tizen/CMakeLists.txt index 6fb9363..fd6681a 100644 --- a/build/tizen/CMakeLists.txt +++ b/build/tizen/CMakeLists.txt @@ -1,20 +1,22 @@ -CMAKE_MINIMUM_REQUIRED(VERSION 2.6) +CMAKE_MINIMUM_REQUIRED(VERSION 3.1) CMAKE_POLICY(SET CMP0012 NEW) # Prevent dereferencing of OFF/ON as variables SET(CMAKE_CXX_STANDARD 11) SET(CMAKE_C_STANDARD 99) - PROJECT(${name} CXX) SET(PKG_NAME ${name}) SET(name "dali-adaptor") SET(GCC_COMPILER_VERSION_REQUIRED "6") -if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU") - if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS GCC_COMPILER_VERSION_REQUIRED) - message(FATAL_ERROR "The GCC required compiler version is " ${GCC_COMPILER_VERSION_REQUIRED}) - endif() -endif() +IF(CMAKE_CXX_COMPILER_ID STREQUAL "GNU") + IF(CMAKE_CXX_COMPILER_VERSION VERSION_LESS GCC_COMPILER_VERSION_REQUIRED) + MESSAGE(FATAL_ERROR "The GCC required compiler version is " ${GCC_COMPILER_VERSION_REQUIRED}) + ENDIF() +ENDIF() + +OPTION(ENABLE_PKG_CONFIGURE "Use pkgconfig" ON) +OPTION(ENABLE_LINK_TEST "Enable the link test" ON) # Include additional macros INCLUDE( common.cmake ) @@ -44,12 +46,27 @@ SET(${name}_VERSION ${${name}_VERSION_MAJOR}.${${name}_VERSION_MINOR}.${${name}_ SET(DALI_ADAPTOR_VERSION ${${name}_VERSION} ) -ADD_DEFINITIONS(-DPLATFORM_TIZEN) -ADD_DEFINITIONS(-DPIC -DSTDC_HEADERS) +IF( WIN32 ) # WIN32 includes x64 as well according to the cmake doc. + FIND_PACKAGE( dali-windows-dependencies REQUIRED) + FIND_PACKAGE( dali-core REQUIRED) + FIND_PATH( SYSTEM_INCLUDE_DIR "dali-windows-dependencies.h" ) +ENDIF() + +IF( UNIX ) + ADD_DEFINITIONS(-DPLATFORM_TIZEN) + ADD_DEFINITIONS(-DPIC -DSTDC_HEADERS) -IF("${ARCH}" STREQUAL "arm") - ADD_DEFINITIONS("-DTARGET") -ENDIF("${ARCH}" STREQUAL "arm") + IF("${ARCH}" STREQUAL "arm") + ADD_DEFINITIONS("-DTARGET") + ENDIF("${ARCH}" STREQUAL "arm") +ELSEIF( WIN32 ) # WIN32 includes x64 as well according to the cmake doc. + IF(NOT DEFINED STATIC) + ADD_DEFINITIONS( "-DBUILDING_DALI_ADAPTOR" ) + ENDIF() + + ADD_DEFINITIONS( "-DDALI_ADAPTOR_COMPILATION" ) + ADD_DEFINITIONS( "-D_NSIG=65" ) +ENDIF() # Deployment folder should come from spec file or command line: SET( PREFIX ${CMAKE_INSTALL_PREFIX}) @@ -65,27 +82,33 @@ IF( NOT INCLUDE_DIR ) ENDIF() # Set up the lib dir -SET( LIB_DIR $ENV{libdir} ) -IF( NOT LIB_DIR ) - SET( LIB_DIR ${CMAKE_INSTALL_LIBDIR} ) -ENDIF() -IF( NOT LIB_DIR ) +IF( SET_VCPKG_INSTALL_PREFIX ) SET( LIB_DIR ${PREFIX}/lib ) + SET( BIN_DIR ${PREFIX}/bin ) +ELSE() + SET( LIB_DIR $ENV{libdir} ) + IF( NOT LIB_DIR ) + SET( LIB_DIR ${CMAKE_INSTALL_LIBDIR} ) + ENDIF() + IF( NOT LIB_DIR ) + SET( LIB_DIR ${PREFIX}/lib ) + ENDIF() ENDIF() -INCLUDE( deps-check.cmake ) +IF( UNIX ) + INCLUDE( deps-check.cmake ) +ENDIF() # Set up compiler flags and warnings -#SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11" ) -#ADD_COMPILE_OPTIONS( -Wnon-virtual-dtor -Woverloaded-virtual -Wold-style-cast ) - -# TODO: Clang is a lot more strict with warnings, we should address -# those issues at some point. -#IF( NOT "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang" ) - #ADD_COMPILE_OPTIONS( -Werror ) -#ENDIF() - -ADD_COMPILE_OPTIONS( -Wall ${DALI_CFLAGS} )# -Wextra -Wno-unused-parameter )# -Wfloat-equal ) +IF( UNIX ) + ADD_COMPILE_OPTIONS( -Wall ${DALI_CFLAGS} )# -Wextra -Wno-unused-parameter )# -Wfloat-equal ) +ELSEIF( WIN32 ) # WIN32 includes x64 as well according to the cmake doc. + ADD_COMPILE_OPTIONS( /FIdali-windows-dependencies.h ) # + ADD_COMPILE_OPTIONS( /FIextern-definitions.h ) # Adds missing definitions. + ADD_COMPILE_OPTIONS( /FIpreprocessor-definitions.h ) # + ADD_COMPILE_OPTIONS( /vmg ) # Avoids a 'reinterpret_cast' compile error while compiling signals and callbacks. + ADD_COMPILE_OPTIONS( /TP ) # All files considered C++ +ENDIF() ADD_DEFINITIONS( -DNON_POWER_OF_TWO_TEXTURES ${DEFINITIONS} ) @@ -107,19 +130,29 @@ INCLUDE( module-list.cmake ) # Include profile specific setup INCLUDE( profiles/${PROFILE_LCASE}-profile.cmake ) -# Configure the pkg-config file -# Requires the following variables to be setup: -# @PREFIX@ @EXEC_PREFIX@ @DALI_ADAPTOR_VERSION@ @LIB_DIR@ @DEV_INCLUDE_PATH@ -SET( DEV_INCLUDE_PATH ${INCLUDE_DIR} ) -SET( ADAPTOR_PKG_CFG_FILE ${CMAKE_CURRENT_SOURCE_DIR}/dali-adaptor.pc ) -SET( ADAPTOR_INTEGRATION_PKG_CFG_FILE ${CMAKE_CURRENT_SOURCE_DIR}/dali-adaptor-integration.pc ) -CONFIGURE_FILE( ${ADAPTOR_PKG_CFG_FILE}.in ${ADAPTOR_PKG_CFG_FILE} @ONLY ) -CONFIGURE_FILE( ${ADAPTOR_INTEGRATION_PKG_CFG_FILE}.in ${ADAPTOR_INTEGRATION_PKG_CFG_FILE} @ONLY ) +IF( ENABLE_PKG_CONFIGURE ) + # Configure the pkg-config file + # Requires the following variables to be setup: + # @PREFIX@ @EXEC_PREFIX@ @DALI_ADAPTOR_VERSION@ @LIB_DIR@ @DEV_INCLUDE_PATH@ + SET( DEV_INCLUDE_PATH ${INCLUDE_DIR} ) + SET( ADAPTOR_PKG_CFG_FILE ${CMAKE_CURRENT_SOURCE_DIR}/dali-adaptor.pc ) + SET( ADAPTOR_INTEGRATION_PKG_CFG_FILE ${CMAKE_CURRENT_SOURCE_DIR}/dali-adaptor-integration.pc ) + CONFIGURE_FILE( ${ADAPTOR_PKG_CFG_FILE}.in ${ADAPTOR_PKG_CFG_FILE} @ONLY ) + CONFIGURE_FILE( ${ADAPTOR_INTEGRATION_PKG_CFG_FILE}.in ${ADAPTOR_INTEGRATION_PKG_CFG_FILE} @ONLY ) +ENDIF() + CONFIGURE_FILE( ${CMAKE_CURRENT_SOURCE_DIR}/system-cache-path.in ${ADAPTOR_ROOT}/dali/internal/adaptor/common/system-cache-path.cpp @ONLY) +SET( THIRD_PARTY_WINDOWS_PLATFORM "" ) +IF( WIN32 ) + SET( THIRD_PARTY_WINDOWS_PLATFORM ${ROOT_SRC_DIR}/third-party/windows-platform ) +ENDIF() + INCLUDE_DIRECTORIES( ${ROOT_SRC_DIR} ${PROFILE_INCLUDE_DIRECTORIES} + ${THIRD_PARTY_WINDOWS_PLATFORM} + ${SYSTEM_INCLUDE_DIR} ) SET(LIBTYPE SHARED) @@ -129,10 +162,12 @@ ENDIF() ADD_LIBRARY( ${name} ${LIBTYPE} ${SOURCES} ) -# pthread required due to gcc issue -FIND_LIBRARY( PTHREAD pthread ) -IF( PTHREAD AND NOT ANDROID_PROFILE ) - SET( OPTIONAL_LIBS ${OPTIONAL_LIBS} -lpthread ) +IF( UNIX ) + # pthread required due to gcc issue + FIND_LIBRARY( PTHREAD pthread ) + IF( PTHREAD AND NOT ANDROID_PROFILE ) + SET( OPTIONAL_LIBS ${OPTIONAL_LIBS} -lpthread ) + ENDIF() ENDIF() TARGET_LINK_LIBRARIES( ${name} @@ -150,11 +185,35 @@ SET_TARGET_PROPERTIES( ${name} ) # Install the library so file and symlinks -INSTALL( TARGETS ${name} DESTINATION ${LIB_DIR} ) +IF( INSTALL_CMAKE_MODULES ) + INSTALL( TARGETS ${name} + EXPORT ${name}-targets + LIBRARY DESTINATION ${LIB_DIR} + ARCHIVE DESTINATION ${LIB_DIR} + RUNTIME DESTINATION ${BIN_DIR} + ) + + INSTALL( + EXPORT ${name}-targets + NAMESPACE ${name}:: + FILE ${name}-targets.cmake + DESTINATION share/${name} + ) + + FILE(WRITE ${CMAKE_CURRENT_BINARY_DIR}/${name}-config.cmake " + include(CMakeFindDependencyMacro) + include(\${CMAKE_CURRENT_LIST_DIR}/${name}-targets.cmake) + ") + install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${name}-config.cmake DESTINATION share/${name}) +ELSE() + INSTALL( TARGETS ${name} DESTINATION ${LIB_DIR} ) +ENDIF() -# Install the pkg-config file -INSTALL( FILES ${ADAPTOR_PKG_CFG_FILE} DESTINATION ${LIB_DIR}/pkgconfig ) -INSTALL( FILES ${ADAPTOR_INTEGRATION_PKG_CFG_FILE} DESTINATION ${LIB_DIR}/pkgconfig ) +IF( ENABLE_PKG_CONFIGURE ) + # Install the pkg-config file + INSTALL( FILES ${ADAPTOR_PKG_CFG_FILE} DESTINATION ${LIB_DIR}/pkgconfig ) + INSTALL( FILES ${ADAPTOR_INTEGRATION_PKG_CFG_FILE} DESTINATION ${LIB_DIR}/pkgconfig ) +ENDIF() # macro for installing headers by replacing prefix. (TODO, investigate # if there is a CMAKE way of doing this automatically) @@ -202,7 +261,7 @@ SET( package_doxy_dir ${ADAPTOR_ROOT}/doc ) INCLUDE( ${ADAPTOR_ROOT}/doc/file.list ) INSTALL( FILES ${package_doxy_files} DESTINATION ${packagedoxydir} ) -IF( NOT UBUNTU_PROFILE AND NOT ANDROID_PROFILE ) +IF( NOT UBUNTU_PROFILE AND NOT ANDROID_PROFILE AND NOT WINDOWS_PROFILE ) INSTALL( FILES ${public_api_adaptor_tizen_header_files} DESTINATION ${tizenadaptorframeworkpublicapidir} ) IF( NOT WAYLAND ) INSTALL( FILES ${devel_api_adaptor_tizen_x11_header_files} DESTINATION ${tizenadaptorframeworkdevelapidir} ) @@ -217,7 +276,7 @@ INSTALL( FILES ${public_dali_capture_header_files} DESTINATION ${tizencapturepub IF( ANDROID_PROFILE ) SET( daliShaderbinCacheDir ${CMAKE_INSTALL_PREFIX}/core/shaderbin/) INSTALL( DIRECTORY DESTINATION ${daliShaderbinCacheDir} ) -ELSE() +ELSEIF( UNIX ) SET( daliShaderbinCacheDir ${CMAKE_BINARY_DIR}/${dataReadOnlyDir}/core/shaderbin/) INSTALL( DIRECTORY DESTINATION ${dataReadOnlyDir}/core/shaderbin ) ENDIF() @@ -229,7 +288,7 @@ INSTALL( FILES ${ADAPTOR_ROOT}/adaptors/scripts/dalireslog.sh DESTINATION ${CMAK # The DALI_ADAPTOR_PREFIX must be set if this CMakeLists.txt is executed # from the top-level CMake script using ADD_SUBDIRECTORY() to avoid # target names duplication with other DALi modules. -IF( UNIX AND NOT ANDROID ) +IF( ENABLE_COVERAGE ) FIND_PROGRAM( LCOV_BIN "lcov" ) IF( LCOV_BIN ) @@ -289,19 +348,21 @@ IF( UNIX AND NOT ANDROID ) ) ENDIF( LCOV_BIN ) -ENDIF( UNIX AND NOT ANDROID ) +ENDIF() -# Linker Test -SET( DALI_TEST_SUITE_DIR ${ROOT_SRC_DIR}/automated-tests/src/dali/dali-test-suite-utils ) -SET( LINKER_TEST_NAME ${DALI_ADAPTOR_PREFIX}linker-test ) -SET( LINKER_TEST_SOURCES - linker-test.cpp -) -ADD_EXECUTABLE( ${LINKER_TEST_NAME} ${LINKER_TEST_SOURCES} ) -MESSAGE(STATUS "libs: ${DALICORE_LDFLAGS}") -TARGET_COMPILE_OPTIONS( ${LINKER_TEST_NAME} PRIVATE -I${ROOT_SRC_DIR} ${DALICORE_CFLAGS} ) -TARGET_LINK_LIBRARIES(${LINKER_TEST_NAME} ${name} ${DALICORE_LDFLAGS} ${VCONF_LDFLAGS} ${HARFBUZZ_LDFLAGS} ) -TARGET_INCLUDE_DIRECTORIES( ${LINKER_TEST_NAME} PRIVATE ${DALI_TEST_SUITE_DIR} ) +IF( ENABLE_LINK_TEST ) + # Linker Test + SET( DALI_TEST_SUITE_DIR ${ROOT_SRC_DIR}/automated-tests/src/dali/dali-test-suite-utils ) + SET( LINKER_TEST_NAME ${DALI_ADAPTOR_PREFIX}linker-test ) + SET( LINKER_TEST_SOURCES + linker-test.cpp + ) + ADD_EXECUTABLE( ${LINKER_TEST_NAME} ${LINKER_TEST_SOURCES} ) + MESSAGE(STATUS "libs: ${DALICORE_LDFLAGS}") + TARGET_COMPILE_OPTIONS( ${LINKER_TEST_NAME} PRIVATE -I${ROOT_SRC_DIR} ${DALICORE_CFLAGS} ) + TARGET_LINK_LIBRARIES(${LINKER_TEST_NAME} ${name} ${DALICORE_LDFLAGS} ${VCONF_LDFLAGS} ${HARFBUZZ_LDFLAGS} ) + TARGET_INCLUDE_DIRECTORIES( ${LINKER_TEST_NAME} PRIVATE ${DALI_TEST_SUITE_DIR} ) +ENDIF() # Configuration Messages MESSAGE( STATUS "Configuration:\n" ) @@ -319,6 +380,8 @@ MESSAGE( STATUS "Shader Binary Cache: ${ENABLE_SHADERBINCACHE}") MESSAGE( STATUS "Network logging enabled: ${ENABLE_NETWORKLOGGING}") MESSAGE( STATUS "Font config file: ${fontConfigurationFile}") MESSAGE( STATUS "Using Tizen APP FW libraries: ${ENABLE_APPFW}") +MESSAGE( STATUS "Use pkg configure: ${ENABLE_PKG_CONFIGURE}" ) +MESSAGE( STATUS "Enable link test: ${ENABLE_LINK_TEST}" ) MESSAGE( STATUS "Tizen Platform Config supported ${TIZEN_PLATFORM_CONFIG_SUPPORTED_LOGMSG}") MESSAGE( STATUS "Compile flags: ${CMAKE_CXX_FLAGS}") IF( enable_feedback ) diff --git a/build/tizen/common.cmake b/build/tizen/common.cmake index 8149385..83a3dd4 100644 --- a/build/tizen/common.cmake +++ b/build/tizen/common.cmake @@ -1,10 +1,13 @@ # Find dependencies ( linux, tizen ) -FIND_PACKAGE(PkgConfig REQUIRED) +IF( ENABLE_PKG_CONFIGURE ) + FIND_PACKAGE(PkgConfig REQUIRED) +ENDIF() # Special constant for ARG_ENABLE function SET( ENABLE_VAL "#ENABLE_VAL" ) SET( HELP_ENABLES "" ) SET( CUSTOM_ARGUMENTS "" ) + # Macro checks if the module is available and sets user variable MACRO( CHECK_MODULE_AND_SET PKG_VAR PKG_LIB_REQUIREMENTS VAR_TO_SET ) PKG_CHECK_MODULES(${PKG_VAR} "${PKG_LIB_REQUIREMENTS}") diff --git a/build/tizen/deps-check.cmake b/build/tizen/deps-check.cmake index 87cd511..da06257 100644 --- a/build/tizen/deps-check.cmake +++ b/build/tizen/deps-check.cmake @@ -42,7 +42,7 @@ IF( NOT enable_profile ) ENDIF() # Test for profile and exit if something wrong -SET( VALID_PROFILES COMMON MOBILE WEARABLE TV IVI UBUNTU ANDROID ) +SET( VALID_PROFILES COMMON MOBILE WEARABLE TV IVI UBUNTU ANDROID WINDOWS ) LIST( FIND VALID_PROFILES ${enable_profile} RESULT ) IF( RESULT EQUAL -1 ) MESSAGE( FATAL_ERROR "Invalid profile!" ) diff --git a/build/tizen/profiles/windows-profile.cmake b/build/tizen/profiles/windows-profile.cmake new file mode 100644 index 0000000..1d11354 --- /dev/null +++ b/build/tizen/profiles/windows-profile.cmake @@ -0,0 +1,81 @@ +# PROFILE: WINDOWS + +# Set the sources +SET( SOURCES + ${adaptor_accessibility_common_src_files} + ${adaptor_accessibility_windows_src_files} + ${adaptor_adaptor_common_src_files} + ${adaptor_clipboard_common_src_files} + ${adaptor_framework_generic_src_files} + ${devel_api_src_files} + ${adaptor_devel_api_text_abstraction_src_files} + ${adaptor_graphics_common_src_files} + ${adaptor_graphics_gles_src_files} + ${adaptor_haptics_common_src_files} + ${adaptor_imaging_common_src_files} + ${adaptor_input_common_src_files} + ${adaptor_integration_api_src_files} + ${adaptor_legacy_common_src_files} + ${adaptor_network_common_src_files} + ${adaptor_public_api_src_files} + ${adaptor_sensor_common_src_files} + ${adaptor_styling_common_src_files} + ${adaptor_system_common_src_files} + ${adaptor_system_windows_src_files} + ${adaptor_text_common_src_files} + ${adaptor_resampler_src_files} + ${adaptor_vector_animation_common_src_files} + ${adaptor_video_common_src_files} + ${adaptor_web_engine_common_src_files} + ${adaptor_window_system_common_src_files} + ${adaptor_trace_common_src_files} + ${adaptor_thread_common_src_files} + ${devel_api_text_abstraction_src_files} + ${static_libraries_glyphy_src_files} + ${static_libraries_libunibreak_src_files} + ${adaptor_windows_platform_src_files} + ${adaptor_adaptor_windows_src_files} + ${adaptor_window_system_windows_src_files} + ${adaptor_graphics_windows_src_files} + ${adaptor_input_windows_src_files} + ${adaptor_clipboard_windows_src_files} + ${adaptor_imaging_windows_src_files} +) + +FIND_PACKAGE( pthreads REQUIRED ) +FIND_PACKAGE( curl REQUIRED ) +FIND_LIBRARY( GETOPT_LIBRARY NAMES getopt ) +FIND_LIBRARY( EXIF_LIBRARY NAMES libexif ) + +FIND_PACKAGE( png REQUIRED ) +FIND_PACKAGE( gif REQUIRED ) +FIND_PACKAGE( jpeg REQUIRED ) +FIND_LIBRARY( TURBO_JPEG_LIBRARY NAMES turbojpeg ) + +FIND_PACKAGE( fontconfig REQUIRED ) +FIND_PACKAGE( freetype REQUIRED ) +FIND_PACKAGE( harfbuzz REQUIRED ) +FIND_LIBRARY( FRIBIDI_LIBRARY NAMES fribidi ) + +FIND_PACKAGE( unofficial-angle REQUIRED ) +FIND_PACKAGE( unofficial-cairo REQUIRED ) + +# Set the linker flags +SET( REQUIRED_LIBS + PThreads4W::PThreads4W + CURL::libcurl + ${GETOPT_LIBRARY} + ${EXIF_LIBRARY} + ${PNG_LIBRARIES} + ${GIF_LIBRARIES} + JPEG::JPEG + ${TURBO_JPEG_LIBRARY} + ${FONTCONFIG_LIBRARIES} + Freetype::Freetype + harfbuzz::harfbuzz + ${FRIBIDI_LIBRARY} + unofficial::angle::libEGL + unofficial::angle::libGLESv2 + unofficial::cairo::cairo + dali-core::dali-core +) diff --git a/dali/internal/accessibility/file.list b/dali/internal/accessibility/file.list index 65a527a..d2ff157 100755 --- a/dali/internal/accessibility/file.list +++ b/dali/internal/accessibility/file.list @@ -1,70 +1,74 @@ # module: accessibility, backend: common -SET( adaptor_accessibility_common_src_files - ${adaptor_accessibility_dir}/common/tts-player-factory.cpp - ${adaptor_accessibility_dir}/common/tts-player-impl.cpp - ${adaptor_accessibility_dir}/common/accessibility-adaptor-impl.cpp +SET( adaptor_accessibility_common_src_files + ${adaptor_accessibility_dir}/common/tts-player-factory.cpp + ${adaptor_accessibility_dir}/common/tts-player-impl.cpp + ${adaptor_accessibility_dir}/common/accessibility-adaptor-impl.cpp ${adaptor_accessibility_dir}/common/accessibility-gesture-detector.cpp ) # module: accessibility, backend: tizen-wayland -SET( adaptor_accessibility_tizen_wayland_src_files - ${adaptor_accessibility_dir}/tizen-wayland/tts-player-factory-tizen.cpp +SET( adaptor_accessibility_tizen_wayland_src_files + ${adaptor_accessibility_dir}/tizen-wayland/tts-player-factory-tizen.cpp ${adaptor_accessibility_dir}/tizen-wayland/tts-player-impl-tizen.cpp - ${adaptor_accessibility_dir}/tizen-wayland/atspi/atspi-accessibility-tizen.cpp - ${adaptor_accessibility_dir}/tizen-wayland/atspi/accessibility-impl.cpp - ${adaptor_accessibility_dir}/tizen-wayland/atspi/accessible.cpp - ${adaptor_accessibility_dir}/tizen-wayland/atspi/bridge-accessible.cpp - ${adaptor_accessibility_dir}/tizen-wayland/atspi/bridge-action.cpp - ${adaptor_accessibility_dir}/tizen-wayland/atspi/bridge-base.cpp - ${adaptor_accessibility_dir}/tizen-wayland/atspi/bridge-collection.cpp - ${adaptor_accessibility_dir}/tizen-wayland/atspi/bridge-component.cpp - ${adaptor_accessibility_dir}/tizen-wayland/atspi/bridge-editable-text.cpp - ${adaptor_accessibility_dir}/tizen-wayland/atspi/bridge-impl.cpp - ${adaptor_accessibility_dir}/tizen-wayland/atspi/bridge-object.cpp - ${adaptor_accessibility_dir}/tizen-wayland/atspi/bridge-text.cpp - ${adaptor_accessibility_dir}/tizen-wayland/atspi/bridge-value.cpp - ${adaptor_accessibility_dir}/tizen-wayland/atspi/component.cpp + ${adaptor_accessibility_dir}/tizen-wayland/atspi/atspi-accessibility-tizen.cpp + ${adaptor_accessibility_dir}/tizen-wayland/atspi/accessibility-impl.cpp + ${adaptor_accessibility_dir}/tizen-wayland/atspi/accessible.cpp + ${adaptor_accessibility_dir}/tizen-wayland/atspi/bridge-accessible.cpp + ${adaptor_accessibility_dir}/tizen-wayland/atspi/bridge-action.cpp + ${adaptor_accessibility_dir}/tizen-wayland/atspi/bridge-base.cpp + ${adaptor_accessibility_dir}/tizen-wayland/atspi/bridge-collection.cpp + ${adaptor_accessibility_dir}/tizen-wayland/atspi/bridge-component.cpp + ${adaptor_accessibility_dir}/tizen-wayland/atspi/bridge-editable-text.cpp + ${adaptor_accessibility_dir}/tizen-wayland/atspi/bridge-impl.cpp + ${adaptor_accessibility_dir}/tizen-wayland/atspi/bridge-object.cpp + ${adaptor_accessibility_dir}/tizen-wayland/atspi/bridge-text.cpp + ${adaptor_accessibility_dir}/tizen-wayland/atspi/bridge-value.cpp + ${adaptor_accessibility_dir}/tizen-wayland/atspi/component.cpp ${adaptor_accessibility_dir}/tizen-wayland/atspi/dbus-tizen.cpp - ) # module: accessibility, backend: tizen-common profile -SET( adaptor_accessibility_tizen_common_src_files - ${adaptor_accessibility_dir}/tizen-wayland/tizen-common/accessibility-adaptor-impl-tizen.cpp +SET( adaptor_accessibility_tizen_common_src_files + ${adaptor_accessibility_dir}/tizen-wayland/tizen-common/accessibility-adaptor-impl-tizen.cpp ) # module: accessibility, backend: tizen-ivi profile -SET( adaptor_accessibility_tizen_ivi_src_files +SET( adaptor_accessibility_tizen_ivi_src_files ${adaptor_accessibility_dir}/tizen-wayland/tizen-ivi/accessibility-adaptor-impl-ivi.cpp ) # module: accessibility, backend: tizen-mobile profile -SET( adaptor_accessibility_tizen_mobile_src_files +SET( adaptor_accessibility_tizen_mobile_src_files ${adaptor_accessibility_dir}/tizen-wayland/tizen-mobile/accessibility-adaptor-impl-mobile.cpp ) # module: accessibility, backend: tizen-tv profile -SET( adaptor_accessibility_tizen_tv_src_files +SET( adaptor_accessibility_tizen_tv_src_files ${adaptor_accessibility_dir}/tizen-wayland/tizen-tv/accessibility-adaptor-impl-tv.cpp ) # module: accessibility, backend: tizen-wearable profile -SET( adaptor_accessibility_tizen_wearable_src_files +SET( adaptor_accessibility_tizen_wearable_src_files ${adaptor_accessibility_dir}/tizen-wayland/tizen-wearable/accessibility-adaptor-impl-wearable.cpp ) # module: accessibility, backend: ubuntu -SET( adaptor_accessibility_ubuntu_src_files - ${adaptor_accessibility_dir}/generic/accessibility-adaptor-impl-generic.cpp - ${adaptor_accessibility_dir}/generic/atspi-accessibility-generic.cpp - ${adaptor_accessibility_dir}/generic/tts-player-factory-generic.cpp +SET( adaptor_accessibility_ubuntu_src_files + ${adaptor_accessibility_dir}/generic/accessibility-adaptor-impl-generic.cpp + ${adaptor_accessibility_dir}/generic/atspi-accessibility-generic.cpp + ${adaptor_accessibility_dir}/generic/tts-player-factory-generic.cpp ${adaptor_accessibility_dir}/generic/tts-player-impl-generic.cpp ) # module: accessibility, backend: android -SET( adaptor_accessibility_android_src_files - ${adaptor_accessibility_dir}/generic/accessibility-adaptor-impl-generic.cpp - ${adaptor_accessibility_dir}/generic/tts-player-factory-generic.cpp +SET( adaptor_accessibility_android_src_files + ${adaptor_accessibility_dir}/generic/accessibility-adaptor-impl-generic.cpp + ${adaptor_accessibility_dir}/generic/tts-player-factory-generic.cpp ${adaptor_accessibility_dir}/generic/tts-player-impl-generic.cpp ) + +# module: accessibility, backend: windows +SET( adaptor_accessibility_windows_src_files + ${adaptor_accessibility_dir}/generic/accessibility-adaptor-impl-generic.cpp +) diff --git a/dali/internal/adaptor/file.list b/dali/internal/adaptor/file.list index 866f6d4..defd518 100644 --- a/dali/internal/adaptor/file.list +++ b/dali/internal/adaptor/file.list @@ -42,4 +42,10 @@ SET( adaptor_adaptor_androidjni_src_files ${adaptor_adaptor_dir}/androidjni/framework-androidjni.cpp ) +# module: adaptor, backend: windows +SET( adaptor_adaptor_windows_src_files + ${adaptor_adaptor_dir}/generic/adaptor-impl-generic.cpp + ${adaptor_adaptor_dir}/windows/framework-win.cpp +) + diff --git a/dali/internal/clipboard/file.list b/dali/internal/clipboard/file.list index 63dd125..7ac026a 100644 --- a/dali/internal/clipboard/file.list +++ b/dali/internal/clipboard/file.list @@ -1,16 +1,16 @@ # module: clipboard, backend: common -SET( adaptor_clipboard_common_src_files +SET( adaptor_clipboard_common_src_files ${adaptor_clipboard_dir}/common/clipboard-event-notifier-impl.cpp ) # module: clipboard, backend: tizen-wayland -SET( adaptor_clipboard_tizen_wayland_src_files +SET( adaptor_clipboard_tizen_wayland_src_files ${adaptor_clipboard_dir}/tizen-wayland/clipboard-impl-ecore-wl.cpp ) # module: clipboard, backend: ubuntu-x11 -SET( adaptor_clipboard_ubuntu_x11_src_files +SET( adaptor_clipboard_ubuntu_x11_src_files ${adaptor_clipboard_dir}/ubuntu-x11/clipboard-impl-x.cpp ) @@ -19,3 +19,8 @@ SET( adaptor_clipboard_android_src_files ${adaptor_clipboard_dir}/generic/clipboard-impl-generic.cpp ) +# module: clipboard, backend: windows +SET( adaptor_clipboard_windows_src_files + ${adaptor_clipboard_dir}/generic/clipboard-impl-generic.cpp +) + diff --git a/dali/internal/graphics/file.list b/dali/internal/graphics/file.list index 0cc9bae..97d4fb9 100644 --- a/dali/internal/graphics/file.list +++ b/dali/internal/graphics/file.list @@ -1,23 +1,23 @@ # module: graphics, backend: gles -SET( adaptor_graphics_gles_src_files - ${adaptor_graphics_dir}/gles/egl-debug.cpp - ${adaptor_graphics_dir}/gles/egl-implementation.cpp - ${adaptor_graphics_dir}/gles/egl-sync-implementation.cpp - ${adaptor_graphics_dir}/gles/egl-context-helper-implementation.cpp - ${adaptor_graphics_dir}/gles/gl-extensions.cpp - ${adaptor_graphics_dir}/gles/gl-proxy-implementation.cpp - ${adaptor_graphics_dir}/gles/egl-graphics-factory.cpp +SET( adaptor_graphics_gles_src_files + ${adaptor_graphics_dir}/gles/egl-debug.cpp + ${adaptor_graphics_dir}/gles/egl-implementation.cpp + ${adaptor_graphics_dir}/gles/egl-sync-implementation.cpp + ${adaptor_graphics_dir}/gles/egl-context-helper-implementation.cpp + ${adaptor_graphics_dir}/gles/gl-extensions.cpp + ${adaptor_graphics_dir}/gles/gl-proxy-implementation.cpp + ${adaptor_graphics_dir}/gles/egl-graphics-factory.cpp ${adaptor_graphics_dir}/gles/egl-graphics.cpp ) # module: graphics, backend: tizen -SET( adaptor_graphics_tizen_src_files +SET( adaptor_graphics_tizen_src_files ${adaptor_graphics_dir}/tizen/egl-image-extensions-tizen.cpp ) # module: graphics, backend: generic -SET( adaptor_graphics_ubuntu_src_files +SET( adaptor_graphics_ubuntu_src_files ${adaptor_graphics_dir}/generic/egl-image-extensions-generic.cpp ) @@ -26,3 +26,8 @@ SET( adaptor_graphics_android_src_files ${adaptor_graphics_dir}/android/egl-image-extensions-android.cpp ) +# module: graphics, backend: windows +SET( adaptor_graphics_windows_src_files + ${adaptor_graphics_dir}/windows-gl/egl-image-extensions.cpp +) + diff --git a/dali/internal/imaging/file.list b/dali/internal/imaging/file.list index 3b77a55..6558e96 100644 --- a/dali/internal/imaging/file.list +++ b/dali/internal/imaging/file.list @@ -1,43 +1,53 @@ # module: imaging, backend: common -SET( adaptor_imaging_common_src_files - ${adaptor_imaging_dir}/common/native-bitmap-buffer-impl.cpp - ${adaptor_imaging_dir}/common/pixel-buffer-impl.cpp - ${adaptor_imaging_dir}/common/alpha-mask.cpp - ${adaptor_imaging_dir}/common/file-download.cpp - ${adaptor_imaging_dir}/common/gaussian-blur.cpp - ${adaptor_imaging_dir}/common/http-utils.cpp - ${adaptor_imaging_dir}/common/image-loader.cpp - ${adaptor_imaging_dir}/common/image-loader-plugin-proxy.cpp - ${adaptor_imaging_dir}/common/image-operations.cpp - ${adaptor_imaging_dir}/common/loader-astc.cpp - ${adaptor_imaging_dir}/common/loader-bmp.cpp - ${adaptor_imaging_dir}/common/loader-gif.cpp - ${adaptor_imaging_dir}/common/loader-ico.cpp - ${adaptor_imaging_dir}/common/loader-jpeg-turbo.cpp - ${adaptor_imaging_dir}/common/loader-ktx.cpp - ${adaptor_imaging_dir}/common/loader-png.cpp - ${adaptor_imaging_dir}/common/loader-wbmp.cpp +SET( adaptor_imaging_common_src_files + ${adaptor_imaging_dir}/common/native-bitmap-buffer-impl.cpp + ${adaptor_imaging_dir}/common/pixel-buffer-impl.cpp + ${adaptor_imaging_dir}/common/alpha-mask.cpp + ${adaptor_imaging_dir}/common/gaussian-blur.cpp + ${adaptor_imaging_dir}/common/http-utils.cpp + ${adaptor_imaging_dir}/common/image-loader.cpp + ${adaptor_imaging_dir}/common/image-loader-plugin-proxy.cpp + ${adaptor_imaging_dir}/common/image-operations.cpp + ${adaptor_imaging_dir}/common/loader-astc.cpp + ${adaptor_imaging_dir}/common/loader-bmp.cpp + ${adaptor_imaging_dir}/common/loader-gif.cpp + ${adaptor_imaging_dir}/common/loader-ico.cpp + ${adaptor_imaging_dir}/common/loader-jpeg-turbo.cpp + ${adaptor_imaging_dir}/common/loader-ktx.cpp + ${adaptor_imaging_dir}/common/loader-png.cpp + ${adaptor_imaging_dir}/common/loader-wbmp.cpp ${adaptor_imaging_dir}/common/pixel-manipulation.cpp ) # module: imaging, backend: tizen -SET( adaptor_imaging_tizen_src_files - ${adaptor_imaging_dir}/tizen/native-image-source-factory-tizen.cpp - ${adaptor_imaging_dir}/tizen/native-image-source-impl-tizen.cpp +SET( adaptor_imaging_tizen_src_files + ${adaptor_imaging_dir}/common/file-download.cpp + ${adaptor_imaging_dir}/tizen/native-image-source-factory-tizen.cpp + ${adaptor_imaging_dir}/tizen/native-image-source-impl-tizen.cpp ${adaptor_imaging_dir}/tizen/native-image-source-queue-impl-tizen.cpp ) # module: imaging, backend: ubuntu-x11 -SET( adaptor_imaging_ubuntu_x11_src_files - ${adaptor_imaging_dir}/ubuntu-x11/native-image-source-factory-x.cpp - ${adaptor_imaging_dir}/ubuntu-x11/native-image-source-impl-x.cpp +SET( adaptor_imaging_ubuntu_x11_src_files + ${adaptor_imaging_dir}/common/file-download.cpp + ${adaptor_imaging_dir}/ubuntu-x11/native-image-source-factory-x.cpp + ${adaptor_imaging_dir}/ubuntu-x11/native-image-source-impl-x.cpp ${adaptor_imaging_dir}/ubuntu-x11/native-image-source-queue-impl-x.cpp ) # module: imaging, backend: android SET( adaptor_imaging_android_src_files + ${adaptor_imaging_dir}/common/file-download.cpp ${adaptor_imaging_dir}/android/native-image-source-factory-android.cpp ${adaptor_imaging_dir}/android/native-image-source-impl-android.cpp ${adaptor_imaging_dir}/android/native-image-source-queue-impl-android.cpp ) + +# module: imaging, backend: windows +SET( adaptor_imaging_windows_src_files + ${adaptor_imaging_dir}/windows/curl-environment-win.cpp + ${adaptor_imaging_dir}/windows/file-download-win.cpp + ${adaptor_imaging_dir}/windows/native-image-source-factory-win.cpp + ${adaptor_imaging_dir}/windows/native-image-source-impl-win.cpp +) diff --git a/dali/internal/imaging/windows/file-download-win.cpp b/dali/internal/imaging/windows/file-download-win.cpp index 2a137af..465ef1c 100755 --- a/dali/internal/imaging/windows/file-download-win.cpp +++ b/dali/internal/imaging/windows/file-download-win.cpp @@ -23,7 +23,6 @@ #include #include #include -#include <../ExInclude/InternalFileOperation.h> // INTERNAL INCLUDES #include diff --git a/dali/internal/input/file.list b/dali/internal/input/file.list index c1bb19e..3e447ce 100644 --- a/dali/internal/input/file.list +++ b/dali/internal/input/file.list @@ -33,3 +33,11 @@ SET( adaptor_input_generic_src_files ${adaptor_input_dir}/generic/key-mapping-generic.cpp ${adaptor_input_dir}/generic/virtual-keyboard-impl-generic.cpp ) + +# module: input, backend: windows +SET( adaptor_input_windows_src_files + ${adaptor_input_dir}/windows/input-method-context-factory-win.cpp + ${adaptor_input_dir}/windows/input-method-context-impl-win.cpp + ${adaptor_input_dir}/windows/key-mapping-win.cpp + ${adaptor_input_dir}/windows/virtual-keyboard-impl-win.cpp +) diff --git a/dali/internal/system/file.list b/dali/internal/system/file.list index bfe5851..4b57b14 100644 --- a/dali/internal/system/file.list +++ b/dali/internal/system/file.list @@ -1,71 +1,83 @@ # module: system, backend: common -SET( adaptor_system_common_src_files - ${adaptor_system_dir}/common/abort-handler.cpp - ${adaptor_system_dir}/common/color-controller-impl.cpp - ${adaptor_system_dir}/common/command-line-options.cpp - ${adaptor_system_dir}/common/environment-options.cpp - ${adaptor_system_dir}/common/fps-tracker.cpp - ${adaptor_system_dir}/common/frame-time-stamp.cpp - ${adaptor_system_dir}/common/frame-time-stats.cpp - ${adaptor_system_dir}/common/kernel-trace.cpp - ${adaptor_system_dir}/common/locale-utils.cpp - ${adaptor_system_dir}/common/object-profiler.cpp - ${adaptor_system_dir}/common/performance-interface-factory.cpp - ${adaptor_system_dir}/common/performance-logger-impl.cpp - ${adaptor_system_dir}/common/performance-marker.cpp - ${adaptor_system_dir}/common/performance-server.cpp - ${adaptor_system_dir}/common/shared-file.cpp - ${adaptor_system_dir}/common/singleton-service-impl.cpp - ${adaptor_system_dir}/common/sound-player-impl.cpp - ${adaptor_system_dir}/common/stat-context.cpp - ${adaptor_system_dir}/common/stat-context-manager.cpp - ${adaptor_system_dir}/common/system-trace.cpp - ${adaptor_system_dir}/common/thread-controller.cpp - ${adaptor_system_dir}/common/time-service.cpp - ${adaptor_system_dir}/common/trigger-event.cpp - ${adaptor_system_dir}/common/trigger-event-factory.cpp - ${adaptor_system_dir}/common/update-status-logger.cpp - ${adaptor_system_dir}/common/widget-application-impl.cpp +SET( adaptor_system_common_src_files + ${adaptor_system_dir}/common/abort-handler.cpp + ${adaptor_system_dir}/common/color-controller-impl.cpp + ${adaptor_system_dir}/common/command-line-options.cpp + ${adaptor_system_dir}/common/environment-options.cpp + ${adaptor_system_dir}/common/fps-tracker.cpp + ${adaptor_system_dir}/common/frame-time-stamp.cpp + ${adaptor_system_dir}/common/frame-time-stats.cpp + ${adaptor_system_dir}/common/kernel-trace.cpp + ${adaptor_system_dir}/common/locale-utils.cpp + ${adaptor_system_dir}/common/object-profiler.cpp + ${adaptor_system_dir}/common/performance-interface-factory.cpp + ${adaptor_system_dir}/common/performance-logger-impl.cpp + ${adaptor_system_dir}/common/performance-marker.cpp + ${adaptor_system_dir}/common/performance-server.cpp + ${adaptor_system_dir}/common/singleton-service-impl.cpp + ${adaptor_system_dir}/common/sound-player-impl.cpp + ${adaptor_system_dir}/common/stat-context.cpp + ${adaptor_system_dir}/common/stat-context-manager.cpp + ${adaptor_system_dir}/common/system-trace.cpp + ${adaptor_system_dir}/common/thread-controller.cpp + ${adaptor_system_dir}/common/time-service.cpp + ${adaptor_system_dir}/common/update-status-logger.cpp + ${adaptor_system_dir}/common/widget-application-impl.cpp ) # module: system, backend: linux -SET( adaptor_system_linux_src_files - ${adaptor_system_dir}/linux/callback-manager-ecore.cpp +SET( adaptor_system_linux_src_files + ${adaptor_system_dir}/common/shared-file.cpp + ${adaptor_system_dir}/common/trigger-event.cpp + ${adaptor_system_dir}/common/trigger-event-factory.cpp + ${adaptor_system_dir}/linux/callback-manager-ecore.cpp ${adaptor_system_dir}/linux/file-descriptor-monitor-ecore.cpp ${adaptor_system_dir}/generic/shared-file-operations-generic.cpp ${adaptor_system_dir}/linux/timer-impl-ecore.cpp ) # module: system, backend: tizen-wayland -SET( adaptor_system_tizen_wayland_src_files +SET( adaptor_system_tizen_wayland_src_files + ${adaptor_system_dir}/common/shared-file.cpp + ${adaptor_system_dir}/common/trigger-event.cpp + ${adaptor_system_dir}/common/trigger-event-factory.cpp ${adaptor_system_dir}/tizen-wayland/logging-tizen.cpp - ${adaptor_system_dir}/tizen-wayland/system-settings-tizen.cpp - ${adaptor_system_dir}/tizen-wayland/widget-application-impl-tizen.cpp + ${adaptor_system_dir}/tizen-wayland/system-settings-tizen.cpp + ${adaptor_system_dir}/tizen-wayland/widget-application-impl-tizen.cpp ${adaptor_system_dir}/tizen-wayland/widget-controller-tizen.cpp ) # module: system, backend: tizen-wearable -SET( adaptor_system_tizen_wearable_src_files +SET( adaptor_system_tizen_wearable_src_files + ${adaptor_system_dir}/common/shared-file.cpp + ${adaptor_system_dir}/common/trigger-event.cpp + ${adaptor_system_dir}/common/trigger-event-factory.cpp ${adaptor_system_dir}/tizen-wayland/logging-tizen.cpp - ${adaptor_system_dir}/tizen-wayland/tizen-wearable/capture.cpp - ${adaptor_system_dir}/tizen-wayland/tizen-wearable/capture-impl-tizen.cpp - ${adaptor_system_dir}/tizen-wayland/tizen-wearable/watch-time.cpp - ${adaptor_system_dir}/tizen-wayland/system-settings-tizen.cpp - ${adaptor_system_dir}/tizen-wayland/widget-application-impl-tizen.cpp + ${adaptor_system_dir}/tizen-wayland/tizen-wearable/capture.cpp + ${adaptor_system_dir}/tizen-wayland/tizen-wearable/capture-impl-tizen.cpp + ${adaptor_system_dir}/tizen-wayland/tizen-wearable/watch-time.cpp + ${adaptor_system_dir}/tizen-wayland/system-settings-tizen.cpp + ${adaptor_system_dir}/tizen-wayland/widget-application-impl-tizen.cpp ${adaptor_system_dir}/tizen-wayland/widget-controller-tizen.cpp ) # module: system, backend: ubuntu-x11 -SET( adaptor_system_ubuntu_x11_src_files +SET( adaptor_system_ubuntu_x11_src_files + ${adaptor_system_dir}/common/shared-file.cpp + ${adaptor_system_dir}/common/trigger-event.cpp + ${adaptor_system_dir}/common/trigger-event-factory.cpp ${adaptor_system_dir}/ubuntu-x11/logging-x.cpp - ${adaptor_system_dir}/ubuntu-x11/system-settings-x.cpp - ${adaptor_system_dir}/ubuntu-x11/widget-application-impl-x.cpp + ${adaptor_system_dir}/ubuntu-x11/system-settings-x.cpp + ${adaptor_system_dir}/ubuntu-x11/widget-application-impl-x.cpp ${adaptor_system_dir}/ubuntu-x11/widget-controller-x.cpp ) # module: system, backend: android SET( adaptor_system_android_src_files + ${adaptor_system_dir}/common/shared-file.cpp + ${adaptor_system_dir}/common/trigger-event.cpp + ${adaptor_system_dir}/common/trigger-event-factory.cpp ${adaptor_system_dir}/android/callback-manager-android.cpp ${adaptor_system_dir}/android/file-descriptor-monitor-android.cpp ${adaptor_system_dir}/android/logging-android.cpp @@ -75,4 +87,14 @@ SET( adaptor_system_android_src_files ${adaptor_system_dir}/android/widget-application-impl-android.cpp ) - +# module: system, backend: windows +SET( adaptor_system_windows_src_files + ${adaptor_system_dir}/windows/callback-manager-win.cpp + ${adaptor_system_dir}/windows/system-settings-win.cpp + ${adaptor_system_dir}/windows/timer-impl-win.cpp + ${adaptor_system_dir}/windows/trigger-event.cpp + ${adaptor_system_dir}/windows/trigger-event-factory.cpp + ${adaptor_system_dir}/windows/logging-win.cpp + ${adaptor_system_dir}/windows/widget-application-impl-win.cpp + ${adaptor_system_dir}/windows/widget-controller-win.cpp +) diff --git a/dali/internal/window-system/file.list b/dali/internal/window-system/file.list index 90c7e83..7dffb60 100644 --- a/dali/internal/window-system/file.list +++ b/dali/internal/window-system/file.list @@ -54,3 +54,14 @@ SET( adaptor_window_system_android_src_files ${adaptor_window_system_dir}/android/window-factory-android.cpp ${adaptor_window_system_dir}/android/window-system-android.cpp ) + +# module: window-system, backend: windows +SET( adaptor_window_system_windows_src_files + ${adaptor_window_system_dir}/windows/display-connection-factory-win.cpp + ${adaptor_window_system_dir}/windows/display-connection-impl-win.cpp + ${adaptor_window_system_dir}/windows/platform-implement-win.cpp + ${adaptor_window_system_dir}/windows/render-surface-factory-win.cpp + ${adaptor_window_system_dir}/windows/window-base-win.cpp + ${adaptor_window_system_dir}/windows/window-factory-win.cpp + ${adaptor_window_system_dir}/windows/window-system-win.cpp +) diff --git a/third-party/file.list b/third-party/file.list index 3448d51..56c0799 100644 --- a/third-party/file.list +++ b/third-party/file.list @@ -20,7 +20,17 @@ SET( static_libraries_libunibreak_src_files ${adaptor_thirdparty_dir}/libunibreak/unibreakdef.c ) -SET( adaptor_resampler_src_files +SET( adaptor_resampler_src_files ${adaptor_thirdparty_dir}/resampler/resampler.cpp ) +SET( adaptor_windows_platform_src_files + ${adaptor_thirdparty_dir}/windows-platform/dlfcn.cpp + ${adaptor_thirdparty_dir}/windows-platform/environment.cpp + ${adaptor_thirdparty_dir}/windows-platform/network.cpp + ${adaptor_thirdparty_dir}/windows-platform/thread.cpp + ${adaptor_thirdparty_dir}/windows-platform/Win32File/CustomFile.cpp + ${adaptor_thirdparty_dir}/windows-platform/Win32File/GetRealFileName.cpp + ${adaptor_thirdparty_dir}/windows-platform/Win32File/MemFile.cpp + ${adaptor_thirdparty_dir}/windows-platform/Win32File/OriginalFile.cpp +) \ No newline at end of file diff --git a/third-party/windows-platform/Win32File/CustomFile.cpp b/third-party/windows-platform/Win32File/CustomFile.cpp new file mode 100644 index 0000000..5992bf7 --- /dev/null +++ b/third-party/windows-platform/Win32File/CustomFile.cpp @@ -0,0 +1,163 @@ +#include "CustomFile.h" + +extern void* MemFOpen( uint8_t* buffer, size_t dataSize, const char * const mode ); +extern void MemFClose( const void *fp ); +extern int MemFRead( void* buf, int eleSize, int count, const void *fp ); +extern void MemFWrite( void *buf, int size, const void *fp ); +extern int MemFSeek( const void *fp, int offset, int origin ); +extern int MemFTell( const void *fp ); +extern bool MemFEof( const void *fp ); + +extern void* OriginalFOpen( const char *name, const char *mode ); +extern int OriginalFClose( const void *fp ); +extern int OriginalFRead( void* buf, int eleSize, int count, const void *fp ); +extern void OriginalFWrite( void *buf, int size, const void *fp ); +extern void OriginalFWrite( void *buf, int eleSize, int count, const void *fp ); +extern int OriginalFSeek( const void *fp, int offset, int origin ); +extern int OriginalFTell( const void *fp ); +extern bool OriginalFEof( const void *fp ); + +namespace std +{ +int GetRealFileMode(const char *path, int _Mode) +{ + std::string strPath = path; + + if ((std::ios::in | std::ios::ate == _Mode) && strPath.find(".json") != std::string::npos) + { + return std::ios::in | std::ios::binary | std::ios::ate; + } + else + { + return _Mode; + } +} + +extern const char* GetRealName(const char *name); +} + +namespace CustomFile +{ +FILE* FOpen( const char *name, const char *mode ) +{ + if( NULL != name && '*' == name[0] ) + { + std::string realName = std::GetRealName( name ); + FILE* ret = (FILE*)OriginalFOpen( realName.c_str(), mode ); + if (NULL == ret) + { + int temp = 0; + } + return ret; + } + else + { + return (FILE*)OriginalFOpen( name, mode ); + } +} + +int FClose( const void* fp ) +{ + if( -1 == *( (char*)fp + 4 ) ) + { + MemFClose( fp ); + return 0; + } + else + { + return OriginalFClose( fp ); + } +} + +FILE* FMemopen( void* buffer, size_t dataSize, const char * mode ) +{ + return (FILE*)MemFOpen( ( uint8_t*)buffer, dataSize, mode ); +} + +int FRead( void* buf, int eleSize, int count, const void *fp ) +{ + if( -1 == *( (char*)fp + 4 ) ) + { + return MemFRead( buf, eleSize, count, fp ); + } + else + { + return OriginalFRead( buf, eleSize, count, fp ); + } +} + +void FWrite( void *buf, int size, const void *fp ) +{ + if( -1 == *( (char*)fp + 4 ) ) + { + MemFWrite( buf, size, fp ); + } + else + { + OriginalFWrite( buf, size, fp ); + } +} + +unsigned int FWrite( const char *buf, unsigned int eleSize, unsigned int count, void *fp ) +{ + if( -1 == *( (char*)fp + 4 ) ) + { + MemFWrite( (void*)buf, eleSize * count, fp ); + } + else + { + OriginalFWrite((void*)buf, eleSize, count, fp ); + } + + return eleSize * count; +} + +int FSeek( const void *fp, int offset, int origin ) +{ + if( -1 == *( (char*)fp + 4 ) ) + { + return MemFSeek( fp, offset, origin ); + } + else + { + return OriginalFSeek( fp, offset, origin ); + } +} + +int FTell( const void *fp ) +{ + if( -1 == *( (char*)fp + 4 ) ) + { + return MemFTell( fp ); + } + else + { + return OriginalFTell( fp ); + } +} + +bool FEof( const void *fp ) +{ + if( -1 == *( (char*)fp + 4 ) ) + { + return MemFEof( fp ); + } + else + { + return OriginalFEof( fp ); + } +} +} + +extern "C" +{ +size_t __cdecl fread_for_c( void* _Buffer, size_t _ElementSize, size_t _ElementCount, void* _Stream ) +{ + return CustomFile::FRead( _Buffer, _ElementSize, _ElementCount, _Stream ); +} + +void __cdecl fwrite_for_c( void *buf, int size, const void *fp ) +{ + CustomFile::FWrite( buf, size, fp ); +} +} diff --git a/third-party/windows-platform/Win32File/CustomFile.h b/third-party/windows-platform/Win32File/CustomFile.h new file mode 100644 index 0000000..4a33531 --- /dev/null +++ b/third-party/windows-platform/Win32File/CustomFile.h @@ -0,0 +1,28 @@ +#ifndef _CUSTOMFILE_INCLUDE_ +#define _CUSTOMFILE_INCLUDE_ + +#include +#include + +namespace CustomFile +{ +FILE* FOpen( const char *name, const char *mode ); + +int FClose( const void* fp ); + +FILE* FMemopen( void* buffer, size_t dataSize, const char * mode ); + +int FRead( void* buf, int eleSize, int count, const void *fp ); + +void FWrite( void *buf, int size, const void *fp ); + +unsigned int FWrite( const char *buf, unsigned int eleSize, unsigned int count, void *fp ); + +int FSeek( const void *fp, int offset, int origin ); + +int FTell( const void *fp ); + +bool FEof( const void *fp ); +} + +#endif diff --git a/third-party/windows-platform/Win32File/GetRealFileName.cpp b/third-party/windows-platform/Win32File/GetRealFileName.cpp new file mode 100644 index 0000000..433a89c --- /dev/null +++ b/third-party/windows-platform/Win32File/GetRealFileName.cpp @@ -0,0 +1,35 @@ +#include + +namespace std +{ +const char* GetRealName( const char *name ) +{ + if( NULL != name && '*' == name[0] ) + { + string envName; + + const char *p = name + 1; + + while( 0 != *p && '*' != *p ) + { + envName.push_back( *p ); + p++; + } + + p++; + + char *envValue = std::getenv( envName.c_str() ); + + static std::string realName; + realName = ""; + realName += envValue; + realName += p; + + return realName.c_str(); + } + else + { + return name; + } +} +} diff --git a/third-party/windows-platform/Win32File/MemFile.cpp b/third-party/windows-platform/Win32File/MemFile.cpp new file mode 100644 index 0000000..922fc84 --- /dev/null +++ b/third-party/windows-platform/Win32File/MemFile.cpp @@ -0,0 +1,159 @@ +#include + +using namespace std; + +typedef unsigned char BYTE; +typedef unsigned int UINT; + +#define SEEK_CUR 1 +#define SEEK_END 2 +#define SEEK_SET 0 + +class CBufferFile +{ +public: + CBufferFile( BYTE* lpBuffer, UINT nBufferSize ) + { + mFlag = 0xFF; + mCurIndex = 0; + mLength = nBufferSize; + + mBuffer = lpBuffer; + } + + virtual ~CBufferFile() + { + Close(); + } + + int Read( void *buf, int size ) + { + int realReadSize = mLength - mCurIndex; + + if( realReadSize > size ) + { + realReadSize = size; + } + + if( 0 < realReadSize ) + { + memcpy( buf, mBuffer + mCurIndex, realReadSize ); + mCurIndex += realReadSize; + } + + return realReadSize; + } + + void Write( void *buf, int size ) + { + memcpy( mBuffer + mCurIndex, buf, size ); + mCurIndex += size; + } + + int Seek( long offset, int origin ) + { + int nextIndex = -1; + + switch( origin ) + { + case SEEK_SET: + nextIndex = offset; + break; + + case SEEK_CUR: + nextIndex = mCurIndex + offset; + break; + + case SEEK_END: + nextIndex = mLength - 1 - offset; + break; + } + + if( nextIndex >= mLength ) + { + nextIndex = -1; + } + + if( 0 > nextIndex ) + { + return 1; + } + else + { + mCurIndex = nextIndex; + return 0; + } + } + + int GetPosition() + { + return mCurIndex; + } + + bool IsEnd() + { + return ( mLength - 1 == mCurIndex ); + } + + void Close() + { + mBuffer = NULL; + + mCurIndex = 0; + mLength = -1; + mFlag = 0; + } + +protected: + +private: + char mFlag; + BYTE *mBuffer; + + UINT mLength; + UINT mCurIndex; +}; + +void* MemFOpen( uint8_t* buffer, size_t dataSize, const char * const mode ) +{ + CBufferFile *pBufferFile = new CBufferFile( buffer, dataSize ); + return pBufferFile; +} + +void MemFClose( const void *fp ) +{ + CBufferFile *file = (CBufferFile*)fp; + printf("MemFClose file 0x%x\n", file); + file->Close(); + delete file; +} + +int MemFRead( void* buf, int eleSize, int count, const void *fp ) +{ + CBufferFile *file = (CBufferFile*)fp; + return file->Read( buf, eleSize * count ); +} + +void MemFWrite( void *buf, int size, const void *fp ) +{ + CBufferFile *file = (CBufferFile*)fp; + file->Write( buf, size ); +} + +int MemFSeek( const void *fp, int offset, int origin ) +{ + CBufferFile *file = (CBufferFile*)fp; + return file->Seek( offset, origin ); +} + +int MemFTell( const void *fp ) +{ + CBufferFile *file = (CBufferFile*)fp; + return file->GetPosition(); +} + +bool MemFEof( const void *fp ) +{ + CBufferFile *file = (CBufferFile*)fp; + return file->IsEnd(); +} diff --git a/third-party/windows-platform/Win32File/OriginalFile.cpp b/third-party/windows-platform/Win32File/OriginalFile.cpp new file mode 100644 index 0000000..5048176 --- /dev/null +++ b/third-party/windows-platform/Win32File/OriginalFile.cpp @@ -0,0 +1,41 @@ +#include "stdio.h" + +void* OriginalFOpen( const char *name, const char *mode ) +{ + return fopen( name, mode ); +} + +int OriginalFClose( const void *fp ) +{ + return fclose( (FILE*)fp ); +} + +int OriginalFRead( void* buf, int eleSize, int count, const void *fp ) +{ + return fread( buf, eleSize, count, (FILE*)fp ); +} + +void OriginalFWrite( void *buf, int size, const void *fp ) +{ + fwrite( buf, size, 1, (FILE*)fp ); +} + +void OriginalFWrite( void *buf, int eleSize, int count, const void *fp ) +{ + fwrite( buf, eleSize, count, (FILE*)fp ); +} + +int OriginalFSeek( const void *fp, int offset, int origin ) +{ + return fseek( (FILE*)fp, offset, origin ); +} + +int OriginalFTell( const void *fp ) +{ + return ftell( (FILE*)fp ); +} + +bool OriginalFEof( const void *fp ) +{ + return (bool)feof( (FILE*)fp ); +} \ No newline at end of file diff --git a/third-party/windows-platform/dirent.h b/third-party/windows-platform/dirent.h new file mode 100644 index 0000000..e69de29 diff --git a/third-party/windows-platform/dlfcn.cpp b/third-party/windows-platform/dlfcn.cpp new file mode 100644 index 0000000..5140ec1 --- /dev/null +++ b/third-party/windows-platform/dlfcn.cpp @@ -0,0 +1,29 @@ +#include +#include + +namespace +{ + char DL_ERROR[2] = ""; +} + +bool dlclose( void* handle ) +{ + return true; +} + +char* dlerror() +{ + return DL_ERROR; +} + +void* dlopen( const char *name, int mode ) +{ + const char* szStr = name; + + return LoadLibrary( szStr ); +} + +void* dlsym( void *handle, const char *name ) +{ + return GetProcAddress( (HMODULE)handle, "CreateFeedbackPlugin" ); +} diff --git a/third-party/windows-platform/dlfcn.h b/third-party/windows-platform/dlfcn.h new file mode 100644 index 0000000..1e4e408 --- /dev/null +++ b/third-party/windows-platform/dlfcn.h @@ -0,0 +1,18 @@ +#ifndef _DLFCN_INCLUDE_ +#define _DLFCN_INCLUDE_ + +#undef PlaySound + +#define RTLD_NOW 0 +#define RTLD_GLOBAL 1 +#define RTLD_LAZY 2 + +bool dlclose( void* handle ); + +char* dlerror(); + +void* dlopen( const char *name, int mode ); + +void* dlsym( void *handle, const char *name ); + +#endif \ No newline at end of file diff --git a/third-party/windows-platform/environment.cpp b/third-party/windows-platform/environment.cpp new file mode 100644 index 0000000..d6dab55 --- /dev/null +++ b/third-party/windows-platform/environment.cpp @@ -0,0 +1,26 @@ +#include +#include + +using namespace std; + +int setenv( const char *__name, const char *__value, int __replace ) +{ + string value = __name; + value += "="; + value += __value; + + return putenv( value.c_str() ); +} + +const char* app_get_data_path() +{ + static std::string envValue = ""; + + if( true == envValue.empty() ) + { + envValue = std::getenv( "DemoData" ); + envValue += "/"; + } + + return envValue.c_str(); +} diff --git a/third-party/windows-platform/extern-definitions.h b/third-party/windows-platform/extern-definitions.h new file mode 100644 index 0000000..814b1e4 --- /dev/null +++ b/third-party/windows-platform/extern-definitions.h @@ -0,0 +1,45 @@ +/* + * Copyright (c) 2019 Samsung Electronics Co., Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#ifndef DALI_ADAPTOR_EXTERN_DEFINITIONS_H +#define DALI_ADAPTOR_EXTERN_DEFINITIONS_H + +#include + +int setenv( const char* __name, const char* __value, int __replace ); +const char* app_get_data_path(); + +static int strncasecmp(const char *s1, const char *s2, register int n) +{ + while (--n >= 0 && toupper((unsigned char)*s1) == toupper((unsigned char)*s2++)) + if (*s1++ == 0) return 0; + return(n < 0 ? 0 : toupper((unsigned char)*s1) - toupper((unsigned char)*--s2)); +} + +int __cdecl setsockopt( int s, int level, int optname, unsigned int * optval, unsigned int optlen ); + +int __cdecl setsockopt( int s, int level, int optname, int * optval, unsigned int optlen ); + + +#define fmemopen CustomFile::FMemopen + +namespace CustomFile +{ + FILE* FMemopen( void* __s, size_t __len, const char* __modes ); +} + +#endif // DALI_ADAPTOR_EXTERN_DEFINITIONS_H diff --git a/third-party/windows-platform/netinet/in.h b/third-party/windows-platform/netinet/in.h new file mode 100644 index 0000000..e69de29 diff --git a/third-party/windows-platform/network.cpp b/third-party/windows-platform/network.cpp new file mode 100644 index 0000000..910831f --- /dev/null +++ b/third-party/windows-platform/network.cpp @@ -0,0 +1,11 @@ +#include + +int __cdecl setsockopt( int s, int level, int optname, unsigned int * optval, unsigned int optlen ) +{ + return setsockopt( (SOCKET)s, level, optname, (const char*)optval, optlen ); +} + +int __cdecl setsockopt( int s, int level, int optname, int * optval, unsigned int optlen ) +{ + return setsockopt( (SOCKET)s, level, optname, (const char*)optval, optlen ); +} \ No newline at end of file diff --git a/third-party/windows-platform/preprocessor-definitions.h b/third-party/windows-platform/preprocessor-definitions.h new file mode 100644 index 0000000..b8af587 --- /dev/null +++ b/third-party/windows-platform/preprocessor-definitions.h @@ -0,0 +1,24 @@ +/* + * Copyright (c) 2019 Samsung Electronics Co., Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#ifndef DALI_ADAPTOR_PREPROCESSOR_DEFINITIONS_H +#define DALI_ADAPTOR_PREPROCESSOR_DEFINITIONS_H + +#define WIN_CALLBACK_EVENT 9999 +#define LC_MESSAGES 0 + +#endif // DALI_ADAPTOR_PREPROCESSOR_DEFINITIONS_H diff --git a/third-party/windows-platform/sys/mman.h b/third-party/windows-platform/sys/mman.h new file mode 100644 index 0000000..8e2e2d9 --- /dev/null +++ b/third-party/windows-platform/sys/mman.h @@ -0,0 +1,19 @@ +#ifndef _MMAN_INCLUDE_ +#define _MMAN_INCLUDE_ + +#define PROT_READ 0 +#define MAP_SHARED 1 + +static void* mmap( void*, long long length, int, int, int handle, int ) +{ + char *buffer = new char[length]; + read( handle, buffer, length ); + return buffer; +} + +static void munmap( void* buffer, long long ) +{ + delete[] buffer; +} + +#endif \ No newline at end of file diff --git a/third-party/windows-platform/sys/prctl.h b/third-party/windows-platform/sys/prctl.h new file mode 100644 index 0000000..5cea4e3 --- /dev/null +++ b/third-party/windows-platform/sys/prctl.h @@ -0,0 +1,8 @@ +#ifndef _PRCTL_INCLUDE_H_ +#define _PRCTL_INCLUDE_H_ + +#define PR_SET_NAME 0 + +int prctl(int type, const char *str); + +#endif \ No newline at end of file diff --git a/third-party/windows-platform/sys/socket.h b/third-party/windows-platform/sys/socket.h new file mode 100644 index 0000000..97ed344 --- /dev/null +++ b/third-party/windows-platform/sys/socket.h @@ -0,0 +1,31 @@ +#ifndef _SOCKET_INCLUDE_ +#define _SOCKET_INCLUDE_ + +#include + +#ifdef ERROR +#undef ERROR +#endif + +#ifdef CopyMemory +#undef CopyMemory +#endif + +#ifdef TRANSPARENT +#undef TRANSPARENT +#endif + +typedef int socklen_t; +char DALI_SOCKET_ERROR[2] = ""; + +char* strerror_r(int, char *, int) +{ + return DALI_SOCKET_ERROR; +} + +int pipe( int* ) +{ + return 1; +} + +#endif \ No newline at end of file diff --git a/third-party/windows-platform/sys/time.h b/third-party/windows-platform/sys/time.h new file mode 100644 index 0000000..928b2c0 --- /dev/null +++ b/third-party/windows-platform/sys/time.h @@ -0,0 +1,35 @@ +#ifndef TIME_INCLUDE +#define TIME_INCLUDE + +#include +#include +#include + +#undef OPAQUE +#undef TRANSPARENT + +#undef ERROR + +#undef TRUE +#undef FALSE + +static int gettimeofday( struct timeval *tp, void *tzp ) +{ + time_t clock; + struct tm tm; + SYSTEMTIME wtm; + GetLocalTime( &wtm ); + tm.tm_year = wtm.wYear - 1900; + tm.tm_mon = wtm.wMonth - 1; + tm.tm_mday = wtm.wDay; + tm.tm_hour = wtm.wHour; + tm.tm_min = wtm.wMinute; + tm.tm_sec = wtm.wSecond; + tm.tm_isdst = -1; + clock = mktime( &tm ); + tp->tv_sec = clock; + tp->tv_usec = wtm.wMilliseconds * 1000; + return ( 0 ); +} + +#endif \ No newline at end of file diff --git a/third-party/windows-platform/thread.cpp b/third-party/windows-platform/thread.cpp new file mode 100644 index 0000000..69f1414 --- /dev/null +++ b/third-party/windows-platform/thread.cpp @@ -0,0 +1,4 @@ +int prctl( int type, const char *str ) +{ + return 0; +} \ No newline at end of file diff --git a/third-party/windows-platform/unistd.h b/third-party/windows-platform/unistd.h new file mode 100644 index 0000000..35ee57e --- /dev/null +++ b/third-party/windows-platform/unistd.h @@ -0,0 +1,9 @@ + +/** This file is part of the Mingw32 package. +* unistd.h maps (roughly) to io.h +*/ +#ifndef _UNISTD_H +#define _UNISTD_H +#include +#include +#endif /* _UNISTD_H */ -- 2.7.4