From b631f7825c22daafbc3601125a80013820b13ab9 Mon Sep 17 00:00:00 2001 From: Pierre Pronchery Date: Wed, 9 Sep 2015 11:59:11 -0400 Subject: [PATCH] Code cleanup --- src/configure.c | 25 ++++++++++++++++++++----- src/configure.h | 4 ++++ 2 files changed, 24 insertions(+), 5 deletions(-) diff --git a/src/configure.c b/src/configure.c index db1c002..cb2275d 100644 --- a/src/configure.c +++ b/src/configure.c @@ -174,6 +174,7 @@ unsigned int enum_string_short(unsigned int last, const String * strings[], /* configure */ static void _configure_detect(Configure * configure); static HostKernel _detect_kernel(HostOS os, char const * release); +static void _configure_detect_extensions(Configure * configure); static void _configure_detect_programs(Configure * configure); static int _configure_load(Prefs * prefs, char const * directory, configArray * ca); @@ -196,6 +197,7 @@ int configure(Prefs * prefs, char const * directory) return error_print(PROGNAME); cfgr.prefs = prefs; _configure_detect(&cfgr); + _configure_detect_extensions(&cfgr); _configure_detect_programs(&cfgr); if((ret = _configure_load(prefs, directory, ca)) == 0) { @@ -277,6 +279,23 @@ static HostKernel _detect_kernel(HostOS os, char const * release) return i; } +static void _configure_detect_extensions(Configure * configure) +{ + configure->extensions.soext = ".so"; + /* platform-specific */ + switch(configure->os) + { + case HO_MACOSX: + configure->extensions.soext = ".dylib"; + break; + case HO_WIN32: + configure->extensions.soext = ".dll"; + break; + default: + break; + } +} + static void _configure_detect_programs(Configure * configure) { configure->programs.ar = "ar"; @@ -438,11 +457,7 @@ String const * configure_get_config(Configure * configure, /* configure_get_soext */ String const * configure_get_soext(Configure * configure) { - if(configure->os == HO_MACOSX) - return ".dylib"; - else if(configure->os == HO_WIN32) - return ".dll"; - return ".so"; + return configure->extensions.soext; } diff --git a/src/configure.h b/src/configure.h index 738e6dc..898aca4 100644 --- a/src/configure.h +++ b/src/configure.h @@ -148,6 +148,10 @@ typedef struct _Configure HostOS os; HostKernel kernel; struct + { + char const * soext; + } extensions; + struct { char const * ar; char const * as;