summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJulian Andres Klode <jak@debian.org>2015-11-28 22:36:25 +0100
committerJulian Andres Klode <jak@debian.org>2015-11-28 22:36:25 +0100
commitdca07c4d676ac7bbc3543dff359735c0275e90fd (patch)
tree3485e6f6c1f5191a6a04aa21615bb412ac8bf34a
parenta5fc9be36211a290a7abc3ca2a8bf98943bc1f57 (diff)
Revert "Revert "appease adequate with some weak symbols for -private""
This reverts commit 7ac9386cb6e272625490fcf3e8183b45e28bbc43.
-rw-r--r--apt-pkg/contrib/macros.h2
-rw-r--r--apt-private/private-cmndline.cc4
-rw-r--r--apt-private/private-cmndline.h4
3 files changed, 8 insertions, 2 deletions
diff --git a/apt-pkg/contrib/macros.h b/apt-pkg/contrib/macros.h
index 68406f4d8..2727fd81f 100644
--- a/apt-pkg/contrib/macros.h
+++ b/apt-pkg/contrib/macros.h
@@ -77,6 +77,7 @@
#define APT_PURE __attribute__((pure))
#define APT_NORETURN __attribute__((noreturn))
#define APT_PRINTF(n) __attribute__((format(printf, n, n + 1)))
+ #define APT_WEAK __attribute__((weak));
#else
#define APT_DEPRECATED
#define APT_DEPRECATED_MSG
@@ -84,6 +85,7 @@
#define APT_PURE
#define APT_NORETURN
#define APT_PRINTF(n)
+ #define APT_WEAK
#endif
#if APT_GCC_VERSION > 0x0302
diff --git a/apt-private/private-cmndline.cc b/apt-private/private-cmndline.cc
index 4231c4f0e..9c5eae470 100644
--- a/apt-private/private-cmndline.cc
+++ b/apt-private/private-cmndline.cc
@@ -514,3 +514,7 @@ unsigned short DispatchCommandLine(CommandLine &CmdL, std::vector<CommandLine::D
return Errors == true ? 100 : 0;
}
/*}}}*/
+
+// weak symbols
+bool ShowHelp(CommandLine &) { return false; }
+std::vector<aptDispatchWithHelp> GetCommands() { return {}; }
diff --git a/apt-private/private-cmndline.h b/apt-private/private-cmndline.h
index 819eb77cc..4819adce1 100644
--- a/apt-private/private-cmndline.h
+++ b/apt-private/private-cmndline.h
@@ -23,14 +23,14 @@ enum class APT_CMD {
APT_SORTPKG,
};
-bool ShowHelp(CommandLine &CmdL);
+APT_PUBLIC bool ShowHelp(CommandLine &CmdL) APT_WEAK;
struct aptDispatchWithHelp
{
const char *Match;
bool (*Handler)(CommandLine &);
const char *Help;
};
-std::vector<aptDispatchWithHelp> GetCommands();
+APT_PUBLIC std::vector<aptDispatchWithHelp> GetCommands() APT_WEAK;
APT_PUBLIC std::vector<CommandLine::Dispatch> ParseCommandLine(CommandLine &CmdL, APT_CMD const Binary,
Configuration * const * const Cnf, pkgSystem ** const Sys, int const argc, const char * argv[]);