mirror of
https://gitlab.com/embeddable-common-lisp/ecl.git
synced 2026-01-17 06:42:18 -08:00
mobile: add android platform to the build scripts
This allows enables building of ECL for android platform. Based on work of Sylvain Ageneau. Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
This commit is contained in:
parent
5b0a9fe6c5
commit
fe68809a34
4 changed files with 93 additions and 2 deletions
23
src/aclocal.m4
vendored
23
src/aclocal.m4
vendored
|
|
@ -253,6 +253,21 @@ clibs=''
|
|||
SONAME=''
|
||||
SONAME_LDFLAGS=''
|
||||
case "${host_os}" in
|
||||
linux-androideabi)
|
||||
thehost='android'
|
||||
THREAD_CFLAGS='-D_THREAD_SAFE'
|
||||
# THREAD_LIBS='-lpthread'
|
||||
SHARED_LDFLAGS="-shared ${LDFLAGS}"
|
||||
BUNDLE_LDFLAGS="-shared ${LDFLAGS}"
|
||||
ECL_LDRPATH='-Wl,--rpath,~A'
|
||||
clibs="-ldl"
|
||||
# Maybe CFLAGS="-D_ISOC99_SOURCE ${CFLAGS}" ???
|
||||
CFLAGS="-D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -DANDROID -DPLATFORM_ANDROID -DUSE_GET_STACKBASE_FOR_MAIN -DIGNORE_DYNAMIC_LOADING -DAO_REQUIRE_CAS ${CFLAGS}"
|
||||
SONAME="${SHAREDPREFIX}ecl.${SHAREDEXT}.SOVERSION"
|
||||
SONAME_LDFLAGS="-Wl,-soname,SONAME"
|
||||
ECL_ADD_FEATURE([android])
|
||||
;;
|
||||
|
||||
# libdir may have a dollar expression inside
|
||||
linux*)
|
||||
thehost='linux'
|
||||
|
|
@ -432,6 +447,14 @@ case "${host_os}" in
|
|||
shared="no"
|
||||
;;
|
||||
esac
|
||||
|
||||
case "${host}" in
|
||||
i686*-android*)
|
||||
THREAD_LIBS=''
|
||||
CFLAGS="-D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -DANDROID -DPLATFORM_ANDROID -DUSE_GET_STACKBASE_FOR_MAIN -DIGNORE_DYNAMIC_LOADING -DNO_GETCONTEXT -DHAVE_GETTIMEOFDAY -DHAVE_SIGPROCMASK ${CFLAGS}"
|
||||
ECL_ADD_FEATURE([android])
|
||||
esac
|
||||
|
||||
case "${host_cpu}" in
|
||||
alpha*)
|
||||
CFLAGS="${CFLAGS} -mieee";;
|
||||
|
|
|
|||
|
|
@ -23,7 +23,11 @@
|
|||
#if defined(ECL_MS_WINDOWS_HOST)
|
||||
#include <winsock.h>
|
||||
#else
|
||||
#ifdef __ANDROID__
|
||||
#include <errno.h>
|
||||
#else
|
||||
extern int errno;
|
||||
#endif
|
||||
#include <sys/types.h>
|
||||
#include <sys/socket.h>
|
||||
#include <sys/un.h>
|
||||
|
|
|
|||
55
src/configure
vendored
55
src/configure
vendored
|
|
@ -4872,6 +4872,23 @@ clibs=''
|
|||
SONAME=''
|
||||
SONAME_LDFLAGS=''
|
||||
case "${host_os}" in
|
||||
linux-androideabi)
|
||||
thehost='android'
|
||||
THREAD_CFLAGS='-D_THREAD_SAFE'
|
||||
# THREAD_LIBS='-lpthread'
|
||||
SHARED_LDFLAGS="-shared ${LDFLAGS}"
|
||||
BUNDLE_LDFLAGS="-shared ${LDFLAGS}"
|
||||
ECL_LDRPATH='-Wl,--rpath,~A'
|
||||
clibs="-ldl"
|
||||
# Maybe CFLAGS="-D_ISOC99_SOURCE ${CFLAGS}" ???
|
||||
CFLAGS="-D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -DANDROID -DPLATFORM_ANDROID -DUSE_GET_STACKBASE_FOR_MAIN -DIGNORE_DYNAMIC_LOADING -DAO_REQUIRE_CAS ${CFLAGS}"
|
||||
SONAME="${SHAREDPREFIX}ecl.${SHAREDEXT}.SOVERSION"
|
||||
SONAME_LDFLAGS="-Wl,-soname,SONAME"
|
||||
|
||||
LSP_FEATURES="(cons :android ${LSP_FEATURES})"
|
||||
|
||||
;;
|
||||
|
||||
# libdir may have a dollar expression inside
|
||||
linux*)
|
||||
thehost='linux'
|
||||
|
|
@ -5051,6 +5068,16 @@ case "${host_os}" in
|
|||
shared="no"
|
||||
;;
|
||||
esac
|
||||
|
||||
case "${host}" in
|
||||
i686*-android*)
|
||||
THREAD_LIBS=''
|
||||
CFLAGS="-D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -DANDROID -DPLATFORM_ANDROID -DUSE_GET_STACKBASE_FOR_MAIN -DIGNORE_DYNAMIC_LOADING -DNO_GETCONTEXT -DHAVE_GETTIMEOFDAY -DHAVE_SIGPROCMASK ${CFLAGS}"
|
||||
|
||||
LSP_FEATURES="(cons :android ${LSP_FEATURES})"
|
||||
|
||||
esac
|
||||
|
||||
case "${host_cpu}" in
|
||||
alpha*)
|
||||
CFLAGS="${CFLAGS} -mieee";;
|
||||
|
|
@ -6905,7 +6932,7 @@ done
|
|||
|
||||
|
||||
for ac_header in sys/resource.h sys/utsname.h float.h pwd.h dlfcn.h link.h \
|
||||
mach-o/dyld.h ulimit.h dirent.h sys/ioctl.h sys/select.h \
|
||||
mach-o/dyld.h dirent.h sys/ioctl.h sys/select.h \
|
||||
sys/wait.h semaphore.h
|
||||
do :
|
||||
as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
|
||||
|
|
@ -6921,6 +6948,24 @@ done
|
|||
|
||||
|
||||
|
||||
for ac_header in ulimit.h
|
||||
do :
|
||||
ac_fn_c_check_header_compile "$LINENO" "ulimit.h" "ac_cv_header_ulimit_h" "#ifdef HAVE_ULIMIT_H
|
||||
# include <ulimit.h>
|
||||
#endif
|
||||
|
||||
"
|
||||
if test "x$ac_cv_header_ulimit_h" = xyes; then :
|
||||
cat >>confdefs.h <<_ACEOF
|
||||
#define HAVE_ULIMIT_H 1
|
||||
_ACEOF
|
||||
|
||||
fi
|
||||
|
||||
done
|
||||
|
||||
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for an ANSI C-conforming const" >&5
|
||||
$as_echo_n "checking for an ANSI C-conforming const... " >&6; }
|
||||
if ${ac_cv_c_const+:} false; then :
|
||||
|
|
@ -9447,6 +9492,14 @@ else
|
|||
CLX_INFO=""
|
||||
fi
|
||||
|
||||
if test "${with_tcp}" = "builtin"; then
|
||||
|
||||
|
||||
LSP_FEATURES="(cons :builtin-sockets ${LSP_FEATURES})"
|
||||
|
||||
|
||||
with_tcp=yes
|
||||
fi
|
||||
if test "${with_tcp}" = "yes"; then
|
||||
|
||||
$as_echo "#define TCP 1" >>confdefs.h
|
||||
|
|
|
|||
|
|
@ -634,9 +634,16 @@ AC_CHECK_HEADERS( [fcntl.h limits.h netdb.h netinet/in.h] \
|
|||
dnl !!! end autoscan
|
||||
|
||||
AC_CHECK_HEADERS( [sys/resource.h sys/utsname.h float.h pwd.h dlfcn.h link.h] \
|
||||
[mach-o/dyld.h ulimit.h dirent.h sys/ioctl.h sys/select.h] \
|
||||
[mach-o/dyld.h dirent.h sys/ioctl.h sys/select.h] \
|
||||
[sys/wait.h semaphore.h] )
|
||||
|
||||
|
||||
AC_CHECK_HEADERS([ulimit.h], [], [],
|
||||
[[#ifdef HAVE_ULIMIT_H
|
||||
# include <ulimit.h>
|
||||
#endif
|
||||
]])
|
||||
|
||||
dnl =====================================================================
|
||||
dnl Checks for typedefs, structures, and compiler characteristics.
|
||||
|
||||
|
|
@ -802,6 +809,10 @@ else
|
|||
CLX_INFO=""
|
||||
fi
|
||||
|
||||
if test "${with_tcp}" = "builtin"; then
|
||||
ECL_ADD_BUILTIN_MODULE([sockets])
|
||||
with_tcp=yes
|
||||
fi
|
||||
if test "${with_tcp}" = "yes"; then
|
||||
AC_DEFINE(TCP, [1], [Network streams])
|
||||
EXTRA_OBJS="${EXTRA_OBJS} tcp.${OBJEXT}"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue