summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormcorino <mcorino@users.noreply.github.com>2007-08-01 18:52:22 +0000
committermcorino <mcorino@users.noreply.github.com>2007-08-01 18:52:22 +0000
commit79293edda320bc92cd8dae2b68187a2e46bc103f (patch)
treea77a0d71448523a60de7ff6f4581efabd9d468a9
parent5eebe6848ed1dd6f7d723de0f35c406cd9be8c82 (diff)
downloadATCD-79293edda320bc92cd8dae2b68187a2e46bc103f.tar.gz
ChangeLogTag: Wed Aug 1 18:55:12 UTC 2007 Martin Corino <mcorino@remedy.nl>
-rw-r--r--ACE/ChangeLog11
-rw-r--r--ACE/ace/config-openvms.h17
-rw-r--r--ACE/bin/PerlACE/ConfigList.pm28
-rw-r--r--ACE/include/makeinclude/platform_openvms.GNU66
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