diff options
Diffstat (limited to 'makefiledir')
-rw-r--r-- | makefiledir/Makefile.config_writer | 2 | ||||
-rw-r--r-- | makefiledir/Makefile.libdetection | 9 | ||||
-rw-r--r-- | makefiledir/iconv_detector.c | 18 |
3 files changed, 29 insertions, 0 deletions
diff --git a/makefiledir/Makefile.config_writer b/makefiledir/Makefile.config_writer index 581411c54..60c6727ba 100644 --- a/makefiledir/Makefile.config_writer +++ b/makefiledir/Makefile.config_writer @@ -64,9 +64,11 @@ $(MAKE_CONFIG): $(call CONFIG_LINE,) $(call CONFIG_LINE,\# Libs) + $(call CONFIG_LINE,\# WITH_ICONV is not used on OSX since the flag is overwritten. It is always used unless the target OS is 10.2.8) $(call CONFIG_LINE,WITH_ZLIB:=$(WITH_ZLIB)) $(call CONFIG_LINE,WITH_SDL:=$(WITH_SDL)) $(call CONFIG_LINE,WITH_PNG:=$(WITH_PNG)) + $(call CONFIG_LINE,WITH_ICONV:=$(WITH_ICONV)) $(call CONFIG_LINE,STATIC_ZLIB_PATH:=$(STATIC_ZLIB_PATH)) $(call CONFIG_LINE,WITH_COCOA:=$(WITH_COCOA)) $(call CONFIG_LINE,) diff --git a/makefiledir/Makefile.libdetection b/makefiledir/Makefile.libdetection index 237c02f98..47d8edee1 100644 --- a/makefiledir/Makefile.libdetection +++ b/makefiledir/Makefile.libdetection @@ -121,3 +121,12 @@ WITH_PNG:= endif endif + +ifeq ($(shell expr $(CONFIG_VERSION) \< 10), 1) +# we need to test if iconv is present on the current system +# even though we test on OSX, the read data is actually not used since it relies on target OS and this flag will be overwritten later + +$(shell $(CC) -liconv -o makefiledir/iconv_detector makefiledir/iconv_detector.c 2>/dev/null) +WITH_ICONV:=$(shell makefiledir/iconv_detector 2>/dev/null) +$(shell rm makefiledir/iconv_detector 2>/dev/null) +endif diff --git a/makefiledir/iconv_detector.c b/makefiledir/iconv_detector.c new file mode 100644 index 000000000..709656cb9 --- /dev/null +++ b/makefiledir/iconv_detector.c @@ -0,0 +1,18 @@ +/* $Id$ */ + +#include <stdlib.h> +#include <iconv.h> +#include <stdio.h> + +/* this is a pretty simple app, that will return 1 if it manages to compile and execute + * This means that it can be used by the makefile to detect if iconv is present on the current system + * no iconv means this file fails and will return nothing */ + +int main () +{ + iconv_t cd = iconv_open("",""); + iconv(cd,NULL,NULL,NULL,NULL); + iconv_close(cd); + printf("1\n"); + return 0; +} |