summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorgonzo <gonzo@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1998-08-07 19:10:57 +0000
committergonzo <gonzo@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1998-08-07 19:10:57 +0000
commit8a3081ceb8d6e959585460f26e993fc98ea16eaa (patch)
treec1d7de89e05214c4327da03ba4078fa8e5bb7e01
parent3768ede8dc5dd72d676bcf1a7bb41db88ec6e740 (diff)
downloadATCD-8a3081ceb8d6e959585460f26e993fc98ea16eaa.tar.gz
Added envinfo to report versions of ACE, OS and compiler
-rw-r--r--ChangeLog-98b22
-rw-r--r--ace/ACE.cpp40
-rw-r--r--ace/ACE.h13
-rw-r--r--ace/config-sunos5.5.h5
-rw-r--r--bin/Makefile91
-rw-r--r--bin/clone.cpp4
-rw-r--r--bin/envinfo.cpp29
7 files changed, 178 insertions, 26 deletions
diff --git a/ChangeLog-98b b/ChangeLog-98b
index 2d1afaf414e..0312e75d323 100644
--- a/ChangeLog-98b
+++ b/ChangeLog-98b
@@ -1,3 +1,25 @@
+Fri Aug 7 13:58:58 1998 Gonzalo Diethelm <gonzo@tango.cs.wustl.edu>
+
+ * bin/envinfo.cpp:
+ Added this program, which will print the version information for
+ ACE, the OS and C++ compiler. The idea is to use this when posting
+ to the ACE mailing list.
+
+ * ace/ACE.h:
+ * ace/ACE.cpp:
+ Added static methods to retrieve compiler information (name, major
+ version, minro version, beta version).
+
+ * ace/config-sunos5.5.h:
+ Defined the compiler information macros for this platform.
+
+ * bin/Makefile:
+ Modified the Makefile to support multiple binaries in the
+ directory (according to tests/Makefile).
+
+ * bin/clone.cpp:
+ Added RCS Id.
+
Fri Aug 7 12:46:42 1998 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* ace/Activation_Queue.h: Updated the documentation to indicate
diff --git a/ace/ACE.cpp b/ace/ACE.cpp
index 00a73fbf383..24baa8ee82e 100644
--- a/ace/ACE.cpp
+++ b/ace/ACE.cpp
@@ -40,6 +40,46 @@ ACE::beta_version (void)
return ACE_BETA_VERSION;
}
+const char* const
+ACE::compiler_name (void)
+{
+#ifdef ACE_CC_NAME
+ return ACE_CC_NAME;
+#else
+ return "";
+#endif
+}
+
+u_int
+ACE::compiler_major_version (void)
+{
+#ifdef ACE_CC_MAJOR_VERSION
+ return ACE_CC_MAJOR_VERSION;
+#else
+ return 0;
+#endif
+}
+
+u_int
+ACE::compiler_minor_version (void)
+{
+#ifdef ACE_CC_MINOR_VERSION
+ return ACE_CC_MINOR_VERSION;
+#else
+ return 0;
+#endif
+}
+
+u_int
+ACE::compiler_beta_version (void)
+{
+#ifdef ACE_CC_BETA_VERSION
+ return ACE_CC_BETA_VERSION;
+#else
+ return 0;
+#endif
+}
+
void
ACE::unique_name (const void *object,
LPTSTR name,
diff --git a/ace/ACE.h b/ace/ACE.h
index 864d8ed3aa1..014086529e5 100644
--- a/ace/ACE.h
+++ b/ace/ACE.h
@@ -46,6 +46,19 @@ public:
static u_int beta_version (void);
// E.g., the "19" in ACE 4.3.19. Returns 0 for "stable" (non-beta) releases.
+ // = C++ compiler version information.
+ static const char* const compiler_name (void);
+ // E.g., the "SunPro C++" in SunPro C++ 4.32.0
+
+ static u_int compiler_major_version (void);
+ // E.g., the "4" in SunPro C++ 4.32.0
+
+ static u_int compiler_minor_version (void);
+ // E.g., the "32" in SunPro C++ 4.32.0
+
+ static u_int compiler_beta_version (void);
+ // E.g., the "0" in SunPro C++ 4.32.0
+
// = Recv operations that factor out differences between Win32 and UNIX.
static ssize_t recv (ACE_HANDLE handle,
void *buf,
diff --git a/ace/config-sunos5.5.h b/ace/config-sunos5.5.h
index 03d47ea9a94..f7391165222 100644
--- a/ace/config-sunos5.5.h
+++ b/ace/config-sunos5.5.h
@@ -253,4 +253,9 @@
#define ACE_HAS_GPERF
+#define ACE_CC_NAME "SunPro C++"
+#define ACE_CC_MAJOR_VERSION (__SUNPRO_CC >> 8)
+#define ACE_CC_MINOR_VERSION (__SUNPRO_CC & 0x00ff)
+#define ACE_CC_BETA_VERSION (0)
+
#endif /* ACE_CONFIG_H */
diff --git a/bin/Makefile b/bin/Makefile
index ccab1bfdfbd..b3bebc0db24 100644
--- a/bin/Makefile
+++ b/bin/Makefile
@@ -1,39 +1,80 @@
-#############################################################################
+#----------------------------------------------------------------------------
#
-# Makefile for assignment 1
+# $Id$
#
-#############################################################################
+# Makefile for all the ACE binaries
+#----------------------------------------------------------------------------
-include $(ACE_ROOT)/include/makeinclude/platform_macros.GNU
+#----------------------------------------------------------------------------
+# Local macros
+#----------------------------------------------------------------------------
-# CXX = gcc
-CFILES = clone.cpp
-OFILES = clone.o
-DFLAGS = -b elf
-CCFLAGS += -I$(ACE_ROOT)
+BIN = \
+ clone \
+ envinfo \
-#############################################################################
-# C++ directives
+LSRC = $(addsuffix .cpp,$(BIN))
+VLDLIBS = $(LDLIBS:%=%$(VAR))
-.SUFFIXES: .cpp
-.cpp.o:
- $(CXX) $(CCFLAGS) -c $<
-#############################################################################
+BUILD = $(VBIN)
-clone: $(OFILES)
- $(CXX) $(CCFLAGS) -o $@ $(OFILES)
+#----------------------------------------------------------------------------
+# Include macros and targets
+#----------------------------------------------------------------------------
-clean:
- -/bin/rm -f *.o *.out *~ core
+include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
+include $(ACE_ROOT)/include/makeinclude/macros.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.bin.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
-realclean: clean
- -/bin/rm -fr clone
+# To build multiple executables in the same directory on AIX, it works
+# best to wipe out any previously-created tempinc directory.
+# The compiler/linker isn't too smart about instantiating templates...
+ifdef TEMPINCDIR
+COMPILE.cc := $(RM) -rf tempinc; $(COMPILE.cc)
+endif
-depend:
- g++dep -f Makefile $(CFILES)
+#----------------------------------------------------------------------------
+# Local targets
+#----------------------------------------------------------------------------
+
+#----------------------------------------------------------------------------
+# Dependencies
+#----------------------------------------------------------------------------
# DO NOT DELETE THIS LINE -- g++dep uses it.
# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
-clone.o : clone.cpp
-# IF YOU PUT ANYTHING HERE IT WILL GO AWAY
+.obj/clone.o .obj/clone.so .shobj/clone.o .shobj/clone.so: clone.cpp \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Trace.h \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Record.h \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Log_Record.i
+.obj/envinfo.o .obj/envinfo.so .shobj/envinfo.o .shobj/envinfo.so: envinfo.cpp \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/inc_user_config.h \
+ $(ACE_ROOT)/ace/config.h \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Trace.h \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Record.h \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Log_Record.i
+# IF YOU PUT ANYTHING HERE IT WILL GO AWAY
diff --git a/bin/clone.cpp b/bin/clone.cpp
index 6de3139eb1e..62ab5e7b7bc 100644
--- a/bin/clone.cpp
+++ b/bin/clone.cpp
@@ -1,6 +1,8 @@
-#include "ace/OS.h"
// $Id$
+#include "ace/OS.h"
+
+ACE_RCSID(bin, clone, "$Id$")
#if 0
#if defined (USG)
diff --git a/bin/envinfo.cpp b/bin/envinfo.cpp
new file mode 100644
index 00000000000..8d25afd91a7
--- /dev/null
+++ b/bin/envinfo.cpp
@@ -0,0 +1,29 @@
+// $Id$
+
+#include "ace/ACE.h"
+
+ACE_RCSID(bin, envinfo, "$Id$")
+
+int
+main (int, ASYS_TCHAR *[])
+{
+ cerr << "ACE: "
+ << ACE::major_version() << "."
+ << ACE::minor_version() << "."
+ << ACE::beta_version() << "\n";
+
+ struct utsname uname;
+ ACE_OS::uname(&uname);
+ cerr << "OS: "
+ << uname.sysname << " "
+ << uname.release << "\n";
+
+ cerr << "Compiler: "
+ << ACE::compiler_name() << " "
+ << ACE::compiler_major_version() << "."
+ << ACE::compiler_minor_version() << "."
+ << ACE::compiler_beta_version() << "\n";
+
+ return 0;
+}
+