OSDN Git Service

Use -Werror in external/mksh
[android-x86/external-mksh.git] / Android.mk
index 2d572bd..bcb5b32 100644 (file)
@@ -24,61 +24,155 @@ LOCAL_MODULE := sh
 LOCAL_ADDITIONAL_DEPENDENCIES += $(LOCAL_PATH)/Android.mk
 
 # mksh source files
-LOCAL_SRC_FILES := \
+MKSH_SRC_FILES := \
     src/lalloc.c src/edit.c src/eval.c src/exec.c \
     src/expr.c src/funcs.c src/histrap.c src/jobs.c \
     src/lex.c src/main.c src/misc.c src/shf.c \
     src/syn.c src/tree.c src/var.c
 
-LOCAL_SYSTEM_SHARED_LIBRARIES := libc
-
-LOCAL_C_INCLUDES := $(LOCAL_PATH)/src
+MKSH_INCLUDES := $(LOCAL_PATH)/src
 
-# Additional flags first...
-LOCAL_CFLAGS += \
-    -DMKSHRC_PATH=\"/system/etc/mkshrc\" \
-    -DMKSH_DEFAULT_EXECSHELL=\"/system/bin/sh\" \
-    -DMKSH_DEFAULT_TMPDIR=\"/data/local\" \
-
-# ...then from Makefrag.inc: CFLAGS...
-LOCAL_CFLAGS += \
+# Compiler flags...
+MKSH_WARNING_CFLAGS := \
+    -Wall -Werror \
     -Wno-deprecated-declarations \
+
+MKSH_CFLAGS += \
+    $(MKSH_WARNING_CFLAGS) \
     -fno-asynchronous-unwind-tables \
     -fno-strict-aliasing \
     -fstack-protector -fwrapv \
 
-# ...and CPPFLAGS.
-LOCAL_CFLAGS += \
-    -DDEBUG_LEAKS -DMKSH_ASSUME_UTF8 -DMKSH_CONSERVATIVE_FDS \
-    -DMKSH_DONT_EMIT_IDSTRING -DMKSH_NOPWNAM -DMKSH_BUILDSH \
-    -D_GNU_SOURCE -DSETUID_CAN_FAIL_WITH_EAGAIN \
-    -DHAVE_ATTRIBUTE_BOUNDED=0 -DHAVE_ATTRIBUTE_FORMAT=1 \
+# ...various options we choose...
+MKSH_CFLAGS += \
+    -DDEBUG_LEAKS \
+    -DMKSH_ASSUME_UTF8 \
+    -DMKSH_DONT_EMIT_IDSTRING \
+    -DKSH_VERSIONNAME_VENDOR_EXT=\"\ Android\" \
+
+# ...and the defines from Build.sh.
+MKSH_CFLAGS += \
+    -DMKSH_BUILDSH \
+    -D_GNU_SOURCE \
+    -DSETUID_CAN_FAIL_WITH_EAGAIN \
+    -DHAVE_STRING_POOLING=1 \
+    -DHAVE_ATTRIBUTE_BOUNDED=1 \
+    -DHAVE_ATTRIBUTE_FORMAT=1 \
     -DHAVE_ATTRIBUTE_NORETURN=1 \
     -DHAVE_ATTRIBUTE_PURE=1 \
     -DHAVE_ATTRIBUTE_UNUSED=1 \
-    -DHAVE_ATTRIBUTE_USED=1 -DHAVE_SYS_TIME_H=1 -DHAVE_TIME_H=1 \
-    -DHAVE_BOTH_TIME_H=1 -DHAVE_SYS_BSDTYPES_H=0 \
-    -DHAVE_SYS_FILE_H=1 -DHAVE_SYS_MKDEV_H=0 -DHAVE_SYS_MMAN_H=1 \
-    -DHAVE_SYS_PARAM_H=1 -DHAVE_SYS_RESOURCE_H=1 \
-    -DHAVE_SYS_SELECT_H=1 -DHAVE_SYS_SYSMACROS_H=1 \
-    -DHAVE_BSTRING_H=0 -DHAVE_GRP_H=1 -DHAVE_LIBGEN_H=1 \
-    -DHAVE_LIBUTIL_H=0 -DHAVE_PATHS_H=1 -DHAVE_STDINT_H=1 \
-    -DHAVE_STRINGS_H=1 -DHAVE_TERMIOS_H=1 -DHAVE_ULIMIT_H=0 \
-    -DHAVE_VALUES_H=0 -DHAVE_CAN_INTTYPES=1 -DHAVE_CAN_UCBINTS=1 \
-    -DHAVE_CAN_INT8TYPE=1 -DHAVE_CAN_UCBINT8=1 -DHAVE_RLIM_T=1 \
-    -DHAVE_SIG_T=1 -DHAVE_SYS_ERRLIST=0 -DHAVE_SYS_SIGNAME=1 \
-    -DHAVE_SYS_SIGLIST=1 -DHAVE_FLOCK=1 -DHAVE_LOCK_FCNTL=1 \
+    -DHAVE_ATTRIBUTE_USED=1 \
+    -DHAVE_SYS_TIME_H=1 \
+    -DHAVE_TIME_H=1 \
+    -DHAVE_BOTH_TIME_H=1 \
+    -DHAVE_SYS_BSDTYPES_H=0 \
+    -DHAVE_SYS_FILE_H=1 \
+    -DHAVE_SYS_MKDEV_H=0 \
+    -DHAVE_SYS_MMAN_H=1 \
+    -DHAVE_SYS_PARAM_H=1 \
+    -DHAVE_SYS_RESOURCE_H=1 \
+    -DHAVE_SYS_SELECT_H=1 \
+    -DHAVE_SYS_SYSMACROS_H=1 \
+    -DHAVE_BSTRING_H=0 \
+    -DHAVE_GRP_H=1 \
+    -DHAVE_IO_H=0 \
+    -DHAVE_LIBGEN_H=1 \
+    -DHAVE_LIBUTIL_H=0 \
+    -DHAVE_PATHS_H=1 \
+    -DHAVE_STDINT_H=1 \
+    -DHAVE_STRINGS_H=1 \
+    -DHAVE_TERMIOS_H=1 \
+    -DHAVE_ULIMIT_H=0 \
+    -DHAVE_VALUES_H=0 \
+    -DHAVE_CAN_INTTYPES=1 \
+    -DHAVE_CAN_UCBINTS=1 \
+    -DHAVE_CAN_INT8TYPE=1 \
+    -DHAVE_CAN_UCBINT8=1 \
+    -DHAVE_RLIM_T=1 \
+    -DHAVE_SIG_T=1 \
+    -DHAVE_SYS_ERRLIST=0 \
+    -DHAVE_SYS_SIGNAME=1 \
+    -DHAVE_SYS_SIGLIST=1 \
+    -DHAVE_FLOCK=1 \
+    -DHAVE_LOCK_FCNTL=1 \
     -DHAVE_GETRUSAGE=1 \
     -DHAVE_GETSID=1 \
     -DHAVE_GETTIMEOFDAY=1 \
-    -DHAVE_ISSETUGID=0 \
     -DHAVE_KILLPG=1 \
-    -DHAVE_MEMMOVE=1 -DHAVE_MKNOD=0 -DHAVE_MMAP=1 -DHAVE_NICE=1 \
-    -DHAVE_REVOKE=0 -DHAVE_SETLOCALE_CTYPE=0 \
-    -DHAVE_LANGINFO_CODESET=0 -DHAVE_SELECT=1 -DHAVE_SETRESUGID=1 \
-    -DHAVE_SETGROUPS=1 -DHAVE_STRERROR=1 -DHAVE_STRSIGNAL=0 \
-    -DHAVE_STRLCPY=1 -DHAVE_FLOCK_DECL=1 -DHAVE_REVOKE_DECL=1 \
-    -DHAVE_SYS_ERRLIST_DECL=0 -DHAVE_SYS_SIGLIST_DECL=1 \
-    -DHAVE_PERSISTENT_HISTORY=0 -DMKSH_BUILD_R=504
+    -DHAVE_MEMMOVE=1 \
+    -DHAVE_MKNOD=0 \
+    -DHAVE_MMAP=1 \
+    -DHAVE_FTRUNCATE=1 \
+    -DHAVE_NICE=1 \
+    -DHAVE_REVOKE=0 \
+    -DHAVE_SETLOCALE_CTYPE=1 \
+    -DHAVE_LANGINFO_CODESET=1 \
+    -DHAVE_SELECT=1 \
+    -DHAVE_SETRESUGID=1 \
+    -DHAVE_SETGROUPS=1 \
+    -DHAVE_STRERROR=1 \
+    -DHAVE_STRSIGNAL=0 \
+    -DHAVE_STRLCPY=1 \
+    -DHAVE_FLOCK_DECL=1 \
+    -DHAVE_REVOKE_DECL=1 \
+    -DHAVE_SYS_ERRLIST_DECL=0 \
+    -DHAVE_SYS_SIGLIST_DECL=1 \
+    -DHAVE_PERSISTENT_HISTORY=0 \
+    -DMKSH_BUILD_R=562 \
+
+LOCAL_SRC_FILES := $(MKSH_SRC_FILES)
+
+LOCAL_SYSTEM_SHARED_LIBRARIES := libc
+
+LOCAL_C_INCLUDES := $(MKSH_INCLUDES)
+
+# Additional flags first...
+LOCAL_CFLAGS += \
+    -DMKSH_DEFAULT_PROFILEDIR=\"/system/etc\" \
+    -DMKSHRC_PATH=\"/system/etc/mkshrc\" \
+    -DMKSH_DEFAULT_EXECSHELL=\"/system/bin/sh\" \
+    -DMKSH_DEFAULT_TMPDIR=\"/data/local\" \
+
+LOCAL_CFLAGS += $(MKSH_CFLAGS)
 
 include $(BUILD_EXECUTABLE)
+
+# /vendor/etc/mkshrc
+include $(CLEAR_VARS)
+
+LOCAL_MODULE := mkshrc_vendor
+LOCAL_MODULE_STEM := mkshrc
+LOCAL_MODULE_CLASS := ETC
+LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC)
+LOCAL_SRC_FILES := $(LOCAL_MODULE)
+include $(BUILD_PREBUILT)
+
+# /vendor/bin/sh
+include $(CLEAR_VARS)
+
+LOCAL_MODULE := sh_vendor
+LOCAL_MODULE_STEM := sh
+LOCAL_ADDITIONAL_DEPENDENCIES += $(LOCAL_PATH)/Android.mk
+LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_EXECUTABLES)
+LOCAL_CFLAGS := $(MKSH_WARNING_CFLAGS)
+
+# mksh source files
+LOCAL_SRC_FILES := $(MKSH_SRC_FILES)
+
+LOCAL_C_INCLUDES := $(MKSH_INCLUDES)
+
+# Additional flags first...
+LOCAL_CFLAGS += \
+    -DMKSH_DEFAULT_PROFILEDIR=\"/vendor/etc\" \
+    -DMKSHRC_PATH=\"/vendor/etc/mkshrc\" \
+    -DMKSH_DEFAULT_EXECSHELL=\"/vendor/bin/sh\" \
+    -DMKSH_DEFPATH_OVERRIDE=\"/vendor/bin:/vendor/xbin\" \
+
+LOCAL_CFLAGS += $(MKSH_CFLAGS)
+
+include $(BUILD_EXECUTABLE)
+
+MKSH_SRC_FILES:=
+MKSH_CFLAGS:=
+MKSH_WARNING_CFLAGS:=
+MKSH_INCLUDES:=