Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,4 @@ install_manifest.txt
*.so.0
*.so.1
*~
build/
97 changes: 80 additions & 17 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,9 @@ SET(LIB_INSTALL_DIR ${PREFIX}/lib)
PROJECT(app_common C)

#AUX_SOURCE_DIRECTORY(src SOURCES)
SET(CAPI_APPFW_APP_COMMON_SOURCES src/app-common.c)
SET(CAPI_APPFW_APP_MANAGER_SOURCES src/app-manager.c)
SET(DLOG_SOURCES src/dlog.c)
SET(CAPI_APPFW_APP_COMMON_SOURCES src/app-common.c src/asprintf.c)
SET(CAPI_APPFW_APP_MANAGER_SOURCES src/app-manager.c src/asprintf.c)
SET(DLOG_SOURCES src/dlog.c src/asprintf.c)

ADD_DEFINITIONS("-DSHARE_PREFIX=\"${SHARE_INSTALL_PREFIX}/aul\"")

Expand All @@ -37,49 +37,112 @@ INCLUDE(FindPkgConfig)
# Compiler flags
INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include)
INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/src)
SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -Wl,-zdefs" )
#SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fvisibility=hidden")
SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fpic -fPIC")
SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -Werror")
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
SET(CMAKE_C_FLAGS_DEBUG "-O0 -g")
SET(CMAKE_C_FLAGS_RELEASE "-O2")
SET(CMAKE_SKIP_BUILD_RPATH true)
# Linker flags
SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed -fPIC")
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR}/src)

IF (UNIX)
IF (NOT APPLE)
SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -Wl,-zdefs" )
ENDIF()
#SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fvisibility=hidden")
SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fpic -fPIC")
SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -Werror")
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
SET(CMAKE_C_FLAGS_DEBUG "-O0 -g")
SET(CMAKE_C_FLAGS_RELEASE "-O2")
SET(CMAKE_SKIP_BUILD_RPATH true)
# Linker flags
SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed -fPIC")
ENDIF()

IF (WIN32)
ADD_DEFINITIONS(-DWIN32_LEAN_AND_MEAN)
ENDIF()

ADD_DEFINITIONS(-DBUILDING_TIZENFX_STUB)

INCLUDE(CheckSymbolExists)
INCLUDE(CheckIncludeFile)
INCLUDE(CheckTypeSize)

SET(CMAKE_REQUIRED_DEFINITIONS -D_GNU_SOURCE)
CHECK_SYMBOL_EXISTS(asprintf stdio.h HAVE_ASPRINTF)
CHECK_SYMBOL_EXISTS(vasprintf stdio.h HAVE_VASPRINTF)
CHECK_INCLUDE_FILE(unistd.h HAVE_UNISTD_H)
CHECK_INCLUDE_FILE(sys/types.h HAVE_SYS_TYPES_H)
CHECK_INCLUDE_FILE(windows.h HAVE_WINDOWS_H)
CHECK_INCLUDE_FILE(combaseapi.h HAVE_COMBASEAPI_H)
SET(CMAKE_REQUIRED_INCLUDES unistd.h sys/types.h)
CHECK_TYPE_SIZE(uid_t UID_T)
CHECK_TYPE_SIZE(gid_t GID_T)
CHECK_TYPE_SIZE(pid_t PID_T)
CONFIGURE_FILE(src/config.h.in src/config.h)

# APP_COMMON
add_library(capi-appfw-app-common SHARED ${CAPI_APPFW_APP_COMMON_SOURCES})
TARGET_LINK_LIBRARIES(capi-appfw-app-common ${libpkgs_LDFLAGS})
SET_TARGET_PROPERTIES(capi-appfw-app-common PROPERTIES SOVERSION ${MAJORVER})
SET_TARGET_PROPERTIES(capi-appfw-app-common PROPERTIES VERSION ${FULLVER})
INSTALL(TARGETS capi-appfw-app-common DESTINATION ${LIB_INSTALL_DIR} COMPONENT RuntimeLibraries)

# APP_MANAGER
add_library(capi-appfw-app-manager SHARED ${CAPI_APPFW_APP_MANAGER_SOURCES})
TARGET_LINK_LIBRARIES(capi-appfw-app-manager ${libpkgs_LDFLAGS})
SET_TARGET_PROPERTIES(capi-appfw-app-manager PROPERTIES SOVERSION ${MAJORVER})
SET_TARGET_PROPERTIES(capi-appfw-app-manager PROPERTIES VERSION ${FULLVER})
INSTALL(TARGETS capi-appfw-app-manager DESTINATION ${LIB_INSTALL_DIR} COMPONENT RuntimeLibraries)

# DLOG
add_library(dlog SHARED ${DLOG_SOURCES})
TARGET_LINK_LIBRARIES(dlog ${libpkgs_LDFLAGS})
SET_TARGET_PROPERTIES(dlog PROPERTIES SOVERSION ${MAJORVER})
SET_TARGET_PROPERTIES(dlog PROPERTIES VERSION ${FULLVER})
INSTALL(TARGETS dlog DESTINATION ${LIB_INSTALL_DIR} COMPONENT RuntimeLibraries)


# pkgconfig file
#CONFIGURE_FILE(aul.pc.in aul.pc @ONLY)
#CONFIGURE_FILE(feature/preexec_list.txt.in feature/preexec_list.txt @ONLY)

# Install headers, other files
INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/include/app_common.h DESTINATION include/app-common)
INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/include/app_common.h DESTINATION ${CMAKE_INSTALL_PREFIX}/include/app-common)
#INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/aul.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
#INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/feature/preexec_list.txt DESTINATION ${SHARE_INSTALL_PREFIX}/aul )
#INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/data/miregex DESTINATION ${SHARE_INSTALL_PREFIX}/aul )

# tool
#ADD_SUBDIRECTORY(tool)
#ADD_SUBDIRECTORY(parser)

IF (WIN32)
SET(BIN_DIR ${CMAKE_INSTALL_PREFIX}/bin)
SET(LIB_DIR ${LIB_INSTALL_DIR})

IF (${CMAKE_BUILD_TYPE} MATCHES Debug)
SET(BIN_DIR ${BIN_DIR}/Debug)
SET(LIB_DIR ${LIB_DIR}/Debug)
ENDIF()

# install binaries
INSTALL(TARGETS capi-appfw-app-common
LIBRARY DESTINATION ${LIB_DIR}
ARCHIVE DESTINATION ${LIB_DIR}
RUNTIME DESTINATION ${BIN_DIR}
)
INSTALL(TARGETS capi-appfw-app-manager
LIBRARY DESTINATION ${LIB_DIR}
ARCHIVE DESTINATION ${LIB_DIR}
RUNTIME DESTINATION ${BIN_DIR}
)
INSTALL(TARGETS dlog
LIBRARY DESTINATION ${LIB_DIR}
ARCHIVE DESTINATION ${LIB_DIR}
RUNTIME DESTINATION ${BIN_DIR}
)

IF (${CMAKE_BUILD_TYPE} MATCHES Debug)
install( FILES ${CMAKE_CURRENT_BINARY_DIR}/Debug/capi-appfw-app-common.pdb DESTINATION ${BIN_DIR} )
install( FILES ${CMAKE_CURRENT_BINARY_DIR}/Debug/capi-appfw-app-manager.pdb DESTINATION ${BIN_DIR} )
install( FILES ${CMAKE_CURRENT_BINARY_DIR}/Debug/dlog.pdb DESTINATION ${BIN_DIR} )
ENDIF()
ELSE()
INSTALL(TARGETS capi-appfw-app-common DESTINATION ${LIB_INSTALL_DIR} COMPONENT RuntimeLibraries)
INSTALL(TARGETS capi-appfw-app-manager DESTINATION ${LIB_INSTALL_DIR} COMPONENT RuntimeLibraries)
INSTALL(TARGETS dlog DESTINATION ${LIB_INSTALL_DIR} COMPONENT RuntimeLibraries)
ENDIF()
18 changes: 17 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,20 @@
TizenFX Stub
============

Stubs to enable the TizenFX repository to build on Ubuntu
Stubs to enable the TizenFX repository to build on Ubuntu and Windows.

Windows Build
-------------

$ mkdir build
$ cd build
$ cmake -DCMAKE_INSTALL_PREFIX=%DALIENV_DIR% ..

MacOS Build
-------------
```bash
$ mkdir -p build/tizen
$ cd build/tizen
$ cmake -DCMAKE_INSTALL_PREFIX=$DESKTOP_PREFIX ../..
$ make -j8 install
```
56 changes: 28 additions & 28 deletions src/app-common.c
Original file line number Diff line number Diff line change
Expand Up @@ -14,15 +14,17 @@
* limitations under the License.
*/


#ifdef __linux__
#include <linux/limits.h>
#endif

#define _GNU_SOURCE
#include <stdio.h>
#include <string.h>
#include <stdlib.h>

#define TIZEN_PATH_MAX PATH_MAX

#include "tizenfx_stub_api.h"
#include "asprintf.h"

typedef enum
{
Expand Down Expand Up @@ -86,9 +88,9 @@ struct app_event_info
typedef struct app_event_info *app_event_info_h;


int app_get_id(char **id)
TIZENFX_STUB_API int app_get_id(char **id)
{
static char id_buf[TIZEN_PATH_MAX] = {'A','p','p','\0'};
static char id_buf[] = {'A','p','p','\0'};

if( id != NULL )
{
Expand All @@ -98,79 +100,79 @@ int app_get_id(char **id)
return APP_ERROR_INVALID_PARAMETER;
}

int app_get_name(char **name)
TIZENFX_STUB_API int app_get_name(char **name)
{
static char namebuf[TIZEN_PATH_MAX] = {'A','p','p','\0'};
static char namebuf[] = {'A','p','p','\0'};
if( name != NULL )
{
*name = strdup(namebuf);
}
return APP_ERROR_INVALID_PARAMETER;
}

char* app_get_resource_path(void)
TIZENFX_STUB_API char* app_get_resource_path(void)
{
const char* path=getenv("DESKTOP_PREFIX");
if (!path)
path = "";
char* out;
int numChars = asprintf( &out, "%s/share/app", path );
return out;
}

char* app_get_data_path(void)
TIZENFX_STUB_API char* app_get_data_path(void)
{
return app_get_resource_path();
}

char* app_get_cache_path(void)
TIZENFX_STUB_API char* app_get_cache_path(void)
{
return app_get_resource_path();
}

char* app_get_shared_data_path(void)
TIZENFX_STUB_API char* app_get_shared_data_path(void)
{
return app_get_resource_path();
}

char* app_get_shared_resource_path(void)
TIZENFX_STUB_API char* app_get_shared_resource_path(void)
{
return app_get_resource_path();
}

char* app_get_shared_trusted_path(void)
TIZENFX_STUB_API char* app_get_shared_trusted_path(void)
{
return app_get_resource_path();
}

char* app_get_tep_resource_path(void)
TIZENFX_STUB_API char* app_get_tep_resource_path(void)
{
return app_get_resource_path();
}

char* app_get_external_cache_path(void)
TIZENFX_STUB_API char* app_get_external_cache_path(void)
{
return app_get_resource_path();
}

char* app_get_external_data_path(void)
TIZENFX_STUB_API char* app_get_external_data_path(void)
{
return app_get_resource_path();
}

char* app_get_external_shared_data_path(void)
TIZENFX_STUB_API char* app_get_external_shared_data_path(void)
{
return app_get_resource_path();
}

int app_get_version(char** version)
TIZENFX_STUB_API int app_get_version(char** version)
{
*version = strdup("1.1.1");
return APP_ERROR_NONE;
}

int app_event_get_low_memory_status(app_event_info_h event_info, app_event_low_memory_status_e *status)
TIZENFX_STUB_API int app_event_get_low_memory_status(app_event_info_h event_info, app_event_low_memory_status_e *status)
{
int ret;

if (event_info == NULL || status == NULL)
return APP_ERROR_INVALID_PARAMETER;

Expand All @@ -181,10 +183,8 @@ int app_event_get_low_memory_status(app_event_info_h event_info, app_event_low_m
return APP_ERROR_NONE;
}

int app_event_get_low_battery_status(app_event_info_h event_info, app_event_low_battery_status_e *status)
TIZENFX_STUB_API int app_event_get_low_battery_status(app_event_info_h event_info, app_event_low_battery_status_e *status)
{
int ret;

if (event_info == NULL || status == NULL)
return APP_ERROR_INVALID_PARAMETER;

Expand All @@ -195,7 +195,7 @@ int app_event_get_low_battery_status(app_event_info_h event_info, app_event_low_
return APP_ERROR_NONE;
}

int app_event_get_language(app_event_info_h event_info, char **lang)
TIZENFX_STUB_API int app_event_get_language(app_event_info_h event_info, char **lang)
{
if (event_info == NULL || event_info->value == NULL || lang == NULL)
return APP_ERROR_INVALID_PARAMETER;
Expand All @@ -208,7 +208,7 @@ int app_event_get_language(app_event_info_h event_info, char **lang)
return APP_ERROR_NONE;
}

int app_event_get_region_format(app_event_info_h event_info, char **region)
TIZENFX_STUB_API int app_event_get_region_format(app_event_info_h event_info, char **region)
{
if (event_info == NULL || event_info->value == NULL || region == NULL)
return APP_ERROR_INVALID_PARAMETER;
Expand All @@ -221,13 +221,13 @@ int app_event_get_region_format(app_event_info_h event_info, char **region)
return APP_ERROR_NONE;
}

int app_resource_manager_get(app_resource_e type, const char *id, char **path)
TIZENFX_STUB_API int app_resource_manager_get(app_resource_e type, const char *id, char **path)
{
*path=strdup("/tmp/a");
return APP_ERROR_NONE;
}

int app_event_get_device_orientation(app_event_info_h event_info, app_device_orientation_e *orientation)
TIZENFX_STUB_API int app_event_get_device_orientation(app_event_info_h event_info, app_device_orientation_e *orientation)
{
if (event_info == NULL || orientation == NULL)
return APP_ERROR_INVALID_PARAMETER;
Expand Down
7 changes: 5 additions & 2 deletions src/app-manager.c
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,16 @@
* limitations under the License.
*/

#include "config.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#ifdef HAVE_UNISTD_H
#include <unistd.h>
#include <pthread.h>
#include "app_manager_internal.h"
#endif

#include "app_manager_internal.h"

struct app_context_s
{
Expand Down
3 changes: 1 addition & 2 deletions src/app_context.h
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,7 @@
#ifndef __TIZEN_APPFW_APP_CONTEXT_H
#define __TIZEN_APPFW_APP_CONTEXT_H

#include <sys/types.h>
#include <tizen.h>
#include "unix_types.h"

#define TIZEN_DEPRECATED_API

Expand Down
Loading