From c3483d09df2c32bec1fdab5a0432cb36da035723 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Tue, 15 Jan 2019 08:13:13 -0600 Subject: [PATCH] adding tracing protocol package and build scripts --- build.sh | 6 ++-- build_proto.sh | 29 ++++++++++++++++ inc/ext/CMakeLists.txt | 75 ++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 106 insertions(+), 4 deletions(-) create mode 100755 build_proto.sh create mode 100644 inc/ext/CMakeLists.txt diff --git a/build.sh b/build.sh index d8730b5982..300a24ec5b 100755 --- a/build.sh +++ b/build.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -x COMPONENT="roctracer" ROCM_PATH="/opt/rocm" @@ -30,8 +30,6 @@ cmake \ popd make $MAKE_OPTS -make $MAKE_OPTS mytest -make $MAKE_OPTS install -make $MAKE_OPTS package +make package exit 0 diff --git a/build_proto.sh b/build_proto.sh new file mode 100755 index 0000000000..b9f4f14602 --- /dev/null +++ b/build_proto.sh @@ -0,0 +1,29 @@ +#!/bin/bash -x +COMPONENT="roctracer" +ROCM_PATH="/opt/rocm" + +fatal() { + echo "$1" + exit 1 +} + +if [ -z "$ROCTRACER_ROOT" ]; then export ROCTRACER_ROOT=$PWD; fi +if [ -z "$BUILD_DIR" ] ; then export BUILD_DIR=$PWD; fi +if [ -z "$PACKAGE_ROOT" ] ; then export PACKAGE_ROOT=$ROCM_PATH; fi +if [ -z "$PACKAGE_PREFIX" ] ; then export PACKAGE_PREFIX="$ROCM_PATH/$COMPONENT"; fi + +MAKE_OPTS="-j 8 -C $BUILD_DIR" + +mkdir -p $BUILD_DIR +pushd $BUILD_DIR +cmake \ + -DCMAKE_MODULE_PATH=$ROCTRACER_ROOT/cmake_modules \ + -DCMAKE_INSTALL_PREFIX=$PACKAGE_ROOT \ + -DCPACK_PACKAGING_INSTALL_PREFIX=$PACKAGE_PREFIX \ + -DCPACK_GENERATOR="DEB;RPM" \ + $ROCTRACER_ROOT/inc/ext +popd + +make package + +exit 0 diff --git a/inc/ext/CMakeLists.txt b/inc/ext/CMakeLists.txt new file mode 100644 index 0000000000..d5384752e6 --- /dev/null +++ b/inc/ext/CMakeLists.txt @@ -0,0 +1,75 @@ +################################################################################ +## +## Copyright (c) 2016 Advanced Micro Devices, Inc. All rights reserved. +## +## MIT LICENSE: +## Permission is hereby granted, free of charge, to any person obtaining a copy of +## this software and associated documentation files (the "Software"), to deal in +## the Software without restriction, including without limitation the rights to +## use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +## of the Software, and to permit persons to whom the Software is furnished to do +## so, subject to the following conditions: +## +## The above copyright notice and this permission notice shall be included in all +## copies or substantial portions of the Software. +## +## THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +## IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +## FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +## AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +## LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +## OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +## SOFTWARE. +## +################################################################################ + +cmake_minimum_required ( VERSION 3.5.0 ) + +## Verbose output. +set ( CMAKE_VERBOSE_MAKEFILE TRUE CACHE BOOL "Verbose Output" FORCE ) + +## Set module name and project name. +set ( ROCTRACER_NAME "roctracer" ) +project ( ${ROCTRACER_NAME} ) + +set ( ROOT_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../" ) +## Adding default path cmake modules +list ( APPEND CMAKE_MODULE_PATH "${ROOT_DIR}/cmake_modules" ) +## Include common cmake modules +include ( utils ) +## Set build environment +include ( env ) + +## Setup the package version. +get_version ( "1.0.0" ) +message ( "-- LIB-VERSION: ${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}" ) + +set ( BUILD_VERSION_MAJOR ${VERSION_MAJOR} ) +set ( BUILD_VERSION_MINOR ${VERSION_MINOR} ) +set ( BUILD_VERSION_PATCH ${VERSION_PATCH} ) +set ( LIB_VERSION_STRING "${BUILD_VERSION_MAJOR}.${BUILD_VERSION_MINOR}.${BUILD_VERSION_PATCH}" ) +if ( DEFINED VERSION_BUILD AND NOT ${VERSION_BUILD} STREQUAL "" ) + message ( "VERSION BUILD DEFINED ${VERSION_BUILD}" ) + set ( BUILD_VERSION_PATCH "${BUILD_VERSION_PATCH}-${VERSION_BUILD}" ) +endif () +set ( BUILD_VERSION_STRING "${BUILD_VERSION_MAJOR}.${BUILD_VERSION_MINOR}.${BUILD_VERSION_PATCH}" ) + +## Install and packaging +set ( CMAKE_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX}/${ROCTRACER_NAME} ) +message ( "---------Install-Dir: ${CMAKE_INSTALL_PREFIX}" ) + +## Install information +install ( FILES ${ROOT_DIR}/inc/ext/prof_protocol.h DESTINATION include/ext ) + +## Packaging directives +set ( CPACK_GENERATOR "DEB" "RPM" "TGZ" ) +set ( CPACK_PACKAGE_NAME "${ROCTRACER_NAME}-proto" ) +set ( CPACK_PACKAGE_VENDOR "AMD" ) +set ( CPACK_PACKAGE_VERSION_MAJOR ${BUILD_VERSION_MAJOR} ) +set ( CPACK_PACKAGE_VERSION_MINOR ${BUILD_VERSION_MINOR} ) +set ( CPACK_PACKAGE_VERSION_PATCH ${BUILD_VERSION_PATCH} ) +set ( CPACK_PACKAGE_CONTACT "Advanced Micro Devices Inc." ) +set ( CPACK_PACKAGE_DESCRIPTION_SUMMARY "AMD ROCTRACER library" ) +set ( CPACK_RESOURCE_FILE_LICENSE "${ROOT_DIR}/LICENSE" ) + +include ( CPack )