Building OmniORB on MSYS2
"Lucca-Daniau, Marc-Francois \(GE Healthcare\) via omniORB-list" <[email protected]> Tue, 12 Feb 2019 17:17:17 +0000
| Newsgroups | gmane.comp.corba.omniorb.user |
|---|---|
| Message-ID | <DB6P101MB02460988E08984FC67EBA3C9E7650@DB6P101MB0246.NAMP101.PROD.OUTLOOK.COM> |
Hello, OmniORB build on Windows is today supported with the Cygwin emulation layer, but not with the MSYS2 one. While trying to do so, things go quite well, except a few issues: 1- MT.exe options are still prefixed by '/' (replace by '-') 2- "egrep" symbolic link not followed (replace by "grep -E") 3- DUMPBIN.exe option is still prefixed by '/' (hacked by '//', but no portable solution yet) Below is our patch to show the needed changes for better Cygwin/MSYS2 portability. Note: 'MFLD:' tag is for questions, and changes in configuration is to show our build context. Thanks, Marc-Francois LUCCA-DANIAU Software Engineer - DL Infra Leader Tél: +33 (0)1 30 70 42 56 [email protected] General Electric Healthcare 283, rue de la Minière 78 530 BUC - France ------------------------------------ diff --git a/README.FIRST.txt b/README.FIRST.txt index 4e02391..da33aca 100644 --- a/README.FIRST.txt +++ b/README.FIRST.txt @@ -21,6 +21,8 @@ README files README.win32.txt - contains important information on building and using omniORB on Windows NT and Windows 95. +MFLD: What about the Windows latest versions (2K, XP... 10) ? + README.unix.txt - contains important information on building and using omniORB on Unix / Linux platforms, including cross-compilation @@ -84,7 +86,7 @@ planning on adding support for these features. - omniORB does not have its own Interface Repository. However, the omniifr project aims to create one. See - http://sourceforge.net/projects/omniifr/ + https://github.com/omniorb/omniifr Installation @@ -95,6 +97,7 @@ Installation instructions are provided in the following files: - README.unix.txt for all Unix / Linux platforms - README.win32.txt for Windows, both 32 and 64 bit. +MFLD: so rename to README.win.txt ? Documentation ============= diff --git a/README.win32.txt b/README.win32.txt index 6ca6fa2..4a363a7 100644 --- a/README.win32.txt +++ b/README.win32.txt @@ -87,6 +87,7 @@ non-commercial use. You can get it from https://www.visualstudio.com/ To build omniORB, you just need the standard tools from the base package, plus GNU make from the devel package. +MFLD: add support of MSYS2 - currently testing... Python ------ diff --git a/bin/scripts/config.guess b/bin/scripts/config.guess index cd430f6..249c6a4 100644 --- a/bin/scripts/config.guess +++ b/bin/scripts/config.guess @@ -915,13 +915,13 @@ EOF UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name` echo ${UNAME_MACHINE}-pc-isc$UNAME_REL elif /bin/uname -X 2>/dev/null >/dev/null ; then - UNAME_REL=`(/bin/uname -X|egrep Release|sed -e 's/.*= //')` - (/bin/uname -X|egrep i80486 >/dev/null) && UNAME_MACHINE=i486 - (/bin/uname -X|egrep '^Machine.*Pentium' >/dev/null) \ + UNAME_REL=`(/bin/uname -X|grep -E Release|sed -e 's/.*= //')` + (/bin/uname -X|grep -E i80486 >/dev/null) && UNAME_MACHINE=i486 + (/bin/uname -X|grep -E '^Machine.*Pentium' >/dev/null) \ && UNAME_MACHINE=i586 - (/bin/uname -X|egrep '^Machine.*Pent ?II' >/dev/null) \ + (/bin/uname -X|grep -E '^Machine.*Pent ?II' >/dev/null) \ && UNAME_MACHINE=i686 - (/bin/uname -X|egrep '^Machine.*Pentium Pro' >/dev/null) \ + (/bin/uname -X|grep -E '^Machine.*Pentium Pro' >/dev/null) \ && UNAME_MACHINE=i686 echo ${UNAME_MACHINE}-pc-sco$UNAME_REL else diff --git a/config/config.mk b/config/config.mk index 67065c0..50b7fca 100644 --- a/config/config.mk +++ b/config/config.mk @@ -31,7 +31,7 @@ #platform = x86_win32_vs_11 #platform = x86_win32_vs_10 #platform = x86_win32_vs_9 -#platform = x86_win32_vs_8 +platform = x86_win32_vs_8 #platform = x86_win32_vs_7 #platform = x86_win32_vs_6 #platform = x86_win32_mingw diff --git a/mk/platforms/x86_win32_dmc.mk b/mk/platforms/x86_win32_dmc.mk index b6a5914..54ac79f 100644 --- a/mk/platforms/x86_win32_dmc.mk +++ b/mk/platforms/x86_win32_dmc.mk @@ -149,7 +149,7 @@ echo "CODE SHARED EXECUTE" >> $$defname; \ echo "DATA WRITE" >> $$defname; \ echo "EXPORTS" >> $$defname; \ libunres -d $$symreflib | \ -egrep '^\?[^ ]*|^\?[^?][^ ]*' | fgrep -v "%" >> $$defname; \ +grep -E '^\?[^ ]*|^\?[^?][^ ]*' | fgrep -v "%" >> $$defname; \ set +x; endef diff --git a/mk/platforms/x86_win32_vs_8.mk b/mk/platforms/x86_win32_vs_8.mk index 1c92f4a..5e8ea2d 100644 --- a/mk/platforms/x86_win32_vs_8.mk +++ b/mk/platforms/x86_win32_vs_8.mk @@ -21,7 +21,7 @@ ABSTOP = $(shell cd $(TOP); pwd) # version 3.5 or later. #PYTHON = /cygdrive/c/Python27/python -#PYTHON = /cygdrive/c/Python36/python +PYTHON = /e/Labs/Python35/python # Use the following set of flags to build and use multithreaded DLLs diff --git a/mk/win32.mk b/mk/win32.mk index 1508d39..2b71792 100644 --- a/mk/win32.mk +++ b/mk/win32.mk @@ -179,7 +179,7 @@ define CXXExecutable $(RM) $@; \ $(CXXLINK) -out:$@ $(CXXLINKOPTIONS) -PDB:[email protected] $(IMPORT_LIBRARY_FLAGS) \ $(filter-out $(LibPattern),$^) $$libs; \ - $(MANIFESTTOOL) /outputresource:"$@;#1" /manifest [email protected]; \ + $(MANIFESTTOOL) -outputresource:"$@;#1" -manifest [email protected]; \ ) endef @@ -187,7 +187,7 @@ define CExecutable (set -x; \ $(RM) $@; \ $(CLINK) -out:$@ $(CLINKOPTIONS) -PDB:[email protected] $(IMPORT_LIBRARY_FLAGS) $(filter-out $(LibPattern),$^) $$libs; \ - $(MANIFESTTOOL) /outputresource:"$@;#1" /manifest [email protected]; \ + $(MANIFESTTOOL) -outputresource:"$@;#1" -manifest [email protected]; \ ) endef @@ -269,11 +269,11 @@ set -x; \ echo "LIBRARY $$dllbase" > $$defname; \ echo "VERSION $$version" >> $$defname; \ echo "EXPORTS" >> $$defname; \ -DUMPBIN.EXE /SYMBOLS $$symreflib | \ -egrep '^[^ ]+ +[^ ]+ +SECT[^ ]+ +[^ ]+ +\(\) +External +\| +\?[^ ]*|^[^ ]+ +[^ ]+ +SECT[^ ]+ +[^ ]+ +External +\| +\?[^?][^ ]*'|\ -egrep -v 'deleting destructor[^(]+\(unsigned int\)' | \ -egrep -v 'anonymous namespace' | \ -egrep -v '@std@' | \ +DUMPBIN.EXE //SYMBOLS $$symreflib | \ +grep -E '^[^ ]+ +[^ ]+ +SECT[^ ]+ +[^ ]+ +\(\) +External +\| +\?[^ +]*|^[^ ]+ +[^ ]+ +SECT[^ ]+ +[^ ]+ +External +\| +\?[^?][^ ]*'|\ grep +-E -v 'deleting destructor[^(]+\(unsigned int\)' | \ grep -E -v +'anonymous namespace' | \ grep -E -v '@std@' | \ cut -d'|' -f2 | \ cut -d' ' -f2 | $(SORT) -u >> $$defname; \ set +x; @@ -366,7 +366,7 @@ $(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 _______________________________________________ omniORB-list mailing list [email protected] http://www.omniorb-support.com/mailman/listinfo/omniorb-list