From a6db4e77cc644706d0d1101fa898e0f32fca7df3 Mon Sep 17 00:00:00 2001 From: JCash Date: Mon, 11 May 2020 14:12:41 +0200 Subject: [PATCH] Added support for explicit object files in the linking stage --- server/src/main/java/com/defold/extender/Extender.java | 1 + .../java/com/defold/extender/ExtensionManifestValidator.java | 3 +++ 2 files changed, 4 insertions(+) diff --git a/server/src/main/java/com/defold/extender/Extender.java b/server/src/main/java/com/defold/extender/Extender.java index 5cdf22b2..e497ca12 100644 --- a/server/src/main/java/com/defold/extender/Extender.java +++ b/server/src/main/java/com/defold/extender/Extender.java @@ -621,6 +621,7 @@ private List linkEngine(List symbols, Map manifest context.put("ext", env); context.put("engineLibs", ExtenderUtil.pruneItems(ExtenderUtil.getStringList(context, "engineLibs"), ExtenderUtil.getStringList(mainContext, "includeLibs"), ExtenderUtil.getStringList(mainContext, "excludeLibs")) ); context.put("engineJsLibs", ExtenderUtil.pruneItems(ExtenderUtil.getStringList(context, "engineJsLibs"), ExtenderUtil.getStringList(mainContext, "includeJsLibs"), ExtenderUtil.getStringList(mainContext, "excludeJsLibs")) ); + context.put("objectFiles", ExtenderUtil.pruneItems(ExtenderUtil.getStringList(mainContext, "objectFiles"), ExtenderUtil.getStringList(mainContext, "includeObjectFiles"), ExtenderUtil.getStringList(mainContext, "excludeObjectFiles") )); // WINE->clang transition pt1: in the transition period from link.exe -> lld, we want to make sure we can write "foo" as opposed to "foo.lib" context.put("libs", patchLibs((List) context.get("libs"))); diff --git a/server/src/main/java/com/defold/extender/ExtensionManifestValidator.java b/server/src/main/java/com/defold/extender/ExtensionManifestValidator.java index f9ee93a2..56384c8c 100644 --- a/server/src/main/java/com/defold/extender/ExtensionManifestValidator.java +++ b/server/src/main/java/com/defold/extender/ExtensionManifestValidator.java @@ -70,6 +70,9 @@ void validate(String extensionName, Map context) throws Extender case "excludeSymbols": case "use-clang": // deprecated case "aaptExtraPackages": + case "excludeObjectFiles": + case "includeObjectFiles": + case "objectFiles": continue; // no need to whitelist default: