summaryrefslogtreecommitdiffstats
path: root/libhb
diff options
context:
space:
mode:
Diffstat (limited to 'libhb')
-rw-r--r--libhb/hb.c60
-rw-r--r--libhb/hb.h3
-rw-r--r--libhb/project.h.m410
3 files changed, 65 insertions, 8 deletions
diff --git a/libhb/hb.c b/libhb/hb.c
index e8418e741..2f4a71720 100644
--- a/libhb/hb.c
+++ b/libhb/hb.c
@@ -460,14 +460,68 @@ hb_handle_t * hb_init( int verbose, int update_check )
return h;
}
+// Make sure these strings at least exist in the executable even though
+// they may not all be visible in the frontend.
+static const char* hb_title = HB_PROJECT_TITLE;
+static const char* hb_name = HB_PROJECT_NAME;
+static const char* hb_website = HB_PROJECT_URL_WEBSITE;
+static const char* hb_community = HB_PROJECT_URL_COMMUNITY;
+static const char* hb_irc = HB_PROJECT_URL_IRC;
+static const char* hb_version = HB_PROJECT_VERSION;
+static const int hb_build = HB_PROJECT_BUILD;
+static const char* hb_repo_url = HB_PROJECT_REPO_URL;
+static const char* hb_repo_tag = HB_PROJECT_REPO_TAG;
+static const int hb_repo_rev = HB_PROJECT_REPO_REV;
+static const char* hb_repo_hash = HB_PROJECT_REPO_HASH;
+static const char* hb_repo_branch = HB_PROJECT_REPO_BRANCH;
+static const char* hb_repo_remote = HB_PROJECT_REPO_REMOTE;
+static const char* hb_repo_type = HB_PROJECT_REPO_TYPE;
+
+const char * hb_get_full_description()
+{
+ static char * desc = NULL;
+ if (desc == NULL)
+ {
+ desc = hb_strdup_printf("%s\n"
+ "\tWebsite: %s\n"
+ "\tForum: %s\n"
+ "\tIRC: %s\n"
+ "\tBuild Type: %s\n"
+ "\tRepository: %s\n"
+ "\tRelease Tag: %s\n"
+ "\tRevision: %d\n"
+ "\tCommit Hash: %s\n"
+ "\tBranch: %s\n"
+ "\tRemote: %s",
+ hb_title, hb_website, hb_community, hb_irc,
+ hb_repo_type, hb_repo_url, hb_repo_tag, hb_repo_rev,
+ hb_repo_hash, hb_repo_branch, hb_repo_remote);
+ }
+ return desc;
+}
+
/**
* Returns current version of libhb.
* @param h Handle to hb_handle_t.
* @return character array of version number.
*/
-char * hb_get_version( hb_handle_t * h )
+const char * hb_get_version( hb_handle_t * h )
{
- return HB_PROJECT_VERSION;
+ // Silence compiler warnings for unused variables
+ ((void)(hb_title));
+ ((void)(hb_name));
+ ((void)(hb_website));
+ ((void)(hb_community));
+ ((void)(hb_irc));
+ ((void)(hb_version));
+ ((void)(hb_repo_url));
+ ((void)(hb_repo_tag));
+ ((void)(hb_repo_rev));
+ ((void)(hb_repo_hash));
+ ((void)(hb_repo_branch));
+ ((void)(hb_repo_remote));
+ ((void)(hb_repo_type));
+ return hb_version;
}
/**
@@ -477,7 +531,7 @@ char * hb_get_version( hb_handle_t * h )
*/
int hb_get_build( hb_handle_t * h )
{
- return HB_PROJECT_BUILD;
+ return hb_build;
}
/**
diff --git a/libhb/hb.h b/libhb/hb.h
index cbf25f712..c8101ed68 100644
--- a/libhb/hb.h
+++ b/libhb/hb.h
@@ -39,7 +39,8 @@ int hb_hwd_enabled( hb_handle_t *h );
hb_hwd_t * hb_hwd_get_context();
/* hb_get_version() */
-char * hb_get_version( hb_handle_t * );
+const char * hb_get_full_description();
+const char * hb_get_version( hb_handle_t * );
int hb_get_build( hb_handle_t * );
/* hb_check_update()
diff --git a/libhb/project.h.m4 b/libhb/project.h.m4
index 7e70b5b36..ae54f255c 100644
--- a/libhb/project.h.m4
+++ b/libhb/project.h.m4
@@ -21,12 +21,14 @@ dnl
<<#>>define HB_PROJECT_VERSION_HEX 0x<<>>__HB_version_hex<<>>LL
<<#>>define HB_PROJECT_BUILD __HB_build
<<#>>define HB_PROJECT_REPO_URL "__HB_repo_url"
-<<#>>define HB_PROJECT_REPO_ROOT "__HB_repo_root"
-<<#>>define HB_PROJECT_REPO_UUID "__HB_repo_uuid"
+<<#>>define HB_PROJECT_REPO_TAG "__HB_repo_tag"
<<#>>define HB_PROJECT_REPO_REV __HB_repo_rev
-<<#>>define HB_PROJECT_REPO_DATE "__HB_repo_date"
-<<#>>define HB_PROJECT_REPO_OFFICIAL __HB_repo_official
+<<#>>define HB_PROJECT_REPO_HASH "__HB_repo_hash"
+<<#>>define HB_PROJECT_REPO_BRANCH "__HB_repo_branch"
+<<#>>define HB_PROJECT_REPO_REMOTE "__HB_repo_remote"
<<#>>define HB_PROJECT_REPO_TYPE "__HB_repo_type"
+<<#>>define HB_PROJECT_REPO_OFFICIAL __HB_repo_official
+<<#>>define HB_PROJECT_REPO_DATE "__HB_repo_date"
<<#>>define HB_PROJECT_BUILD_SPEC "__BUILD_spec"
<<#>>define HB_PROJECT_BUILD_MACHINE "__BUILD_machine"