Move Android INSTANCE_PATH from instance.c to Android.mk

This commit is contained in:
Andrew Bettison 2014-03-26 16:07:28 +10:30
parent 53c1b1c04c
commit ba44088eb8
2 changed files with 19 additions and 20 deletions

View File

@ -16,6 +16,7 @@ SQLITE3_INC := $(LOCAL_PATH)/sqlite-amalgamation-3070900
SERVALD_LOCAL_CFLAGS = \
-g \
-DSERVALD_VERSION="\"Android\"" -DSERVALD_COPYRIGHT="\"Android\"" \
-DINSTANCE_PATH="\"/data/data/org.servalproject/var/serval-node\"" \
-DSHELL -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" \
-DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" \
-DHAVE_LIBC=1 -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 \

View File

@ -29,27 +29,23 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*
* ./configure INSTANCE_PATH=/var/local/serval/node
*
* This will cause servald to never use FHS paths, and always use an instance
* path, even if the SERVALINSTANCE_PATH environment variable is not set.
*/
#ifdef INSTANCE_PATH
#define DEFAULT_INSTANCE_PATH INSTANCE_PATH
#else
/* On Android systems, always use an instance path (no FHS paths).
* This will cause servald to never use FHS paths, and always use an instance path, even if the
* SERVALINSTANCE_PATH environment variable is not set.
*
* On Android systems, the INSTANCE_PATH macro is set in Android.mk, so Android builds of servald
* always use an instance path and never fall back to FHS paths.
*/
#ifdef ANDROID
#define DEFAULT_INSTANCE_PATH "/data/data/org.servalproject/var/serval-node"
#define SERVAL_ETC_PATH ""
#define SERVAL_RUN_PATH ""
#define SYSTEM_LOG_PATH ""
#define SERVAL_LOG_PATH ""
#define SERVAL_CACHE_PATH ""
#define SERVAL_TMP_PATH ""
#define RHIZOME_STORE_PATH ""
#else
#define DEFAULT_INSTANCE_PATH NULL
#endif
# ifndef INSTANCE_PATH
# error Must set INSTANCE_PATH macro on Android systems
# endif
# define SERVAL_ETC_PATH ""
# define SERVAL_RUN_PATH ""
# define SYSTEM_LOG_PATH ""
# define SERVAL_LOG_PATH ""
# define SERVAL_CACHE_PATH ""
# define SERVAL_TMP_PATH ""
# define RHIZOME_STORE_PATH ""
#endif
/* The following paths are based on the Filesystem Hierarchy Standard (FHS) 2.3
@ -93,8 +89,10 @@ const char *instance_path()
{
if (!know_instancepath) {
instancepath = getenv("SERVALINSTANCE_PATH");
#ifdef INSTANCE_PATH
if (instancepath == NULL)
instancepath = DEFAULT_INSTANCE_PATH;
instancepath = INSTANCE_PATH;
#endif
know_instancepath = 1;
}
return instancepath;