diff -rupN --no-dereference icu/source/config/icu.pc.in icu-new/source/config/icu.pc.in
--- icu/source/config/icu.pc.in 2023-12-11 23:27:41.000000000 +0100
+++ icu-new/source/config/icu.pc.in 2024-02-05 09:27:02.052135931 +0100
@@ -3,30 +3,30 @@
# Copyright (C) 2010-2013, International Business Machines Corporation. All Rights Reserved.
# CFLAGS contains only anything end users should set
-CFLAGS = @UCONFIG_CFLAGS@
+CFLAGS=@UCONFIG_CFLAGS@
# CXXFLAGS contains only anything end users should set
-CXXFLAGS = @UCONFIG_CXXFLAGS@
+CXXFLAGS=@UCONFIG_CXXFLAGS@
# DEFS only contains those UCONFIG_CPPFLAGS which are not auto-set by platform.h
-DEFS = @UCONFIG_CPPFLAGS@
-prefix = @prefix@
-exec_prefix = @exec_prefix@
-#bindir = @bindir@
-libdir = @libdir@
-includedir = @includedir@
-baselibs = @LIBS@
-#datarootdir = @datarootdir@
-#datadir = @datadir@
-#sbindir = @sbindir@
-#mandir = @mandir@
-#sysconfdir = @sysconfdir@
+DEFS=@UCONFIG_CPPFLAGS@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+#bindir=@bindir@
+libdir=@libdir@
+includedir=@includedir@
+baselibs=@LIBS@
+#datarootdir=@datarootdir@
+#datadir=@datadir@
+#sbindir=@sbindir@
+#mandir=@mandir@
+#sysconfdir=@sysconfdir@
UNICODE_VERSION=@UNICODE_VERSION@
ICUPREFIX=icu
ICULIBSUFFIX=@ICULIBSUFFIX@
-LIBICU=lib${ICUPREFIX}
+LIBICU=${ICUPREFIX}
#SHAREDLIBCFLAGS=-fPIC
pkglibdir=${libdir}/@PACKAGE@${ICULIBSUFFIX}/@VERSION@
#pkgdatadir=${datadir}/@PACKAGE@${ICULIBSUFFIX}/@VERSION@
-ICUDATA_NAME = icudt@LIB_VERSION_MAJOR@@ICUDATA_CHAR@
+ICUDATA_NAME=icudata@LIB_VERSION_MAJOR@@ICUDATA_CHAR@
#ICUPKGDATA_DIR=@libdir@
#ICUDATA_DIR=${pkgdatadir}
ICUDESC=International Components for Unicode
diff -rupN --no-dereference icu/source/config/Makefile.inc.in icu-new/source/config/Makefile.inc.in
--- icu/source/config/Makefile.inc.in 2023-12-11 23:27:41.000000000 +0100
+++ icu-new/source/config/Makefile.inc.in 2024-02-05 09:27:02.056135944 +0100
@@ -43,7 +43,7 @@ UNICODE_VERSION = @UNICODE_VERSION@
# The prefix for ICU libraries, normally 'icu'
ICUPREFIX = icu
PACKAGE = @PACKAGE@
-LIBICU = lib$(ICUPREFIX)
+LIBICU = $(ICUPREFIX)
# Static library prefix and file extension
STATIC_PREFIX = s
@@ -106,17 +106,18 @@ CTESTFW_STUBNAME = test
# - $(ICULIBS_I18N) - i18n library, formatting, etc.
# - $(ICULIBS_ICUIO) - ICU stdio equivalent library
-ICULIBS_COMMON = -l$(ICUPREFIX)uc$(ICULIBSUFFIX)$(ICULIBSUFFIX_VERSION)
-ICULIBS_DATA = -l$(ICUPREFIX)$(DATA_STUBNAME)$(ICULIBSUFFIX)$(ICULIBSUFFIX_VERSION)
-ICULIBS_I18N = -l$(ICUPREFIX)$(I18N_STUBNAME)$(ICULIBSUFFIX)$(ICULIBSUFFIX_VERSION)
-ICULIBS_TOOLUTIL = -l$(ICUPREFIX)tu$(ICULIBSUFFIX)$(ICULIBSUFFIX_VERSION)
-ICULIBS_CTESTFW = -l$(ICUPREFIX)ctestfw$(ICULIBSUFFIX)$(ICULIBSUFFIX_VERSION)
-ICULIBS_ICUIO = -l$(ICUPREFIX)io$(ICULIBSUFFIX)$(ICULIBSUFFIX_VERSION)
-ICULIBS_OBSOLETE = -l$(ICUPREFIX)obsolete$(ICULIBSUFFIX)$(ICULIBSUFFIX_VERSION)
-ICULIBS_LAYOUTEX = -l$(ICUPREFIX)lx$(ICULIBSUFFIX)$(ICULIBSUFFIX_VERSION)
+ICULIBS_COMMON = -l$(ICUPREFIX)uc$(ICULIBSUFFIX)
+ICULIBS_DATA = -l$(ICUPREFIX)$(DATA_STUBNAME)$(ICULIBSUFFIX)
+ICULIBS_I18N = -l$(ICUPREFIX)$(I18N_STUBNAME)$(ICULIBSUFFIX)
+ICULIBS_TOOLUTIL = -l$(ICUPREFIX)tu$(ICULIBSUFFIX)
+ICULIBS_CTESTFW = -l$(ICUPREFIX)ctestfw$(ICULIBSUFFIX)
+ICULIBS_ICUIO = -l$(ICUPREFIX)io$(ICULIBSUFFIX)
+ICULIBS_OBSOLETE = -l$(ICUPREFIX)obsolete$(ICULIBSUFFIX)
+ICULIBS_LAYOUTEX = -l$(ICUPREFIX)lx$(ICULIBSUFFIX)
ICULIBS_BASE = -L$(libdir)
# for icu-config to test with
+SO = dll
ICULIBS_COMMON_LIB_NAME = ${LIBICU}${COMMON_STUBNAME}${ICULIBSUFFIX}${ICULIBSUFFIX_VERSION}.${SO}
ICULIBS_COMMON_LIB_NAME_A = ${LIBICU}${COMMON_STUBNAME}${ICULIBSUFFIX}.${A}
diff -rupN --no-dereference icu/source/config/mh-mingw icu-new/source/config/mh-mingw
--- icu/source/config/mh-mingw 2023-12-11 23:27:41.000000000 +0100
+++ icu-new/source/config/mh-mingw 2024-02-05 09:27:02.059135953 +0100
@@ -82,34 +82,21 @@ SO_TARGET_VERSION_SUFFIX =
endif
# Static library prefix and file extension
-LIBSICU = $(LIBPREFIX)$(STATIC_PREFIX)$(ICUPREFIX)
+LIBSICU = LIBSICU = lib$(LIBPREFIX)$(ICUPREFIX)
A = a
## An import library is needed for z/OS and MSVC
IMPORT_LIB_EXT = .dll.a
-LIBPREFIX=lib
+LIBPREFIX=
-# Change the stubnames so that poorly working FAT disks and installation programs can work.
-# This is also for backwards compatibility.
-DATA_STUBNAME = dt
-I18N_STUBNAME = in
-LIBICU = $(STATIC_PREFIX_WHEN_USED)$(ICUPREFIX)
+LIBICU = $(ICUPREFIX)
#SH### copied from Makefile.inc
#SH## for icu-config to test with
#SH#ICULIBS_COMMON_LIB_NAME="${LIBICU}${COMMON_STUBNAME}${ICULIBSUFFIX}${ICULIBSUFFIX_VERSION}.${SO}"
#SH#ICULIBS_COMMON_LIB_NAME_A="${LIBICU}${COMMON_STUBNAME}${ICULIBSUFFIX}.${A}"
-#SH#ICULIBS_DATA="-l$(ICUPREFIX)$(DATA_STUBNAME)$(ICULIBSUFFIX)"
-ICULIBS_DT="-l$(ICUPREFIX)$(DATA_STUBNAME)$(ICULIBSUFFIX)"
-ICULIBS_I18N="-l$(ICUPREFIX)$(I18N_STUBNAME)$(ICULIBSUFFIX)"
-ICULIBS_LX="-l$(STATIC_PREFIX_WHEN_USED)$(ICUPREFIX)$(LAYOUTEX_STUBNAME)$(ICULIBSUFFIX)"
-ICULIBS_IO="-l$(ICUPREFIX)$(IO_STUBNAME)$(ICULIBSUFFIX)"
-ICULIBS_UC="-l$(ICUPREFIX)$(COMMON_STUBNAME)$(ICULIBSUFFIX)"
-ICULIBS_CTESTFW="-l$(STATIC_PREFIX_WHEN_USED)$(ICUPREFIX)$(CTESTFW_STUBNAME)$(ICULIBSUFFIX)"
-ICULIBS_TOOLUTIL="-l$(ICUPREFIX)tu$(ICULIBSUFFIX)"
-#SH#
#SH## ICULIBS is the set of libraries your application should link
#SH## with usually. Many applications will want to add ${ICULIBS_I18N} as well.
#SH#ICULIBS="${ICULIBS_BASE} ${ICULIBS_I18N} ${ICULIBS_COMMON} ${ICULIBS_DATA} "
@@ -175,6 +162,9 @@ MIDDLE_IMPORT_LIB = $(FINAL_IMPORT_LIB)#
## Special pkgdata information that is needed
PKGDATA_VERSIONING = -r $(SO_TARGET_VERSION_MAJOR)
+# The following is for Makefile.inc's use.
+ICULIBSUFFIX_VERSION = $(LIB_VERSION_MAJOR)
+
## Versioned libraries rules
#%$(SO_TARGET_VERSION_MAJOR).$(SO): %$(SO_TARGET_VERSION).$(SO)
# $(RM) $@ && cp ${<F} $@
@@ -190,5 +180,17 @@ GENCCODE_ASSEMBLY=-a gcc-cygwin
# These are needed to allow the pkgdata GNU make files to work
PKGDATA_DEFS = -DU_MAKE=\"$(MAKE)\"
+# Just the libs.
+ICULIBS_DT = -l$(STATIC_PREFIX_WHEN_USED)$(ICUPREFIX)$(DATA_STUBNAME)$(ICULIBSUFFIX)
+ICULIBS_UC = -l$(STATIC_PREFIX_WHEN_USED)$(ICUPREFIX)$(COMMON_STUBNAME)$(ICULIBSUFFIX)
+ICULIBS_I18N = -l$(STATIC_PREFIX_WHEN_USED)$(ICUPREFIX)$(I18N_STUBNAME)$(ICULIBSUFFIX)
+ICULIBS_LE = -l$(STATIC_PREFIX_WHEN_USED)$(ICUPREFIX)$(LAYOUT_STUBNAME)$(ICULIBSUFFIX)
+ICULIBS_LX = -l$(STATIC_PREFIX_WHEN_USED)$(ICUPREFIX)$(LAYOUTEX_STUBNAME)$(ICULIBSUFFIX)
+ICULIBS_IO = -l$(STATIC_PREFIX_WHEN_USED)$(ICUPREFIX)$(IO_STUBNAME)$(ICULIBSUFFIX)
+ICULIBS_CTESTFW = -l$(STATIC_PREFIX_WHEN_USED)$(ICUPREFIX)$(CTESTFW_STUBNAME)$(ICULIBSUFFIX)
+ICULIBS_TOOLUTIL = -l$(STATIC_PREFIX_WHEN_USED)$(ICUPREFIX)$(TOOLUTIL_STUBNAME)$(ICULIBSUFFIX)
+# Link commands to link to ICU libs
+LLIBDIR = -L$(LIBDIR)
+
## End Cygwin/MinGW specific setup
diff -rupN --no-dereference icu/source/config/mh-mingw64 icu-new/source/config/mh-mingw64
--- icu/source/config/mh-mingw64 2023-12-11 23:27:41.000000000 +0100
+++ icu-new/source/config/mh-mingw64 2024-02-05 09:27:02.063135966 +0100
@@ -82,7 +82,7 @@ SO_TARGET_VERSION_SUFFIX =
endif
# Static library prefix and file extension
-LIBSICU = lib$(LIBPREFIX)$(STATIC_PREFIX)$(ICUPREFIX)
+LIBSICU = lib$(LIBPREFIX)$(ICUPREFIX)
A = a
## An import library is needed for z/OS and MSVC
@@ -90,26 +90,13 @@ IMPORT_LIB_EXT = .dll.a
LIBPREFIX=
-# Change the stubnames so that poorly working FAT disks and installation programs can work.
-# This is also for backwards compatibility.
-DATA_STUBNAME = dt
-I18N_STUBNAME = in
-LIBICU = $(STATIC_PREFIX_WHEN_USED)$(ICUPREFIX)
+LIBICU = $(ICUPREFIX)
#SH### copied from Makefile.inc
#SH## for icu-config to test with
#SH#ICULIBS_COMMON_LIB_NAME="${LIBICU}${COMMON_STUBNAME}${ICULIBSUFFIX}${ICULIBSUFFIX_VERSION}.${SO}"
#SH#ICULIBS_COMMON_LIB_NAME_A="${LIBICU}${COMMON_STUBNAME}${ICULIBSUFFIX}.${A}"
-#SH#ICULIBS_DATA="-l$(ICUPREFIX)$(DATA_STUBNAME)$(ICULIBSUFFIX)"
-ICULIBS_DT="-l$(ICUPREFIX)$(DATA_STUBNAME)$(ICULIBSUFFIX)"
-ICULIBS_I18N="-l$(ICUPREFIX)$(I18N_STUBNAME)$(ICULIBSUFFIX)"
-ICULIBS_LX="-l$(STATIC_PREFIX_WHEN_USED)$(ICUPREFIX)$(LAYOUTEX_STUBNAME)$(ICULIBSUFFIX)"
-ICULIBS_IO="-l$(ICUPREFIX)$(IO_STUBNAME)$(ICULIBSUFFIX)"
-ICULIBS_UC="-l$(ICUPREFIX)$(COMMON_STUBNAME)$(ICULIBSUFFIX)"
-ICULIBS_CTESTFW="-l$(STATIC_PREFIX_WHEN_USED)$(ICUPREFIX)$(CTESTFW_STUBNAME)$(ICULIBSUFFIX)"
-ICULIBS_TOOLUTIL="-l$(ICUPREFIX)tu$(ICULIBSUFFIX)"
-#SH#
#SH## ICULIBS is the set of libraries your application should link
#SH## with usually. Many applications will want to add ${ICULIBS_I18N} as well.
#SH#ICULIBS="${ICULIBS_BASE} ${ICULIBS_I18N} ${ICULIBS_COMMON} ${ICULIBS_DATA} "
@@ -175,6 +162,9 @@ MIDDLE_IMPORT_LIB = $(FINAL_IMPORT_LIB)#
## Special pkgdata information that is needed
PKGDATA_VERSIONING = -r $(SO_TARGET_VERSION_MAJOR)
+# The following is for Makefile.inc's use.
+ICULIBSUFFIX_VERSION = $(LIB_VERSION_MAJOR)
+
## Versioned libraries rules
#%$(SO_TARGET_VERSION_MAJOR).$(SO): %$(SO_TARGET_VERSION).$(SO)
# $(RM) $@ && cp ${<F} $@
@@ -190,5 +180,17 @@ GENCCODE_ASSEMBLY=-a gcc-mingw64
# These are needed to allow the pkgdata GNU make files to work
PKGDATA_DEFS = -DU_MAKE=\"$(MAKE)\"
+# Just the libs.
+ICULIBS_DT = -l$(STATIC_PREFIX_WHEN_USED)$(ICUPREFIX)$(DATA_STUBNAME)$(ICULIBSUFFIX)
+ICULIBS_UC = -l$(STATIC_PREFIX_WHEN_USED)$(ICUPREFIX)$(COMMON_STUBNAME)$(ICULIBSUFFIX)
+ICULIBS_I18N = -l$(STATIC_PREFIX_WHEN_USED)$(ICUPREFIX)$(I18N_STUBNAME)$(ICULIBSUFFIX)
+ICULIBS_LE = -l$(STATIC_PREFIX_WHEN_USED)$(ICUPREFIX)$(LAYOUT_STUBNAME)$(ICULIBSUFFIX)
+ICULIBS_LX = -l$(STATIC_PREFIX_WHEN_USED)$(ICUPREFIX)$(LAYOUTEX_STUBNAME)$(ICULIBSUFFIX)
+ICULIBS_IO = -l$(STATIC_PREFIX_WHEN_USED)$(ICUPREFIX)$(IO_STUBNAME)$(ICULIBSUFFIX)
+ICULIBS_CTESTFW = -l$(STATIC_PREFIX_WHEN_USED)$(ICUPREFIX)$(CTESTFW_STUBNAME)$(ICULIBSUFFIX)
+ICULIBS_TOOLUTIL = -l$(STATIC_PREFIX_WHEN_USED)$(ICUPREFIX)$(TOOLUTIL_STUBNAME)$(ICULIBSUFFIX)
+# Link commands to link to ICU libs
+LLIBDIR = -L$(LIBDIR)
+
## End Cygwin64/MinGW64 specific setup