Repository: lucy-charmonizer Updated Branches: refs/heads/master c76e64621 -> 78e998499
Don't handle static library versions Static libraries don't need versioning. Project: http://git-wip-us.apache.org/repos/asf/lucy-charmonizer/repo Commit: http://git-wip-us.apache.org/repos/asf/lucy-charmonizer/commit/ac5c8eed Tree: http://git-wip-us.apache.org/repos/asf/lucy-charmonizer/tree/ac5c8eed Diff: http://git-wip-us.apache.org/repos/asf/lucy-charmonizer/diff/ac5c8eed Branch: refs/heads/master Commit: ac5c8eedc2a2b3b5f2363df73181c8423671c720 Parents: c76e646 Author: Nick Wellnhofer <[email protected]> Authored: Mon May 16 18:15:26 2016 +0200 Committer: Nick Wellnhofer <[email protected]> Committed: Mon May 16 18:15:26 2016 +0200 ---------------------------------------------------------------------- src/Charmonizer/Core/Library.c | 57 ++++++++++++++++++++----------------- src/Charmonizer/Core/Library.h | 10 +++---- src/Charmonizer/Core/Make.c | 27 ------------------ 3 files changed, 35 insertions(+), 59 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/lucy-charmonizer/blob/ac5c8eed/src/Charmonizer/Core/Library.c ---------------------------------------------------------------------- diff --git a/src/Charmonizer/Core/Library.c b/src/Charmonizer/Core/Library.c index 34346d9..3b1225e 100644 --- a/src/Charmonizer/Core/Library.c +++ b/src/Charmonizer/Core/Library.c @@ -27,7 +27,6 @@ struct chaz_Lib { char *major_version; int is_static; int is_shared; - chaz_LibType lib_type; }; static char* @@ -37,24 +36,25 @@ static const char* S_get_prefix(void); chaz_Lib* -chaz_Lib_new(const char *name, chaz_LibType lib_type, const char *version, - const char *major_version) { +chaz_Lib_new_shared(const char *name, const char *version, + const char *major_version) { chaz_Lib *lib = (chaz_Lib*)malloc(sizeof(chaz_Lib)); lib->name = chaz_Util_strdup(name); lib->version = chaz_Util_strdup(version); lib->major_version = chaz_Util_strdup(major_version); - lib->lib_type = lib_type; - if (lib_type == chaz_Lib_SHARED) { - lib->is_shared = 1; - lib->is_static = 0; - } - else if (lib_type == chaz_Lib_STATIC) { - lib->is_shared = 0; - lib->is_static = 1; - } - else { - chaz_Util_die("Invalid value for lib_type: %d", lib_type); - } + lib->is_shared = 1; + lib->is_static = 0; + return lib; +} + +chaz_Lib* +chaz_Lib_new_static(const char *name) { + chaz_Lib *lib = (chaz_Lib*)malloc(sizeof(chaz_Lib)); + lib->name = chaz_Util_strdup(name); + lib->version = NULL; + lib->major_version = NULL; + lib->is_shared = 0; + lib->is_static = 1; return lib; } @@ -93,24 +93,29 @@ chaz_Lib_is_static (chaz_Lib *lib) { char* chaz_Lib_filename(chaz_Lib *lib) { - const char *ext = lib->is_shared - ? chaz_OS_shared_lib_ext() - : chaz_OS_static_lib_ext(); - - if ((strcmp(ext, ".dll") == 0) || strcmp(ext, ".lib") == 0) { - return S_build_filename(lib, lib->major_version, ext); + if (lib->is_static) { + return chaz_Lib_no_version_filename(lib); } else { - return S_build_filename(lib, lib->version, ext); + const char *ext = chaz_OS_shared_lib_ext(); + if (strcmp(ext, ".dll") == 0) { + return S_build_filename(lib, lib->major_version, ext); + } + else { + return S_build_filename(lib, lib->version, ext); + } } } char* chaz_Lib_major_version_filename(chaz_Lib *lib) { - const char *ext = lib->is_shared - ? chaz_OS_shared_lib_ext() - : chaz_OS_static_lib_ext(); - return S_build_filename(lib, lib->major_version, ext); + if (lib->is_static) { + return chaz_Lib_no_version_filename(lib); + } + else { + const char *ext = chaz_OS_shared_lib_ext(); + return S_build_filename(lib, lib->major_version, ext); + } } char* http://git-wip-us.apache.org/repos/asf/lucy-charmonizer/blob/ac5c8eed/src/Charmonizer/Core/Library.h ---------------------------------------------------------------------- diff --git a/src/Charmonizer/Core/Library.h b/src/Charmonizer/Core/Library.h index 6280fc1..80fff83 100644 --- a/src/Charmonizer/Core/Library.h +++ b/src/Charmonizer/Core/Library.h @@ -26,14 +26,12 @@ extern "C" { typedef struct chaz_Lib chaz_Lib; -typedef enum { - chaz_Lib_SHARED = 1, - chaz_Lib_STATIC = 2 -} chaz_LibType; +chaz_Lib* +chaz_Lib_new_shared(const char *name, const char *version, + const char *major_version); chaz_Lib* -chaz_Lib_new(const char *name, chaz_LibType type, const char *version, - const char *major_version); +chaz_Lib_new_static(const char *name); void chaz_Lib_destroy(chaz_Lib *flags); http://git-wip-us.apache.org/repos/asf/lucy-charmonizer/blob/ac5c8eed/src/Charmonizer/Core/Make.c ---------------------------------------------------------------------- diff --git a/src/Charmonizer/Core/Make.c b/src/Charmonizer/Core/Make.c index c9ef7bb..75732b0 100644 --- a/src/Charmonizer/Core/Make.c +++ b/src/Charmonizer/Core/Make.c @@ -428,33 +428,6 @@ chaz_MakeFile_add_static_lib(chaz_MakeFile *makefile, chaz_Lib *lib, } chaz_MakeRule_add_rm_command(makefile->clean, filename); - /* Add symlinks. */ - if (strcmp(shlib_ext, ".dll") != 0) { - char *major_v_name = chaz_Lib_major_version_filename(lib); - char *no_v_name = chaz_Lib_no_version_filename(lib); - - command = chaz_Util_join(" ", "ln -sf", filename, major_v_name, NULL); - chaz_MakeRule_add_command(rule, command); - free(command); - - if (strcmp(shlib_ext, ".dylib") == 0) { - command = chaz_Util_join(" ", "ln -sf", filename, no_v_name, - NULL); - } - else { - command = chaz_Util_join(" ", "ln -sf", major_v_name, no_v_name, - NULL); - } - chaz_MakeRule_add_command(rule, command); - free(command); - - chaz_MakeRule_add_rm_command(makefile->clean, major_v_name); - chaz_MakeRule_add_rm_command(makefile->clean, no_v_name); - - free(major_v_name); - free(no_v_name); - } - free(filename); return rule; }
