From a4bffdfc960bc839b81a48bd8eb9aff648dcccf6 Mon Sep 17 00:00:00 2001 From: Martell Malone Date: Sat, 8 Aug 2015 18:00:47 +0100 Subject: [PATCH] mingw-w64-cross-crt: add option to use lib dlltool or genlib --- .../0004-def-changes-for-lib-driver.patch | 918 ++++++++++++++++++ mingw-w64-cross-crt-git/PKGBUILD | 61 +- 2 files changed, 975 insertions(+), 4 deletions(-) create mode 100644 mingw-w64-cross-crt-git/0004-def-changes-for-lib-driver.patch diff --git a/mingw-w64-cross-crt-git/0004-def-changes-for-lib-driver.patch b/mingw-w64-cross-crt-git/0004-def-changes-for-lib-driver.patch new file mode 100644 index 00000000..76977904 --- /dev/null +++ b/mingw-w64-cross-crt-git/0004-def-changes-for-lib-driver.patch @@ -0,0 +1,918 @@ +From 5740c91184fa586fccec857a947a3e8942a26a20 Mon Sep 17 00:00:00 2001 +From: Martell Malone +Date: Wed, 1 Jul 2015 03:03:37 +0100 +Subject: [PATCH 4/4] def changes for lib driver + + +diff --git a/mingw-w64-crt/def-include/msvcrt-common.def.in b/mingw-w64-crt/def-include/msvcrt-common.def.in +index 76e1fa3..065efd8 100644 +--- a/mingw-w64-crt/def-include/msvcrt-common.def.in ++++ b/mingw-w64-crt/def-include/msvcrt-common.def.in +@@ -1,14 +1,14 @@ +-#define ADD_UNDERSCORE(symbol) symbol == _ ## symbol +-#define ADD_DOUBLE_UNDERSCORE(symbol) symbol == __ ## symbol ++#define ADD_UNDERSCORE(symbol) symbol = _ ## symbol ++#define ADD_DOUBLE_UNDERSCORE(symbol) symbol = __ ## symbol + + ADD_DOUBLE_UNDERSCORE(iscsymf) + ADD_DOUBLE_UNDERSCORE(iscsym) + ADD_DOUBLE_UNDERSCORE(isascii) + ADD_DOUBLE_UNDERSCORE(toascii) + +-wcscmpi == _wcsicmp +-strcasecmp == _stricmp +-strncasecmp == _strnicmp ++wcscmpi = _wcsicmp ++strcasecmp = _stricmp ++strncasecmp = _strnicmp + + ADD_UNDERSCORE(access) + ADD_UNDERSCORE(chdir) +diff --git a/mingw-w64-crt/lib32/msvcr100.def.in b/mingw-w64-crt/lib32/msvcr100.def.in +index a1d7447..399ca69 100644 +--- a/mingw-w64-crt/lib32/msvcr100.def.in ++++ b/mingw-w64-crt/lib32/msvcr100.def.in +@@ -790,7 +790,7 @@ _cscanf_l + _cscanf_s + _cscanf_s_l + _ctime32 +-ctime == _ctime32 ++ctime = _ctime32 + _ctime32_s + _ctime64 + _ctime64_s +@@ -851,12 +851,12 @@ _findfirst32 + _findfirst32i64 + _findfirst64 + _findfirst64i32 +-_findfirst == _findfirst32 ++_findfirst = _findfirst32 + _findnext32 + _findnext32i64 + _findnext64 + _findnext64i32 +-_findnext == _findnext32 ++_findnext = _findnext32 + _finite + _flsbuf + _flushall +@@ -884,8 +884,8 @@ _fseeki64 DATA + _fseeki64_nolock + _fsopen + _fstat32 +-_fstat == _fstat32 +-_fstati64 == _fstat32i64 ++_fstat = _fstat32 ++_fstati64 = _fstat32i64 + _fstat32i64 + _fstat64 + _fstat64i32 +@@ -953,7 +953,7 @@ _getws + _getws_s + _global_unwind2 + _gmtime32 +-gmtime == _gmtime32 ++gmtime = _gmtime32 + _gmtime32_s + _gmtime64 + _gmtime64_s +@@ -1082,7 +1082,7 @@ _loaddll + _local_unwind2 + _local_unwind4 + _localtime32 +-localtime == _localtime32 ++localtime = _localtime32 + _localtime32_s + _localtime64 + _localtime64_s +@@ -1245,12 +1245,12 @@ _memicmp + _memicmp_l + _mkdir + _mkgmtime32 +-_mkgmtime == _mkgmtime32 ++_mkgmtime = _mkgmtime32 + _mkgmtime64 + _mktemp + _mktemp_s + _mktime32 +-mktime == _mktime32 ++mktime = _mktime32 + _mktime64 + _msize + _nextafter +@@ -1362,8 +1362,8 @@ _sprintf_s_l + _sscanf_l + _sscanf_s_l + _stat32 +-_stat == _stat32 +-_stati64 == _stat32i64 ++_stat = _stat32 ++_stati64 = _stat32i64 + _stat32i64 + _stat64 + _stat64i32 +@@ -1377,7 +1377,7 @@ _strerror + _strerror_s + _strftime_l + _stricmp +-_strcmpi == _stricmp ++_strcmpi = _stricmp + _stricmp_l + _stricoll + _stricoll_l +@@ -1426,7 +1426,7 @@ _telli64 + _tempnam + _time32 + _time64 +-time == _time32 ++time = _time32 + _tolower + _tolower_l + _toupper +@@ -1489,7 +1489,7 @@ _vscwprintf_l + _vscwprintf_p + _vscwprintf_p_l + _vsnprintf +-vsnprintf == _vsnprintf ++vsnprintf = _vsnprintf + _vsnprintf_c + _vsnprintf_c_l + _vsnprintf_l +@@ -1562,7 +1562,7 @@ _wcsupr_s + _wcsupr_s_l + _wcsxfrm_l + _wctime32 +-_wctime == _wctime32 ++_wctime = _wctime32 + _wctime32_s + _wctime64 + _wctime64_s +@@ -1584,12 +1584,12 @@ _wfindfirst32 + _wfindfirst32i64 + _wfindfirst64 + _wfindfirst64i32 +-_wfindfirst == _wfindfirst32 ++_wfindfirst = _wfindfirst32 + _wfindnext32 + _wfindnext32i64 + _wfindnext64 + _wfindnext64i32 +-_wfindnext == _wfindnext32 ++_wfindnext = _wfindnext32 + _wfopen + _wfopen_s + _wfreopen +@@ -1638,8 +1638,8 @@ _wspawnvpe + _wsplitpath + _wsplitpath_s + _wstat32 +-_wstat == _wstat32 +-_wstati64 == _wstat32i64 ++_wstat = _wstat32 ++_wstati64 = _wstat32i64 + _wstat32i64 + _wstat64 + _wstat64i32 +diff --git a/mingw-w64-crt/lib32/msvcr110.def.in b/mingw-w64-crt/lib32/msvcr110.def.in +index f9f0294..096a224 100644 +--- a/mingw-w64-crt/lib32/msvcr110.def.in ++++ b/mingw-w64-crt/lib32/msvcr110.def.in +@@ -914,7 +914,7 @@ _cscanf_l + _cscanf_s + _cscanf_s_l + _ctime32 +-ctime == _ctime32 ++ctime = _ctime32 + _ctime32_s + _ctime64 + _ctime64_s +@@ -971,12 +971,12 @@ _filelengthi64 + _fileno + _findclose + _findfirst32 +-_findfirst == _findfirst32 ++_findfirst = _findfirst32 + _findfirst32i64 + _findfirst64 + _findfirst64i32 + _findnext32 +-_findnext == _findnext32 ++_findnext = _findnext32 + _findnext32i64 + _findnext64 + _findnext64i32 +@@ -1010,8 +1010,8 @@ _fstat32 + _fstat32i64 + _fstat64 + _fstat64i32 +-_fstat == _fstat32 +-_fstati64 == _fstat32i64 ++_fstat = _fstat32 ++_fstati64 = _fstat32i64 + _ftell_nolock + _ftelli64 + _ftelli64_nolock +@@ -1075,7 +1075,7 @@ _getws + _getws_s + _global_unwind2 + _gmtime32 +-gmtime == _gmtime32 ++gmtime = _gmtime32 + _gmtime32_s + _gmtime64 + _gmtime64_s +@@ -1215,7 +1215,7 @@ _loaddll + _local_unwind2 + _local_unwind4 + _localtime32 +-localtime == _localtime32 ++localtime = _localtime32 + _localtime32_s + _localtime64 + _localtime64_s +@@ -1378,12 +1378,12 @@ _memicmp + _memicmp_l + _mkdir + _mkgmtime32 +-_mkgmtime == _mkgmtime32 ++_mkgmtime = _mkgmtime32 + _mkgmtime64 + _mktemp + _mktemp_s + _mktime32 +-mktime == _mktime32 ++mktime = _mktime32 + _mktime64 + _msize + _nextafter +@@ -1498,8 +1498,8 @@ _stat32 + _stat32i64 + _stat64 + _stat64i32 +-_stat == _stat32 +-_stati64 == _stat32i64 ++_stat = _stat32 ++_stati64 = _stat32i64 + _statusfp + _statusfp2 + _strcoll_l +@@ -1510,7 +1510,7 @@ _strerror + _strerror_s + _strftime_l + _stricmp +-_strcmpi == _stricmp ++_strcmpi = _stricmp + _stricmp_l + _stricoll + _stricoll_l +@@ -1559,7 +1559,7 @@ _telli64 + _tempnam + _time32 + _time64 +-time == _time32 ++time = _time32 + _tolower + _tolower_l + _toupper +@@ -1622,7 +1622,7 @@ _vscwprintf_l + _vscwprintf_p + _vscwprintf_p_l + _vsnprintf +-vsnprintf == _vsnprintf ++vsnprintf = _vsnprintf + _vsnprintf_c + _vsnprintf_c_l + _vsnprintf_l +@@ -1696,7 +1696,7 @@ _wcsupr_s + _wcsupr_s_l + _wcsxfrm_l + _wctime32 +-_wctime == _wctime32 ++_wctime = _wctime32 + _wctime32_s + _wctime64 + _wctime64_s +@@ -1717,12 +1717,12 @@ _wfdopen + _wfindfirst32 + _wfindfirst32i64 + _wfindfirst64 +-_wfindfirst == _wfindfirst32 ++_wfindfirst = _wfindfirst32 + _wfindfirst64i32 + _wfindnext32 + _wfindnext32i64 + _wfindnext64 +-_wfindnext == _wfindnext32 ++_wfindnext = _wfindnext32 + _wfindnext64i32 + _wfopen + _wfopen_s +@@ -1774,8 +1774,8 @@ _wstat32 + _wstat32i64 + _wstat64 + _wstat64i32 +-_wstat == _wstat32 +-_wstati64 == _wstat32i64 ++_wstat = _wstat32 ++_wstati64 = _wstat32i64 + _wstrdate + _wstrdate_s + _wstrtime +diff --git a/mingw-w64-crt/lib32/msvcr80.def.in b/mingw-w64-crt/lib32/msvcr80.def.in +index f3408b9..c332009 100644 +--- a/mingw-w64-crt/lib32/msvcr80.def.in ++++ b/mingw-w64-crt/lib32/msvcr80.def.in +@@ -173,11 +173,11 @@ _filelengthi64 + _fileno + _findclose + _findfirst32 +-_findfirst == _findfirst32 ++_findfirst = _findfirst32 + _findfirst64i32 + _findfirst32i64 + _findnext32 +-_findnext == _findnext32 ++_findnext = _findnext32 + _findnext64i32 + _findnext32i64 + _finite +@@ -191,8 +191,8 @@ _fputchar + _fputwchar + _fsopen + _fstat32 +-_fstat == _fstat32 +-_fstati64 == _fstat32i64 ++_fstat = _fstat32 ++_fstati64 = _fstat32i64 + _fstat32i64 + _fstat64 + _fstat64i32 +@@ -340,7 +340,7 @@ _mbstok + _mbstrlen + _mbsupr + _mkgmtime32 +-_mkgmtime == _mkgmtime32 ++_mkgmtime = _mkgmtime32 + _mkgmtime64 + _memccpy + _memicmp +@@ -401,8 +401,8 @@ _spawnvp + _spawnvpe + _splitpath + _stat32 +-_stat == _stat32 +-_stati64 == _stat32i64 ++_stat = _stat32 ++_stati64 = _stat32i64 + _stat32i64 + _stat64 + _stat64i32 +@@ -442,7 +442,7 @@ _unloaddll + _unlock + _utime + _vsnprintf +-vsnprintf == _vsnprintf ++vsnprintf = _vsnprintf + _vsnwprintf + _waccess + _wasctime +@@ -462,7 +462,7 @@ _wcsrev + _wcsset + _wcsupr + _wctime32 +-_wctime == _wctime32 ++_wctime = _wctime32 + _wenviron DATA + _wexecl + _wexecle +@@ -474,11 +474,11 @@ _wexecvp + _wexecvpe + _wfdopen + _wfindfirst32 +-_wfindfirst == _wfindfirst32 ++_wfindfirst = _wfindfirst32 + _wfindfirst32i64 + _wfindfirst64i32 + _wfindnext32 +-_wfindnext == _wfindnext32 ++_wfindnext = _wfindnext32 + _wfindnext32i64 + _wfindnext64i32 + _wfopen +@@ -516,8 +516,8 @@ _wspawnvp + _wspawnvpe + _wsplitpath + _wstat32 +-_wstat == _wstat32 +-_wstati64 == _wstat32i64 ++_wstat = _wstat32 ++_wstati64 = _wstat32i64 + _wstat32i64 + _wstat64 + _wstat64i32 +@@ -554,7 +554,7 @@ cos DATA + ; If we implement cosh, we can set it to DATA only. + cosh + _ctime32 +-ctime == _ctime32 ++ctime = _ctime32 + difftime + div + exit +@@ -596,7 +596,7 @@ gets + getwc + getwchar + _gmtime32 +-gmtime == _gmtime32 ++gmtime = _gmtime32 + is_wctype + isalnum + isalpha +@@ -627,7 +627,7 @@ labs + ldexp DATA + ldiv + localeconv +-localtime == _localtime32 ++localtime = _localtime32 + _localtime32 + log DATA + ; If we implement log10, we can set it to DATA only. +@@ -641,7 +641,7 @@ memcmp + memcpy + memmove + memset +-mktime == _mktime32 ++mktime = _mktime32 + _mktime32 + modf DATA + perror +@@ -701,7 +701,7 @@ tan + ; If we implement tanh, we can set it to DATA only. + tanh + _time32 +-time == _time32 ++time = _time32 + tmpfile + tmpnam + tolower +diff --git a/mingw-w64-crt/lib32/msvcr90.def.in b/mingw-w64-crt/lib32/msvcr90.def.in +index 394d7f5..868baab 100644 +--- a/mingw-w64-crt/lib32/msvcr90.def.in ++++ b/mingw-w64-crt/lib32/msvcr90.def.in +@@ -415,7 +415,7 @@ _cscanf_l + _cscanf_s + _cscanf_s_l + _ctime32 +-ctime == _ctime32 ++ctime = _ctime32 + _ctime32_s + _ctime64 + _ctime64_s +@@ -475,12 +475,12 @@ _filelengthi64 + _fileno + _findclose + _findfirst32 +-_findfirst == _findfirst32 ++_findfirst = _findfirst32 + _findfirst32i64 + _findfirst64 + _findfirst64i32 + _findnext32 +-_findnext == _findnext32 ++_findnext = _findnext32 + _findnext32i64 + _findnext64 + _findnext64i32 +@@ -511,8 +511,8 @@ _fseeki64 DATA + _fseeki64_nolock + _fsopen + _fstat32 +-_fstat == _fstat32 +-_fstati64 == _fstat32i64 ++_fstat = _fstat32 ++_fstati64 = _fstat32i64 + _fstat32i64 + _fstat64 + _fstat64i32 +@@ -582,7 +582,7 @@ _getws + _getws_s + _global_unwind2 + _gmtime32 +-gmtime == _gmtime32 ++gmtime = _gmtime32 + _gmtime32_s + _gmtime64 + _gmtime64_s +@@ -710,7 +710,7 @@ _loaddll + _local_unwind2 + _local_unwind4 + _localtime32 +-localtime == _localtime32 ++localtime = _localtime32 + _localtime32_s + _localtime64 + _localtime64_s +@@ -873,12 +873,12 @@ _memicmp + _memicmp_l + _mkdir + _mkgmtime32 +-_mkgmtime == _mkgmtime32 ++_mkgmtime = _mkgmtime32 + _mkgmtime64 + _mktemp + _mktemp_s + _mktime32 +-mktime == _mktime32 ++mktime = _mktime32 + _mktime64 + _msize + _nextafter +@@ -996,8 +996,8 @@ _sprintf_s_l + _sscanf_l + _sscanf_s_l + _stat32 +-_stat == _stat32 +-_stati64 == _stat32i64 ++_stat = _stat32 ++_stati64 = _stat32i64 + _stat32i64 + _stat64 + _stat64i32 +@@ -1011,7 +1011,7 @@ _strerror + _strerror_s + _strftime_l + _stricmp +-_strcmpi == _stricmp ++_strcmpi = _stricmp + _stricmp_l + _stricoll + _stricoll_l +@@ -1059,7 +1059,7 @@ _tell + _telli64 + _tempnam + _time32 +-time == _time32 ++time = _time32 + _time64 + _tolower + _tolower_l +@@ -1123,7 +1123,7 @@ _vscwprintf_l + _vscwprintf_p + _vscwprintf_p_l + _vsnprintf +-vsnprintf == _vsnprintf ++vsnprintf = _vsnprintf + _vsnprintf_c + _vsnprintf_c_l + _vsnprintf_l +@@ -1196,7 +1196,7 @@ _wcsupr_s + _wcsupr_s_l + _wcsxfrm_l + _wctime32 +-_wctime == _wctime32 ++_wctime = _wctime32 + _wctime32_s + _wctime64 + _wctime64_s +@@ -1215,12 +1215,12 @@ _wexecvp + _wexecvpe + _wfdopen + _wfindfirst32 +-_wfindfirst == _wfindfirst32 ++_wfindfirst = _wfindfirst32 + _wfindfirst32i64 + _wfindfirst64 + _wfindfirst64i32 + _wfindnext32 +-_wfindnext == _wfindnext32 ++_wfindnext = _wfindnext32 + _wfindnext32i64 + _wfindnext64 + _wfindnext64i32 +@@ -1272,8 +1272,8 @@ _wspawnvpe + _wsplitpath + _wsplitpath_s + _wstat32 +-_wstat == _wstat32 +-_wstati64 == _wstat32i64 ++_wstat = _wstat32 ++_wstati64 = _wstat32i64 + _wstat32i64 + _wstat64 + _wstat64i32 +diff --git a/mingw-w64-crt/lib32/msvcr90d.def.in b/mingw-w64-crt/lib32/msvcr90d.def.in +index 8846e13..575d91f 100644 +--- a/mingw-w64-crt/lib32/msvcr90d.def.in ++++ b/mingw-w64-crt/lib32/msvcr90d.def.in +@@ -471,7 +471,7 @@ _cscanf_l + _cscanf_s + _cscanf_s_l + _ctime32 +-ctime == _ctime32 ++ctime = _ctime32 + _ctime32_s + _ctime64 + _ctime64_s +@@ -533,12 +533,12 @@ _filelengthi64 + _fileno + _findclose + _findfirst32 +-_findfirst == _findfirst32 ++_findfirst = _findfirst32 + _findfirst32i64 + _findfirst64 + _findfirst64i32 + _findnext32 +-_findnext == _findnext32 ++_findnext = _findnext32 + _findnext32i64 + _findnext64 + _findnext64i32 +@@ -571,8 +571,8 @@ _fseeki64 + _fseeki64_nolock + _fsopen + _fstat32 +-_fstat == _fstat32 +-_fstati64 == _fstat32i64 ++_fstat = _fstat32 ++_fstati64 = _fstat32i64 + _fstat32i64 + _fstat64 + _fstat64i32 +@@ -645,7 +645,7 @@ _getws + _getws_s + _global_unwind2 + _gmtime32 +-gmtime == _gmtime32 ++gmtime = _gmtime32 + _gmtime32_s + _gmtime64 + _gmtime64_s +@@ -772,7 +772,7 @@ _loaddll + _local_unwind2 + _local_unwind4 + _localtime32 +-localtime == _localtime32 ++localtime = _localtime32 + _localtime32_s + _localtime64 + _localtime64_s +@@ -936,12 +936,12 @@ _memicmp + _memicmp_l + _mkdir + _mkgmtime32 +-_mkgmtime == _mkgmtime32 ++_mkgmtime = _mkgmtime32 + _mkgmtime64 + _mktemp + _mktemp_s + _mktime32 +-mktime == _mktime32 ++mktime = _mktime32 + _mktime64 + _msize + _msize_dbg +@@ -1060,8 +1060,8 @@ _sprintf_s_l + _sscanf_l + _sscanf_s_l + _stat32 +-_stat == _stat32 +-_stati64 == _stat32i64 ++_stat = _stat32 ++_stati64 = _stat32i64 + _stat32i64 + _stat64 + _stat64i32 +@@ -1076,7 +1076,7 @@ _strerror + _strerror_s + _strftime_l + _stricmp +-_strcmpi == _stricmp ++_strcmpi = _stricmp + _stricmp_l + _stricoll + _stricoll_l +@@ -1125,7 +1125,7 @@ _telli64 + _tempnam + _tempnam_dbg + _time32 +-time == _time32 ++time = _time32 + _time64 + _tolower + _tolower_l +@@ -1189,7 +1189,7 @@ _vscwprintf_l + _vscwprintf_p + _vscwprintf_p_l + _vsnprintf +-vsnprintf == _vsnprintf ++vsnprintf = _vsnprintf + _vsnprintf_c + _vsnprintf_c_l + _vsnprintf_l +@@ -1263,7 +1263,7 @@ _wcsupr_s + _wcsupr_s_l + _wcsxfrm_l + _wctime32 +-_wctime == _wctime32 ++_wctime = _wctime32 + _wctime32_s + _wctime64 + _wctime64_s +@@ -1283,7 +1283,7 @@ _wexecvp + _wexecvpe + _wfdopen + _wfindfirst32 +-_wfindfirst == _wfindfirst32 ++_wfindfirst = _wfindfirst32 + _wfindfirst32i64 + _wfindfirst64 + _wfindfirst64i32 +@@ -1343,8 +1343,8 @@ _wspawnvpe + _wsplitpath + _wsplitpath_s + _wstat32 +-_wstat == _wstat32 +-_wstati64 == _wstat32i64 ++_wstat = _wstat32 ++_wstati64 = _wstat32i64 + _wstat32i64 + _wstat64 + _wstat64i32 +diff --git a/mingw-w64-crt/lib32/msvcrt.def.in b/mingw-w64-crt/lib32/msvcrt.def.in +index 71bdf56..39fe182 100644 +--- a/mingw-w64-crt/lib32/msvcrt.def.in ++++ b/mingw-w64-crt/lib32/msvcrt.def.in +@@ -174,14 +174,14 @@ _filelengthi64 + _fileno + _findclose + _findfirst +-_findfirst32 == _findfirst ++_findfirst32 = _findfirst + _findfirsti64 +-_findfirst32i64 == _findfirsti64 ++_findfirst32i64 = _findfirsti64 + ;_findfirst64i32 DATA ; provided by libmingwex + _findnext +-_findnext32 == _findnext ++_findnext32 = _findnext + _findnexti64 +-_findnext32i64 == _findnexti64 ++_findnext32i64 = _findnexti64 + ;_findnext64i32 DATA ; provided by libmingwex + _finite + _flsbuf +@@ -194,7 +194,7 @@ _fputchar + _fputwchar + _fsopen + _fstat +-_fstat32 == _fstat ++_fstat32 = _fstat + _fstati64 + _ftime + _ftol +@@ -402,7 +402,7 @@ _splitpath + _stat + _stat64 + _stati64 +-_stat32 == _stat ++_stat32 = _stat + _statusfp + _strcmpi + _strdate +@@ -439,7 +439,7 @@ _unloaddll + _unlock + _utime + _vsnprintf +-vsnprintf == _vsnprintf ++vsnprintf = _vsnprintf + _vsnwprintf + _waccess + _wasctime +@@ -459,7 +459,7 @@ _wcsrev + _wcsset + _wcsupr + _wctime +-_wctime32 == _wctime ++_wctime32 = _wctime + _wenviron DATA + _wexecl + _wexecle +@@ -471,14 +471,14 @@ _wexecvp + _wexecvpe + _wfdopen + _wfindfirst +-_wfindfirst32 == _wfindfirst ++_wfindfirst32 = _wfindfirst + _wfindfirsti64 +-_wfindfirst32i64 == _wfindfirsti64 ++_wfindfirst32i64 = _wfindfirsti64 + ;_wfindfirst64i32 DATA ; provided by libmingwex + _wfindnext +-_wfindnext32 == _wfindnext ++_wfindnext32 = _wfindnext + _wfindnexti64 +-_wfindnext32i64 == _wfindnexti64 ++_wfindnext32i64 = _wfindnexti64 + ;_wfindnext64i32 DATA ; provided by libmingwex + _wfopen + _wfreopen +@@ -516,7 +516,7 @@ _wspawnvpe + _wsplitpath + _wstat + _wstati64 +-_wstat32 == _wstat ++_wstat32 = _wstat + _wstrdate + _wstrtime + _wsystem +@@ -551,7 +551,7 @@ cos DATA + ; this to DATA only, too + cosh + ctime +-_ctime32 == ctime ++_ctime32 = ctime + difftime + div + exit +@@ -594,7 +594,7 @@ gets + getwc + getwchar + gmtime +-_gmtime32 == gmtime ++_gmtime32 = gmtime + is_wctype + isalnum + isalpha +@@ -626,7 +626,7 @@ ldexp DATA + ldiv + localeconv + localtime +-_localtime32 == localtime ++_localtime32 = localtime + log DATA + ; If we have log10 implementation too, we need to set this to DATA only. + log10 +@@ -640,7 +640,7 @@ memcpy + memmove + memset + mktime +-_mktime32 == mktime ++_mktime32 = mktime + modf DATA + perror + pow DATA +@@ -754,7 +754,7 @@ _localtime64 + _mbcasemap + _mktime64 + _osplatform DATA +-_time32 == time ++_time32 = time + _time64 + _utime64 + _wctime64 +@@ -859,7 +859,7 @@ _fprintf_p + _fprintf_p_l + _fprintf_s_l + _ftime32_s +-_ftime_s == _ftime32_s ++_ftime_s = _ftime32_s + _ftime64_s + _fwprintf_l + _fwprintf_p +@@ -1069,7 +1069,7 @@ _strupr_l + _strupr_s + _strupr_s_l + _strxfrm_l +-_swprintf == swprintf ++_swprintf = swprintf + _swprintf_c_l + _swprintf_p_l + _swprintf_s_l +@@ -1124,7 +1124,7 @@ _vsprintf_l + _vsprintf_p + _vsprintf_p_l + _vsprintf_s_l +-_vswprintf == vswprintf ++_vswprintf = vswprintf + _vswprintf_c + _vswprintf_c_l + _vswprintf_l +@@ -1221,10 +1221,10 @@ tmpnam_s + vfprintf_s + vfwprintf_s + vprintf_s +-vsnprintf == _vsnprintf +-snprintf == _snprintf +-snwprintf == _snwprintf +-vsnwprintf == _vsnwprintf ++vsnprintf = _vsnprintf ++snprintf = _snprintf ++snwprintf = _snwprintf ++vsnwprintf = _vsnwprintf + ; vsprintf_s replaced by emu + vswprintf_s + vwprintf_s +-- +2.4.5 + diff --git a/mingw-w64-cross-crt-git/PKGBUILD b/mingw-w64-cross-crt-git/PKGBUILD index eae5a6ea..7558f829 100644 --- a/mingw-w64-cross-crt-git/PKGBUILD +++ b/mingw-w64-cross-crt-git/PKGBUILD @@ -5,13 +5,24 @@ _variant=clang #_variant=gcc +# controls the import library tool to be used when building the crt +_imptool=dlltool +# This is only temp until genlib becomes the default in mingw-w64 +#_imptool=lib +#_imptool=genlib + +if [ "${_imptool}" = "lib" ]; then + # if you use lib.exe you need to specify its location + _libexedir=/path/to/lib.exe +fi + _realname=crt _mingw_suff=mingw-w64-cross pkgname="${_mingw_suff}-${_realname}-git" replaces="${_mingw_suff}-${_realname}" provides=("${_mingw_suff}-${_realname}") conflicts=("${_mingw_suff}-${_realname}") -pkgver=5.0.0.4507.5495a11 +pkgver=5.0.0.4547.41c3816 pkgrel=1 pkgdesc='MinGW-w64 CRT for cross-compiler' arch=('i686' 'x86_64') @@ -28,9 +39,11 @@ fi options=('!strip' 'staticlibs' '!emptydirs' '!buildflags') source=("mingw-w64"::"git://git.code.sf.net/p/mingw-w64/mingw-w64" - "0001-crt-crtexe-avoid-seh-because-of-.rva-when-using-clan.patch") + "0001-crt-crtexe-avoid-seh-because-of-.rva-when-using-clan.patch" + "0004-def-changes-for-lib-driver.patch") md5sums=('SKIP' - '7e6502509e61c77f36ee237443aa947e') + '7e6502509e61c77f36ee237443aa947e' + 'e768c5c5a96d370373aaaa5bfc2db4f8') _targets="i686-w64-mingw32 x86_64-w64-mingw32 armv7-w64-mingw32" @@ -45,6 +58,10 @@ pkgver() { prepare() { cd ${srcdir}/mingw-w64 git am "${srcdir}"/0001-crt-crtexe-avoid-seh-because-of-.rva-when-using-clan.patch + + if [ "${_imptool}" = "lib" ]; then + git am "${srcdir}/"0004-def-changes-for-lib-driver.patch + fi } build() { @@ -76,7 +93,43 @@ build() { --prefix=/opt/${_target} \ --host=${_target} \ --enable-wildcard \ - ${_crt_configure_args} + ${_crt_configure_args} + + if [ "${_imptool}" = "lib" ]; then + + #DLLTOOL = ${arch}-w64-mingw32-dlltool + #AM_DLLTOOLFLAGS = -k --as=$(AS) --output-lib $@ $(am__append_1) + + #DLLTOOLFLAGSARM32 = + #DLLTOOLFLAGS32 = --as-flags=--32 -m i386 + #DLLTOOLFLAGS64 = --as-flags=--64 -m i386:x86-64 + + #DTDEFARM32 = $(DLLTOOL) $(DLLTOOLFLAGSARM32) $(AM_DLLTOOLFLAGS) --input-def + #DTDEF32 = $(DLLTOOL) $(DLLTOOLFLAGS32) $(AM_DLLTOOLFLAGS) --input-def + #DTDEF64 = $(DLLTOOL) $(DLLTOOLFLAGS64) $(AM_DLLTOOLFLAGS) --input-def + + sed -i "s|DLLTOOL =.*|DLLTOOL =${_libexedir}/lib|g" ${srcdir}/crt-${_target}/Makefile + sed -i 's|AM_DLLTOOLFLAGS =.*|AM_DLLTOOLFLAGS = /OUT:$@ $(am__append_1)|g' ${srcdir}/crt-${_target}/Makefile + + sed -i "s|DLLTOOLFLAGSARM32 =.*|DLLTOOLFLAGSARM32 = /MACHINE:ARM|g" ${srcdir}/crt-${_target}/Makefile + sed -i "s|DLLTOOLFLAGS32 =.*|DLLTOOLFLAGS32 = /MACHINE:X86|g" ${srcdir}/crt-${_target}/Makefile + sed -i "s|DLLTOOLFLAGS64 =.*|DLLTOOLFLAGS64 = /MACHINE:X64|g" ${srcdir}/crt-${_target}/Makefile + + sed -i 's|DTDEFARM32 =.*|DTDEFARM32 = $(DLLTOOL) $(DLLTOOLFLAGSARM32) $(AM_DLLTOOLFLAGS)|g' ${srcdir}/crt-${_target}/Makefile + sed -i 's|DTDEF32 =.*|DTDEF32 = $(DLLTOOL) $(DLLTOOLFLAGS32) $(AM_DLLTOOLFLAGS)|g' ${srcdir}/crt-${_target}/Makefile + sed -i 's|DTDEF64 =.*|DTDEF64 = $(DLLTOOL) $(DLLTOOLFLAGS64) $(AM_DLLTOOLFLAGS)|g' ${srcdir}/crt-${_target}/Makefile + + # try add /DEF: to each .def file + # very hacky solution + sed -i 's|DTLIB32 = $(DTDEF32) $(top_srcdir)/|DTLIB32 = $(DTDEF32) /DEF:|g' ${srcdir}/crt-${_target}/Makefile + sed -i 's|$(DTDEF32) lib32/msvcrt.def|$(DTDEF32) /DEF:lib32/msvcrt.def|g' ${srcdir}/crt-${_target}/Makefile + sed -i 's|$(DTDEF32) $<.*|$(DTDEF32) /DEF:$<|g' ${srcdir}/crt-${_target}/Makefile + + # this def is broken dunno why + sed -i 's|lib32/libx3daudio1_2.a||g' ${srcdir}/crt-${_target}/Makefile + + fi + make done }