diff --git a/packages/base/amd64/oom_shim/Makefile b/packages/base/amd64/oom-shim/Makefile
similarity index 100%
rename from packages/base/amd64/oom_shim/Makefile
rename to packages/base/amd64/oom-shim/Makefile
diff --git a/packages/base/amd64/oom-shim/PKG.yml b/packages/base/amd64/oom-shim/PKG.yml
new file mode 100644
index 00000000..7f4f460d
--- /dev/null
+++ b/packages/base/amd64/oom-shim/PKG.yml
@@ -0,0 +1,2 @@
+!include $ONL/packages/base/any/oom-shim/APKG.yml ARCH=amd64 TOOLCHAIN=x86_64-linux-gnu
+
diff --git a/packages/base/amd64/oom-shim/builds/Makefile b/packages/base/amd64/oom-shim/builds/Makefile
new file mode 100644
index 00000000..66500cec
--- /dev/null
+++ b/packages/base/amd64/oom-shim/builds/Makefile
@@ -0,0 +1,3 @@
+include $(ONL)/make/config.amd64.mk
+include $(ONL)/packages/base/any/oom-shim/builds/Makefile
+
diff --git a/packages/base/amd64/oom-shim/builds/oom_shim.mk b/packages/base/amd64/oom-shim/builds/oom_shim.mk
new file mode 100644
index 00000000..88c00283
--- /dev/null
+++ b/packages/base/amd64/oom-shim/builds/oom_shim.mk
@@ -0,0 +1,10 @@
+
+###############################################################################
+#
+# Inclusive Makefile for the oom_shim module.
+#
+# Autogenerated 2016-02-12 17:14:48.789289
+#
+###############################################################################
+oom_shim_BASEDIR := $(dir $(abspath $(lastword $(MAKEFILE_LIST))))
+
diff --git a/packages/base/amd64/oom_shim/PKG.yml b/packages/base/amd64/oom_shim/PKG.yml
deleted file mode 100644
index d8f9b23f..00000000
--- a/packages/base/amd64/oom_shim/PKG.yml
+++ /dev/null
@@ -1,2 +0,0 @@
-!include $ONL/packages/base/any/oom_shim/APKG.yml ARCH=amd64 TOOLCHAIN=x86_64-linux-gnu
-
diff --git a/packages/base/amd64/oom_shim/builds/Makefile b/packages/base/amd64/oom_shim/builds/Makefile
deleted file mode 100644
index a6c9d258..00000000
--- a/packages/base/amd64/oom_shim/builds/Makefile
+++ /dev/null
@@ -1,3 +0,0 @@
-include $(ONL)/make/config.amd64.mk
-include $(ONL)/packages/base/any/oom_shim/builds/Makefile
-
diff --git a/packages/base/any/oom_shim/APKG.yml b/packages/base/any/oom-shim/APKG.yml
similarity index 85%
rename from packages/base/any/oom_shim/APKG.yml
rename to packages/base/any/oom-shim/APKG.yml
index e8490b9b..6a54841f 100644
--- a/packages/base/any/oom_shim/APKG.yml
+++ b/packages/base/any/oom-shim/APKG.yml
@@ -17,13 +17,13 @@ common:
packages:
- - name: oom_shim
+ - name: oom-shim
version: 1.0.0
summary: Open Optical Module Wrapper library around ONLP
provides: [ oom_shim ]
files:
- builds/$BUILD_DIR/${TOOLCHAIN}/liboom_shim.so : $libdir/
+ builds/$BUILD_DIR/${TOOLCHAIN}/bin/liboom-south.so : $libdir/
changelog: Initial code for 2016 OCP Demo
diff --git a/packages/base/any/oom-shim/builds/Makefile b/packages/base/any/oom-shim/builds/Makefile
new file mode 100644
index 00000000..484d66aa
--- /dev/null
+++ b/packages/base/any/oom-shim/builds/Makefile
@@ -0,0 +1,53 @@
+# -*- Makefile -*-
+############################################################
+#
+#
+# Copyright 2014 BigSwitch Networks, Inc.
+#
+# Licensed under the Eclipse Public License, Version 1.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
+# either express or implied. See the License for the specific
+# language governing permissions and limitations under the
+# License.
+#
+#
+############################################################
+#
+#
+############################################################
+include $(ONL)/make/any.mk
+
+MODULE := oom_shim
+include $(BUILDER)/standardinit.mk
+
+DEPENDMODULES := AIM onlplib onlp oom_shim cjson cjson_util sff IOF timer_wheel OS
+
+
+include $(BUILDER)/dependmodules.mk
+
+SHAREDLIB := liboom-south.so
+$(SHAREDLIB)_TARGETS := $(ALL_TARGETS)
+include $(BUILDER)/so.mk
+
+.DEFAULT_GOAL := sharedlibs
+
+GLOBAL_CFLAGS += -DAIM_CONFIG_INCLUDE_CTOR_DTOR=1
+GLOBAL_CFLAGS += -DAIM_CONFIG_INCLUDE_MODULES_INIT=1
+GLOBAL_CFLAGS += -DONLP_CONFIG_API_LOCK_GLOBAL_SHARED=1
+GLOBAL_CFLAGS += -DONLP_CONFIG_INCLUDE_SHLOCK_GLOBAL_INIT=1
+
+GLOBAL_CFLAGS += -fPIC
+GLOBAL_LINK_LIBS += -lpthread $(LIBONLP_PLATFORM) $(LIBONLP_PLATFORM_DEFAULTS)
+
+include $(BUILDER)/targets.mk
+
+.PHONY: deb
+deb:
+ $(MAKE) -C deb
diff --git a/packages/base/any/oom-shim/src/Makefile b/packages/base/any/oom-shim/src/Makefile
new file mode 100644
index 00000000..ee296946
--- /dev/null
+++ b/packages/base/any/oom-shim/src/Makefile
@@ -0,0 +1,4 @@
+include $(ONL)/make/config.mk
+MODULE := oom_shim
+AUTOMODULE := oom_shim
+include $(BUILDER)/definemodule.mk
diff --git a/packages/base/any/oom-shim/src/module/auto/make.mk b/packages/base/any/oom-shim/src/module/auto/make.mk
new file mode 100644
index 00000000..9dac4629
--- /dev/null
+++ b/packages/base/any/oom-shim/src/module/auto/make.mk
@@ -0,0 +1,28 @@
+############################################################
+#
+#
+# Copyright 2013, 2014 BigSwitch Networks, Inc.
+#
+# Licensed under the Eclipse Public License, Version 1.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
+# either express or implied. See the License for the specific
+# language governing permissions and limitations under the
+# License.
+#
+#
+############################################################
+#
+# faultd Autogeneration
+#
+############################################################
+oom_shim_AUTO_DEFS := module/auto/oom_shim.yml
+oom_shim_AUTO_DIRS := module/inc/oom_shim module/src
+include $(BUILDER)/auto.mk
+
diff --git a/packages/base/any/oom-shim/src/module/auto/oom_shim.yml b/packages/base/any/oom-shim/src/module/auto/oom_shim.yml
new file mode 100644
index 00000000..32557d9e
--- /dev/null
+++ b/packages/base/any/oom-shim/src/module/auto/oom_shim.yml
@@ -0,0 +1,86 @@
+############################################################
+#
+#
+# Copyright 2013, 2014 BigSwitch Networks, Inc.
+#
+# Licensed under the Eclipse Public License, Version 1.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
+# either express or implied. See the License for the specific
+# language governing permissions and limitations under the
+# License.
+#
+#
+############################################################
+#
+# faultd Autogeneration Definitions.
+#
+############################################################
+
+cdefs: &cdefs
+- OOM_SHIM_CONFIG_INCLUDE_LOGGING:
+ doc: "Include or exclude logging."
+ default: 1
+- OOM_SHIM_CONFIG_LOG_OPTIONS_DEFAULT:
+ doc: "Default enabled log options."
+ default: AIM_LOG_OPTIONS_DEFAULT
+- OOM_SHIM_CONFIG_LOG_BITS_DEFAULT:
+ doc: "Default enabled log bits."
+ default: AIM_LOG_BITS_DEFAULT
+- OOM_SHIM_CONFIG_LOG_CUSTOM_BITS_DEFAULT:
+ doc: "Default enabled custom log bits."
+ default: 0
+- OOM_SHIM_CONFIG_PORTING_STDLIB:
+ doc: "Default all porting macros to use the C standard libraries."
+ default: 1
+- OOM_SHIM_CONFIG_PORTING_INCLUDE_STDLIB_HEADERS:
+ doc: "Include standard library headers for stdlib porting macros."
+ default: OOM_SHIM_CONFIG_PORTING_STDLIB
+- OOM_SHIM_CONFIG_INCLUDE_UCLI:
+ doc: "Include generic uCli support."
+ default: 0
+- OOM_SHIM_CONFIG_PIPE_NAME_DEFAULT:
+ doc: "Default named pipe."
+ default: "\"/var/run/faultd.pipe\""
+- OOM_SHIM_CONFIG_BINARY_SIZE:
+ doc: "Maximum binary name size."
+ default: 255
+- OOM_SHIM_CONFIG_BACKTRACE_SIZE_MAX:
+ doc: "Maximum backtrace size."
+ default: 32
+- OOM_SHIM_CONFIG_SERVICE_PIPES_MAX:
+ doc: "Maximum number of simulatanous service pipes."
+ default: 8
+- OOM_SHIM_CONFIG_BACKTRACE_SYMBOLS_SIZE:
+ doc: "Maximum backtrace symbols size"
+ default: 4096
+- OOM_SHIM_CONFIG_INCLUDE_MAIN:
+ doc: "Include faultd_main() for standard faultd daemon build."
+ default: 0
+- OOM_SHIM_CONFIG_INCLUDE_AIM_MAIN:
+ doc: "Include aim_main() as faultd_main()."
+ default: OOM_SHIM_CONFIG_INCLUDE_MAIN
+- OOM_SHIM_CONFIG_MAIN_PIPENAME:
+ doc: "Default pipename used by faultd_main() if included."
+ default: "\"/var/run/faultd.fifo\""
+
+
+definitions:
+ cdefs:
+ OOM_SHIM_CONFIG_HEADER:
+ defs: *cdefs
+ basename: faultd_config
+
+ portingmacro:
+ OOM_SHIM:
+ macros:
+ - memset
+ - memcpy
+ - strncpy
+ - strlen
diff --git a/packages/base/any/oom-shim/src/module/inc/oom-shim/oom-shim.h b/packages/base/any/oom-shim/src/module/inc/oom-shim/oom-shim.h
new file mode 100644
index 00000000..e69de29b
diff --git a/packages/base/any/oom-shim/src/module/inc/oom_shim/oom-shim.h b/packages/base/any/oom-shim/src/module/inc/oom_shim/oom-shim.h
new file mode 100644
index 00000000..e69de29b
diff --git a/packages/base/any/oom-shim/src/module/make.mk b/packages/base/any/oom-shim/src/module/make.mk
new file mode 100644
index 00000000..b6ec73a3
--- /dev/null
+++ b/packages/base/any/oom-shim/src/module/make.mk
@@ -0,0 +1,30 @@
+############################################################
+#
+#
+# Copyright 2014, 2015 Big Switch Networks, Inc.
+#
+# Licensed under the Eclipse Public License, Version 1.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
+# either express or implied. See the License for the specific
+# language governing permissions and limitations under the
+# License.
+#
+#
+############################################################
+#
+#
+#
+############################################################
+
+THIS_DIR := $(dir $(lastword $(MAKEFILE_LIST)))
+oom_shim_INCLUDES := -I $(THIS_DIR)inc
+oom_shim_INTERNAL_INCLUDES := -I $(THIS_DIR)src
+oom_shim_DEPENDMODULE_ENTRIES := init:oom_shim ucli:oom_shim
+
diff --git a/packages/base/any/oom_shim/src/oom_shim.c b/packages/base/any/oom-shim/src/module/src/oom_shim.c
similarity index 100%
rename from packages/base/any/oom_shim/src/oom_shim.c
rename to packages/base/any/oom-shim/src/module/src/oom_shim.c
diff --git a/packages/base/any/oom-shim/src/oom_shim.mk b/packages/base/any/oom-shim/src/oom_shim.mk
new file mode 100644
index 00000000..dde86cf9
--- /dev/null
+++ b/packages/base/any/oom-shim/src/oom_shim.mk
@@ -0,0 +1,12 @@
+
+###############################################################################
+#
+# Inclusive Makefile for the oom-shim module.
+#
+# Autogenerated 2016-02-12 16:50:50.721882
+#
+###############################################################################
+oom-shim_BASEDIR := $(dir $(abspath $(lastword $(MAKEFILE_LIST))))
+include $(oom-shim_BASEDIR)/module/make.mk
+include $(oom-shim_BASEDIR)/utest/_make.mk
+
diff --git a/packages/base/any/oom-shim/src/utest/_make.mk b/packages/base/any/oom-shim/src/utest/_make.mk
new file mode 100644
index 00000000..43139d4c
--- /dev/null
+++ b/packages/base/any/oom-shim/src/utest/_make.mk
@@ -0,0 +1,28 @@
+############################################################
+#
+#
+# Copyright 2014, 2015 Big Switch Networks, Inc.
+#
+# Licensed under the Eclipse Public License, Version 1.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
+# either express or implied. See the License for the specific
+# language governing permissions and limitations under the
+# License.
+#
+#
+############################################################
+#
+#
+#
+############################################################
+
+UMODULE := oom_shim
+UMODULE_SUBDIR := $(dir $(lastword $(MAKEFILE_LIST)))
+include $(BUILDER)/utest.mk
diff --git a/packages/base/any/oom-shim/src/utest/main.c b/packages/base/any/oom-shim/src/utest/main.c
new file mode 100644
index 00000000..e7e9e030
--- /dev/null
+++ b/packages/base/any/oom-shim/src/utest/main.c
@@ -0,0 +1,131 @@
+/************************************************************
+ *
+ *
+ * Copyright 2014, 2015 Big Switch Networks, Inc.
+ *
+ * Licensed under the Eclipse Public License, Version 1.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
+ * either express or implied. See the License for the specific
+ * language governing permissions and limitations under the
+ * License.
+ *
+ *
+ ************************************************************
+ *
+ *
+ *
+ ***********************************************************/
+#include
+#include
+
+#include
+#include
+#include
+#include
+
+#include
+#include
+#include
+
+/**
+ * Base functionality unit tests.
+ */
+#define __TRY(_prefix, _expr, _suffix) \
+ do { \
+ int _rv; \
+ fprintf(stderr, "%s%s...%s", _prefix, #_expr, _suffix); \
+ fflush(stderr); \
+ _rv = _expr ; \
+ fprintf(stderr, "%s%s...%d\n", _prefix, #_expr, _rv); \
+ fflush(stderr); \
+ if(_rv < 0) { \
+ AIM_DIE("%s%s: failed: %d", #_expr, _rv); \
+ } \
+ } while(0)
+
+#define __TRYNR(_prefix, _expr, _suffix) \
+ do { \
+ fprintf(stderr, "%s%s...%s", _prefix, #_expr, _suffix); \
+ fflush(stderr); \
+ _expr ; \
+ fprintf(stderr, "%s%s...Done\n", _prefix, #_expr); \
+ fflush(stderr); \
+ } while(0)
+
+#define TRY(_expr) __TRY(" ", _expr, "\r")
+#define TRYNR(_expr) ___TRYNR(" ", _expr, "\r")
+#define TEST(_expr) __TRYNR("", _expr, "\n");
+
+/**
+ * Test Shared Locks
+ */
+void
+shlock_test(void)
+{
+ onlp_shlock_t* lock = NULL;
+
+ TRY(onlp_shlock_create(0xEEEF, &lock, "utest-lock:%d", 1));
+ TRY(onlp_shlock_take(lock));
+ TRY(onlp_shlock_give(lock));
+ TRY(onlp_shlock_take(lock));
+ TRY(onlp_shlock_give(lock));
+ TRY(onlp_shlock_global_take());
+ TRY(onlp_shlock_global_give());
+ TRY(onlp_shlock_global_take());
+ TRY(onlp_shlock_global_give());
+ if(strcmp("utest-lock:1", onlp_shlock_name(lock))) {
+ AIM_DIE("lock name does not match (%s)", onlp_shlock_name(lock));
+ }
+}
+
+/**
+ * Test ONIE parsing
+ */
+void
+onie_test(void)
+{
+ /* TODO */
+}
+
+int
+iter__(onlp_oid_t oid, void* cookie)
+{
+ onlp_oid_hdr_t hdr;
+ onlp_oid_hdr_get(oid, &hdr);
+ printf("OID: 0x%x, D='%s'\n", oid, hdr.description);
+ return 0;
+}
+
+#include
+#include
+#include
+#include
+
+int
+aim_main(int argc, char* argv[])
+{
+ // TEST(shlock_test());
+
+ /* Example Platform Dump */
+ onlp_init();
+ onlp_platform_dump(&aim_pvs_stdout, ONLP_OID_DUMP_F_RECURSE);
+ onlp_oid_iterate(0, 0, iter__, NULL);
+ onlp_platform_show(&aim_pvs_stdout, ONLP_OID_SHOW_F_RECURSE|ONLP_OID_SHOW_F_EXTENDED);
+
+ if(argv[1] && !strcmp("manage", argv[1])) {
+ onlp_sys_platform_manage_start();
+ printf("Sleeping...\n");
+ sleep(10);
+ printf("Stopping...\n");
+ onlp_sys_platform_manage_stop();
+ printf("Stopped.\n");
+ }
+ return 0;
+}
diff --git a/packages/base/any/oom_shim/builds/Makefile b/packages/base/any/oom_shim/builds/Makefile
deleted file mode 100644
index 8f2d99a4..00000000
--- a/packages/base/any/oom_shim/builds/Makefile
+++ /dev/null
@@ -1,27 +0,0 @@
-include $(ONL)/make/any.mk
-
-ifndef TOOLCHAIN
-$(error Must define $$TOOLCHAIN to use this Makefile)
-endif
-
-ifndef RELEASE
-$(warn Assuming RELEASE is wheezy -- FIXME)
-RELEASE=wheezy
-endif
-
-PACKAGE=oom_shim
-
-OUTDIR=$(ONL)/packages/base/$(ARCH)/$(PACKAGE)/builds/BUILD/$(RELEASE)/$(TOOLCHAIN)
-
-VPATH=$(ONL)/packages/base/any/$(PACKAGE)/src
-
-$(OUTDIR)/liboom_shim.so: oom_shim.c
- @mkdir -p $(OUTDIR) || true
- @$(CC) -o $(OUTDIR)/liboom_shim.so -shared -fPIC $+
-
-.PHONY: deb
-deb:
- $(MAKE) -C deb
-
-clean:
- rm -rf $(OUTDIR)