From 9bef986150282fb772966baaf947f7a7cbd82301 Mon Sep 17 00:00:00 2001
From: zxstty <zhaojiaqi18@huawei.com>
Date: Wed, 8 Nov 2023 18:22:52 +0800
Subject: [PATCH] 0018

---
 .../systemabilitymgr/safwk/bundle.json        | 58 +++++++++++++++++++
 .../safwk/interfaces/innerkits/safwk/BUILD.gn | 41 +++++++++++++
 .../safwk/services/safwk/BUILD.gn             | 22 +++++++
 3 files changed, 121 insertions(+)
 create mode 100644 openeuler/compiler_gn/foundation/systemabilitymgr/safwk/bundle.json
 create mode 100644 openeuler/compiler_gn/foundation/systemabilitymgr/safwk/interfaces/innerkits/safwk/BUILD.gn
 create mode 100644 openeuler/compiler_gn/foundation/systemabilitymgr/safwk/services/safwk/BUILD.gn

diff --git a/openeuler/compiler_gn/foundation/systemabilitymgr/safwk/bundle.json b/openeuler/compiler_gn/foundation/systemabilitymgr/safwk/bundle.json
new file mode 100644
index 0000000..1964532
--- /dev/null
+++ b/openeuler/compiler_gn/foundation/systemabilitymgr/safwk/bundle.json
@@ -0,0 +1,58 @@
+{
+    "name": "@ohos/systemabilitymgr_safwk",
+    "description": "system ability framework",
+    "homePage": "https://gitee.com/openharmony",
+    "version": "3.1",
+    "license": "Apache License 2.0",
+    "repository": "https://gitee.com/openharmony/systemabilitymgr_safwk",
+    "publishAs": "code-segment",
+    "segment": {
+        "destPath": "foundation/systemabilitymgr/safwk"
+    },
+    "dirs": {},
+    "scripts": {},
+    "component": {
+        "name": "safwk",
+        "subsystem": "systemabilitymgr",
+        "features": [ "safwk_feature_coverage = false" ],
+        "adapted_system_type": [
+            "standard"
+        ],
+        "rom": "200KB",
+        "ram": "7130KB",
+        "deps": {
+            "components": [
+                "hitrace_native",
+                "hiviewdfx_hilog_native",
+                "ipc",
+                "samgr",
+                "c_utils"
+            ],
+            "third_party": [ "libxml2" ]
+        },
+        "build": {
+            "group_type": {
+                "base_group": [
+                    "//foundation/systemabilitymgr/safwk/services/safwk:sa_main",
+                    "//foundation/systemabilitymgr/safwk/interfaces/innerkits/safwk:system_ability_fwk"
+                ],
+                "fwk_group": [],
+                "service_group": []
+            },
+            "inner_kits": [
+                {
+                    "header": {
+                        "header_base": "//foundation/systemabilitymgr/safwk/interfaces/innerkits/safwk",
+                        "header_files": [
+                            "system_ability.h"
+                        ]
+                    },
+                    "name": "//foundation/systemabilitymgr/safwk/interfaces/innerkits/safwk:system_ability_fwk"
+                }
+            ],
+            "test": [
+                "//foundation/systemabilitymgr/safwk/test:unittest"
+            ]
+        }
+    }
+}
diff --git a/openeuler/compiler_gn/foundation/systemabilitymgr/safwk/interfaces/innerkits/safwk/BUILD.gn b/openeuler/compiler_gn/foundation/systemabilitymgr/safwk/interfaces/innerkits/safwk/BUILD.gn
new file mode 100644
index 0000000..57dcce2
--- /dev/null
+++ b/openeuler/compiler_gn/foundation/systemabilitymgr/safwk/interfaces/innerkits/safwk/BUILD.gn
@@ -0,0 +1,41 @@
+# Copyright (c) 2021 Huawei Device Co., Ltd.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+import("//build/ohos.gni")
+import("//build/ohos_var.gni")
+
+# 建立所需头文件链接
+exec_script("//build/openeuler/script/link.py", [ "--src_target", "/usr/include/safwk/system_ability.h", "--dest_target", 
+            rebase_path("//foundation/systemabilitymgr/safwk/interfaces/innerkits/safwk/system_ability.h") ], "string")
+
+exec_script("//build/openeuler/script/link.py", [ "--src_target", "/usr/include/safwk", "--dest_target", 
+            rebase_path("//foundation/systemabilitymgr/safwk/services/safwk/include") ], "string")
+
+config("system_ability_config") {
+  visibility = [ ":*" ]
+  include_dirs = [
+    "../../../services/safwk/include",
+    "//foundation/systemabilitymgr/safwk/interfaces/innerkits/safwk",
+  ]
+}
+
+ohos_prebuilt_shared_library("system_ability_fwk") {
+  source = "/usr/lib64/libsystem_ability_fwk.z.so"
+
+  public_configs = [ ":system_ability_config" ]
+
+  install_images = [ system_base_dir ]
+  relative_install_dir = "platformsdk"
+  part_name = "safwk"
+  subsystem_name = "systemabilitymgr"
+}
\ No newline at end of file
diff --git a/openeuler/compiler_gn/foundation/systemabilitymgr/safwk/services/safwk/BUILD.gn b/openeuler/compiler_gn/foundation/systemabilitymgr/safwk/services/safwk/BUILD.gn
new file mode 100644
index 0000000..a258444
--- /dev/null
+++ b/openeuler/compiler_gn/foundation/systemabilitymgr/safwk/services/safwk/BUILD.gn
@@ -0,0 +1,22 @@
+# Copyright (c) 2021 Huawei Device Co., Ltd.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+import("//build/ohos.gni")
+
+ohos_prebuilt_executable("sa_main") {
+    source = "/usr/bin/sa_main"
+    install_enable = true
+
+    part_name = "safwk"
+    subsystem_name = "systemabilitymgr"
+}
\ No newline at end of file
-- 
2.33.0

