diff --git a/documentation/RELEASE_NOTES.html b/documentation/RELEASE_NOTES.html
index 0dfa814a9..96eb0a540 100644
--- a/documentation/RELEASE_NOTES.html
+++ b/documentation/RELEASE_NOTES.html
@@ -15,6 +15,15 @@ EPICS Base 3.15.0.x releases are not intended for use in production systems.
Changes between 3.15.0.1 and 3.15.0.2
+alarmString.h deprecated again
+
+The string arrays that provide string versions of the alarm status and
+severity values have been moved into libCom and the header file that used to
+instanciate them is no longer required, although a copy is still provided for
+backwards compatibility reasons. Only the alarm.h header needs to be included
+now to declare the epicsAlarmSeverityStrings and epicsAlarmConditionStrings
+arrays.
+
General purpose thread pool
diff --git a/src/ca/client/perl/Cap5.xs b/src/ca/client/perl/Cap5.xs
index 70cb487ea..e66a2aa06 100644
--- a/src/ca/client/perl/Cap5.xs
+++ b/src/ca/client/perl/Cap5.xs
@@ -12,7 +12,6 @@
#include "db_access.h"
#include "epicsVersion.h"
#include "alarm.h"
-#include "alarmString.h"
typedef union {
dbr_long_t iv;
diff --git a/src/ca/client/tools/tool_lib.c b/src/ca/client/tools/tool_lib.c
index ddead1115..b503e125a 100644
--- a/src/ca/client/tools/tool_lib.c
+++ b/src/ca/client/tools/tool_lib.c
@@ -25,9 +25,7 @@
#include
#include
-#define epicsAlarmGLOBAL
#include
-#undef epicsAlarmGLOBAL
#include
#include
#include
diff --git a/src/libCom/misc/Makefile b/src/libCom/misc/Makefile
index d623b3225..3d5412dc3 100644
--- a/src/libCom/misc/Makefile
+++ b/src/libCom/misc/Makefile
@@ -31,6 +31,7 @@ INC += testMain.h
# epicsVersion.h is created by this Makefile
INC += epicsVersion.h
+Com_SRCS += alarmString.c
Com_SRCS += aToIPAddr.c
Com_SRCS += adjustment.c
Com_SRCS += cantProceed.c
diff --git a/src/libCom/misc/alarm.h b/src/libCom/misc/alarm.h
index 6aaab449d..5158206f7 100644
--- a/src/libCom/misc/alarm.h
+++ b/src/libCom/misc/alarm.h
@@ -18,7 +18,6 @@
#define INC_alarm_H
#include "shareLib.h"
-#include "epicsTypes.h"
#ifdef __cplusplus
extern "C" {
@@ -43,8 +42,6 @@ typedef enum {
#define INVALID_ALARM epicsSevInvalid
#define lastEpicsAlarmSev epicsSevInvalid
-epicsShareExtern const char *epicsAlarmSeverityStrings [ALARM_NSEV];
-
/* ALARM STATUS - must match menuAlarmStat.dbd */
@@ -98,15 +95,15 @@ typedef enum {
#define WRITE_ACCESS_ALARM epicsAlarmWriteAccess
#define lastEpicsAlarmCond epicsAlarmWriteAccess
+
+/* Name string arrays */
+
+epicsShareExtern const char *epicsAlarmSeverityStrings [ALARM_NSEV];
epicsShareExtern const char *epicsAlarmConditionStrings [ALARM_NSTATUS];
+
#ifdef __cplusplus
}
#endif
-#ifdef epicsAlarmGLOBAL
-# include "alarmString.h"
-#endif
-
-
#endif /* INC_alarm_H */
diff --git a/src/libCom/misc/alarmString.c b/src/libCom/misc/alarmString.c
new file mode 100644
index 000000000..b8c72451c
--- /dev/null
+++ b/src/libCom/misc/alarmString.c
@@ -0,0 +1,51 @@
+/*************************************************************************\
+* Copyright (c) 2009 UChicago Argonne LLC, as Operator of Argonne
+* National Laboratory.
+* Copyright (c) 2002 The Regents of the University of California, as
+* Operator of Los Alamos National Laboratory.
+* EPICS BASE is distributed subject to a Software License Agreement found
+* in file LICENSE that is included with this distribution.
+\*************************************************************************/
+/* $Revision-Id$ */
+
+/* String names for alarm status and severity values */
+
+#define epicsExportSharedSymbols
+#include "alarm.h"
+
+/* ALARM SEVERITIES - must match menuAlarmSevr.dbd and alarm.h */
+
+epicsShareDef const char * epicsAlarmSeverityStrings[ALARM_NSEV] = {
+ "NO_ALARM",
+ "MINOR",
+ "MAJOR",
+ "INVALID"
+};
+
+
+/* ALARM STATUS - must match menuAlarmStat.dbd and alarm.h */
+
+epicsShareDef const char * epicsAlarmConditionStrings[ALARM_NSTATUS] = {
+ "NO_ALARM",
+ "READ",
+ "WRITE",
+ "HIHI",
+ "HIGH",
+ "LOLO",
+ "LOW",
+ "STATE",
+ "COS",
+ "COMM",
+ "TIMEOUT",
+ "HWLIMIT",
+ "CALC",
+ "SCAN",
+ "LINK",
+ "SOFT",
+ "BAD_SUB",
+ "UDF",
+ "DISABLE",
+ "SIMM",
+ "READ_ACCESS",
+ "WRITE_ACCESS"
+};
diff --git a/src/libCom/misc/alarmString.h b/src/libCom/misc/alarmString.h
index 7051f13ff..75fe2317c 100644
--- a/src/libCom/misc/alarmString.h
+++ b/src/libCom/misc/alarmString.h
@@ -8,60 +8,27 @@
\*************************************************************************/
/* $Revision-Id$ */
-/* String names for alarms */
+/*
+ * This file is deprecated, use alarm.h instead.
+ *
+ * Old string names for alarm status and severity values
+ */
#ifndef INC_alarmString_H
#define INC_alarmString_H
+#include "alarm.h"
+
#ifdef __cplusplus
extern "C" {
#endif
-/* Compatibility with original alarmString.h names */
+/* Old versions of alarmString.h defined these names: */
#define alarmSeverityString epicsAlarmSeverityStrings
#define alarmStatusString epicsAlarmConditionStrings
-/* Name strings */
-
-/* ALARM SEVERITIES - must match menuAlarmSevr.dbd and alarm.h */
-
-const char * epicsAlarmSeverityStrings[] = {
- "NO_ALARM",
- "MINOR",
- "MAJOR",
- "INVALID"
-};
-
-
-/* ALARM STATUS - must match menuAlarmStat.dbd and alarm.h */
-
-const char * epicsAlarmConditionStrings[] = {
- "NO_ALARM",
- "READ",
- "WRITE",
- "HIHI",
- "HIGH",
- "LOLO",
- "LOW",
- "STATE",
- "COS",
- "COMM",
- "TIMEOUT",
- "HWLIMIT",
- "CALC",
- "SCAN",
- "LINK",
- "SOFT",
- "BAD_SUB",
- "UDF",
- "DISABLE",
- "SIMM",
- "READ_ACCESS",
- "WRITE_ACCESS"
-};
-
#ifdef __cplusplus
}
#endif