endif
CPPFLAGS += -I$(srcdir) -I$(top_srcdir)/i18n $(LIBCPPFLAGS) $(CPPFLAGSICUUC)
# we want DEFS here, because we want icucfg.h
-DEFS += -DU_COMMON_IMPLEMENTATION @DEFS@
+DEFS += -DU_COMMON_IMPLEMENTATION -DU_HAVE_ICUCFG
LDFLAGS += $(LDFLAGSICUUC)
# for plugin configuration
#include <float.h>
/* include system headers */
-#ifdef U_WINDOWS
+#if defined(U_WINDOWS) || defined(__MINGW32__)
# define WIN32_LEAN_AND_MEAN
# define VC_EXTRALEAN
# define NOUSER
* Simple things (presence of functions, etc) should just go in configure.in and be added to
* icucfg.h via autoheader.
*/
-#if defined(HAVE_CONFIG_H)
+#if defined(U_HAVE_ICUCFG)
#include "icucfg.h"
#endif
functions).
---------------------------------------------------------------------------*/
-#if defined(U_WINDOWS) || defined(XP_MAC) || defined(OS400)
+#if defined(U_WINDOWS) || defined(XP_MAC) || defined(OS400) || defined(__MINGW32__)
# undef U_POSIX_LOCALE
#else
# define U_POSIX_LOCALE 1
U_CAPI void U_EXPORT2
uprv_tzset()
{
-#ifdef U_TZSET
+#if defined(U_TZSET) && !defined(__MINGW32__)
U_TZSET();
#else
/* no initialization*/
#endif
#ifdef U_TZNAME
-#ifdef U_WINDOWS
+#if defined(U_WINDOWS) || defined(__MINGW32__)
/* The return value is free'd in timezone.cpp on Windows because
* the other code path returns a pointer to a heap location. */
return uprv_strdup(U_TZNAME[n]);
return posixID;
-#elif defined(U_WINDOWS)
+#elif defined(U_WINDOWS) || defined(__MINGW32__)
UErrorCode status = U_ZERO_ERROR;
LCID id = GetThreadLocale();
const char* locID = uprv_convertToPosix(id, &status);
#if defined(U_PALMOS)
# include "unicode/ppalmos.h"
-#elif /*!defined(__MINGW32__) && */(defined(WIN32) || defined(_WIN32) || defined(WIN64) || defined(_WIN64))
+#elif !defined(__MINGW32__) && (defined(WIN32) || defined(_WIN32) || defined(WIN64) || defined(_WIN64))
/*
* platform.h is now also generated by MSVC Solution/Project files
* from platform.win and should always be included unless you are
}
if (version != NULL) {
-#ifdef U_CYGWIN
+#if defined(U_CYGWIN) && !defined(__MINGW32__)
sprintf(libFileNames[LIB_FILE_CYGWIN], "cyg%s.%s",
libName,
pkgDataFlags[SO_EXT]);
}
#endif
+#if defined (__MINGW32__)
+ /* On MINGW, symbolic links don't need to be created. */
+ return result;
+#else
return pkg_createSymLinks(installDir, TRUE);
+#endif
}
static int32_t pkg_installCommonMode(const char *installDir, const char *fileName) {
}
freeCmd = TRUE;
}
-#ifdef U_CYGWIN
+#if defined(U_CYGWIN) && !defined(__MINGW32__)
sprintf(cmd, "%s%s%s %s -o %s%s %s %s%s %s %s",
pkgDataFlags[GENLIB],
targetDir,
T_FileStream_close(f);
}
}
-#elif defined(U_CYGWIN)
+#elif defined(U_CYGWIN) && !defined(__MINGW32__)
/* Cygwin needs to change flag options. */
char *flag = NULL;
int32_t length = 0;