This is the 2nd attempt to fix the problem, after realizing that
the manual renaming of the DLL is still needed for
i686_64-w64-mingw32.shared but not for x86_64-w64-mingw32.shared.
- icu-config is deprecated
- pkg-config has special handling for mingw, aix, os400
disable this to use linux style shared lib naming and symlinks
- U_USING_ICU_NAMESPACE=0 is now the default
The following script was applied:
sed ':a;/part of MXE.$/{N;s/\n//;ba}' -i $(git grep -l 'part of MXE')
sed 's/\(part of MXE\).*\(See index.html\)/\1. \2/' -i \
$(git grep -l 'part of MXE.*See index.html')
before='This file is part of MXE. See index.html for further information.'
after='This file is part of MXE. See LICENSE.md for licensing information.'
sed "s/$before/$after/" -i $(git grep -l 'part of MXE')
Then git grep 'index.html for further information' revealed two other files.
One of them was patched manually (patch.mk). Makefile has text
"See index.html for further information" unrelated to licensing.
See https://github.com/mxe/mxe/issues/1500#issuecomment-241340792
Most of the automatic conversion was done using the following Python script:
import os
import re
pkgs = sorted(mkfile[:-len('.mk')] for mkfile in os.listdir('src') if mkfile.endswith('.mk'))
with open('index.html', 'rb') as f:
index = f.read()
pkgs_index = re.findall('<td class="package">([^<]*)</td>', index)
assert pkgs_index == pkgs
versions = dict(re.findall('<td id="([^"]*)-version">([^<]*)</td>', index))
assert sorted(versions.keys()) == pkgs
for pkg in pkgs:
version = versions[pkg]
with open('src/' + pkg + '.mk', 'rb') as f:
mk = f.read()
checksumpos = mk.index('\n$(PKG)_CHECKSUM ')
versionline = '\n$(PKG)_VERSION := %(version)s' % {'version': version}
newmk = mk[:checksumpos] + versionline + mk[checksumpos:]
with open('src/' + pkg + '.mk', 'wb') as f:
f.write(newmk)
Unsetting CONFIG_SITE was the right way to solve the problem that
--libdir was working around.
This reverts commit 0b3240f9d8.
This reverts commit 3653eb6ec1.
This reverts commit 593ab5a706.