diff --git a/src/packages/xdc/rov/support/ScalarStructs_xdc.xdt b/src/packages/xdc/rov/support/ScalarStructs_xdc.xdt
index 282a9fa..746788c 100644
--- a/src/packages/xdc/rov/support/ScalarStructs_xdc.xdt
+++ b/src/packages/xdc/rov/support/ScalarStructs_xdc.xdt
@@ -1,13 +1,13 @@
 /* --COPYRIGHT--,EPL
- *  Copyright (c) 2008 Texas Instruments and others.
+ *  Copyright (c) 2008-2020 Texas Instruments Incorporated
  *  All rights reserved. This program and the accompanying materials
  *  are made available under the terms of the Eclipse Public License v1.0
  *  which accompanies this distribution, and is available at
  *  http://www.eclipse.org/legal/epl-v10.html
- * 
+ *
  *  Contributors:
  *      Texas Instruments - initial implementation
- * 
+ *
  * --/COPYRIGHT--*/
 %var q = "`";
 /*! @_nodoc
@@ -26,24 +26,24 @@
  *  then to the unit in which it resides), and vice versa. There may be
  *  unnamed padding within a structure object, but not at its beginning.
  *  @p
- *  
+ *
  *  As a result, it's possible to use the structures below together with
  *  `q`Program.fetchStruct()`q` to fetch scalar values; e.g., the following can
  *  be used to read a 32-bit value from address `q`addr`q`:
  *
  *  @p(code)
- *      var v; // value located at address specified by addr 
+ *      var v; // value located at address specified by addr
  *      v = Program.fetchStruct(ScalarStructs.S_Bits32$fetchDesc, addr, false)
  *  @p
  */
 module ScalarStructs {
-	
+
                 %for (var i = 0; i < $args.length; i++) {
                     %var T = $args[i];
     /*! @_nodoc */
     struct S_`T` {
-	`T` elem;
+        `T` elem;
     };
 
-                %}	
+                %}
 }
diff --git a/src/packages/xdc/rov/support/package.xs b/src/packages/xdc/rov/support/package.xs
new file mode 100644
index 0000000..695a83a
--- /dev/null
+++ b/src/packages/xdc/rov/support/package.xs
@@ -0,0 +1,27 @@
+/* --COPYRIGHT--,ESD
+ *  Copyright (c) 2020 Texas Instruments Incorporated
+ *  This program and the accompanying materials are made available under the
+ *  terms of the Eclipse Public License v1.0 and Eclipse Distribution License
+ *  v. 1.0 which accompanies this distribution. The Eclipse Public License is
+ *  available at http://www.eclipse.org/legal/epl-v10.html and the Eclipse
+ *  Distribution License is available at
+ *  http://www.eclipse.org/org/documents/edl-v10.php.
+ *
+ *  Contributors:
+ *      Texas Instruments - initial implementation
+ * --/COPYRIGHT--*/
+/*
+ *  ======== package.xs ========
+ */
+
+/*
+ *  ======== package.init ========
+ */
+function init()
+{
+    /* 'cfgnull' is the object model used in the release phase */
+    if (xdc.om.$name != 'rov' && xdc.om.$name != 'cfgnull') {
+        throw new Error("The package xdc.rov.support can only be used in ROV "
+            + " code.\n");
+    }
+}
