OSDN Git Service

switch to soong
authorJiyong Park <jiyong@google.com>
Tue, 26 Sep 2017 00:07:54 +0000 (09:07 +0900)
committerJiyong Park <jiyong@google.com>
Fri, 20 Oct 2017 02:04:56 +0000 (11:04 +0900)
sh is converted to Android.bp

Bug: 66914194
Test: build. sh is found in both /system/bin and /vendor/bin

Change-Id: Iee59e7f2a60c3855c76935e64b8100b7f8eb4802

Android.bp [new file with mode: 0644]
Android.mk

diff --git a/Android.bp b/Android.bp
new file mode 100644 (file)
index 0000000..25d0882
--- /dev/null
@@ -0,0 +1,142 @@
+// Copyright © 2010, 2013
+//    Thorsten Glaser <t.glaser@tarent.de>
+// This file is provided under the same terms as mksh.
+
+cc_defaults {
+    name: "sh-defaults",
+
+    srcs: [
+        "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_include_dirs: ["src"],
+
+    cflags: [
+        // Compiler flags...
+        "-Wall",
+        "-Werror",
+        "-Wno-deprecated-declarations",
+        "-fno-asynchronous-unwind-tables",
+        "-fno-strict-aliasing",
+        "-fstack-protector",
+        "-fwrapv",
+
+        // ...various options we choose
+        "-DDEBUG_LEAKS",
+        "-DMKSH_ASSUME_UTF8",
+        "-DMKSH_DONT_EMIT_IDSTRING",
+        "-DKSH_VERSIONNAME_VENDOR_EXT=\" Android\"",
+
+        // ...and the defines from Build.sh.
+        "-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_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_KILLPG=1",
+        "-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",
+
+        // Additional flags
+        "-DMKSH_DEFAULT_PROFILEDIR=\"/system/etc\"",
+        "-DMKSHRC_PATH=\"/system/etc/mkshrc\"",
+        "-DMKSH_DEFAULT_EXECSHELL=\"/system/bin/sh\"",
+        "-DMKSH_DEFAULT_TMPDIR=\"/data/local\"",
+    ],
+    target: {
+        vendor: {
+            cflags: [
+                // Additional flags for vendor variant
+                "-DMKSH_DEFAULT_PROFILEDIR=\"/vendor/etc\"",
+                "-DMKSHRC_PATH=\"/vendor/etc/mkshrc\"",
+                "-DMKSH_DEFAULT_EXECSHELL=\"/vendor/bin/sh\"",
+                "-DMKSH_DEFPATH_OVERRIDE=\"/vendor/bin:/vendor/xbin\"",
+            ],
+        },
+    },
+}
+
+cc_binary {
+    name: "sh",
+    defaults: ["sh-defaults"],
+}
+
+cc_binary {
+    name: "sh_vendor",
+    defaults: ["sh-defaults"],
+    stem: "sh",
+    vendor: true,
+}
index bcb5b32..772b0a9 100644 (file)
@@ -4,7 +4,6 @@
 
 LOCAL_PATH := $(call my-dir)
 
-
 # /system/etc/mkshrc
 
 include $(CLEAR_VARS)
@@ -15,128 +14,6 @@ LOCAL_MODULE_PATH := $(TARGET_OUT)/etc
 LOCAL_SRC_FILES := $(LOCAL_MODULE)
 include $(BUILD_PREBUILT)
 
-
-# /system/bin/sh
-
-include $(CLEAR_VARS)
-
-LOCAL_MODULE := sh
-LOCAL_ADDITIONAL_DEPENDENCIES += $(LOCAL_PATH)/Android.mk
-
-# mksh source 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
-
-MKSH_INCLUDES := $(LOCAL_PATH)/src
-
-# 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 \
-
-# ...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_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_KILLPG=1 \
-    -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)
 
@@ -146,33 +23,3 @@ 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:=