diff --git a/src/configure.c b/src/configure.c index cb2275d..e56551c 100644 --- a/src/configure.c +++ b/src/configure.c @@ -281,6 +281,7 @@ static HostKernel _detect_kernel(HostOS os, char const * release) static void _configure_detect_extensions(Configure * configure) { + configure->extensions.exeext = ""; configure->extensions.soext = ".so"; /* platform-specific */ switch(configure->os) @@ -289,6 +290,7 @@ static void _configure_detect_extensions(Configure * configure) configure->extensions.soext = ".dylib"; break; case HO_WIN32: + configure->extensions.exeext = ".exe"; configure->extensions.soext = ".dll"; break; default: @@ -454,6 +456,13 @@ String const * configure_get_config(Configure * configure, } +/* configure_get_exeext */ +String const * configure_get_exeext(Configure * configure) +{ + return configure->extensions.exeext; +} + + /* configure_get_soext */ String const * configure_get_soext(Configure * configure) { diff --git a/src/configure.h b/src/configure.h index 898aca4..fe38cf5 100644 --- a/src/configure.h +++ b/src/configure.h @@ -149,6 +149,7 @@ typedef struct _Configure HostKernel kernel; struct { + char const * exeext; char const * soext; } extensions; struct @@ -177,6 +178,7 @@ int configure_can_library_static(Configure * configure); String const * configure_get_config(Configure * configure, String const * section, String const * variable); +String const * configure_get_exeext(Configure * configure); String const * configure_get_soext(Configure * configure); /* useful */ diff --git a/src/makefile.c b/src/makefile.c index 04fa880..c7d0184 100644 --- a/src/makefile.c +++ b/src/makefile.c @@ -641,7 +641,8 @@ static void _targets_cxxflags(Configure * configure, FILE * fp) static void _targets_exeext(Configure * configure, FILE * fp) { if(configure->os == HO_WIN32) - _makefile_print(fp, "%s", "EXEEXT\t= .exe\n"); + _makefile_output_variable(fp, "EXEEXT", + configure_get_exeext(configure)); } static void _targets_ldflags(Configure * configure, FILE * fp)