Index: source/common/putil.cpp
--- source/common/putil.cpp.orig	2023-06-13 23:23:55.000000000 +0200
+++ source/common/putil.cpp	2023-10-17 23:33:40.879282000 +0200
@@ -2004,7 +2004,7 @@
          */
         name = "ISO-8859-1";
     }
-#elif U_PLATFORM_IS_DARWIN_BASED
+#elif U_PLATFORM_IS_DARWIN_BASED || U_PLATFORM == U_PF_BSD
     if (locale == nullptr && *name == 0) {
         /*
         No locale was specified, and an empty name was passed in.
@@ -2023,11 +2023,6 @@
          */
         name = "UTF-8";
     }
-#elif U_PLATFORM == U_PF_BSD
-    if (uprv_strcmp(name, "CP949") == 0) {
-        /* Remap CP949 to a similar codepage to avoid issues with backslash and won symbol. */
-        name = "EUC-KR";
-    }
 #elif U_PLATFORM == U_PF_HPUX
     if (locale != nullptr && uprv_strcmp(locale, "zh_HK") == 0 && uprv_strcmp(name, "big5") == 0) {
         /* HP decided to extend big5 as hkbig5 even though it's not compatible :-( */
@@ -2183,7 +2178,7 @@
        nl_langinfo may use the same buffer as setlocale. */
     {
         const char *codeset = nl_langinfo(U_NL_LANGINFO_CODESET);
-#if U_PLATFORM_IS_DARWIN_BASED || U_PLATFORM_IS_LINUX_BASED
+#if U_PLATFORM_IS_DARWIN_BASED || U_PLATFORM_IS_LINUX_BASED || U_PLATFORM == U_PF_BSD
         /*
          * On Linux and MacOSX, ensure that default codepage for non C/POSIX locale is UTF-8
          * instead of ASCII.
Index: source/common/putilimp.h
--- source/common/putilimp.h.orig	2023-06-13 23:23:55.000000000 +0200
+++ source/common/putilimp.h	2023-10-17 23:32:52.250556000 +0200
@@ -128,6 +128,8 @@
    /* not defined */
 #elif U_PLATFORM == U_PF_IPHONE
    /* not defined */
+#elif U_PLATFORM == U_PF_BSD && !defined(__NetBSD__)
+   /* not defined */
 #else
 #   define U_TIMEZONE timezone
 #endif
Index: source/common/unicode/platform.h
--- source/common/unicode/platform.h.orig	2023-06-13 23:23:55.000000000 +0200
+++ source/common/unicode/platform.h	2023-10-17 23:32:52.250688000 +0200
@@ -374,8 +374,8 @@
  */
 #ifdef U_IS_BIG_ENDIAN
     /* Use the predefined value. */
-#elif defined(BYTE_ORDER) && defined(BIG_ENDIAN)
-#   define U_IS_BIG_ENDIAN (BYTE_ORDER == BIG_ENDIAN)
+#elif defined(_BYTE_ORDER) && defined(_BIG_ENDIAN)
+#   define U_IS_BIG_ENDIAN (_BYTE_ORDER == _BIG_ENDIAN)
 #elif defined(__BYTE_ORDER__) && defined(__ORDER_BIG_ENDIAN__)
     /* gcc */
 #   define U_IS_BIG_ENDIAN (__BYTE_ORDER__ == __ORDER_BIG_ENDIAN__)
Index: source/common/unicode/uconfig.h
--- source/common/unicode/uconfig.h.orig	2023-06-13 23:23:55.000000000 +0200
+++ source/common/unicode/uconfig.h	2023-10-17 23:32:52.250785000 +0200
@@ -89,7 +89,7 @@
  * @internal
  */
 #ifndef U_DISABLE_RENAMING
-#define U_DISABLE_RENAMING 0
+#define U_DISABLE_RENAMING 1
 #endif
 
 /**
Index: source/config/Makefile.inc.in
--- source/config/Makefile.inc.in.orig	2023-06-13 23:23:55.000000000 +0200
+++ source/config/Makefile.inc.in	2023-10-17 23:32:52.250872000 +0200
@@ -117,7 +117,7 @@
 ICULIBS_BASE = -L$(libdir)
 
 # for icu-config to test with
-ICULIBS_COMMON_LIB_NAME = ${LIBICU}${COMMON_STUBNAME}${ICULIBSUFFIX}${ICULIBSUFFIX_VERSION}.${SO}
+ICULIBS_COMMON_LIB_NAME = ${LIBICU}${COMMON_STUBNAME}${ICULIBSUFFIX}${ICULIBSUFFIX_VERSION}.${A}
 ICULIBS_COMMON_LIB_NAME_A = ${LIBICU}${COMMON_STUBNAME}${ICULIBSUFFIX}.${A}
 
 # ICULIBS is the set of libraries your application should link
Index: source/data/Makefile.in
--- source/data/Makefile.in.orig	2023-06-13 23:23:55.000000000 +0200
+++ source/data/Makefile.in	2023-10-17 23:32:52.250967000 +0200
@@ -149,6 +149,7 @@
 ifneq ($(ICUDATA_ARCHIVE),)
 ICUDATA_SOURCE_ARCHIVE = $(OUTDIR)/$(ICUDATA_PLATFORM_NAME).dat
 $(ICUDATA_SOURCE_ARCHIVE): $(ICUDATA_ARCHIVE)
+	$(MKINSTALLDIRS) $(DESTDIR)$(OUTDIR)
 	$(MKINSTALLDIRS) $(OUTDIR)
 	$(INVOKE) $(TOOLBINDIR)/icupkg -t$(ICUDATA_CHAR) $(ICUDATA_ARCHIVE) $(ICUDATA_SOURCE_ARCHIVE)
 	
Index: source/icudefs.mk.in
--- source/icudefs.mk.in.orig	2023-06-13 23:23:55.000000000 +0200
+++ source/icudefs.mk.in	2023-10-17 23:32:52.251064000 +0200
@@ -155,7 +155,7 @@
 ifeq ($(ENABLE_RPATH),YES)
 RPATHLDFLAGS = $(LD_RPATH)$(LD_RPATH_PRE)$(libdir)
 endif
-LDFLAGS = @LDFLAGS@ $(RPATHLDFLAGS)
+LDFLAGS = -L$(LIBDIR) -L$(top_builddir)/stubdata @LDFLAGS@ $(RPATHLDFLAGS)
 
 # What kind of libraries are we building and linking against?
 ENABLE_STATIC = @ENABLE_STATIC@
Index: source/runConfigureICU
--- source/runConfigureICU.orig	2023-06-13 23:23:55.000000000 +0200
+++ source/runConfigureICU	2023-10-17 23:32:52.251153000 +0200
@@ -392,26 +392,10 @@
 
 if test $release -eq 1
 then
-    if test "$RELEASE_CFLAGS" = ""
-    then
-        case $CC in
-            gcc|*/gcc|*-gcc-*|*/*-gcc-*)
-                RELEASE_CFLAGS=-O3
-                ;;
-        esac
-    fi
     if test "$RELEASE_CFLAGS" != ""
     then
         CFLAGS="$RELEASE_CFLAGS $CFLAGS"
     fi
-    if test "$RELEASE_CXXFLAGS" = ""
-    then
-        case $CXX in
-            g++|*/g++|*-g++-*|*/*-g++-*)
-                RELEASE_CXXFLAGS=-O3
-                ;;
-        esac
-    fi
     if test "$RELEASE_CXXFLAGS" != ""
     then
         CXXFLAGS="$RELEASE_CXXFLAGS $CXXFLAGS"
