summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDeepak Kodihalli <dkodihal@in.ibm.com>2016-11-30 00:46:49 -0600
committerDeepak Kodihalli <dkodihal@in.ibm.com>2016-12-08 12:40:08 -0600
commit2bba75d47657e35f9031e5bade0949a03399ce3f (patch)
tree9a731499c78719ee46ace4f0ca4732f5ea78cefb
parent6737c7daa564de0476f101a8280f7537c45c084d (diff)
downloadopenpower-vpd-parser-2bba75d47657e35f9031e5bade0949a03399ce3f.tar.gz
openpower-vpd-parser-2bba75d47657e35f9031e5bade0949a03399ce3f.zip
build: Add targets
Add files needed by Automake. An application called openpower-read-vpd is built - this can read vpd off of an eeprom file, for example, and can parse that VPD and write the parsed information to the inventory. Change-Id: Ic6909dbbbf919f3ccec25fa7b8a680b822553cbb Signed-off-by: Deepak Kodihalli <dkodihal@in.ibm.com>
-rw-r--r--Makefile.am30
-rwxr-xr-xbootstrap.sh18
-rw-r--r--configure.ac44
3 files changed, 92 insertions, 0 deletions
diff --git a/Makefile.am b/Makefile.am
new file mode 100644
index 0000000..35e22cc
--- /dev/null
+++ b/Makefile.am
@@ -0,0 +1,30 @@
+# Build these headers, don't install them
+noinst_HEADERS = \
+ defines.hpp \
+ store.hpp \
+ parser.hpp \
+ types.hpp \
+ write.hpp \
+ impl.hpp \
+ args.hpp
+
+# Be sure to build writefru.hpp before compiling
+BUILT_SOURCES = writefru.hpp
+CLEANFILES = writefru.hpp
+REQ_SCRIPT ?= ${abs_srcdir}/writefru.py
+REQ_SCRIPT_FILES ?= \
+ ${abs_srcdir}/writefru.yaml \
+ ${abs_srcdir}/writefru.mako.hpp
+EXTRA_DIST = \
+ $(REQ_SCRIPT) \
+ $(REQ_SCRIPT_FILES)
+writefru.hpp: ${REQ_SCRIPT} ${REQ_SCRIPT_FILES}
+ $(AM_V_GEN)$(PYTHON) ${REQ_SCRIPT}
+
+sbin_PROGRAMS = openpower-read-vpd
+openpower_read_vpd_SOURCES = \
+ app.cpp \
+ args.cpp \
+ impl.cpp \
+ parser.cpp \
+ write.cpp
diff --git a/bootstrap.sh b/bootstrap.sh
new file mode 100755
index 0000000..9941c73
--- /dev/null
+++ b/bootstrap.sh
@@ -0,0 +1,18 @@
+#!/bin/sh -xe
+
+AUTOCONF_FILES="Makefile.in aclocal.m4 ar-lib autom4te.cache compile \
+ config.guess config.h.in config.sub configure depcomp install-sh \
+ ltmain.sh missing *libtool test-driver"
+
+case $1 in
+ clean)
+ test -f Makefile && make maintainer-clean
+ for file in ${AUTOCONF_FILES}; do
+ find -name "$file" | xargs -r rm -rf
+ done
+ exit 0
+ ;;
+esac
+
+autoreconf -i
+echo 'Run "./configure ${CONFIGURE_FLAGS} && make"' \ No newline at end of file
diff --git a/configure.ac b/configure.ac
new file mode 100644
index 0000000..0cb15a4
--- /dev/null
+++ b/configure.ac
@@ -0,0 +1,44 @@
+AC_PREREQ([2.69])
+AC_INIT([openpower-vpd-parser], [1.0], [https://github.com/openbmc/openpower-vpd-parser/issues])
+
+AM_INIT_AUTOMAKE([subdir-objects -Wall -Werror foreign dist-xz])
+AM_SILENT_RULES([yes])
+
+# Checks for programs
+AC_PROG_CXX
+AM_PROG_AR
+AC_PROG_INSTALL
+AC_PROG_MAKE_SET
+AM_PATH_PYTHON([2.7],
+ [AC_SUBST([PYTHON], [echo "$PYTHON"])],
+ [AC_MSG_ERROR([Could not find python-2.7 installed...python-2.7 is required])])
+
+# Surpress the --with-libtool-sysroot error
+LT_INIT
+
+# Checks for typedefs, structures, and compiler characteristics.
+AX_CXX_COMPILE_STDCXX_14([noext])
+AX_APPEND_COMPILE_FLAGS([-Wall -Werror], [CXXFLAGS])
+
+# Test cases require SDK so only build if we're told to (and SDK is available)
+AC_ARG_ENABLE([oe-sdk],
+ AS_HELP_STRING([--enable-oe-sdk], [Link testcases absolutely against OE SDK so they can be ran within it.])
+)
+AC_ARG_VAR(OECORE_TARGET_SYSROOT,
+ [Path to the OE SDK SYSROOT])
+AS_IF([test "x$enable_oe_sdk" == "xyes"],
+ AS_IF([test "x$OECORE_TARGET_SYSROOT" == "x"],
+ AC_MSG_ERROR([OECORE_TARGET_SYSROOT must be set with --enable-oe-sdk])
+ )
+ AC_MSG_NOTICE([Enabling OE-SDK at $OECORE_TARGET_SYSROOT])
+ [
+ testcase_flags="-Wl,-rpath,\${OECORE_TARGET_SYSROOT}/lib"
+ testcase_flags="${testcase_flags} -Wl,-rpath,\${OECORE_TARGET_SYSROOT}/usr/lib"
+ testcase_flags="${testcase_flags} -Wl,-dynamic-linker,`find \${OECORE_TARGET_SYSROOT}/lib/ld-*.so | sort -r -n | head -n1`"
+ ]
+ AC_SUBST([OESDK_TESTCASE_FLAGS], [$testcase_flags])
+)
+
+AC_CONFIG_HEADERS([config.h])
+AC_CONFIG_FILES([Makefile])
+AC_OUTPUT
OpenPOWER on IntegriCloud