diff options
-rw-r--r-- | TARGETS | 4 | ||||
-rw-r--r-- | etc/defaults/CC/TARGETS.archive | 24 | ||||
-rw-r--r-- | etc/import/TARGETS.archive | 25 | ||||
-rw-r--r-- | etc/import/libarchive/TARGETS.archive | 5 | ||||
-rw-r--r-- | etc/import/src/TARGETS.archive | 33 | ||||
-rw-r--r-- | etc/repos.json | 10 |
6 files changed, 81 insertions, 20 deletions
@@ -221,7 +221,7 @@ , ["ENABLE_LIBXML2", false] , ["ENABLE_EXPAT", false] , ["ENABLE_PCREPOSIX", false] - , ["ENABLE_LibGCC", false] + , ["ENABLE_LIBGCC", false] , ["ENABLE_CNG", false] , ["XATTR_PROVIDER", "gnu"] , ["ENABLE_ACL", false] @@ -236,7 +236,7 @@ , "ENABLE_LIBXML2" , "ENABLE_EXPAT" , "ENABLE_PCREPOSIX" - , "ENABLE_LibGCC" + , "ENABLE_LIBGCC" , "ENABLE_CNG" , "XATTR_PROVIDER" , "ENABLE_ACL" diff --git a/etc/defaults/CC/TARGETS.archive b/etc/defaults/CC/TARGETS.archive index 7e6b1a1b..a5b1cd4c 100644 --- a/etc/defaults/CC/TARGETS.archive +++ b/etc/defaults/CC/TARGETS.archive @@ -1,6 +1,7 @@ { "defaults": { "type": ["CC", "defaults"] - , "arguments_config": ["OS", "COMPILER_FAMILY", "DEBUG", "ENABLE_BZip2"] + , "arguments_config": + ["OS", "COMPILER_FAMILY", "DEBUG", "ENABLE_BZip2", "HIDE_SYMBOLS"] , "base": [["@", "base", "CC", "defaults"]] , "ADD_CFLAGS": { "type": "let*" @@ -93,6 +94,27 @@ , ["mac", ["-Wno-deprecated-declarations"]] ] } + , { "type": "if" + , "cond": + { "type": "==" + , "$1": {"type": "var", "name": "COMPILER_FAMILY"} + , "$2": "msvc" + } + , "then": [] + , "else": + { "type": "if" + , "cond": {"type": "var", "name": "HIDE_SYMBOLS"} + , "then": + { "type": "case*" + , "expr": {"type": "var", "name": "COMPILER_FAMILY"} + , "case": + [ ["clang", ["-D__LIBARCHIVE_ENABLE_VISIBILITY"]] + , ["gnu", ["-D__LIBARCHIVE_ENABLE_VISIBILITY"]] + , ["intel", ["-D__LIBARCHIVE_ENABLE_VISIBILITY"]] + ] + } + } + } ] } } diff --git a/etc/import/TARGETS.archive b/etc/import/TARGETS.archive index 6b3c2e9d..88c6391c 100644 --- a/etc/import/TARGETS.archive +++ b/etc/import/TARGETS.archive @@ -30,7 +30,7 @@ , "ENABLE_LIBXML2" , "ENABLE_EXPAT" , "ENABLE_PCREPOSIX" - , "ENABLE_LibGCC" + , "ENABLE_LIBGCC" , "ENABLE_CNG" , "ENABLE_XATTR" , "ENABLE_ACL" @@ -41,6 +41,7 @@ , "XATTR_PROVIDER" , "ENABLE_RICHACL" , "USE_NFS4" + , "HIDE_SYMBOLS" ] , "config_doc": { "ENABLE_MBEDTLS": @@ -77,8 +78,8 @@ , "ENABLE_PCREPOSIX": [ "Boolean. Default value: true. Link against PCREPOSIX (system or open name)." ] - , "ENABLE_LibGCC": - [ "Boolean. Default value: true. Link against LibGCC (system or open name)." + , "ENABLE_LIBGCC": + [ "Boolean. Default value: true. Link against LIBGCC (system or open name)." ] , "ENABLE_CNG": [ "Boolean. Use CNG (Crypto Next Generation)." @@ -104,6 +105,11 @@ ["Boolean. Link against RichACL (system or open name)."] , "USE_NSF4": ["Boolean. Explicitly give the NSF4 support state for the target OS."] + , "HIDE_SYMBOLS": + [ "Boolean. Default value: true." + , "Hide all symbols not officially external." + , "Has effect if ~COMPILER_FAMILY~==\"clang\"|\"gnu\"|\"intel\"." + ] } } , "archive_config": @@ -115,6 +121,7 @@ , "COMPILER_FAMILY" , "USE_SYSTEM_LIBS" , "DEBUG" + , "HIDE_SYMBOLS" , "ENABLE_MBEDTLS" , "ENABLE_NETTLE" , "ENABLE_OPENSSL" @@ -128,7 +135,7 @@ , "ENABLE_LIBXML2" , "ENABLE_EXPAT" , "ENABLE_PCREPOSIX" - , "ENABLE_LibGCC" + , "ENABLE_LIBGCC" , "ENABLE_CNG" , "ENABLE_XATTR" , "ENABLE_ACL" @@ -242,8 +249,8 @@ , [ "ENABLE_PCREPOSIX" , {"type": "var", "name": "ENABLE_PCREPOSIX", "default": true} ] - , [ "ENABLE_LibGCC" - , {"type": "var", "name": "ENABLE_LibGCC", "default": true} + , [ "ENABLE_LIBGCC" + , {"type": "var", "name": "ENABLE_LIBGCC", "default": true} ] , [ "ENABLE_CNG" , { "type": "case*" @@ -313,6 +320,9 @@ , {"type": "var", "name": "ENABLE_RICHACL", "default": false} ] , ["USE_NFS4", {"type": "var", "name": "USE_NFS4", "default": true}] + , [ "HIDE_SYMBOLS" + , {"type": "var", "name": "HIDE_SYMBOLS", "default": true} + ] ] , "body": { "type": "env" @@ -332,7 +342,7 @@ , "ENABLE_LIBXML2" , "ENABLE_EXPAT" , "ENABLE_PCREPOSIX" - , "ENABLE_LibGCC" + , "ENABLE_LIBGCC" , "ENABLE_CNG" , "ENABLE_XATTR" , "ENABLE_ACL" @@ -343,6 +353,7 @@ , "XATTR_PROVIDER" , "ENABLE_RICHACL" , "USE_NFS4" + , "HIDE_SYMBOLS" ] } } diff --git a/etc/import/libarchive/TARGETS.archive b/etc/import/libarchive/TARGETS.archive index d5b76324..247d6a0d 100644 --- a/etc/import/libarchive/TARGETS.archive +++ b/etc/import/libarchive/TARGETS.archive @@ -18,7 +18,7 @@ , "ENABLE_LIBXML2" , "ENABLE_EXPAT" , "ENABLE_PCREPOSIX" - , "ENABLE_LibGCC" + , "ENABLE_LIBGCC" , "ENABLE_CNG" , "ENABLE_XATTR" , "ENABLE_ACL" @@ -164,7 +164,7 @@ , {"type": "var", "name": "ENABLE_PCREPOSIX"} ] , ["HAVE_LIBPCRE", {"type": "var", "name": "ENABLE_PCRE"}] - , ["HAVE_LIBGCC", {"type": "var", "name": "ENABLE_LibGCC"}] + , ["HAVE_LIBGCC", {"type": "var", "name": "ENABLE_LIBGCC"}] , ["HAVE_LIBACL", {"type": "var", "name": "ENABLE_ACL"}] , ["HAVE_LIBRICHACL", {"type": "var", "name": "ENABLE_RICHACL"}] ] @@ -1607,6 +1607,7 @@ , ["src", "archive_acl"] , ["src", "archive_xattr"] , ["src", "archive_richacl"] + , ["src", "archive_hidden_symbols"] ] } } diff --git a/etc/import/src/TARGETS.archive b/etc/import/src/TARGETS.archive index f0a5b2b4..a9ee796d 100644 --- a/etc/import/src/TARGETS.archive +++ b/etc/import/src/TARGETS.archive @@ -416,11 +416,11 @@ } , "archive_libgcc": { "type": ["@", "rules", "CC", "library"] - , "arguments_config": ["USE_SYSTEM_LIBS", "ENABLE_LibGCC"] + , "arguments_config": ["USE_SYSTEM_LIBS", "ENABLE_LIBGCC"] , "name": ["archive_libgcc"] , "private-ldflags": { "type": "if" - , "cond": {"type": "var", "name": "ENABLE_LibGCC"} + , "cond": {"type": "var", "name": "ENABLE_LIBGCC"} , "then": { "type": "if" , "cond": {"type": "var", "name": "USE_SYSTEM_LIBS"} @@ -429,7 +429,7 @@ } , "deps": { "type": "if" - , "cond": {"type": "var", "name": "ENABLE_LibGCC"} + , "cond": {"type": "var", "name": "ENABLE_LIBGCC"} , "then": { "type": "if" , "cond": {"type": "var", "name": "USE_SYSTEM_LIBS"} @@ -518,4 +518,31 @@ } } } +, "archive_hidden_symbols": + { "type": ["@", "rules", "CC", "library"] + , "arguments_config": ["COMPILER_FAMILY", "HIDE_SYMBOLS"] + , "name": ["archive_hidden_symbols"] + , "private-ldflags": + { "type": "if" + , "cond": + { "type": "==" + , "$1": {"type": "var", "name": "COMPILER_FAMILY"} + , "$2": "msvc" + } + , "then": [] + , "else": + { "type": "if" + , "cond": {"type": "var", "name": "HIDE_SYMBOLS"} + , "then": + { "type": "case*" + , "expr": {"type": "var", "name": "COMPILER_FAMILY"} + , "case": + [ ["clang", ["-fvisibility=hidden"]] + , ["gnu", ["-fvisibility=hidden"]] + , ["intel", ["-fvisibility=hidden"]] + ] + } + } + } + } } diff --git a/etc/repos.json b/etc/repos.json index 4724cb41..5de51c25 100644 --- a/etc/repos.json +++ b/etc/repos.json @@ -437,11 +437,11 @@ , "com_github_libarchive_libarchive": { "repository": { "type": "archive" - , "content": "51ca0c8a60735a5f8e6f8e3731cf9e32ac0b25cb" - , "fetch": "https://github.com/libarchive/libarchive/releases/download/v3.6.1/libarchive-3.6.1.tar.gz" - , "sha256": "c676146577d989189940f1959d9e3980d28513d74eedfbc6b7f15ea45fe54ee2" - , "sha512": "58f7ac0c52116f73326a07dec10ff232be33b318862078785dc39f1fb2f8773b5194eabfa14764bb51ce6a5a1aa8820526e7f4c76087a6f4fcbe7789a22275b4" - , "subdir": "libarchive-3.6.1" + , "content": "2dafab016d6338086925fd04dbaa6a18bd24cb31" + , "fetch": "https://github.com/libarchive/libarchive/releases/download/v3.6.2/libarchive-3.6.2.tar.gz" + , "sha256": "ba6d02f15ba04aba9c23fd5f236bb234eab9d5209e95d1c4df85c44d5f19b9b3" + , "sha512": "24e476465054a29a2d48adf3c197a171b5361fa5038729a1f14d578c6701424de4e5dd6a2b20a6b697969ab43bdd8afc1585f8de0465c266f455d7eaa19e5048" + , "subdir": "libarchive-3.6.2" } , "target_root": "import targets" , "target_file_name": "TARGETS.archive" |