can now build Android targeted binary

Various things that don't work on Android are just ifdefed out.

* the webapp (needs template haskell for arm)
* --include and --exclude globbing (needs libpcre, which is not ported;
  probably I'll make it use the pure haskell glob library instead)
* annex.diskreserve checking (missing sys/statvfs.h)
* timestamp preservation support (yawn)
* S3
* WebDAV
* XMPP

The resulting 17mb binary has been tested on Android, and it is able to,
at least, print its usage message.
This commit is contained in:
Joey Hess 2013-02-10 15:48:38 -04:00
parent f202d997f4
commit 43b4b7d43a
7 changed files with 64 additions and 6 deletions

View file

@ -6,13 +6,17 @@
- Licensed under the GNU GPL version 3 or higher.
-}
{-# LANGUAGE CPP #-}
module Utility.ThreadScheduler where
import Common
import Control.Concurrent
import System.Posix.Terminal
import System.Posix.Signals
#ifndef WITH_ANDROID
import System.Posix.Terminal
#endif
newtype Seconds = Seconds { fromSeconds :: Int }
deriving (Eq, Ord, Show)
@ -49,8 +53,10 @@ waitForTermination :: IO ()
waitForTermination = do
lock <- newEmptyMVar
check softwareTermination lock
#ifndef WITH_ANDROID
whenM (queryTerminal stdInput) $
check keyboardSignal lock
#endif
takeMVar lock
where
check sig lock = void $

View file

@ -22,6 +22,10 @@
# define STATCALL statfs /* statfs64 not yet tested on a real FreeBSD machine */
# define STATSTRUCT statfs
#else
#if defined WITH_ANDROID
# warning free space checking code not available for Android
# define UNKNOWN
#else
#if defined (__linux__) || defined (__FreeBSD_kernel__)
/* Linux or Debian kFreeBSD */
/* This is a POSIX standard, so might also work elsewhere too. */
@ -34,6 +38,7 @@
#endif
#endif
#endif
#endif
#include <errno.h>
#include <stdio.h>

View file

@ -5,6 +5,10 @@
# include <sys/mount.h>
# define GETMNTINFO
#else
#if defined WITH_ANDROID
# warning mounts listing code not available for Android
# define UNKNOWN
#else
#if defined (__linux__) || defined (__FreeBSD_kernel__)
/* Linux or Debian kFreeBSD */
#include <mntent.h>
@ -14,6 +18,7 @@
# define UNKNOWN
#endif
#endif
#endif
#include <stdio.h>