summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Cristian Sarbu <paul.cristian.sarbu@huawei.com>2023-02-22 18:21:58 +0100
committerPaul Cristian Sarbu <paul.cristian.sarbu@huawei.com>2023-02-24 12:54:58 +0100
commit60094d4293928d7901e9bc2f3ec29f5cf814cbfc (patch)
treeaf28e0a8415319ca509333af1045c18f18d54398
parentec05fdb04eeafec146715df1c15fed1a507feafb (diff)
downloadjustbuild-60094d4293928d7901e9bc2f3ec29f5cf814cbfc.tar.gz
libarchive: Update to latest v3.6.2
Changes in build description: - fix capitalization of ENABLE_LIBGCC flag. - add new HIDE_SYMBOLS flag to allow hiding of export symbols; used similar logic as for libcurl to circumvent the original CHECK_C_SOURCE_COMPILES macro use.
-rw-r--r--TARGETS4
-rw-r--r--etc/defaults/CC/TARGETS.archive24
-rw-r--r--etc/import/TARGETS.archive25
-rw-r--r--etc/import/libarchive/TARGETS.archive5
-rw-r--r--etc/import/src/TARGETS.archive33
-rw-r--r--etc/repos.json10
6 files changed, 81 insertions, 20 deletions
diff --git a/TARGETS b/TARGETS
index 60740297..8b807c08 100644
--- a/TARGETS
+++ b/TARGETS
@@ -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"