8
0
mirror of https://github.com/FirebirdSQL/firebird.git synced 2025-01-22 22:43:03 +01:00

Completed fbclient for IOS

This commit is contained in:
AlexPeshkoff 2024-06-20 20:11:28 +03:00
parent e4298e2bc0
commit ef198229d1
6 changed files with 38 additions and 18 deletions

View File

@ -0,0 +1,4 @@
SET(CMAKE_SYSTEM_NAME Darwin)
SET(CMAKE_C_COMPILER arm-apple-darwin11-clang)
SET(CMAKE_CXX_COMPILER arm-apple-darwin11-clang++)
SET(CMAKE_LINKER arm-apple-darwin11-ld)

View File

@ -1,9 +1,9 @@
MACTOOLS:=/usr/home/firebird/Mac/mactools/usr
MACTOOLS:=/usr/home/firebird/Mac/mactools
export PATH:=/usr/home/firebird/Mac/mactools/usr/bin:$(shell echo $$PATH)
export LD_LIBRARY_PATH:=/usr/home/firebird/Mac/mactools/usr/lib
export PATH:=$(MACTOOLS)/usr/bin:$(shell echo $$PATH)
export LD_LIBRARY_PATH:=$(MACTOOLS)/usr/lib:$(shell echo $$LD_LIBRARY_PATH)
CROSS_PREFIX:=$(MACTOOLS)/bin/arm-apple-darwin11-
CROSS_PREFIX:=$(MACTOOLS)/usr/bin/arm-apple-darwin11-
CROSS_FLAGS:=-I$(ROOT)/gen/cross
@ -23,6 +23,9 @@ export CC
export AR
export CROSS_FLAGS
PLATFORM_PATH:=os/darwin
PLATFORM_FALLBACK:=os/posix
COMMON_FLAGS=-ggdb -DFB_SEND_FLAGS=MSG_NOSIGNAL -DDARWIN -DIOS -DARM64 -pipe -MMD -fPIC -fmessage-length=0 \
-I$(ROOT)/extern/libtommath -I$(ROOT)/extern/libtomcrypt/src/headers \
$(CROSS_FLAGS) -fsigned-char \
@ -39,16 +42,15 @@ UNDEF_PLATFORM=-Wl,-undefined,error
LIB_LINK_MAPFILE=-Wl,-exported_symbols_list,$(1)
EXPORT_SYMBOLS_STYLE=darwin
IOS_LIB=-lm -lobjc -framework Foundation $(DECLIB) $(I128LIB)
# -framework Security
LINK_LIBS=$(IOS_LIB)
SO_LINK_LIBS=$(IOS_LIB)
LDFLAGS += -static-libstdc++
#DroidLibs := -lm -ldl -llog $(DECLIB) $(I128LIB)
UDR_SUPPORT_LIBS :=
LIB_LINK_SONAME= -Wl,-install_name,$(1)
#LINK_LIBS = $(DroidLibs)
#STATICLINK_LIBS = $(DroidLibs)
#SO_LINK_LIBS = $(DroidLibs)
#EXE_LINK_OPTIONS= $(LDFLAGS) $(UNDEF_FLAGS) $(LIB_PATH_OPTS) $(LINK_EMPTY_SYMBOLS) -pie
#LIB_LINK_OPTIONS= $(LDFLAGS) -shared
@ -60,11 +62,10 @@ ifndef UNICODE_DIR
endif
.PHONY: prerequisites
prerequisites:
#$(ROOT)/gen/cross/unicode
prerequisites: $(ROOT)/gen/cross/unicode
#$(ROOT)/gen/cross/unicode:
# echo $(UNICODE_DIR)
# rm -rf $(ROOT)/gen/cross
# mkdir $(ROOT)/gen/cross
# ln -s $(UNICODE_DIR) cross/unicode
$(ROOT)/gen/cross/unicode:
echo $(UNICODE_DIR)
rm -rf $(ROOT)/gen/cross
mkdir $(ROOT)/gen/cross
ln -s $(UNICODE_DIR) cross/unicode

View File

@ -271,6 +271,9 @@
#define O_DIRECT F_NOCACHE
#endif /* Darwin Platforms */
#ifdef IOS
#define NO_NFS /* no MTAB_OPEN or MTAB_CLOSE in isc_file.c */
#endif /* IPhone OS */
/*****************************************************
* FreeBSD

View File

@ -28,11 +28,15 @@
Boolean isSandboxed()
{
#ifndef IOS
SecTaskRef task = SecTaskCreateFromSelf(nil);
CFTypeRef value = SecTaskCopyValueForEntitlement(task,
CFStringCreateWithCString(0, "com.apple.security.app-sandbox", kCFStringEncodingUTF8), nil);
return value != nil;
#else
return 1;
#endif
}
const char* getTemporaryFolder()

View File

@ -252,7 +252,7 @@
#define HAVE_MMAP 1
/* Define to 1 if you have the <mntent.h> header file. */
#define HAVE_MNTENT_H 1
/* #undef HAVE_MNTENT_H */
/* Define to 1 if you have the <mnttab.h> header file. */
/* #undef HAVE_MNTTAB_H */

View File

@ -1754,7 +1754,7 @@ int API_ROUTINE isc_modify_dpb(SCHAR** dpb,
}
#if defined(UNIX) || defined(WIN_NT)
#if (defined(UNIX) && !defined(IOS)) || defined(WIN_NT)
int API_ROUTINE gds__edit(const TEXT* file_name, USHORT /*type*/)
{
/**************************************
@ -1794,6 +1794,14 @@ int API_ROUTINE gds__edit(const TEXT* file_name, USHORT /*type*/)
#endif
#if defined(IOS)
int API_ROUTINE gds__edit(const TEXT* /*file_name*/, USHORT /*type*/)
{
fatal_exception::raise("Calling editor is unavailable on iOS");
}
#endif
SLONG API_ROUTINE gds__event_block(UCHAR** event_buffer, UCHAR** result_buffer, USHORT count, ...)
{
/**************************************