diff options
Diffstat (limited to 'include/makeinclude/platform_vxworks5.x_g++.GNU')
-rw-r--r-- | include/makeinclude/platform_vxworks5.x_g++.GNU | 398 |
1 files changed, 0 insertions, 398 deletions
diff --git a/include/makeinclude/platform_vxworks5.x_g++.GNU b/include/makeinclude/platform_vxworks5.x_g++.GNU deleted file mode 100644 index 1cdb633162e..00000000000 --- a/include/makeinclude/platform_vxworks5.x_g++.GNU +++ /dev/null @@ -1,398 +0,0 @@ -# $Id$ -# -# VxWorks 5.5.1 with GNU g++ that is distributed by Wind River. - -#### Notes: -#### 1) This file requires that the WIND_BASE and WIND_HOST_TYPE environment -#### variables be set. If the target CPU is not a PPC604, then your CPU -#### environment variable must be set. If perl is not on your path, -#### you'll also need to set your PERL_PATH environment variable to -#### the full path to perl. -#### 2) If you have problems with munch output not being compilable -#### because it contains identifiers with ".", e.g., ".cpp", in them: -#### add a global variable or function to that .cpp file. See -#### ace/IOStream_T.cpp for an explanation and example. -#### 3) If you're building on a WIN32 host, be sure that $(CC) is on -#### your PATH (or is a full pathname). - -VXWORKS = 1 -CROSS-COMPILE = 1 - -ifndef exceptions - exceptions = 0 -endif # ! exceptions -ifndef debug - debug = 1 -endif # ! debug -ifndef optimize - optimize = 1 -endif # ! optimize -ifndef rtti - rtti = 1 -endif # ! rtti -ifndef templates - templates = explicit -endif # ! templates -ifndef versioned_so - versioned_so = 0 -endif # ! versioned_so - -shared_libs = -static_libs = 1 -# VxWorks doesn't have rwho -rwho = 0 - -ifeq (,$(WIND_BASE)) - default: - @ERROR: you must set your WIND_BASE environment variable -endif # WIND_BASE - -ifeq (,$(WIND_HOST_TYPE)) - default: - @ERROR: you must set your WIND_HOST_TYPE environment variable -endif # WIND_HOST_TYPE - -HOST_DIR = $(WIND_BASE)/host/$(WIND_HOST_TYPE) - -#### Unconditionally add the path to the VxWorks installation -#### to ensure that we pick up the right applications. -#### We should be able to do this with explicit paths on the apps, -#### but there is at least one app (munch) which references -#### another (wtxtcl) without a path. -#### Use := instead of += because += inserts a space. -PATH := $(HOST_DIR)/bin:$(PATH) - -ifeq (,$(PERL_PATH)) - PERL_PATH = perl -endif # ! PERL_PATH - - -#### BEGIN target CPU-specific settings - -#### This is kind of messy so that it can support multiple targets. -#### You'll need to set CPU to a supported CPU using one of these -#### methods (unless your CPU is a PowerPC 604): -#### 1) create a $ACE_ROOT/include/makeinclude/platform_macros.GNU -#### that contains something like: -#### -#### WIND_BASE = /project/doc/pkg/wind -#### WIND_HOST_TYPE = sun4-solaris2 -#### CPU = I80486 -#### GCC_VERSION = gcc-2.96 -#### -#### include $(ACE_ROOT)/include/makeinclude/platform_vxworks5.x_g++.GNU -#### -#### NOTE: The Wind River release versioning is confusing. -#### Tornado appears to have the following combinations shipped: -#### Tornado 2.0 has VxWorks 5.4 and cygnus-2.7.2-960126 -#### Tornado 2.0.1 has VxWorks 5.4.1 and cygnus-2.7.2-960126 -#### Tornado 2.0.2 has VxWorks 5.4.2 and cygnus-2.7.2-960126 -#### Tornado 2.1.x has VxWorks 5.4.2 and gcc-2.96 -#### Tornado 2.2 has VxWorks 5.5.1 and gcc-2.96 -#### Tornado 2.2.1 has VxWorks 5.5.1 and gcc-2.96 -#### Since these combinations are not uniquely distinguishable, -#### we will use the following conventions in ACE for ACE_VXWORKS -#### (per J. Willemsen on the ACE mailing list): -#### 0x540 indicates Tornado 2.0 -#### 0x541 indicates Tornado 2.0.1 -#### 0x542 indicates Tornado 2.1.x (note inconsistancy with WRS) -#### 0x551 indicates Tornado 2.2.x -#### -#### 2) modify the code below to set CPU, or -#### 3) set CPU on the command line, e.g., "make CPU=I80486" -ifeq ($(CPU),) - CPU = PPC604 -endif # default CPU - -ifeq ($(GCC_VERSION),) - GCC_VERSION = gcc-2.96 -endif # default GCC Version - -# These variables may be set on the command line if a different ACE_VXWORKS -# flag is desired. -ifeq ($(VXWORKS_VERSION_FLAG),) - ifeq ($(GCC_VERSION),gcc-2.96) - VXWORKS_VERSION_FLAG = -DACE_VXWORKS=0x551 - else - VXWORKS_VERSION_FLAG = -DACE_VXWORKS=0x540 - VXWORKS_STDINC_FLAG = -nostdinc - endif # GCC_VERSION -endif # VXWORKS_VERSION_FLAG - -ifeq ($(CPU),SH7700) - BINXSYM_NAME = xsym - CFLAGS += -B$(GCCLIB_DIR)/ -DCPU=SH7700 -m3 - GCCLIB_DIR = $(HOST_DIR)/lib/gcc-lib/sh-wrs-vxworks/$(GCC_VERSION) - TOOLENV = sh -else -ifeq ($(CPU),SH7700LE) - BINXSYM_NAME = xsym - CFLAGS += -B$(GCCLIB_DIR)/ -DCPU=SH7700 -m3 -ml - GCCLIB_DIR = $(HOST_DIR)/lib/gcc-lib/sh-wrs-vxworks/$(GCC_VERSION) - TOOLENV = sh -else -ifeq ($(CPU),SH7750) - BINXSYM_NAME = xsym - CFLAGS += -B$(GCCLIB_DIR)/ -DCPU=SH7750 -m4 - GCCLIB_DIR = $(HOST_DIR)/lib/gcc-lib/sh-wrs-vxworks/$(GCC_VERSION) - TOOLENV = sh -else -ifeq ($(CPU),SH7750LE) - BINXSYM_NAME = xsym - CFLAGS += -B$(GCCLIB_DIR)/ -DCPU=SH7750 -m4 -ml -mspace - GCCLIB_DIR = $(HOST_DIR)/lib/gcc-lib/sh-wrs-vxworks/$(GCC_VERSION) - TOOLENV = sh -else -ifeq ($(CPU),PPC403) - BINXSYM_NAME = xsym - CFLAGS += -B$(GCCLIB_DIR)/ -DCPU=PPC403 -mcpu=403 - GCCLIB_DIR = $(HOST_DIR)/lib/gcc-lib/powerpc-wrs-vxworks/$(GCC_VERSION) - TOOLENV = ppc -else -ifeq ($(CPU),PPC604) - BINXSYM_NAME = xsym - CFLAGS += -B$(GCCLIB_DIR)/ -DCPU=PPC604 - CCFLAGS += -mlongcall - GCCLIB_DIR = $(HOST_DIR)/lib/gcc-lib/powerpc-wrs-vxworks/$(GCC_VERSION) - INCLDIRS += -I$(HOST_DIR)/powerpc-wrs-vxworks/include - INCLDIRS += -I$(HOST_DIR)/lib/gcc-lib/powerpc-wrs-vxworks/include - TOOLENV = ppc -else -ifeq ($(CPU),PPC603) - BINXSYM_NAME = xsym - CFLAGS += -B$(GCCLIB_DIR)/ -DCPU=PPC603 - CCFLAGS += -mlongcall - GCCLIB_DIR = $(HOST_DIR)/lib/gcc-lib/powerpc-wrs-vxworks/$(GCC_VERSION) - TOOLENV = ppc -else -ifeq ($(CPU),PPC860) - BINXSYM_NAME = xsym - CFLAGS += -B$(GCCLIB_DIR)/ -DCPU=PPC860 -mcpu=860 - CCFLAGS += -mlongcall - GCCLIB_DIR = $(HOST_DIR)/lib/gcc-lib/powerpc-wrs-vxworks/$(GCC_VERSION) - TOOLENV = ppc -else -ifeq ($(CPU),SIMNT) - BINXSYM_NAME = xsym - CFLAGS += -U__WINNT -UWIN32 -U__WINNT__ -UWINNT -U__MINGW32__ -U_WIN32 \ - -U__WIN32 -U__WIN32__ -U__WIN32 -B$(GCCLIB_DIR) -DCPU=SIMNT - GCCLIB_DIR = $(HOST_DIR)/lib/gcc-lib/powerpc-wrs-vxworks/$(GCC_VERSION) - TOOLENV = simpc -else -ifeq ($(CPU),PENTIUMPRO) - BINXSYM_NAME = xsymDec - CFLAGS += -DCPU=PENTIUMPRO - TOOLENV = pentium -else -ifeq ($(CPU),PENTIUM) - BINXSYM_NAME = xsymDec - CFLAGS += -DCPU=PENTIUM - TOOLENV = pentium -else -ifeq ($(CPU),I80486) - #### Note: -fno-implicit-templates doesn't seem to work well with g++ - #### cygnus-2.7.2-960126 for pc486 target. Some member functions don't - #### get instantiated. Wind River knows about this problem (SPR 8483). - #### -fno-implicit-templates should be supported on Tornado II, so - #### it is added for that platform below. - BINXSYM_NAME = xsymDec - CFLAGS += -DCPU=I80486 -m486 - TOOLENV = 386 -else -ifeq ($(CPU),I80386) - BINXSYM_NAME = xsymDec - CFLAGS += -DCPU=I80386 - TOOLENV = 386 -else -ifeq ($(CPU),SIMSPARCSOLARIS) - BINXSYM_NAME = xsym - CFLAGS += -B$(GCCLIB_DIR)/ -DCPU=SIMSPARCSOLARIS - GCCLIB_DIR = \ - $(HOST_DIR)/lib/gcc-lib/sparc-sun-solaris2.5.1/$(GCC_VERSION) - TOOLENV = simso -else -ifeq ($(CPU),SPARC) - BINXSYM_NAME = xsym - CFLAGS += -B$(GCCLIB_DIR)/ -DCPU=SPARC - GCCLIB_DIR = $(HOST_DIR)/lib/gcc-lib/sparc-wrs-vxworks/$(GCC_VERSION) - TOOLENV = sparc -else -ifeq ($(CPU),MC68020) - CFLAGS += -B$(GCCLIB_DIR)/ -DCPU=MC68020 -m68020 -m68881 - GCCLIB_DIR = $(HOST_DIR)/lib/gcc-lib/m68k-wrs-vxworks/$(GCC_VERSION) - TOOLENV = 68k -else -ifeq ($(CPU),MC68030) - BINXSYM_NAME = xsym - CFLAGS += -B$(GCCLIB_DIR)/ -DCPU=MC68030 -m68030 -m68881 - GCCLIB_DIR = $(HOST_DIR)/lib/gcc-lib/m68k-wrs-vxworks/$(GCC_VERSION) - TOOLENV = 68k -else -ifeq ($(CPU),MC68040) - BINXSYM_NAME = xsym - CFLAGS += -B$(GCCLIB_DIR)/ -DCPU=MC68040 -m68040 -m68881 - GCCLIB_DIR = $(HOST_DIR)/lib/gcc-lib/m68k-wrs-vxworks/$(GCC_VERSION) - TOOLENV = 68k -else -ifeq ($(CPU),MC68060) - BINXSYM_NAME = xsym - CFLAGS += -B$(GCCLIB_DIR)/ -DCPU=MC68060 -m68040 -m68881 - GCCLIB_DIR = $(HOST_DIR)/lib/gcc-lib/m68k-wrs-vxworks/$(GCC_VERSION) - TOOLENV = 68k -else - BINXSYM_NAME = xsym -endif # MC68060 -endif # MC68040 -endif # MC68030 -endif # MC68020 -endif # SPARC -endif # SIMSPARCSOLARIS -endif # I80386 -endif # I80486 -endif # PENTIUM -endif # PENTIUMPRO -endif # SIMNT -endif # PPC860 -endif # PPC603 -endif # PPC604 -endif # PPC403 -endif # SH7750LE -endif # SH7750 -endif # SH7700LE -endif # SH7700 - -#### END target CPU-specific settings - -#### Set up Win32 vs. Unix host specific macros. -ifeq ($(WIND_HOST_TYPE),x86-win32) - CXX = $(HOST_DIR)/bin/cc$(TOOLENV) - ifeq (,$(pipes)) - pipes = 1 - endif # pipes -else -ifeq ($(TOOLENV),simso) - #### vxsim needs to use ccsimso, not g++simso. - CXX = $(HOST_DIR)/bin/cc$(TOOLENV) -else - CXX = $(HOST_DIR)/bin/g++$(TOOLENV) - ifeq (,$(pipes)) - pipes = 1 - endif # pipes -endif # simso -endif # x86-win32 - -ifeq ($(shared_libs),1) - SHARED_LIBS = 1 -endif -ifeq ($(shared_libs_only),1) - SHARED_LIBS = 1 -endif - -ifeq ($(SHARED_LIBS),1) - ACELIB = -L./ - #### There's no difference between non-shared and shared object code. - VSHDIR = $(VDIR) -endif # shared_libs - -ifeq ($(static_libs),1) - AR = $(HOST_DIR)/bin/ar$(TOOLENV) - ARFLAGS = rv -else # ! static_libs - AR = echo - ARFLAGS = "build shared lib only" -endif # ! static_libs - -CC = $(HOST_DIR)/bin/cc$(TOOLENV) - -#### Tornado II 2.2.x uses gcc-2.96 -#### Linux cross-compiler uses full egcs -#### Anything older is no longer supported by TAO -ifndef ACE_CC - ifndef COMSPEC - ifdef ComSpec - #### ACE+TAO use COMSPEC, but ComSpec is defined on some WIN32's. - COMSPEC = $(ComSpec) - endif # ComSpec - endif # ! COMPSPEC - - ifdef COMSPEC - #### Assume we're on a WIN32 host. Further, assume that $(CC) - #### is on the user's PATH. - ACE_CC := $(CC) - else # ! COMSPEC - #### Don't use this on WIN32 host, because the shell there seems - #### to have trouble exec'ing sed. - ACE_CC := $(shell type $(CC) | sed -e 's/.* is //') - endif # ! COMSPEC -endif # ! ACE_CC -ifndef ACE_CC_VERSION - ACE_CC_VERSION := $(shell $(ACE_CC) --version) -endif # ! ACE_CC_VERSION - - -# explicit template flags are handled by platform_g++_common.GNU -ifneq ($(templates),explicit) - TEMPLATES_FLAG += -fimplicit-templates -fmerge-templates -endif - -ACE_HAS_GNUG_PRE_2_8 := 0 -CFLAGS += $(VXWORKS_VERSION_FLAG) -ifneq (1,$(exceptions)) - #### With exceptions, this is applied in wrapper_macros.GNU. - #### Without, we do it here. - CFLAGS += -Wno-uninitialized -endif # ! exceptions - -CFLAGS += -D_REENTRANT -ansi -fno-builtin -fno-defer-pop \ - -fvolatile $(VXWORKS_STDINC_FLAG) -nostdlib -W -Wall \ - $(VXWORKS_VERSION_FLAG) -CCFLAGS += $(CFLAGS) -ifeq (0,$(rtti)) - #### Don't use RTTI with Tornado 1.0.x since the Tornado libraries - #### don't support it. - CCFLAGS += -fno-rtti -DACE_LACKS_RTTI -endif # rtti -DCFLAGS += -g -DLD = $(LD) -INCLDIRS += -I$(WIND_BASE)/target/h -INCLDIRS += -I$(HOST_DIR)/include/g++-3 -LD = $(PERL_PATH) $(ACE_ROOT)/bin/ace_ld \ - -o $(VDIR) -C $(COMPILE.c) -- \ - -m $(HOST_DIR)/bin/munch -n $(HOST_DIR)/bin/nm$(TOOLENV) $(HOST_DIR)/bin/ld$(TOOLENV) -LDFLAGS += -X -r -#### WindRiver only recommends -O, not -O2, with some CPUs, including -#### the i386 family. And -O2 causes some compilation failures. -OCFLAGS += -O -PIC = - -# Test for template instantiation, add to SOFLAGS if SONAME set, -# add -E to LDFLAGS if using GNU ld -# -include $(ACE_ROOT)/include/makeinclude/platform_g++_common.GNU - -# TEMPLATES_FLAG is set by platform_g++_common.GNU -ifneq ($(TEMPLATES_FLAG),) # If specified, add it to the CCFLAGS - CCFLAGS += $(TEMPLATES_FLAG) -endif - - -#### ld can't handle INCLDIRS, so override LINK definitions. -LINK.c = override -LINK.c.override = $(LD) $(LDFLAGS) $(LDLIBS) $(LIBS) - -LINK.cc = override -LINK.cc.override = $(LD) - - -#### To extract the symbol table from each executable, uncomment the POSTLINK -#### definition below. -## POSTLINK = ; VX_CPU_FAMILY=$(TOOLENV) $(BINXSYM_NAME) < $@ > $@.sym - -ifeq (1,$(exceptions)) - #### The VxWorks 1.0 libraries don't support exceptions. - #### And, exceptions give the Tornado 2.0 compiler fits, e.g., with - #### ACE_wrappers/TAO/tao/IORManipulation.cpp. - #### But, Tornado 2.2.x handles exceptions, but with a memory bloat - #### of around a factor of 4.5. So beware of enabling them unless you - #### have lots of memory! -endif # exceptions |