aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/omniorb
diff options
context:
space:
mode:
Diffstat (limited to 'vcpkg/ports/omniorb')
-rw-r--r--vcpkg/ports/omniorb/add_win_into_autotools.patch315
-rw-r--r--vcpkg/ports/omniorb/def_gen_fix.patch18
-rw-r--r--vcpkg/ports/omniorb/fix_dependency.patch78
-rw-r--r--vcpkg/ports/omniorb/hardcode_vaargs_for_msvc.patch76
-rw-r--r--vcpkg/ports/omniorb/msvc-src-build-fixes.patch13
-rw-r--r--vcpkg/ports/omniorb/portfile.cmake219
-rw-r--r--vcpkg/ports/omniorb/python-fixes.patch51
-rw-r--r--vcpkg/ports/omniorb/release-debug-static.patch319
-rw-r--r--vcpkg/ports/omniorb/vcpkg.json23
-rw-r--r--vcpkg/ports/omniorb/vcpkg.mk89
10 files changed, 1201 insertions, 0 deletions
diff --git a/vcpkg/ports/omniorb/add_win_into_autotools.patch b/vcpkg/ports/omniorb/add_win_into_autotools.patch
new file mode 100644
index 0000000..df25c31
--- /dev/null
+++ b/vcpkg/ports/omniorb/add_win_into_autotools.patch
@@ -0,0 +1,315 @@
+diff --git a/configure.ac b/configure.ac
+index d485463..2ba9c82 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -231,6 +231,7 @@ case "$host" in
+ *-*-openbsd*) plat_name="OpenBSD"; plat_def="__openbsd__"; os_v="3";;
+ *-*-sco*) plat_name="OSR5"; plat_def="__osr5__"; os_v="5";;
+ *-*-gnu*) plat_name="GNU"; plat_def="__hurd__" ; os_v="0";;
++ *-*-mingw*) plat_name="Win32Platform"; plat_def="__WIN32__" ; os_v="4";;
+ esac
+
+ AC_SUBST(PLATFORM_NAME, $plat_name)
+diff --git a/mk/beforeauto.mk.in b/mk/beforeauto.mk.in
+index f078912..9aef646 100644
+--- a/mk/beforeauto.mk.in
++++ b/mk/beforeauto.mk.in
+@@ -1311,3 +1314,7 @@ endif
+
+ lib_depend := $(patsubst %,$(LibPattern),omnithread)
+ OMNITHREAD_LIB_DEPEND := $(GENERATE_LIB_DEPEND)
++
++ifdef Win32Platform
++include $(THIS_IMPORT_TREE)/mk/platforms/vcpkg.mk
++endif
+\ No newline at end of file
+diff --git a/mk/win32.mk b/mk/win32.mk
+index 94c9aad..f788d41 100644
+--- a/mk/win32.mk
++++ b/mk/win32.mk
+@@ -81,7 +81,6 @@ endif
+
+
+ ifndef WINVER
+-WINVER = 0x0400
+ endif
+
+ IMPORT_CPPFLAGS += -D__WIN32__ -D_WIN32_WINNT=$(WINVER)
+@@ -179,7 +179,7 @@ define CXXExecutable
+ $(RM) $@; \
+ $(CXXLINK) -out:$@ $(CXXLINKOPTIONS) -PDB:$@.pdb $(IMPORT_LIBRARY_FLAGS) \
+ $(filter-out $(LibPattern),$^) $$libs; \
+- $(MANIFESTTOOL) /outputresource:"$@;#1" /manifest $@.manifest; \
++ $(MANIFESTTOOL) -outputresource:"$@;#1" -manifest $@.manifest; \
+ )
+ endef
+
+@@ -187,7 +187,7 @@ define CExecutable
+ (set -x; \
+ $(RM) $@; \
+ $(CLINK) -out:$@ $(CLINKOPTIONS) -PDB:$@.pdb $(IMPORT_LIBRARY_FLAGS) $(filter-out $(LibPattern),$^) $$libs; \
+- $(MANIFESTTOOL) /outputresource:"$@;#1" /manifest $@.manifest; \
++ $(MANIFESTTOOL) -outputresource:"$@;#1" -manifest $@.manifest; \
+ )
+ endef
+
+@@ -356,18 +356,18 @@ extralinkoption="$(MSVC_DLL_CXXLINKDEBUGOPTIONS)"; \
+ else \
+ extralinkoption="$(MSVC_DLL_CXXLINKNODEBUGOPTIONS)"; \
+ fi; \
+ if [ -z "$$nodeffile" ]; then \
+ $(MakeCXXExportSymbolDefinitionFile) \
+ defflag="-def:$$defname"; \
+ fi; \
+ $(MakeResourceDefinitionFile) \
+ set -x; \
+ $(RM) $@; \
+ $(CXXLINK) -out:$$dllname -DLL $$extralinkoption \
+ $$defflag -IMPLIB:$@ $(IMPORT_LIBRARY_FLAGS) \
+ $^ $$extralibs $$resname; \
+-$(MANIFESTTOOL) /outputresource:"$$dllname;#2" /manifest $$dllname.manifest; \
++$(MANIFESTTOOL) -outputresource:"$$dllname;#2" -manifest $$dllname.manifest; \
+ $(CP) $@ $$slibname;
+ endef
+
+ # Export SharedLibrary
+diff --git a/acinclude.m4 b/acinclude.m4
+index cef87f8bd..cf61556bd 100644
+--- a/acinclude.m4
++++ b/acinclude.m4
+@@ -433,8 +433,8 @@ AC_SUBST(ENABLE_LONGDOUBLE, $omni_cv_enable_longdouble)
+
+ dnl Enable ZIOP
+ AC_DEFUN([OMNI_ENABLE_ZIOP],
+-[AC_CHECK_LIB(z,compressBound,omni_cv_enable_ziop_zlib=yes,omni_cv_enable_ziop_zlib=no)
+-AC_CHECK_LIB(zstd,ZSTD_compress,omni_cv_enable_ziop_zstd=yes,omni_cv_enable_ziop_zstd=no)
++[AC_SEARCH_LIBS(compressBound,[z zlib zlibd],omni_cv_enable_ziop_zlib=yes,omni_cv_enable_ziop_zlib=no)
++AC_SEARCH_LIBS(ZSTD_compress,[zstd zstdd],omni_cv_enable_ziop_zstd=yes,omni_cv_enable_ziop_zstd=no)
+ omni_cv_enable_ziop="no"
+ if test "$omni_cv_enable_ziop_zlib" = "yes"; then
+ omni_cv_enable_ziop="yes"
+diff --git a/mk/win32.mk b/mk/win32.mk
+index 741835b4b..7a5bff934 100644
+--- a/mk/win32.mk
++++ b/mk/win32.mk
+@@ -580,8 +580,7 @@ OMNIORB_IDL = $(OMNIORB_IDL_ONLY) $(OMNIORB_IDL_ANY_FLAGS)
+ OMNIORB_CPPFLAGS = -D__OMNIORB4__ -I$(CORBA_STUB_DIR) $(OMNITHREAD_CPPFLAGS)
+ OMNIORB_IDL_OUTPUTDIR_PATTERN = -C%
+
+-msvc_work_around_stub = $(patsubst %,$(LibPattern),msvcstub) \
+- -NODEFAULTLIB:libcmt.lib -NODEFAULTLIB:libcmtd.lib
++msvc_work_around_stub = $(patsubst %,$(LibPattern),msvcstub)
+
+ OMNIORB_LIB = $(omniorb_dll_name) \
+ $(omnidynamic_dll_name) \
+diff --git a/src/tool/dir.mk b/src/tool/dir.mk
+index c6cb127d9..d75ba288a 100644
+--- a/src/tool/dir.mk
++++ b/src/tool/dir.mk
+@@ -11,7 +11,7 @@ SUBDIRS = omkdepend omniidl
+ endif
+
+ ifdef Win32Platform
+-SUBDIRS = omniidl
++SUBDIRS = omkdepend omniidl
+ endif
+
+
+diff --git a/mk/win32.mk b/mk/win32.mk
+index 6d320a2bd..3983eba5c 100644
+--- a/mk/win32.mk
++++ b/mk/win32.mk
+@@ -40,12 +40,7 @@ SORT = sort
+ endif
+
+
+-AR = $(BASE_OMNI_TREE)/$(WRAPPER_FPATH)/libwrapper $(XLN)
+-CXX = $(BASE_OMNI_TREE)/$(WRAPPER_FPATH)/clwrapper $(XLN)
+-CXXLINK = $(BASE_OMNI_TREE)/$(WRAPPER_FPATH)/linkwrapper $(XLN)
+ CXXMAKEDEPEND = $(BASE_OMNI_TREE)/$(WRAPPER_FPATH)/omkdepend $(MKDEPOPT) -D__cplusplus -D_MSC_VER
+-CC = $(BASE_OMNI_TREE)/$(WRAPPER_FPATH)/clwrapper $(XLN)
+-CLINK = $(BASE_OMNI_TREE)/$(WRAPPER_FPATH)/linkwrapper $(XLN)
+ CMAKEDEPEND = $(BASE_OMNI_TREE)/$(WRAPPER_FPATH)/omkdepend $(MKDEPOPT) -D_MSC_VER
+
+ RCTOOL = rc.exe
+@@ -83,7 +83,7 @@ endif
+ ifndef WINVER
+ endif
+
+-IMPORT_CPPFLAGS += -D__WIN32__ -D_WIN32_WINNT=$(WINVER)
++IMPORT_CPPFLAGS += -D__WIN32__
+
+ SOCKET_LIB = ws2_32.lib mswsock.lib
+
+diff --git a/mk/beforeauto.mk.in b/mk/beforeauto.mk.in
+index b7087ea36..d7a826fa9 100644
+--- a/mk/beforeauto.mk.in
++++ b/mk/beforeauto.mk.in
+@@ -36,6 +36,8 @@ BINDIR = bin
+
+ prefix := @prefix@
+ exec_prefix := @exec_prefix@
++includedir := @includedir@
++libdir := @libdir@
+ INSTALLTARGET := 1
+ INSTALLINCDIR := $(DESTDIR)@includedir@
+ INSTALLBINDIR := $(DESTDIR)@bindir@
+@@ -362,6 +364,9 @@ endef
+ #
+ # Patterns for various file types
+ #
++
++ifndef Win32Platform
++
+ LibPathPattern = -L%
+ LibNoDebugPattern = lib%.a
+ LibDebugPattern = lib%.a
+@@ -371,6 +376,37 @@ LibSearchPattern = -l%
+ BinPattern = %
+ TclScriptPattern = %
+
++else
++
++LibPathPattern = -libpath:%
++LibNoDebugPattern = %.lib
++LibDebugPattern = %d.lib
++DLLNoDebugPattern = %_rt.lib
++DLLDebugPattern = %_rtd.lib
++LibNoDebugSearchPattern = %.lib
++LibDebugSearchPattern = %d.lib
++DLLNoDebugSearchPattern = %_rt.lib
++DLLDebugSearchPattern = %_rtd.lib
++
++
++ifndef BuildDebugBinary
++
++LibPattern = $(LibNoDebugPattern)
++DLLPattern = $(DLLNoDebugPattern)
++LibSearchPattern = $(LibNoDebugSearchPattern)
++DLLSearchPattern = $(DLLNoDebugSearchPattern)
++
++else
++
++LibPattern = $(LibDebugPattern)
++DLLPattern = $(DLLDebugPattern)
++LibSearchPattern = $(LibDebugSearchPattern)
++DLLSearchPattern = $(DLLDebugSearchPattern)
++endif
++
++endif
++
++
+
+ #
+ # Stuff to generate statically-linked libraries.
+diff --git a/src/services/mklib/dynstublib/dir.mk b/src/services/mklib/dynstublib/dir.mk
+index e128aa87a..f2e1448b3 100644
+--- a/src/services/mklib/dynstublib/dir.mk
++++ b/src/services/mklib/dynstublib/dir.mk
+@@ -17,6 +17,14 @@ ifdef Win32Platform
+ MSVC_STATICLIB_CXXDEBUGFLAGS += -D_WINSTATIC
+ endif
+
++ifdef Win32Platform
++# in case of Win32 lossage:
++dynimps := COS$(OMNIORB_MAJOR_VERSION)$(OMNIORB_MINOR_VERSION)$(OMNIORB_MICRO_VERSION)_rt.lib \
++ $(patsubst $(DLLDebugSearchPattern),$(DLLNoDebugSearchPattern), $(OMNIORB_LIB))
++else
++dynimps := $(OMNIORB_COS_LIB) $(OMNIORB_LIB)
++endif
++
+ ifndef NoReleaseBuild
+ all:: mkstatic mkshared
+
+@@ -75,14 +83,6 @@ dynskshared = shared/$(shell $(SharedLibraryFullName) $(dynsknamespec))
+
+ MDFLAGS += -p shared/
+
+-ifdef Win32Platform
+-# in case of Win32 lossage:
+-dynimps := COS$(OMNIORB_MAJOR_VERSION)$(OMNIORB_MINOR_VERSION)$(OMNIORB_MICRO_VERSION)_rt.lib \
+- $(patsubst $(DLLDebugSearchPattern),$(DLLNoDebugSearchPattern), $(OMNIORB_LIB))
+-else
+-dynimps := $(OMNIORB_COS_LIB) $(OMNIORB_LIB)
+-endif
+-
+ mkshared::
+ @(dir=shared; $(CreateDir))
+
+diff --git a/mk/win32.mk b/mk/win32.mk
+index 83f1b1687..741835b4b 100644
+--- a/mk/win32.mk
++++ b/mk/win32.mk
+@@ -43,5 +43,5 @@ endif
+-CXXMAKEDEPEND = $(BASE_OMNI_TREE)/$(WRAPPER_FPATH)/omkdepend $(MKDEPOPT) -D__cplusplus -D_MSC_VER
++CXXMAKEDEPEND = $(OMKDEPEND) -D__cplusplus -D_MSC_VER
+-CMAKEDEPEND = $(BASE_OMNI_TREE)/$(WRAPPER_FPATH)/omkdepend $(MKDEPOPT) -D_MSC_VER
++CMAKEDEPEND = $(OMKDEPEND) $(MKDEPOPT) -D_MSC_VER
+
+ RCTOOL = rc.exe
+ MANIFESTTOOL = true
+@@ -145,7 +145,7 @@ BinPattern = %.exe
+ define StaticLinkLibrary
+ (set -x; \
+ $(RM) $@; \
+- $(AR) $@ $^; \
++ $(AR) -OUT:$@ $^; \
+ )
+ endef
+
+@@ -439,12 +444,11 @@ endef
+ # The pattern rules below ensured that the right compiler flags are used
+ # to compile the source for the library.
+
++ifndef NoReleaseBuild
++
+ static/%.o: %.cc
+ $(CXX) -c $(CXXDEBUGFLAGS) $(MSVC_STATICLIB_CXXNODEBUGFLAGS) $(CPPFLAGS) -Fo$@ -Fdstatic\\$(LIB_NAME)$(major).pdb $<
+
+-debug/%.o: %.cc
+- $(CXX) -c $(MSVC_STATICLIB_CXXDEBUGFLAGS) $(CPPFLAGS) -Fo$@ -Fddebug\\$(LIB_NAME)$(major)d.pdb $<
+-
+ shared/%DynSK.o: %DynSK.cc
+ $(CXX) -c $(CXXDEBUGFLAGS) -DUSE_core_stub_in_nt_dll $(MSVC_DLL_CXXNODEBUGFLAGS) $(CPPFLAGS) -Fo$@ -Fdshared\\ $<
+
+@@ -454,6 +458,18 @@ shared/%SK.o: %SK.cc
+ shared/%.o: %.cc
+ $(CXX) -c $(CXXDEBUGFLAGS) $(MSVC_DLL_CXXNODEBUGFLAGS) $(CPPFLAGS) -Fo$@ -Fdshared\\ $<
+
++static/%.o: %.c
++ $(CC) -c $(CDEBUGFLAGS) $(MSVC_STATICLIB_CXXNODEBUGFLAGS) $(CPPFLAGS) -Fo$@ -Fdstatic\\$(LIB_NAME)$(major).pdb $<
++
++shared/%.o: %.c
++ $(CC) -c $(CDEBUGFLAGS) $(MSVC_DLL_CXXNODEBUGFLAGS) $(CPPFLAGS) -Fo$@ $<
++
++endif
++
++ifndef NoDebugBuild
++
++debug/%.o: %.cc
++ $(CXX) -c $(MSVC_STATICLIB_CXXDEBUGFLAGS) $(CPPFLAGS) -Fo$@ -Fddebug\\$(LIB_NAME)$(major)d.pdb $<
+
+ shareddebug/%DynSK.o: %DynSK.cc
+ $(CXX) -c -DUSE_core_stub_in_nt_dll $(MSVC_DLL_CXXDEBUGFLAGS) $(CPPFLAGS) -Fo$@ -Fdshareddebug\\ $<
+@@ -464,19 +480,14 @@ shareddebug/%SK.o: %SK.cc
+ shareddebug/%.o: %.cc
+ $(CXX) -c $(MSVC_DLL_CXXDEBUGFLAGS) $(CPPFLAGS) -Fo$@ -Fdshareddebug\\ $<
+
+-static/%.o: %.c
+- $(CC) -c $(CDEBUGFLAGS) $(MSVC_STATICLIB_CXXNODEBUGFLAGS) $(CPPFLAGS) -Fo$@ -Fdstatic\\$(LIB_NAME)$(major).pdb $<
+-
+ debug/%.o: %.c
+ $(CC) -c $(MSVC_STATICLIB_CXXDEBUGFLAGS) $(CPPFLAGS) -Fo$@ -Fdstatic\\$(LIB_NAME)$(major)d.pdb $<
+
+-shared/%.o: %.c
+- $(CC) -c $(CDEBUGFLAGS) $(MSVC_DLL_CXXNODEBUGFLAGS) $(CPPFLAGS) -Fo$@ $<
+-
+-
+ shareddebug/%.o: %.c
+ $(CC) -c $(MSVC_DLL_CXXDEBUGFLAGS) $(CPPFLAGS) -Fo$@ $<
+
++endif
++
+
+ #
+ # Replacements for implicit rules
diff --git a/vcpkg/ports/omniorb/def_gen_fix.patch b/vcpkg/ports/omniorb/def_gen_fix.patch
new file mode 100644
index 0000000..5034c2e
--- /dev/null
+++ b/vcpkg/ports/omniorb/def_gen_fix.patch
@@ -0,0 +1,18 @@
+diff --git a/mk/win32.mk b/mk/win32.mk
+index fc179563e..15903919a 100644
+--- a/mk/win32.mk
++++ b/mk/win32.mk
+@@ -264,12 +264,12 @@ endef
+ define MakeCXXExportSymbolDefinitionFile
+ symrefdir=$${debug:+debug}; \
+ symreflib=$(SharedLibrarySymbolRefLibraryTemplate); \
+ if [ ! -f $$symreflib ]; then echo "Cannot find reference static library $$symreflib"; return 1; fi; \
+ set -x; \
+ echo "LIBRARY $$dllbase" > $$defname; \
+ echo "VERSION $$version" >> $$defname; \
+ echo "EXPORTS" >> $$defname; \
+-DUMPBIN.EXE /SYMBOLS $$symreflib | \
++DUMPBIN.EXE $$symreflib -SYMBOLS | \
+ egrep '^[^ ]+ +[^ ]+ +SECT[^ ]+ +[^ ]+ +\(\) +External +\| +\?[^ ]*|^[^ ]+ +[^ ]+ +SECT[^ ]+ +[^ ]+ +External +\| +\?[^?][^ ]*'|\
+ egrep -v 'deleting destructor[^(]+\(unsigned int\)' | \
+ egrep -v 'anonymous namespace' | \
diff --git a/vcpkg/ports/omniorb/fix_dependency.patch b/vcpkg/ports/omniorb/fix_dependency.patch
new file mode 100644
index 0000000..39398c3
--- /dev/null
+++ b/vcpkg/ports/omniorb/fix_dependency.patch
@@ -0,0 +1,78 @@
+diff --git a/mk/mklib.mk b/mk/mklib.mk
+index fb83cf391..9b28a314b 100644
+--- a/mk/mklib.mk
++++ b/mk/mklib.mk
+@@ -100,6 +100,10 @@ $(shlib): $(patsubst %, shared/%, $(LIB_OBJS) $(LIB_SHARED_ONLY_OBJS))
+ @(namespec="$(namespec)" extralibs="$(imps) $(extralibs)"; \
+ $(MakeCXXSharedLibrary))
+
++ifdef Win32Platform
++$(shlib): | $(staticlib)
++endif
++
+ export:: $(shlib)
+ @(namespec="$(namespec)"; \
+ $(ExportSharedLibrary))
+@@ -209,6 +211,10 @@ $(dbugshlib): $(patsubst %, shareddebug/%, $(LIB_OBJS) $(LIB_SHARED_ONLY_OBJS))
+ (namespec="$(namespec)" debug=1 extralibs="$(dbugimps) $(extralibs)"; \
+ $(MakeCXXSharedLibrary))
+
++ifdef Win32Platform
++$(dbugshlib): | $(dbuglib)
++endif
++
+ export:: $(dbugshlib)
+ @(namespec="$(namespec)" debug=1; \
+ $(ExportSharedLibrary))
+diff --git a/src/services/mklib/stublib/dir.mk b/src/services/mklib/stublib/dir.mk
+index ce46f6c5f..eb619e5c5 100644
+--- a/src/services/mklib/stublib/dir.mk
++++ b/src/services/mklib/stublib/dir.mk
+@@ -92,6 +92,10 @@ $(skshared): $(patsubst %, shared/%, $(COS_SK_OBJS))
+ @(namespec="$(sknamespec)"; extralibs="$(imps) $(extralibs)"; \
+ $(MakeCXXSharedLibrary))
+
++ifdef Win32Platform
++$(skshared): | $(sk)
++endif
++
+ export:: $(skshared)
+ @(namespec="$(sknamespec)"; \
+ $(ExportSharedLibrary))
+@@ -168,6 +170,10 @@ $(skshareddbug): $(patsubst %, shareddebug/%, $(COS_SK_OBJS))
+ (namespec="$(sknamespec)"; debug=1; extralibs="$(dbugimps) $(extralibs)"; \
+ $(MakeCXXSharedLibrary))
+
++ifdef Win32Platform
++$(skshareddbug): | $(skdbug)
++endif
++
+ export:: $(skshareddbug)
+ @(namespec="$(sknamespec)" debug=1; \
+ $(ExportSharedLibrary))
+diff --git a/src/services/mklib/dynstublib/dir.mk b/src/services/mklib/dynstublib/dir.mk
+index f2e1448b3..9134e8aba 100644
+--- a/src/services/mklib/dynstublib/dir.mk
++++ b/src/services/mklib/dynstublib/dir.mk
+@@ -92,6 +92,10 @@ $(dynskshared): $(skshared) $(patsubst %, shared/%, $(COS_DYNSK_OBJS))
+ @(namespec="$(dynsknamespec)"; extralibs="$(dynimps)"; \
+ $(MakeCXXSharedLibrary))
+
++ifdef Win32Platform
++$(dynskshared): | $(dynsk)
++endif
++
+ export:: $(dynskshared)
+ @(namespec="$(dynsknamespec)"; \
+ $(ExportSharedLibrary))
+@@ -169,6 +171,10 @@ $(dynskshareddbug): $(patsubst %, shareddebug/%, $(COS_DYNSK_OBJS))
+ @(namespec="$(dynsknamespec)"; debug=1; extralibs="$(skshareddbug) $(dbugimps) $(extralibs)"; \
+ $(MakeCXXSharedLibrary))
+
++ifdef Win32Platform
++$(dynskshareddbug): | $(dynskdbug)
++endif
++
+ export:: $(dynskshareddbug)
+ @(namespec="$(dynsknamespec)" debug=1; \
+ $(ExportSharedLibrary))
diff --git a/vcpkg/ports/omniorb/hardcode_vaargs_for_msvc.patch b/vcpkg/ports/omniorb/hardcode_vaargs_for_msvc.patch
new file mode 100644
index 0000000..add8ec0
--- /dev/null
+++ b/vcpkg/ports/omniorb/hardcode_vaargs_for_msvc.patch
@@ -0,0 +1,76 @@
+diff --git a/src/tool/omniidl/cxx/cccp/cccp.c b/src/tool/omniidl/cxx/cccp/cccp.c
+index 507c330..5651b3e 100644
+--- a/src/tool/omniidl/cxx/cccp/cccp.c
++++ b/src/tool/omniidl/cxx/cccp/cccp.c
+@@ -182,15 +182,20 @@ my_bzero (b, length)
+ # endif
+ #endif
+
++#if defined(_MSC_VER)
++#define OMNI_HAVE_VPRINTF
++#define __STDC__
++#endif
++
+ #if defined (__STDC__) && defined (OMNI_HAVE_VPRINTF)
+ # include <stdarg.h>
+ # define VA_START(va_list, var) va_start (va_list, var)
+ # define PRINTF_ALIST(msg) char *msg, ...
+ # define PRINTF_DCL(msg)
+ # define PRINTF_PROTO(ARGS, m, n) PROTO (ARGS) __attribute__ ((format (__printf__, m, n)))
+ #else
+ # include <varargs.h>
+ # define VA_START(va_list, var) va_start (va_list)
+ # define PRINTF_ALIST(msg) msg, va_alist
+ # define PRINTF_DCL(msg) char *msg; va_dcl
+ # define PRINTF_PROTO(ARGS, m, n) () __attribute__ ((format (__printf__, m, n)))
+diff --git a/src/tool/omniidl/cxx/cccp/cexp.c b/src/tool/omniidl/cxx/cccp/cexp.c
+index 4b4679c..b534fb3 100644
+--- a/src/tool/omniidl/cxx/cccp/cexp.c
++++ b/src/tool/omniidl/cxx/cccp/cexp.c
+@@ -152,15 +152,20 @@ struct arglist {
+ # endif
+ #endif
+
++#if defined(_MSC_VER)
++#define OMNI_HAVE_VPRINTF
++#define __STDC__
++#endif
++
+ #if defined (__STDC__) && defined (OMNI_HAVE_VPRINTF)
+ # include <stdarg.h>
+ # define VA_START(va_list, var) va_start (va_list, var)
+ # define PRINTF_ALIST(msg) char *msg, ...
+ # define PRINTF_DCL(msg)
+ # define PRINTF_PROTO(ARGS, m, n) PROTO (ARGS) __attribute__ ((format (__printf__, m, n)))
+ #else
+ # include <varargs.h>
+ # define VA_START(va_list, var) va_start (va_list)
+ # define PRINTF_ALIST(msg) msg, va_alist
+ # define PRINTF_DCL(msg) char *msg; va_dcl
+ # define PRINTF_PROTO(ARGS, m, n) () __attribute__ ((format (__printf__, m, n)))
+diff --git a/src/tool/omniidl/cxx/cccp/cexp.y.source b/src/tool/omniidl/cxx/cccp/cexp.y.source
+index 6fc69f5..6f59873 100644
+--- a/src/tool/omniidl/cxx/cccp/cexp.y.source
++++ b/src/tool/omniidl/cxx/cccp/cexp.y.source
+@@ -111,15 +111,20 @@ struct arglist {
+ # endif
+ #endif
+
++#if defined(_MSC_VER)
++#define OMNI_HAVE_VPRINTF
++#define __STDC__
++#endif
++
+-#if defined (__STDC__) && defined (HAVE_VPRINTF)
++#if defined (__STDC__) && defined (OMNI_HAVE_VPRINTF)
+ # include <stdarg.h>
+ # define VA_START(va_list, var) va_start (va_list, var)
+ # define PRINTF_ALIST(msg) char *msg, ...
+ # define PRINTF_DCL(msg)
+ # define PRINTF_PROTO(ARGS, m, n) PROTO (ARGS) __attribute__ ((format (__printf__, m, n)))
+ #else
+ # include <varargs.h>
+ # define VA_START(va_list, var) va_start (va_list)
+ # define PRINTF_ALIST(msg) msg, va_alist
+ # define PRINTF_DCL(msg) char *msg; va_dcl
+ # define PRINTF_PROTO(ARGS, m, n) () __attribute__ ((format (__printf__, m, n)))
diff --git a/vcpkg/ports/omniorb/msvc-src-build-fixes.patch b/vcpkg/ports/omniorb/msvc-src-build-fixes.patch
new file mode 100644
index 0000000..fb7ae67
--- /dev/null
+++ b/vcpkg/ports/omniorb/msvc-src-build-fixes.patch
@@ -0,0 +1,13 @@
+diff --git a/include/omnithread/atomic.h b/include/omnithread/atomic.h
+index 3fed8df..e1b6a71 100644
+--- a/include/omnithread/atomic.h
++++ b/include/omnithread/atomic.h
+@@ -27,7 +27,7 @@
+ #define __omnithread_atomic_h_
+
+
+-#ifdef OMNI_HAVE_SYNC_ADD_AND_FETCH
++#if defined(OMNI_HAVE_SYNC_ADD_AND_FETCH) && !defined(_MSC_VER)
+
+ # define OMNI_REFCOUNT_DEFINED
+
diff --git a/vcpkg/ports/omniorb/portfile.cmake b/vcpkg/ports/omniorb/portfile.cmake
new file mode 100644
index 0000000..bdf4617
--- /dev/null
+++ b/vcpkg/ports/omniorb/portfile.cmake
@@ -0,0 +1,219 @@
+vcpkg_download_distfile(ARCHIVE
+ URLS "https://netcologne.dl.sourceforge.net/project/omniorb/omniORB/omniORB-${VERSION}/omniORB-${VERSION}.tar.bz2"
+ FILENAME "omniORB-${VERSION}.tar.bz2"
+ SHA512 b081c1acbea3c7bee619a288fec209a0705b7d436f8e5fd4743675046356ef271a8c75882334fcbde4ff77d15f54d2da55f6cfcd117b01e42919d04fd29bfe2f
+)
+
+if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW)
+set (PATCHES
+ hardcode_vaargs_for_msvc.patch
+ )
+set (OPTIONS
+ ac_cv_prog_cc_g=yes
+ ac_cv_prog_cxx_11=no
+ ac_cv_prog_cxx_g=yes
+ omni_cv_sync_add_and_fetch=no
+ )
+endif()
+
+vcpkg_extract_source_archive(
+ SOURCE_PATH
+ ARCHIVE "${ARCHIVE}"
+ PATCHES
+ fix_dependency.patch
+ def_gen_fix.patch
+ msvc-src-build-fixes.patch
+ release-debug-static.patch
+ add_win_into_autotools.patch
+ python-fixes.patch
+ ${PATCHES}
+)
+
+vcpkg_add_to_path("${CURRENT_HOST_INSTALLED_DIR}/tools/python3") # port ask python distutils for info.
+if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW)
+ set(ENV{PYTHONPATH} "${CURRENT_HOST_INSTALLED_DIR}/tools/python3/Lib${VCPKG_HOST_PATH_SEPARATOR}${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/lib/python${VCPKG_HOST_PATH_SEPARATOR}${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/lib/python")
+endif()
+
+if(NOT VCPKG_TARGET_IS_WINDOWS)
+ file(GLOB _py3_include_path "${CURRENT_HOST_INSTALLED_DIR}/include/python3*")
+ string(REGEX MATCH "python3\\.([0-9]+)" _python_version_tmp "${_py3_include_path}")
+ set(PYTHON_VERSION_MINOR "${CMAKE_MATCH_1}")
+ list(APPEND OPTIONS "PYTHON=${CURRENT_HOST_INSTALLED_DIR}/tools/python3/python3.${PYTHON_VERSION_MINOR}")
+endif()
+
+vcpkg_find_acquire_program(FLEX)
+cmake_path(GET FLEX PARENT_PATH FLEX_DIR)
+vcpkg_add_to_path("${FLEX_DIR}")
+
+vcpkg_find_acquire_program(BISON)
+cmake_path(GET BISON PARENT_PATH BISON_DIR)
+vcpkg_add_to_path("${BISON_DIR}")
+
+if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW)
+ set(z_vcpkg_org_linkage "${VCPKG_LIBRARY_LINKAGE}")
+ # convoluted build system; shared builds requires
+ # static library to create def file for symbol export
+ # tools seem to only dynamically link on windows due to make rules!
+ # zlib/zstd deps for ZIOP seem to not work on windows. At least configure
+ # won't run the required checks for some reasons.
+ set(VCPKG_LIBRARY_LINKAGE dynamic)
+ z_vcpkg_get_cmake_vars(cmake_vars_file)
+ include("${cmake_vars_file}")
+ if(VCPKG_BUILD_TYPE)
+ string(APPEND build_info "NoDebugBuild=1\n")
+ endif()
+ string(APPEND build_info "replace-with-per-config-text\n")
+ set(progs C_COMPILER CXX_COMPILER AR
+ LINKER RANLIB OBJDUMP MT
+ STRIP NM DLLTOOL RC_COMPILER)
+ list(TRANSFORM progs PREPEND "VCPKG_DETECTED_CMAKE_")
+ foreach(prog IN LISTS progs)
+ if(${prog})
+ set(path "${${prog}}")
+ unset(prog_found CACHE)
+ get_filename_component(${prog} "${${prog}}" NAME)
+ find_program(prog_found ${${prog}} PATHS ENV PATH NO_DEFAULT_PATH)
+ if(NOT path STREQUAL prog_found)
+ get_filename_component(path "${path}" DIRECTORY)
+ vcpkg_add_to_path(PREPEND ${path})
+ endif()
+ endif()
+ endforeach()
+ configure_file("${CMAKE_CURRENT_LIST_DIR}/vcpkg.mk" "${SOURCE_PATH}/mk/platforms/vcpkg.mk" @ONLY NEWLINE_STYLE UNIX)
+ file(GLOB_RECURSE wrappers "${SOURCE_PATH}/bin/x86_win32/*")
+ file(COPY ${wrappers} DESTINATION "${SOURCE_PATH}/bin")
+endif()
+
+vcpkg_configure_make(
+ SOURCE_PATH "${SOURCE_PATH}"
+ AUTOCONFIG
+ NO_WRAPPERS
+ COPY_SOURCE
+ OPTIONS
+ ${OPTIONS}
+)
+
+if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW)
+ vcpkg_replace_string("${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel//mk/platforms/vcpkg.mk" "replace-with-per-config-text" "NoDebugBuild=1")
+ if(NOT VCPKG_BUILD_TYPE)
+ vcpkg_replace_string("${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/mk/platforms/vcpkg.mk" "replace-with-per-config-text" "NoReleaseBuild=1\nBuildDebugBinary=1")
+ vcpkg_replace_string("${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/src/tool/omniidl/cxx/dir.mk" "python$(subst .,,$(PYVERSION)).lib" "python$(subst .,,$(PYVERSION))_d.lib")
+ vcpkg_replace_string("${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/src/tool/omniidl/cxx/dir.mk" "zlib.lib" "zlibd.lib")
+ endif()
+endif()
+
+vcpkg_install_make(
+ MAKEFILE "GNUmakefile"
+ ADD_BIN_TO_PATH
+)
+
+vcpkg_fixup_pkgconfig()
+
+if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW)
+ file(COPY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/lib/msvcstub.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/lib")
+ file(GLOB all_libs "${CURRENT_PACKAGES_DIR}/lib/*.lib")
+ set(import_libs "${all_libs}")
+ list(FILTER import_libs INCLUDE REGEX "(_rt.lib$|msvcstub)")
+ if(z_vcpkg_org_linkage STREQUAL "static")
+ file(REMOVE ${import_libs})
+ else()
+ list(REMOVE_ITEM all_libs ${import_libs})
+ file(REMOVE ${all_libs}) # remove installed static libs
+ set(to_copy_and_rename "${import_libs}")
+ list(FILTER to_copy_and_rename INCLUDE REGEX "3(0)?_rt.lib")
+ foreach(cp IN LISTS to_copy_and_rename)
+ string(REGEX REPLACE "3(0)?_rt" "" new_name "${cp}")
+ string(REGEX REPLACE "thread4" "thread" new_name "${new_name}")
+ file(COPY_FILE "${cp}" "${new_name}")
+ endforeach()
+ file(GLOB dll_files "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/bin/*.dll")
+ file(COPY ${dll_files} DESTINATION "${CURRENT_PACKAGES_DIR}/bin")
+ file(GLOB pc_files "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/*.pc")
+ foreach(pc_file IN LISTS pc_files)
+ get_filename_component(filename "${pc_file}" NAME_WE)
+ if(filename STREQUAL "omnithread3")
+ vcpkg_replace_string("${pc_file}" "-lomnithread" "-lomnithread_rt")
+ else()
+ vcpkg_replace_string("${pc_file}" "-l${filename}" "-l${filename}_rt" IGNORE_UNCHANGED)
+ endif()
+ endforeach()
+ endif()
+
+ if(NOT VCPKG_BUILD_TYPE) # dbg libs have no install rules so manually copy them.
+ file(GLOB all_libs "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/lib/*.lib")
+ set(install_libs "${all_libs}")
+ if(z_vcpkg_org_linkage STREQUAL "static")
+ list(FILTER install_libs EXCLUDE REGEX "(_rtd.lib$|msvcstub)")
+ else() # dynamic lib
+ list(FILTER install_libs INCLUDE REGEX "(_rtd.lib$|msvcstub)")
+ set(to_copy_and_rename "${install_libs}")
+ list(FILTER to_copy_and_rename INCLUDE REGEX "3(0)?_rtd.lib")
+ foreach(cp IN LISTS to_copy_and_rename)
+ string(REGEX REPLACE "3(0)?_rt" "" new_name "${cp}")
+ string(REGEX REPLACE "thread4" "thread" new_name "${new_name}")
+ file(COPY_FILE "${cp}" "${new_name}")
+ list(APPEND install_libs "${new_name}")
+ endforeach()
+ file(GLOB dll_files "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/bin/*.dll")
+ file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/debug/bin")
+ file(COPY ${dll_files} DESTINATION "${CURRENT_PACKAGES_DIR}/debug/bin")
+ file(GLOB pc_files "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/*.pc")
+ foreach(pc_file IN LISTS pc_files)
+ get_filename_component(filename "${pc_file}" NAME_WE)
+ if(filename STREQUAL "omnithread3")
+ vcpkg_replace_string("${pc_file}" "-lomnithread" "-lomnithread_rtd")
+ else()
+ vcpkg_replace_string("${pc_file}" "-l${filename}" "-l${filename}_rtd" IGNORE_UNCHANGED)
+ endif()
+ endforeach()
+ endif()
+ file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/debug/lib")
+ file(COPY ${install_libs} DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib")
+ endif()
+endif()
+
+vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING.LIB") # Lib is LGPL
+file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}/bin" RENAME copyright) # Tools etc are GPL
+
+vcpkg_copy_pdbs()
+
+if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW)
+file(COPY
+ "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/bin/omnicpp${VCPKG_TARGET_EXECUTABLE_SUFFIX}"
+ DESTINATION
+ "${CURRENT_PACKAGES_DIR}/tools/${PORT}/bin"
+ )
+endif()
+
+file(COPY
+ "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/bin/omniidl${VCPKG_TARGET_EXECUTABLE_SUFFIX}"
+ DESTINATION
+ "${CURRENT_PACKAGES_DIR}/tools/${PORT}/bin"
+ )
+
+vcpkg_copy_tool_dependencies("${CURRENT_PACKAGES_DIR}/tools/${PORT}/bin")
+
+# Restore old linkage info.
+if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW)
+ set(VCPKG_LIBRARY_LINKAGE "${z_vcpkg_org_linkage}")
+endif()
+
+if(NOT VCPKG_TARGET_IS_WINDOWS)
+ vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/tools/${PORT}/bin/omniidl" "${CURRENT_INSTALLED_DIR}" "\"os.path.dirname(__file__)+\"/../../../")
+endif()
+
+set(del_files "")
+if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")
+ file(GLOB del_files "${CURRENT_PACKAGES_DIR}/lib/*.a" "${CURRENT_PACKAGES_DIR}/debug/lib/*.a")
+ if(del_files)
+ file(REMOVE ${del_files})
+ endif()
+else()
+ file(GLOB del_files "${CURRENT_PACKAGES_DIR}/lib/*.so*" "${CURRENT_PACKAGES_DIR}/debug/lib/*.so*")
+ if(del_files)
+ file(REMOVE ${del_files})
+ endif()
+endif()
+
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/tools/${PORT}/debug")
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share")
diff --git a/vcpkg/ports/omniorb/python-fixes.patch b/vcpkg/ports/omniorb/python-fixes.patch
new file mode 100644
index 0000000..b9b2dc7
--- /dev/null
+++ b/vcpkg/ports/omniorb/python-fixes.patch
@@ -0,0 +1,51 @@
+diff --git a/mk/python.mk b/mk/python.mk
+index 1380018..fb321a5 100644
+--- a/mk/python.mk
++++ b/mk/python.mk
+@@ -3,10 +3,10 @@
+ #############################################################################
+
+ PYVERSION := $(shell $(PYTHON) -c 'import sys; sys.stdout.write(".".join(sys.version.split(".")[:2]))')
+-PYPREFIX := $(shell $(PYTHON) -c 'import sys; sys.stdout.write(sys.exec_prefix.replace("\\","/"))')
+-PYINCDIR := $(shell $(PYTHON) -c 'import sys, distutils.sysconfig; sys.stdout.write(distutils.sysconfig.get_python_inc().replace("\\","/"))')
++PYPREFIX := $(shell $(PYTHON) -c 'import sys; sys.stdout.write(sys.exec_prefix.replace("\\","/").replace(" ","\\ "))')
++PYINCDIR := $(includedir)/python$(PYVERSION)
+
+-PythonSHAREDLIB_SUFFIX = $(shell $(PYTHON) -c 'import sys, distutils.sysconfig; sys.stdout.write((distutils.sysconfig.get_config_var("SO") or ".so").lstrip("."))')
++PythonSHAREDLIB_SUFFIX = $(shell $(PYTHON) -c 'import sys, sysconfig; sys.stdout.write((sysconfig.get_config_var("SO") or ".so").lstrip("."))')
+
+ PY_MODULE_SUFFIX := $(shell $(PYTHON) -c 'import sys; sys.stdout.write((sys.hexversion < 0x3000000 and not hasattr(sys, "pypy_version_info")) and "module" or "")')
+
+diff --git a/src/tool/omniidl/cxx/idlpython.cc b/src/tool/omniidl/cxx/idlpython.cc
+index 639515105..27ad3ee0e 100644
+--- a/src/tool/omniidl/cxx/idlpython.cc
++++ b/src/tool/omniidl/cxx/idlpython.cc
+@@ -27,8 +27,6 @@
+
+ // On Windows, if _DEBUG is defined, some Python versions try to force
+ // use of _d.lib libraries that are not actually present.
+-#undef _DEBUG
+-
+ #include <Python.h>
+
+ #include <idlsysdep.h>
+diff --git a/src/tool/omniidl/cxx/dir.mk b/src/tool/omniidl/cxx/dir.mk
+index 84f10ac03..3b5a60b87 100644
+--- a/src/tool/omniidl/cxx/dir.mk
++++ b/src/tool/omniidl/cxx/dir.mk
+@@ -190,13 +190,13 @@ ifdef Win32Platform
+
+ DIR_CPPFLAGS += -DMSDOS -DOMNIIDL_EXECUTABLE
+
+-PYLIBDIR := $(PYPREFIX)/libs $(PYPREFIX)/lib/x86_win32
++PYLIBDIR := $(libdir)
+
+ ifdef MinGW32Build
+ PYLIB := -lpython$(subst .,,$(PYVERSION))
+ CXXLINKOPTIONS += $(patsubst %,-L%,$(PYLIBDIR))
+ else
+-PYLIB := python$(subst .,,$(PYVERSION)).lib
++PYLIB = python$(subst .,,$(PYVERSION)).lib zlib.lib Advapi32.lib
+ CXXLINKOPTIONS += $(patsubst %,-libpath:%,$(PYLIBDIR))
+ endif
+
diff --git a/vcpkg/ports/omniorb/release-debug-static.patch b/vcpkg/ports/omniorb/release-debug-static.patch
new file mode 100644
index 0000000..f9cc824
--- /dev/null
+++ b/vcpkg/ports/omniorb/release-debug-static.patch
@@ -0,0 +1,319 @@
+diff --git a/mk/mklib.mk b/mk/mklib.mk
+index 8f64b14dd..1d73cfdbe 100644
+--- a/mk/mklib.mk
++++ b/mk/mklib.mk
+@@ -16,6 +16,8 @@
+ # are called libfoo.a and libfoo.so.1.3 etc.
+ #
+
++ifndef NoReleaseBuild
++
+ all:: mkstatic mkshared
+
+ export:: mkstatic mkshared
+@@ -147,9 +149,13 @@ mkshared::
+
+ endif
+
++endif
++
+ ##############################################################################
+ # Build debug libraries for Win32
+ ##############################################################################
++ifndef NoDebugBuild
++
+ ifdef Win32Platform
+
+ ifdef BuildSharedLibrary
+@@ -231,3 +237,4 @@ veryclean::
+
+ endif
+ endif
++endif
+\ No newline at end of file
+diff --git a/src/lib/dir.mk b/src/lib/dir.mk
+index 732f8457c..bff3144f8 100644
+--- a/src/lib/dir.mk
++++ b/src/lib/dir.mk
+@@ -17,9 +17,14 @@ ciao::
+ ifndef EmbeddedSystem
+ ifdef Win32Platform
+ ifndef MinGW32Build
++ifndef NoReleaseBuild
+ export::
+ (cd $(EXPORT_TREE)/$(BINDIR); editbin /REBASE:BASE=0x68000000,DOWN *_rt.dll; )
++endif
++ifndef NoDebugBuild
++export::
+ (cd $(EXPORT_TREE)/$(BINDIR); editbin /REBASE:BASE=0x68000000,DOWN *_rtd.dll; )
+ endif
+ endif
+ endif
++endif
+diff --git a/src/lib/omnithread/dir.mk b/src/lib/omnithread/dir.mk
+index ed2194c98..adb87adba 100644
+--- a/src/lib/omnithread/dir.mk
++++ b/src/lib/omnithread/dir.mk
+@@ -32,14 +32,6 @@ LIB_VERSION := $(OMNITHREAD_VERSION)
+ LIB_OBJS := $(CXXSRCS:.cc=.o)
+ LIB_IMPORTS := $(OMNITHREAD_PLATFORM_LIB)
+
+-all:: mkstatic mkshared
+-
+-export:: mkstatic mkshared
+-
+-ifdef INSTALLTARGET
+-install:: mkstatic mkshared
+-endif
+-
+ vers := $(subst ., ,$(LIB_VERSION))
+ ifeq ($(words $(vers)), 2)
+ vers := _ $(vers)
+@@ -50,6 +42,16 @@ endif
+
+ namespec := $(LIB_NAME) $(vers)
+
++ifndef NoReleaseBuild
++
++all:: mkstatic mkshared
++
++export:: mkstatic mkshared
++
++ifdef INSTALLTARGET
++install:: mkstatic mkshared
++endif
++
+ ##############################################################################
+ # Build Static library
+ ##############################################################################
+@@ -158,9 +160,12 @@ mkshared::
+
+ endif
+
++endif
+ ##############################################################################
+ # Build debug libraries for Win32
+ ##############################################################################
++ifndef NoDebugBuild
++
+ ifdef Win32Platform
+
+ ifdef BuildSharedLibrary
+@@ -239,4 +244,4 @@ veryclean::
+
+ endif
+ endif
+-
++endif
+diff --git a/src/services/mklib/dynstublib/dir.mk b/src/services/mklib/dynstublib/dir.mk
+index 23573345d..e128aa87a 100644
+--- a/src/services/mklib/dynstublib/dir.mk
++++ b/src/services/mklib/dynstublib/dir.mk
+@@ -12,15 +12,18 @@ COS_DYNSK_SRCS = $(COS_INTERFACES:%=%DynSK.cc)
+
+ CXXSRCS = $(COS_DYNSK_SRCS)
+
+-all:: mkstatic mkshared
+-
+-export:: mkstatic mkshared
+-
+ ifdef Win32Platform
+ MSVC_STATICLIB_CXXNODEBUGFLAGS += -D_WINSTATIC
+ MSVC_STATICLIB_CXXDEBUGFLAGS += -D_WINSTATIC
+ endif
+
++ifndef NoReleaseBuild
++all:: mkstatic mkshared
++
++export:: mkstatic mkshared
++
++
++
+
+ ##############################################################################
+ # Build Static library
+@@ -108,10 +111,11 @@ else
+ mkshared::
+
+ endif
+-
++endif
+ ##############################################################################
+ # Build debug libraries for Win32
+ ##############################################################################
++ifndef NoDebugBuild
+ ifdef Win32Platform
+
+ all:: mkstaticdbug mkshareddbug
+@@ -145,6 +149,7 @@ clean::
+ #####################################################
+ # DLL debug libraries
+ #####################################################
++
+ shareddbugversion = $(OMNIORB_VERSION)
+
+ dynsknamespec = $(subst ., ,$(COS_DYNSKLIB_NAME).$(shareddbugversion))
+@@ -173,3 +178,4 @@ clean::
+ @(dir=shareddebug; $(CleanSharedLibrary))
+
+ endif
++endif
+\ No newline at end of file
+diff --git a/src/services/mklib/mkBOAlib/dir.mk b/src/services/mklib/mkBOAlib/dir.mk
+index 1869d083d..18cc38764 100644
+--- a/src/services/mklib/mkBOAlib/dir.mk
++++ b/src/services/mklib/mkBOAlib/dir.mk
+@@ -16,6 +16,8 @@ COS_SK_OBJS = $(COS_INTERFACES:%=%SK.o)
+ COS_SK_SRCS = $(COS_INTERFACES:%=%SK.cc)
+ CXXSRCS = $(COS_SK_SRCS)
+
++ifndef NoReleaseBuild
++
+ all:: mkstatic mkshared
+
+ export:: mkstatic mkshared
+@@ -124,10 +126,11 @@ else
+ mkshared::
+
+ endif
+-
++endif
+ ##############################################################################
+ # Build debug libraries for Win32
+ ##############################################################################
++ifndef NoDebugBuild
+ ifdef Win32Platform
+
+ all:: mkstaticdbug mkshareddbug
+@@ -190,4 +193,4 @@ clean::
+
+ endif
+
+-
++endif
+diff --git a/src/services/mklib/stublib/dir.mk b/src/services/mklib/stublib/dir.mk
+index d58027d84..87f7ec22b 100644
+--- a/src/services/mklib/stublib/dir.mk
++++ b/src/services/mklib/stublib/dir.mk
+@@ -12,15 +12,18 @@ COS_SK_SRCS = $(COS_INTERFACES:%=%SK.cc)
+
+ CXXSRCS = $(COS_SK_SRCS)
+
+-all:: mkstatic mkshared
+-
+-export:: mkstatic mkshared
+-
+ ifdef Win32Platform
+ MSVC_STATICLIB_CXXNODEBUGFLAGS += -D_WINSTATIC
+ MSVC_STATICLIB_CXXDEBUGFLAGS += -D_WINSTATIC
+ endif
+
++ifndef NoReleaseBuild
++
++all:: mkstatic mkshared
++
++export:: mkstatic mkshared
++
++
+
+ ##############################################################################
+ # Build Static library
+@@ -108,10 +111,11 @@ else
+ mkshared::
+
+ endif
+-
++endif
+ ##############################################################################
+ # Build debug libraries for Win32
+ ##############################################################################
++ifdef NoDebugBuild
+ ifdef Win32Platform
+
+ all:: mkstaticdbug mkshareddbug
+@@ -173,3 +177,4 @@ clean::
+ @(dir=shareddebug; $(CleanSharedLibrary))
+
+ endif
++endif
+diff --git a/src/lib/omniORB/orbcore/dir.mk b/src/lib/omniORB/orbcore/dir.mk
+index 634e6b1e2..4370fed07 100644
+--- a/src/lib/omniORB/orbcore/dir.mk
++++ b/src/lib/omniORB/orbcore/dir.mk
+@@ -220,6 +220,7 @@ include $(BASE_OMNI_TREE)/mk/mklib.mk
+
+ #########################################################################
+ ifdef Win32Platform
++ifndef NoReleaseBuild
+
+ stublib = static/$(patsubst %,$(LibNoDebugPattern),msvcstub)
+
+@@ -236,6 +237,8 @@ clean::
+
+ veryclean::
+ $(RM) $(stublib)
++endif
++ifndef NoDebugBuild
+
+ stubdblib = debug/$(patsubst %,$(LibDebugPattern),msvcstub)
+
+@@ -254,6 +257,7 @@ veryclean::
+ $(RM) $(stubdblib)
+
+ endif
++endif
+
+ #########################################################################
+ ifdef OPEN_SSL_ROOT
+diff --git a/src/services/mklib/stublib/dir.mk b/src/services/mklib/stublib/dir.mk
+index 87f7ec22b..ce46f6c5f 100644
+--- a/src/services/mklib/stublib/dir.mk
++++ b/src/services/mklib/stublib/dir.mk
+@@ -115,7 +115,7 @@ endif
+ ##############################################################################
+ # Build debug libraries for Win32
+ ##############################################################################
+-ifdef NoDebugBuild
++ifndef NoDebugBuild
+ ifdef Win32Platform
+
+ all:: mkstaticdbug mkshareddbug
+diff --git a/mk/mklib.mk b/mk/mklib.mk
+index 1d73cfdbe..e6e8d65fe 100644
+--- a/mk/mklib.mk
++++ b/mk/mklib.mk
+@@ -16,16 +16,6 @@
+ # are called libfoo.a and libfoo.so.1.3 etc.
+ #
+
+-ifndef NoReleaseBuild
+-
+-all:: mkstatic mkshared
+-
+-export:: mkstatic mkshared
+-
+-ifdef INSTALLTARGET
+-install:: mkstatic mkshared
+-endif
+-
+ vers := $(subst ., ,$(LIB_VERSION))
+ ifeq ($(words $(vers)), 2)
+ vers := _ $(vers)
+@@ -36,6 +26,16 @@ endif
+
+ namespec := $(LIB_NAME) $(vers)
+
++ifndef NoReleaseBuild
++
++all:: mkstatic mkshared
++
++export:: mkstatic mkshared
++
++ifdef INSTALLTARGET
++install:: mkstatic mkshared
++endif
++
+ ##############################################################################
+ # Build Static library
+ ##############################################################################
+
diff --git a/vcpkg/ports/omniorb/vcpkg.json b/vcpkg/ports/omniorb/vcpkg.json
new file mode 100644
index 0000000..b5b3427
--- /dev/null
+++ b/vcpkg/ports/omniorb/vcpkg.json
@@ -0,0 +1,23 @@
+{
+ "name": "omniorb",
+ "version": "4.3.0",
+ "port-version": 4,
+ "description": "omniORB is a robust high performance CORBA ORB for C++",
+ "homepage": "https://omniorb.sourceforge.io/",
+ "license": "LGPL-2.1-or-later",
+ "supports": "!uwp & !xbox & !((arm | x86) & windows) & !osx",
+ "dependencies": [
+ "openssl",
+ "python3",
+ {
+ "name": "python3",
+ "host": true
+ },
+ {
+ "name": "vcpkg-cmake",
+ "host": true
+ },
+ "zlib",
+ "zstd"
+ ]
+}
diff --git a/vcpkg/ports/omniorb/vcpkg.mk b/vcpkg/ports/omniorb/vcpkg.mk
new file mode 100644
index 0000000..1dd805a
--- /dev/null
+++ b/vcpkg/ports/omniorb/vcpkg.mk
@@ -0,0 +1,89 @@
+#
+# vcpkg.mk - make variables and rules specific to Visual Studio
+#
+
+WindowsNT=1
+x86Processor=1
+
+BINDIR = bin
+LIBDIR = lib
+
+ABSTOP = $(shell cd $(TOP); pwd)
+
+# Windows builds require a shared library build
+BuildSharedLibrary=1
+# This will be replaced
+
+ThreadSystem=NT
+undefine UnixPlatform
+# Windows build requires static lib to generate symbol def file
+undefine NoStaticLibrary
+platform = Win32Platform
+
+@build_info@
+
+# Use the following set of flags to build and use multithreaded DLLs
+#
+MSVC_DLL_CXXNODEBUGFLAGS = @VCPKG_DETECTED_CMAKE_CXX_FLAGS_RELEASE@
+MSVC_DLL_CXXLINKNODEBUGOPTIONS = @VCPKG_DETECTED_CMAKE_SHARED_LINKER_FLAGS_RELEASE@ -manifest
+MSVC_DLL_CNODEBUGFLAGS = @VCPKG_DETECTED_CMAKE_C_FLAGS_RELEASE@
+MSVC_DLL_CLINKNODEBUGOPTIONS = @VCPKG_DETECTED_CMAKE_SHARED_LINKER_FLAGS_RELEASE@ -manifest
+#
+MSVC_DLL_CXXDEBUGFLAGS = @VCPKG_DETECTED_CMAKE_CXX_FLAGS_DEBUG@ -D_DEBUG
+MSVC_DLL_CXXLINKDEBUGOPTIONS = @VCPKG_DETECTED_CMAKE_SHARED_LINKER_FLAGS_DEBUG@ -manifest
+MSVC_DLL_CDEBUGFLAGS = @VCPKG_DETECTED_CMAKE_C_FLAGS_DEBUG@ -D_DEBUG
+MSVC_DLL_CLINKDEBUGOPTIONS = @VCPKG_DETECTED_CMAKE_SHARED_LINKER_FLAGS_DEBUG@ -manifest
+#
+# Or
+#
+# Use the following set of flags to build and use multithread static libraries
+#
+MSVC_STATICLIB_CXXNODEBUGFLAGS = @VCPKG_DETECTED_CMAKE_CXX_FLAGS_RELEASE@
+MSVC_STATICLIB_CXXLINKNODEBUGOPTIONS = @VCPKG_DETECTED_CMAKE_STATIC_LINKER_FLAGS_RELEASE@ -manifest
+MSVC_STATICLIB_CNODEBUGFLAGS = @VCPKG_DETECTED_CMAKE_CXX_FLAGS_RELEASE@
+MSVC_STATICLIB_CLINKNODEBUGOPTIONS = @VCPKG_DETECTED_CMAKE_STATIC_LINKER_FLAGS_RELEASE@ -manifest
+
+MSVC_STATICLIB_CXXDEBUGFLAGS = @VCPKG_DETECTED_CMAKE_CXX_FLAGS_DEBUG@ -D_DEBUG
+MSVC_STATICLIB_CXXLINKDEBUGOPTIONS = @VCPKG_DETECTED_CMAKE_STATIC_LINKER_FLAGS_DEBUG@ -manifest
+MSVC_STATICLIB_CDEBUGFLAGS = @VCPKG_DETECTED_CMAKE_C_FLAGS_DEBUG@ -D_DEBUG
+MSVC_STATICLIB_CLINKDEBUGOPTIONS = @VCPKG_DETECTED_CMAKE_STATIC_LINKER_FLAGS_DEBUG@ -manifest
+
+#
+# Include general win32 things
+#
+
+include $(THIS_IMPORT_TREE)/mk/win32.mk
+
+MANIFESTTOOL = @VCPKG_DETECTED_CMAKE_MT@
+RCTOOL = @VCPKG_DETECTED_CMAKE_RC_COMPILER@
+CLINK = @VCPKG_DETECTED_CMAKE_LINKER@
+CXXLINK = @VCPKG_DETECTED_CMAKE_LINKER@
+AR = @VCPKG_DETECTED_CMAKE_AR@
+RANLIB = true
+
+# To build ZIOP support, EnableZIOP must be defined and one or both of
+# the zlib and zstd sections must be defined.
+
+#EnableZIOP = 1
+
+#EnableZIOPZLib = 1
+#ZLIB_ROOT = /cygdrive/c/zlib-1.2.11
+#ZLIB_CPPFLAGS = -DOMNI_ENABLE_ZIOP_ZLIB -I$(ZLIB_ROOT)
+#ZLIB_LIB = $(patsubst %,$(LibPathPattern),$(ZLIB_ROOT)) zdll.lib
+
+#EnableZIOPZStd = 1
+#ZSTD_ROOT = /cygdrive/c/zstd
+#ZSTD_CPPFLAGS = -DOMNI_ENABLE_ZIOP_ZSTD -I$(ZSTD_ROOT)/include
+#ZSTD_LIB = $(patsubst %,$(LibPathPattern),$(ZSTD_ROOT)/lib) zstd.lib
+LN_S=cp -pR
+
+define ExportSharedLibraryToDir
+ $(ExportLibraryToDir); \
+ $(ParseNameSpec); \
+ soname=$(SharedLibraryShortLibName); \
+ libname=$(SharedLibraryLibNameTemplate); \
+ set -x; \
+ cd $$dir; \
+ $(RM) $$soname; \
+ $(LN_S) $(<F) $$soname;
+endef \ No newline at end of file