diff options
author | mcorino <mcorino@users.noreply.github.com> | 2007-08-01 18:52:22 +0000 |
---|---|---|
committer | mcorino <mcorino@users.noreply.github.com> | 2007-08-01 18:52:22 +0000 |
commit | 79293edda320bc92cd8dae2b68187a2e46bc103f (patch) | |
tree | a77a0d71448523a60de7ff6f4581efabd9d468a9 | |
parent | 5eebe6848ed1dd6f7d723de0f35c406cd9be8c82 (diff) | |
download | ATCD-79293edda320bc92cd8dae2b68187a2e46bc103f.tar.gz |
ChangeLogTag: Wed Aug 1 18:55:12 UTC 2007 Martin Corino <mcorino@remedy.nl>
-rw-r--r-- | ACE/ChangeLog | 11 | ||||
-rw-r--r-- | ACE/ace/config-openvms.h | 17 | ||||
-rw-r--r-- | ACE/bin/PerlACE/ConfigList.pm | 28 | ||||
-rw-r--r-- | ACE/include/makeinclude/platform_openvms.GNU | 66 |
4 files changed, 104 insertions, 18 deletions
diff --git a/ACE/ChangeLog b/ACE/ChangeLog index d126390c2c6..c35b0bd88e7 100644 --- a/ACE/ChangeLog +++ b/ACE/ChangeLog @@ -1,3 +1,14 @@ +Wed Aug 1 18:55:12 UTC 2007 Martin Corino <mcorino@remedy.nl> + + * bin/PerlACE/ConfigList.pm: + Added '-Exclude <mask>' option to be able to finetune the actual + tests being run without having to add yet another Config option + and update the test .LST files. + + * ace/config-openvms.h: + * include/makeinclude/platform_openvms.GNU: + merged changes for OpenVMS IA64 builds. + Wed Aug 1 18:01:12 UTC 2007 Johnny Willemsen <jwillemsen@remedy.nl> * bin/fuzz.pl: diff --git a/ACE/ace/config-openvms.h b/ACE/ace/config-openvms.h index 370c03d029f..42442c9070e 100644 --- a/ACE/ace/config-openvms.h +++ b/ACE/ace/config-openvms.h @@ -24,7 +24,7 @@ // Use a signed int to match POSIX #define __SIGNED_INT_TIME_T -#define ACE_OPENVMS 0x0821 +#define ACE_OPENVMS __VMS_VER #define ACE_DLL_SUFFIX ACE_TEXT("") @@ -40,14 +40,25 @@ #undef memcpy #undef memmove +#if defined(__ia64__) + // on OpenVMS IA64 we need this get the singleton exported since we build + // ACE/TAO with the NOTEMPLATES export option which prohibits exporting + // of any template symbols unless explicitly exported + #define ACE_HAS_CUSTOM_EXPORT_MACROS + #define ACE_Proper_Export_Flag + #define ACE_Proper_Import_Flag + #define ACE_EXPORT_SINGLETON_DECLARATION(T) template class __declspec (dllexport) T + #define ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) template class __declspec (dllexport) SINGLETON_TYPE<CLASS, LOCK>; +#else + #define ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION +#endif + #define ACE_DEFAULT_BASE_ADDR ((char*)(0x30000000)) #define ACE_MAX_UDP_PACKET_SIZE 65535 #define ACE_HAS_STDCPP_STL_INCLUDES 1 -#define ACE_HAS_EXPLICIT_STATIC_TEMPLATE_MEMBER_INSTANTIATION - /* missing system headers */ #define ACE_LACKS_STDINT_H 1 #define ACE_LACKS_SYS_IPC_H 1 diff --git a/ACE/bin/PerlACE/ConfigList.pm b/ACE/bin/PerlACE/ConfigList.pm index 74e530b1c94..65a22272214 100644 --- a/ACE/bin/PerlACE/ConfigList.pm +++ b/ACE/bin/PerlACE/ConfigList.pm @@ -5,6 +5,7 @@ use strict; use FileHandle; @PerlACE::ConfigList::Configs = (); +@PerlACE::ConfigList::Excludes = (); my @new_argv = (); @@ -14,7 +15,16 @@ for(my $i = 0; $i <= $#ARGV; ++$i) { push @PerlACE::ConfigList::Configs, $ARGV[++$i]; } else { - print STDERR "You must pass a configuration with Config\n"; + print STDERR "You must pass a configuration with -Config\n"; + exit(1); + } + } + elsif ($ARGV[$i] eq '-Exclude') { + if (defined $ARGV[$i + 1]) { + push @PerlACE::ConfigList::Excludes, $ARGV[++$i]; + } + else { + print STDERR "You must pass an exclude pattern with -Exclude\n"; exit(1); } } @@ -78,11 +88,11 @@ sub load ($) while (<$fh>) { chomp; - if (/^\s*$/ || /^#/) { + if (/^\s*$/ || /^#/) { next; } # compress white space - s/\s+/ /g; + s/\s+/ /g; my $entry = ''; my $configs = ''; @@ -93,7 +103,7 @@ sub load ($) $entry =~ s/\s+$//; push @{$self->{ENTRIES}}, $entry; - if (defined $configs) { + if (defined $configs) { @{$self->{CONFIGS}->{$entry}} = split (" ", $configs); } } @@ -105,9 +115,17 @@ sub valid_entries () { my $self = shift; my @entries = (); + my $exclude = 0; foreach my $entry (@{$self->{ENTRIES}}) { - if ($self->check_config (@{$self->{CONFIGS}->{$entry}})) { + $exclude = 0; + foreach my $expat (@PerlACE::ConfigList::Excludes) { + if ($entry =~ /$expat/) { + $exclude = 1; + last; + } + } + if (!$exclude && $self->check_config (@{$self->{CONFIGS}->{$entry}})) { push @entries, $entry; } } diff --git a/ACE/include/makeinclude/platform_openvms.GNU b/ACE/include/makeinclude/platform_openvms.GNU index bcd0666bfb1..07d6ce8d241 100644 --- a/ACE/include/makeinclude/platform_openvms.GNU +++ b/ACE/include/makeinclude/platform_openvms.GNU @@ -12,17 +12,43 @@ pthread ?= 1 rtti ?= 1 ssl ?= 0 +ifeq ($(static_libs),1) + override shared_libs = + override static_libs_only = 1 + ifneq ($(findstring -lACE_SSL,$(LDLIBS)),) + override LDLIBS = $(PLATFORM_SSL_LIBS) + else + override LDLIBS = + endif +else + override static_libs = + override shared_libs = 1 +endif + VDIR = obj/ VSHDIR = shobj/ LN_S = cp -p DEFFLAGS += -#CCFLAGS += -D__USE_STD_IOSTREAM -ieee -Wc/template=noauto -Wc/noimplicit -CCFLAGS += -D__USE_STD_IOSTREAM -ieee -names_as_is_short -msg_disable intoverflow,reftemporary -Wc/template=auto +CCFLAGS += -D__USE_STD_IOSTREAM -ieee -names_as_is_short +CCFLAGS += -msg_disable intoverflow -msg_disable reftemporary -msg_disable intsignchange +CCFLAGS += -Wc/template=auto + +ifeq ($(HOSTTYPE),ia64) + SYMVEC_OPT_FILE ?= $(LIB_NAME)_symvec.opt + ifeq ($(PRJ_TYPE),library) + ifeq ($(shared_libs),1) + CCFLAGS += "-Wc/export_sym=(OPTIONS_FILE=$(SYMVEC_OPT_FILE),ALL,NOTEMPLATES)" + endif + endif +else + LDFLAGS += -Wl/PRELINK=USE_OLB +endif + ifeq ($(debug),1) -LDFLAGS += -g -threads -Wl/PRELINK=USE_OLB + LDFLAGS += -g -threads else -LDFLAGS += -threads -Wl/PRELINK=USE_OLB + LDFLAGS += -threads endif DCCFLAGS += -g OCCFLAGS += -O @@ -31,12 +57,15 @@ CFLAGS += -ieee -names_as_is_short DCFLAGS += -g OCFLAGS += -O -#MATHLIB = -lm PIC = -ARFLAGS = -c RANLIB = @true -SOFLAGS = -shared -auto_symvec - +ifeq ($(HOSTTYPE),ia64) + ARFLAGS = -r + SOFLAGS = -shared $(SYMVEC_OPT_FILE) +else + ARFLAGS = -c + SOFLAGS = -shared -auto_symvec +endif LIBS += -lpthread CC = cc @@ -47,12 +76,29 @@ SOVERSION = SOEXT = exe EXEEXT = .exe INSLIB = $(ACE_ROOT)/lib -REALCLEAN_FILES += $(CLEANUP_VSHLIB_NO_VER:%.exe=%_symvec.opt) $(CLEANUP_VSHLIB_NO_VER:%.exe=%.DSF) \ +ifeq ($(HOSTTYPE),ia64) + REALCLEAN_FILES += $(SYMVEC_OPT_FILE) $(CLEANUP_VSHLIB_NO_VER:%.exe=%.DSF) \ + $(CLEANUP_BIN:%=%.DSF) $(basename $(BIN)) +else + REALCLEAN_FILES += $(CLEANUP_VSHLIB_NO_VER:%.exe=%_symvec.opt) $(CLEANUP_VSHLIB_NO_VER:%.exe=%.DSF) \ $(CLEANUP_BIN:%=%.DSF) $(basename $(BIN)) +endif ifneq ($(MAKEFILE),$(DEPENDENCY_FILE)) VMS_DUMMY_ := $(shell touch $(DEPENDENCY_FILE)) VMS_DUMMY_ := $(VMS_DUMMY_) endif -POSTLINK = ; ln -f $(BIN) $(basename $(BIN)) +ifeq ($(HOSTTYPE),ia64) + ifeq ($(shared_libs),1) + ifneq ($(SHLIB),) +BUILD := post_build.local + +.PHONY: post_build.local + +post_build.local: + @-if [ ! -z "$(VSHLIB)" ]; then dcl "set image/success $(VSHLIB)"; echo ""; fi + + endif + endif +endif
\ No newline at end of file |