[omniORB] omniORB 4.0.0 and Visual .NET Problems.
Matej Kenda
matejkenda at volja.net
Wed Jun 18 14:02:53 BST 2003
On Tue, 2003-06-03 at 12:57, Matej Kenda wrote:
> You are most probably trying to compile with VC 7.1 (.NET 2003). I have
> posted a patch for the header files some time ago. However, using
> omniORB dlls that was compiled with VC6 while having other binaries
> compiled with VC 7.1 will cause application errors.
>
> There are numerous changes in the CVS repository that most probably
> allow omniORB to be compiled with VC 7.1. I'm just in the process of
> doing that.
CVS snapshot of omniORB 4 compiled with VS.NET 2003 is running fine for
quite some time on our system.
I have attached new/changed makefiles that I have used for the compiler
13.10 if someone needs omniORB4 for this "platform".
This new compiler has slightly different command line options.
Regards,
Matej
-------------- next part --------------
# Coming into this file, the make variables TOP, CURRENT should have been
# defined.
# Uncomment one of the following platform line to build for the target
# platform
#
# sun4_sosV_5.5 Solaris 2.5, Sunpro C++/gcc
# sun4_sosV_5.6 Solaris 2.6, Sunpro C++/gcc
# sun4_sosV_5.7 Solaris 7, Sunpro C++/gcc
# i586_linux_2.0 x86 Redhat linux 4.2, gcc-2.7.2
# i586_linux_2.0_glibc x86 Redhat linux 5.1,egcs-980302 or later snapshot
# i586_linux_2.0_glibc2.1 x86 Redhat linux 6, etc
# x86_nt_3.5 x86 Windows NT 3.5, MS VC++ 5.0
# x86_nt_4.0 x86 Windows NT 4.0, MS VC++ 5.0
# x86_nt_4.0_vs_7 x86 Windows NT 4.0 (or later), MS VC++ 7.x (.NET)
# x86_win95 Windows 95, MS VC++ 5.0
# x86_win32_dmc x86 Win32, Digital Mars C++ (>= 8.32.14)
# alpha_nt_4.0 Alpha Windows NT 4.0, MS VC++ 5.0
# alpha_osf1_3.2 Digital Unix 3.2, DEC C++ v5.5
# alpha_osf1_4.0 Digital Unix 4.0, DEC C++ v6.0
# alpha_osf1_5.0 Tru64 5.0, DEC C++ v6.2
# alpha_linux_2.0 alpha linux (compiler problem,still doesn't work)
# powerpc_aix_4.2 IBM AIX 4.2, IBM C Set++
# powerpc_aix_4.2_xlc5 IBM AIX 4.2, XLC 5.0 (a.k.a. Visual Age 5.0)
# powerpc_aix_4.3_xlc5 IBM AIX 4.3, XLC 5.0 (a.k.a. Visual Age 5.0)
# powerpc_linux_2.2_glibc PowerPC linux, Debian
# powerpc_darwin_1.3 PowerPC Darwin/Mac OS X
# hppa_hpux_10.20 HPUX 10.20, aC++ B3910B A.01.04
# hppa_hpux_11.00 HPUX 11.00, aC++ B3910B A.01.04
# m68k_nextstep_3.3 NextStep 3.3, gcc-2.7.2
# x86_nextstep_3.3 NextStep 3.3, x86
# mips_sinux_5.43 Reliant UNIX from Siemens-Nixdorf (SNI)
# mips_irix_6.2_n32 SGI Irix 6.2 - 32bit mode
# mips_irix_6.3_n32 SGI Irix 6.3 - 32bit mode
# mips_irix_6.4_n32 SGI Irix 6.4 - 32bit mode
# mips_irix_6.4_64 SGI Irix 6.4 - 64bit mode - not yet tested
# mips_irix_6.5_n32 SGI Irix 6.5 - 32bit mode
# mips_irix_6.5_64 SGI Irix 6.5 - 64bit mode
# x86_ets Phar Lap Realtime ETS-kernel
# x86_osr5 SCO OpenServer 5
# x86_uw7 SCO UnixWare 7 (7.1.0)
# x86_freebsd_3.2 x86 FreeBSD 3.2, egcs 1.1.2
# x86_freebsd_4.0 x86 FreeBSD 4.0, gcc 2.95
# pc486_rtems_4.5.0 x86, RTEMS, gcc 2.95.2
# You should also look at <top>/mk/platforms/$(platform).mk and if necessary
# edit the make variables, such as CC and CXX, in the file.
#platform = sun4_sosV_5.5
#platform = sun4_sosV_5.6
#platform = sun4_sosV_5.7
#platform = i586_linux_2.0
#platform = i586_linux_2.0_glibc
#platform = i586_linux_2.0_glibc2.1
#platform = x86_nt_3.5
#platform = x86_nt_4.0
#platform = x86_nt_4.0_vs_7
#platform = x86_win95
#platform = x86_win32_dmc
#platform = alpha_nt_4.0
#platform = alpha_osf1_3.2
#platform = alpha_osf1_4.0
#platform = alpha_osf1_5.0
#platform = powerpc_aix_4.2
#platform = powerpc_aix_4.3
#platform = powerpc_aix_4.2_xlc5
#platform = powerpc_aix_4.3_xlc5
#platform = powerpc_linux_2.2_glibc
#platform = powerpc_darwin_1.3
#platform = hppa_hpux_10.20
#platform = hppa_hpux_11.00
#platform = m68k_nextstep_3.3
#platform = x86_nextstep_3.3
#platform = mips_sinux_5.43
#platform = mips_irix_6.2_n32
#platform = mips_irix_6.3_n32
#platform = mips_irix_6.4_n32
#platform = mips_irix_6.4_64
#platform = mips_irix_6.5_n32
#platform = mips_irix_6.5_64
#platform = x86_ets
#platform = x86_osr5
#platform = x86_uw7
#platform = x86_freebsd_3.2
#platform = x86_freebsd_4.0
#platform = pc486_rtems_4.5.0
# On Win32 platforms, uncomment the following line to build all the binaries
# with debugging information. Useful if you want to debug the binaries under
# MSVC developer's studio
#
#BuildDebugBinary = 1
#
EXPORT_TREE = $(TOP)
IMPORT_TREES = $(TOP)
override VPATH := .
THIS_IMPORT_TREE := $(TOP)
ifneq ($(wildcard $(THIS_IMPORT_TREE)/mk/beforedir.mk),)
include $(THIS_IMPORT_TREE)/mk/beforedir.mk
endif
include dir.mk
THIS_IMPORT_TREE := $(TOP)
ifneq ($(wildcard $(THIS_IMPORT_TREE)/mk/afterdir.mk),)
include $(THIS_IMPORT_TREE)/mk/afterdir.mk
endif
-------------- next part --------------
#
# Standard make variables and rules for all Win32 platforms.
#
Win32Platform = 1
#
# Define macro for path of wrapper executables
#
ifndef EmbeddedSystem
WRAPPER_FPATH = $(BINDIR)
else
WRAPPER_FPATH = $(HOSTBINDIR)
endif
#
# Standard "unix" programs. Anything here not provided by the GNU-WIN32/OpenNT/UWIN
# system is likely to need a wrapper around it to perform filename translation.
#
ifndef OpenNTBuildTree
# GNU-WIN32 wrappers
XLN = -gnuwin32
# There is a sort in %System32%/sort.exe and in GNU-WIN32. The shell of
# GNU-WIN32 may pick either one depending on the PATH setup of the user.
# To make sure that the GNU-WIN32 version is picked up, give the pathname
# of sort.
SORT = /bin/sort
else
# OpenNT or UWIN wrappers
XLN = -opennt
MKDEPOPT = -opennt
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
MKDIRHIER = mkdir -p
INSTALL = install -c
INSTLIBFLAGS =
INSTEXEFLAGS =
CP = cp
MV = mv -f
#
# Compile flags for VS.NET compilers are different
#
ifndef vs_7
# Use the following set of flags to build and use multithreaded DLLs
#
MSVC_DLL_CXXNODEBUGFLAGS = -MD -GX
MSVC_DLL_CXXLINKNODEBUGOPTIONS =
MSVC_DLL_CNODEBUGFLAGS = -MD
MSVC_DLL_CLINKNODEBUGOPTIONS =
#
MSVC_DLL_CXXDEBUGFLAGS = -MDd -GX -Z7 -Od
MSVC_DLL_CXXLINKDEBUGOPTIONS = -debug -PDB:NONE
MSVC_DLL_CDEBUGFLAGS = -MDd -Z7 -Od
MSVC_DLL_CLINKDEBUGOPTIONS = -debug -PDB:NONE
#
# Or
#
# Use the following set of flags to build and use multithread static libraries
#
MSVC_STATICLIB_CXXNODEBUGFLAGS = -MT -GX
MSVC_STATICLIB_CXXLINKNODEBUGOPTIONS =
MSVC_STATICLIB_CNODEBUGFLAGS = -MT
MSVC_STATICLIB_CLINKNODEBUGOPTIONS =
MSVC_STATICLIB_CXXDEBUGFLAGS = -MTd -GX -Z7 -Od
MSVC_STATICLIB_CXXLINKDEBUGOPTIONS = -debug -PDB:NONE
MSVC_STATICLIB_CDEBUGFLAGS = -MTd -Z7 -Od
MSVC_STATICLIB_CLINKDEBUGOPTIONS = -debug -PDB:NONE
ifdef BuildDebugBinary
CXXLINKOPTIONS = $(MSVC_DLL_CXXLINKDEBUGOPTIONS)
CXXDEBUGFLAGS =
CXXOPTIONS = $(MSVC_DLL_CXXDEBUGFLAGS)
CLINKOPTIONS = $(MSVC_DLL_CLINKDEBUGOPTIONS)
CDEBUGFLAGS = $(MSVC_DLL_CDEBUGFLAGS)
else
CXXLINKOPTIONS = $(MSVC_DLL_CXXLINKNODEBUGOPTIONS)
CXXDEBUGFLAGS = -O2
CXXOPTIONS = $(MSVC_DLL_CXXNODEBUGFLAGS)
CLINKOPTIONS = $(MSVC_DLL_CLINKNODEBUGOPTIONS)
CDEBUGFLAGS = -O2
COPTIONS = $(MSVC_DLL_CNODEBUGFLAGS)
endif
#vs_7
endif
ifndef WINVER
WINVER = 0x0400
endif
IMPORT_CPPFLAGS += -D__WIN32__ -D_WIN32_WINNT=$(WINVER)
SOCKET_LIB = ws2_32.lib mswsock.lib
#
# General rule for cleaning.
#
define CleanRule
$(RM) *.o *.lib
endef
define VeryCleanRule
$(RM) *.d
$(RM) *.pyc
$(RM) $(CORBA_STUB_FILES)
endef
#
# Patterns for various file types
#
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
BinPattern = %.exe
#
# Stuff to generate statically-linked libraries.
#
define StaticLinkLibrary
(set -x; \
$(RM) $@; \
$(AR) $@ $^; \
)
endef
ifdef EXPORT_TREE
define ExportLibrary
(dir="$(EXPORT_TREE)/$(LIBDIR)"; \
files="$^"; \
for file in $$files; do \
$(ExportFileToDir); \
done; \
)
endef
endif
#
# Stuff to generate executable binaries.
#
IMPORT_LIBRARY_FLAGS = $(patsubst %,$(LibPathPattern),$(IMPORT_LIBRARY_DIRS))
define CXXExecutable
(set -x; \
$(RM) $@; \
$(CXXLINK) -out:$@ $(CXXLINKOPTIONS) -PDB:$@.pdb $(IMPORT_LIBRARY_FLAGS) \
$(filter-out $(LibPattern),$^) $$libs; \
)
endef
define CExecutable
(set -x; \
$(RM) $@; \
$(CLINK) -out:$@ $(CLINKOPTIONS) -PDB:$@.pdb $(IMPORT_LIBRARY_FLAGS) $(filter-out $(LibPattern),$^) $$libs; \
)
endef
ifdef EXPORT_TREE
define ExportExecutable
(dir="$(EXPORT_TREE)/$(BINDIR)"; \
files="$^"; \
for file in $$files; do \
$(ExportExecutableFileToDir); \
done; \
)
endef
endif
###########################################################################
#
# Shared library support stuff
#
ifndef EmbeddedSystem
BuildSharedLibrary = 1
endif
SharedLibraryFullNameTemplate = $(SharedLibraryLibNameTemplate).lib
SharedLibraryLibNameTemplate = $$1$$2$$3$$4_rt$${extrasuffix:-}
SharedLibraryExportSymbolFileNameTemplate = $$1$$2$${extrasuffix:-}.def
SharedLibraryVersionStringTemplate = $$3.$$4
SharedLibrarySymbolRefLibraryTemplate = $${symrefdir:-static}/$$1$$2$${extrasuffix:-}.lib
define SharedLibraryFullName
fn() { \
if [ $$2 = "_" ] ; then set $$1 "" $$3 $$4 ; fi ; \
echo $(SharedLibraryFullNameTemplate); \
}; fn
endef
define SharedLibraryDebugFullName
fn() { \
if [ $$2 = "_" ] ; then set $$1 "" $$3 $$4 ; fi ; \
extrasuffix="d"; \
echo $(SharedLibraryFullNameTemplate); \
}; fn
endef
define ParseNameSpec
set $$namespec ; \
if [ $$2 = "_" ] ; then set $$1 "" $$3 $$4 ; fi
endef
# MakeCXXExportSymbolDefinitionFile
# Internal canned command used by MakeCXXSharedLibrary
#
# - Create a .def file containing all the functions and static class
# variables exported by the DLL. The symbols are extracted from the
# output of dumpbin.
#
# The function symbols are extracted using the following template:
# ... ........ SECT.. notype () External | ?..................
#
# The static class variable symbols are extracted using the following
# template:
# ... ........ SECT.. notype External | ?[^?]..............
#
# Default destructors generated by the compiler and the symbols
# inside an anonymous namespace are excluded.
#
# It looks like class variable and function symbols start with two ??
# and class static variable and static function symbols start with one ?.
# - SLL
#
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 $$libname" > $$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' | \
cut -d'|' -f2 | \
cut -d' ' -f2 | $(SORT) -u >> $$defname; \
set +x;
endef
# MakeCXXSharedLibrary- Build shared library
# Expect shell variable:
# namespec = <library name> <major ver. no.> <minor ver. no.> <micro ver. no>
# extralibs = <libraries to add to the link line>
# debug = 1 (build debug version).
#
# e.g. namespec="COS 3 0 0" --> COS300_rt.dll
# extralibs="$(OMNIORB_LIB)"
#
define MakeCXXSharedLibrary
$(ParseNameSpec); \
extrasuffix=$${debug:+d}; \
targetdir=$(@D); \
libname=$(SharedLibraryLibNameTemplate); \
dllname=$$targetdir/$$libname.dll; \
defname=$$targetdir/$(SharedLibraryExportSymbolFileNameTemplate); \
version=$(SharedLibraryVersionStringTemplate); \
if [ -n "$$debug" ]; then \
extralinkoption="$(MSVC_DLL_CXXLINKDEBUGOPTIONS)"; \
else \
extralinkoption="$(MSVC_DLL_CXXLINKNODEBUGOPTIONS)"; \
fi; \
if [ -z "$$nodeffile" ]; then \
$(MakeCXXExportSymbolDefinitionFile) \
defflag="-def:$$defname"; \
fi; \
set -x; \
$(RM) $@; \
$(CXXLINK) -out:$$dllname -DLL $$extralinkoption \
$$defflag -IMPLIB:$@ $(IMPORT_LIBRARY_FLAGS) \
$^ $$extralibs;
endef
# Export SharedLibrary
# Expected shell variable:
# namespec = <library name> <major ver. no.> <minor ver. no.> <micro ver. no>
# e.g. namespec = "COS 3 0 0"
#
# NT treats DLLs more like executables -- the .dll file needs to go in the
# bin/x86... directory so that it's on your PATH:
#
define ExportSharedLibrary
$(ParseNameSpec); \
extrasuffix=$${debug:+d}; \
targetdir=$(<D); \
libname=$(SharedLibraryLibNameTemplate); \
dllname=$$targetdir/$$libname.dll; \
(dir="$(EXPORT_TREE)/$(LIBDIR)"; \
file="$^"; \
$(ExportFileToDir); \
(dir="$(EXPORT_TREE)/$(BINDIR)"; \
file="$$dllname"; \
$(ExportExecutableFileToDir); ); \
);
endef
# CleanSharedLibrary
# Expected shell variable:
# dir = directory name to clean. Default to . (current directory)
#
define CleanSharedLibrary
( set -x; \
$(RM) $${dir:-.}/*.dll $${dir:-.}/*.lib $${dir:-.}/*.exp $${dir:-.}/*.def )
endef
# Pattern rules to build objects files for static and shared library and the
# debug versions for both.
# The convention is to build object files and libraries in different
# subdirectoryies.
# static - the static library
# debug - the static debug library
# shared - the DLL
# shareddebug - the DLL debug library
#
# The pattern rules below ensured that the right compiler flags are used
# to compile the source for the library.
static/%.o: %.cc
$(CXX) -c $(CXXDEBUGFLAGS) $(MSVC_STATICLIB_CXXNODEBUGFLAGS) $(CPPFLAGS) -Fo$@ $<
debug/%.o: %.cc
$(CXX) -c $(MSVC_STATICLIB_CXXDEBUGFLAGS) $(CPPFLAGS) -Fo$@ $<
shared/%DynSK.o: %DynSK.cc
$(CXX) -c $(CXXDEBUGFLAGS) -DUSE_core_stub_in_nt_dll $(MSVC_DLL_CXXNODEBUGFLAGS) $(CPPFLAGS) -Fo$@ $<
shared/%SK.o: %SK.cc
$(CXX) -c $(CXXDEBUGFLAGS) -DUSE_dyn_stub_in_nt_dll $(MSVC_DLL_CXXNODEBUGFLAGS) $(CPPFLAGS) -Fo$@ $<
shared/%.o: %.cc
$(CXX) -c $(CXXDEBUGFLAGS) $(MSVC_DLL_CXXNODEBUGFLAGS) $(CPPFLAGS) -Fo$@ $<
shareddebug/%DynSK.o: %DynSK.cc
$(CXX) -c -DUSE_core_stub_in_nt_dll $(MSVC_DLL_CXXDEBUGFLAGS) $(CPPFLAGS) -Fo$@ $<
shareddebug/%SK.o: %SK.cc
$(CXX) -c -DUSE_dyn_stub_in_nt_dll $(MSVC_DLL_CXXDEBUGFLAGS) $(CPPFLAGS) -Fo$@ $<
shareddebug/%.o: %.cc
$(CXX) -c $(MSVC_DLL_CXXDEBUGFLAGS) $(CPPFLAGS) -Fo$@ $<
static/%.o: %.c
$(CC) -c $(CDEBUGFLAGS) $(MSVC_STATICLIB_CXXNODEBUGFLAGS) $(CPPFLAGS) -Fo$@ $<
debug/%.o: %.c
$(CC) -c $(MSVC_STATICLIB_CXXDEBUGFLAGS) $(CPPFLAGS) -Fo$@ $<
shared/%.o: %.c
$(CC) -c $(CDEBUGFLAGS) $(MSVC_DLL_CXXNODEBUGFLAGS) $(CPPFLAGS) -Fo$@ $<
shareddebug/%.o: %.c
$(CC) -c $(MSVC_DLL_CXXDEBUGFLAGS) $(CPPFLAGS) -Fo$@ $<
#
# Replacements for implicit rules
#
%.o: %.c
$(CC) -c $(CFLAGS) -Fo$@ $<
%.o: %.cc
$(CXX) -c $(CXXFLAGS) -Fo$@ $<
#################################################################################
# CORBA stuff
#
# Note that the DLL version is being used, so link to omniorb3_rt.lib
OMNIORB_VERSION = 4.0.1
OMNIORB_MAJOR_VERSION = $(word 1,$(subst ., ,$(OMNIORB_VERSION)))
OMNIORB_MINOR_VERSION = $(word 2,$(subst ., ,$(OMNIORB_VERSION)))
OMNIORB_MICRO_VERSION = $(word 3,$(subst ., ,$(OMNIORB_VERSION)))
OMNIORB_DLL_NAME = $(shell $(SharedLibraryFullName) $(subst ., ,omniORB.$(OMNIORB_VERSION)))
OMNIORB_DEBUG_DLL_NAME = $(shell $(SharedLibraryDebugFullName) $(subst ., ,omniORB.$(OMNIORB_VERSION)))
OMNIORB_DYNAMIC_DLL_NAME = $(shell $(SharedLibraryFullName) $(subst ., ,omniDynamic.$(OMNIORB_VERSION)))
OMNIORB_DEBUG_DYNAMIC_DLL_NAME = $(shell $(SharedLibraryDebugFullName) $(subst ., ,omniDynamic.$(OMNIORB_VERSION)))
OMNIORB_CODESETS_DLL_NAME = $(shell $(SharedLibraryFullName) $(subst ., ,omniCodeSets.$(OMNIORB_VERSION)))
OMNIORB_DEBUG_CODESETS_DLL_NAME = $(shell $(SharedLibraryDebugFullName) $(subst ., ,omniCodeSets.$(OMNIORB_VERSION)))
ifndef BuildDebugBinary
omniorb_dll_name := $(OMNIORB_DLL_NAME)
omnidynamic_dll_name := $(OMNIORB_DYNAMIC_DLL_NAME)
omnicodesets_dll_name := $(OMNIORB_CODESETS_DLL_NAME)
else
omniorb_dll_name := $(OMNIORB_DEBUG_DLL_NAME)
omnidynamic_dll_name := $(OMNIORB_DEBUG_DYNAMIC_DLL_NAME)
omnicodesets_dll_name := $(OMNIORB_DEBUG_CODESETS_DLL_NAME)
endif
lib_depend := $(omniorb_dll_name)
omniORB_lib_depend := $(GENERATE_LIB_DEPEND)
lib_depend := $(omnidynamic_dll_name)
omniDynamic_lib_depend := $(GENERATE_LIB_DEPEND)
lib_depend := $(omnicodesets_dll_name)
omniCodeSets_lib_depend := $(GENERATE_LIB_DEPEND)
OMNIIDL = $(BASE_OMNI_TREE)/$(WRAPPER_FPATH)/oidlwrapper.exe $(XLN)
OMNIORB_IDL_ONLY = $(OMNIIDL) -T -bcxx -Wbh=.hh -Wbs=SK.cc
OMNIORB_IDL_ANY_FLAGS = -Wba
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
OMNIORB_LIB = $(omniorb_dll_name) \
$(omnidynamic_dll_name) \
$(OMNITHREAD_LIB) $(SOCKET_LIB) advapi32.lib
OMNIORB_LIB_NODYN = $(omniorb_dll_name) $(msvc_work_around_stub) \
$(OMNITHREAD_LIB) $(SOCKET_LIB) advapi32.lib
OMNIORB_LIB_NODYN_DEPEND := $(omniORB_lib_depend) \
$(OMNITHREAD_LIB_DEPEND)
OMNIORB_LIB_DEPEND := $(omniORB_lib_depend) \
$(OMNITHREAD_LIB_DEPEND) \
$(omniDynamic_lib_depend)
# CodeSets library
OMNIORB_CODESETS_LIB = $(omnicodesets_dll_name)
OMNIORB_CODESETS_LIB_DEPEND := $(omniCodeSets_lib_depend)
OMNIORB_STATIC_STUB_OBJS = \
$(CORBA_INTERFACES:%=$(CORBA_STUB_DIR)/%SK.o)
OMNIORB_STATIC_STUB_SRCS = \
$(CORBA_INTERFACES:%=$(CORBA_STUB_DIR)/%SK.cc)
OMNIORB_DYN_STUB_OBJS = \
$(CORBA_INTERFACES:%=$(CORBA_STUB_DIR)/%DynSK.o)
OMNIORB_DYN_STUB_SRCS = \
$(CORBA_INTERFACES:%=$(CORBA_STUB_DIR)/%DynSK.cc)
OMNIORB_STUB_SRCS = $(OMNIORB_STATIC_STUB_SRCS) $(OMNIORB_DYN_STUB_SRCS)
OMNIORB_STUB_OBJS = $(OMNIORB_STATIC_STUB_OBJS) $(OMNIORB_DYN_STUB_OBJS)
OMNIORB_STUB_SRC_PATTERN = $(CORBA_STUB_DIR)/%SK.cc
OMNIORB_STUB_OBJ_PATTERN = $(CORBA_STUB_DIR)/%SK.o
OMNIORB_DYN_STUB_SRC_PATTERN = $(CORBA_STUB_DIR)/%DynSK.cc
OMNIORB_DYN_STUB_OBJ_PATTERN = $(CORBA_STUB_DIR)/%DynSK.o
OMNIORB_STUB_HDR_PATTERN = $(CORBA_STUB_DIR)/%.hh
CorbaImplementation = OMNIORB
#
# OMNI thread stuff
#
# Note that the DLL version is being used, so link to omnithread_rt.lib
# Use native win32 threads
ThreadSystem = NT
# Use pthread_nt, comment out ThreadSystem line above and uncomment the
# following 2 lines.
#ThreadSystem = NTPosix
#OMNITHREAD_CPPFLAGS= -D__POSIX_NT__
OMNITHREAD_VERSION = 3.0
OMNITHREAD_MAJOR_VERSION = $(word 1,$(subst ., ,$(OMNITHREAD_VERSION)))
OMNITHREAD_MINOR_VERSION = $(word 2,$(subst ., ,$(OMNITHREAD_VERSION)))
OMNITHREAD_LIB = $(patsubst %,$(DLLSearchPattern),omnithread$(OMNITHREAD_MAJOR_VERSION)$(OMNITHREAD_MINOR_VERSION))
lib_depend := $(patsubst %,$(DLLPattern),omnithread$(OMNITHREAD_MAJOR_VERSION)$(OMNITHREAD_MINOR_VERSION))
OMNITHREAD_LIB_DEPEND := $(GENERATE_LIB_DEPEND)
OMNITHREAD_PLATFORM_LIB =
# omniORB SSL transport
OMNIORB_SSL_VERSION = $(OMNIORB_MAJOR_VERSION).$(OMNIORB_MINOR_VERSION)
OMNIORB_SSL_MAJOR_VERSION = $(word 1,$(subst ., ,$(OMNIORB_SSL_VERSION)))
OMNIORB_SSL_MINOR_VERSION = $(word 2,$(subst ., ,$(OMNIORB_SSL_VERSION)))
OMNIORB_SSL_LIB = $(patsubst %,$(DLLSearchPattern),omnisslTP$(OMNIORB_SSL_MAJOR_VERSION)$(OMNIORB_SSL_MINOR_VERSION))
lib_depend := $(patsubst %,$(DLLPattern),omnisslTP$(OMNIORB_SSL_MAJOR_VERSION)$(OMNIORB_SSL_MINOR_VERSION))
OMNIORB_SSL_LIB_DEPEND := $(GENERATE_LIB_DEPEND)
-------------- next part --------------
#
# x86_nt_4.0.mk - make variables and rules specific to Windows NT 4.0.
#
WindowsNT = 1
x86Processor = 1
WINVER = 0x0400
BINDIR = bin/x86_win32
LIBDIR = lib/x86_win32
ABSTOP = $(shell cd $(TOP); pwd)
#
# Python set-up
#
# You must set a path to a Python 1.5.2 interpreter. If you do not
# wish to make a complete installation, you may download a minimal
# Python from ftp://ftp.uk.research.att.com/pub/omniORB/python/
# In that case, uncomment the first line below.
#PYTHON = $(ABSTOP)/$(BINDIR)/omnipython
PYTHON = /cygdrive/c/Python22/python
define vs_7
endef
# Use the following set of flags to build and use multithreaded DLLs
#
MSVC_DLL_CXXNODEBUGFLAGS = -MD -EHsc -GS -GR -Zd -nologo dsdsdsdsasasd
MSVC_DLL_CXXLINKNODEBUGOPTIONS = -nologo -DEBUG
MSVC_DLL_CNODEBUGFLAGS = -MD -GS -GR -Zd -nologo
MSVC_DLL_CLINKNODEBUGOPTIONS = -nologo -DEBUG
#
MSVC_DLL_CXXDEBUGFLAGS = -MD -EHsc -RTC1 -GS -GR -Zd -nologo
MSVC_DLL_CXXLINKDEBUGOPTIONS = -nologo -DEBUG
MSVC_DLL_CDEBUGFLAGS = -MD -RTC1 -GS -GR -Zd -nologo
MSVC_DLL_CLINKDEBUGOPTIONS = -nologo -DEBUG
#
# Or
#
# Use the following set of flags to build and use multithread static libraries
#
MSVC_STATICLIB_CXXNODEBUGFLAGS = -MD -EHsc -GS -GR -Zd -nologo
MSVC_STATICLIB_CXXLINKNODEBUGOPTIONS = -nologo -DEBUG
MSVC_STATICLIB_CNODEBUGFLAGS = -MD -GS -GR -Zd -nologo
MSVC_STATICLIB_CLINKNODEBUGOPTIONS = -nologo -DEBUG
MSVC_STATICLIB_CXXDEBUGFLAGS = -MD -EHsc -RTC1 -GS -GR -Zd -nologo
MSVC_STATICLIB_CXXLINKDEBUGOPTIONS = -nologo -DEBUG
MSVC_STATICLIB_CDEBUGFLAGS = -MD -RTC1 -GS -GR -Zd -nologo
MSVC_STATICLIB_CLINKDEBUGOPTIONS = -nologo -DEBUG
ifdef BuildDebugBinary
CXXLINKOPTIONS = $(MSVC_DLL_CXXLINKDEBUGOPTIONS)
CXXDEBUGFLAGS =
CXXOPTIONS = $(MSVC_DLL_CXXDEBUGFLAGS)
CLINKOPTIONS = $(MSVC_DLL_CLINKDEBUGOPTIONS)
CDEBUGFLAGS = $(MSVC_DLL_CDEBUGFLAGS)
else
CXXLINKOPTIONS = $(MSVC_DLL_CXXLINKNODEBUGOPTIONS)
CXXDEBUGFLAGS = -O2
CXXOPTIONS = $(MSVC_DLL_CXXNODEBUGFLAGS)
CLINKOPTIONS = $(MSVC_DLL_CLINKNODEBUGOPTIONS)
CDEBUGFLAGS = -O2
COPTIONS = $(MSVC_DLL_CNODEBUGFLAGS)
endif
#
# Include general win32 things
#
include $(THIS_IMPORT_TREE)/mk/win32.mk
IMPORT_CPPFLAGS += -D__x86__ -D__NT__ -D__OSVERSION__=4
# Default directory for the omniNames log files.
OMNINAMES_LOG_DEFAULT_LOCATION = C:\\temp
# Add the location of the Open SSL library
# To build the SSL transport, OPEN_SSL_ROOT must be defined and points to
# the top level directory of the openssl library. The default is to disable
# the build.
#
#OPEN_SSL_ROOT = /D/openssl
#
OPEN_SSL_CPPFLAGS = -I$(OPEN_SSL_ROOT)/include
OPEN_SSL_LIB = $(patsubst %,$(LibPathPattern),$(OPEN_SSL_ROOT)/lib) \
ssleay32.lib libeay32.lib
OMNIORB_SSL_LIB += $(OPEN_SSL_LIB)
OMNIORB_SSL_CPPFLAGS += $(OPEN_SSL_CPPFLAGS)
More information about the omniORB-list
mailing list