aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorfulup <fulup@fulup-desktop.follijen.localdomain>2017-06-25 21:16:43 +0200
committerfulup <fulup@fulup-desktop.follijen.localdomain>2017-06-25 21:16:43 +0200
commitdbbef07d5d5e7c4d1c3eac2d6d1fd5f4f46268ce (patch)
tree2bc2f6a7fdc5b06a494d1919f74349812a515038
parent1249980baf09368727734ed6d647852fa8ffdfa0 (diff)
Moved to AGL standard cmake templates
-rw-r--r--.gitmodules3
-rw-r--r--CMakeLists.txt8
-rw-r--r--README.md8
-rw-r--r--Shared-Interface/audio-interface.c42
m---------conf.d/app-templates0
-rw-r--r--conf.d/config.cmake (renamed from etc/config.cmake)39
-rw-r--r--etc/export.map1
-rw-r--r--etc/macros.cmake321
-rw-r--r--etc/rpm/config.rpm.in43
-rw-r--r--etc/wgt/config.xml.in11
-rw-r--r--etc/wgt/icon.png.inbin13273 -> 0 bytes
-rw-r--r--nbproject/configurations.xml164
-rw-r--r--nbproject/project.xml2
13 files changed, 189 insertions, 453 deletions
diff --git a/.gitmodules b/.gitmodules
new file mode 100644
index 0000000..b545da1
--- /dev/null
+++ b/.gitmodules
@@ -0,0 +1,3 @@
+[submodule "conf.d/app-templates"]
+ path = conf.d/app-templates
+ url = https://gerrit.automotivelinux.org/gerrit/apps/app-templates
diff --git a/CMakeLists.txt b/CMakeLists.txt
index a384bd9..38949e4 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,7 +1,7 @@
###########################################################################
# Copyright 2015, 2016, 2017 IoT.bzh
#
-# author: Romain Forlot <romain.forlot@iot.bzh>
+# author: Fulup Ar Foll <rfulup@iot.bzh>
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -18,10 +18,10 @@
CMAKE_MINIMUM_REQUIRED(VERSION 3.3)
-include(${CMAKE_CURRENT_SOURCE_DIR}/etc/config.cmake)
-include(${CMAKE_CURRENT_SOURCE_DIR}/etc/macros.cmake)
+include(${CMAKE_CURRENT_SOURCE_DIR}/conf.d/config.cmake)
+include(${CMAKE_CURRENT_SOURCE_DIR}/conf.d/app-templates/cmake/common.cmake)
-project_subdirs_add("[A-Z]*")
+project_subdirs_add("[^_]*")
project_targets_populate()
project_package_build()
diff --git a/README.md b/README.md
index 7e210e8..a694859 100644
--- a/README.md
+++ b/README.md
@@ -6,6 +6,12 @@ http://equalarea.com/paul/alsa-audio.html
http://mpd.wikia.com/wiki/Alsa
http://alsa.opensrc.org/How_to_use_softvol_to_control_the_master_volume
+Cloning Audio-Binding from Git
+-------------------------------
+ git clone https://github.com/iotbzh/audio-bindings
+ cd audio-bindings
+ git submodule update --recursive --init
+
AFB_daemon dependency on Standard Linux Distributions
-------------------------------------------------------
# handle dependencies > (OpenSuse-42.2, Fedora-25, Ubuntu 16.04.2LTS)
@@ -43,7 +49,7 @@ AFB_daemon dependency on Standard Linux Distributions
# install AGL pached version of LibMicroHttpd
wget https://ftp.gnu.org/gnu/libmicrohttpd/libmicrohttpd-0.9.54.tar.gz
- tar -xzf libmicrohttpd-0.9.54.tgz
+ tar -xzf libmicrohttpd-0.9.54.tar.gz
cd libmicrohttpd-0.9.54
./configure --prefix=$INSTALL_PREFIX
make
diff --git a/Shared-Interface/audio-interface.c b/Shared-Interface/audio-interface.c
index c1c4054..a938c22 100644
--- a/Shared-Interface/audio-interface.c
+++ b/Shared-Interface/audio-interface.c
@@ -54,48 +54,6 @@ OnErrorExit:
}
-// This function should be part of Generic AGL Framework
-PUBLIC json_object* afb_service_call_sync(struct afb_service srvitf, struct afb_req request, char* api, char* verb, struct json_object* queryurl) {
- json_object* response = NULL;
- int status = 0;
- sem_t semid;
-
- // Nested procedure are allow in GNU and allow us to keep caller stack valid
-
- void callback(void *handle, int iserror, struct json_object *result) {
-
- // Process Basic Error
- if (!cbCheckResponse(request, iserror, result)) {
- status = -1;
- goto OnExitCB;
- }
-
- // Get response from object
- json_object_object_get_ex(result, "response", &response);
- if (!response) {
- afb_req_fail_f(request, "response-notfound", "No Controls return from alsa/getcontrol result=[%s]", json_object_get_string(result));
- goto OnExitCB;
- }
-
-OnExitCB:
- sem_post(&semid);
- }
-
- // Create an exclusive semaphore
- status = sem_init(&semid, 0, 0);
- if (status < 0) {
- afb_req_fail_f(request, "error:seminit", "Fail to allocate semaphore err=[%s]", strerror(status));
- goto OnExit;
- }
-
- // Call service and wait for call back to finish before moving any further
- afb_service_call(srvitf, api, verb, queryurl, callback, NULL);
- sem_wait(&semid);
-
-OnExit:
- return (response);
-}
-
PUBLIC void pingtest(struct afb_req request) {
json_object *query = afb_req_json(request);
afb_req_success(request, query, NULL);
diff --git a/conf.d/app-templates b/conf.d/app-templates
new file mode 160000
+Subproject ff516d186889808ff61358c6ea8f88662401aca
diff --git a/etc/config.cmake b/conf.d/config.cmake
index ff714b7..8ced9f6 100644
--- a/etc/config.cmake
+++ b/conf.d/config.cmake
@@ -18,21 +18,29 @@
# Project Info
# ------------------
-set(PROJECT_NAME audio-agent)
+set(PROJECT_NAME unicens-agent)
set(PROJECT_VERSION "0.1")
set(PROJECT_PRETTY_NAME "Audio Agent")
-set(PROJECT_DESCRIPTION "Expose ALSA Sound Low+High Level APIs through AGL Framework")
-set(PROJECT_URL "https://github.com/iotbzh/auto-bindings")
+set(PROJECT_DESCRIPTION "Expose Alsa through AGL AppFw")
+set(PROJECT_URL "https://github.com/iotbzh/audio-bindings")
set(PROJECT_ICON "icon.png")
set(PROJECT_AUTHOR "Fulup, Ar Foll")
set(PROJECT_AUTHOR_MAIL "fulup@iot.bzh")
-set(PROJECT_LICENCE "APL2.0")
+set(PROJECT_LICENCE "Apache-V2")
set(PROJECT_LANGUAGES,"C")
+# Where are stored default templates files from submodule or subtree app-templates in your project tree
+# relative to the root project directory
+set(PROJECT_APP_TEMPLATES_DIR "conf.d/app-templates")
+
# Compilation Mode (DEBUG, RELEASE)
# ----------------------------------
set(CMAKE_BUILD_TYPE "DEBUG")
+# Static constante definition
+# -----------------------------
+add_compile_options(-DMAX_SND_CARD=16)
+
# Compiler selection if needed. Overload the detected compiler.
# -----------------------------------------------
set (gcc_minimal_version 4.9)
@@ -43,25 +51,28 @@ set (gcc_minimal_version 4.9)
# -----------------------------
set (PKG_REQUIRED_LIST
alsa
- libsystemd
+ libsystemd>=222
+ libmicrohttpd>=0.9.54
afb-daemon
+ json-c
)
-# Static constante definition
-# -----------------------------
-add_compile_options(-DMAX_SND_CARD=16)
-
# LANG Specific compile flags set for all build types
-set(CMAKE_C_FLAGS "")
-set(CMAKE_CXX_FLAGS "")
+# set(CMAKE_C_FLAGS "")
+# set(CMAKE_CXX_FLAGS "")
+
+# Define CONTROL_CDEV_NAME should match MOST driver values
+# ---------------------------------------------------------
+ add_compile_options(-DCONTROL_CDEV_TX="/dev/inic-usb-ctx")
+ add_compile_options(-DCONTROL_CDEV_RX="/dev/inic-usb-crx")
# Print a helper message when every thing is finished
# ----------------------------------------------------
-set(CLOSING_MESSAGE "Test with: afb-daemon --ldpaths=. --port=1234 --roothttp=../htdocs --tracereq=common --token='' --verbose")
+set(CLOSING_MESSAGE "Test with: afb-daemon --ldpaths=. --port=1234 --workdir=.. --roothttp=./htdocs --tracereq=common --token='' --verbose")
# (BUG!!!) as PKG_CONFIG_PATH does not work [should be an env variable]
# ---------------------------------------------------------------------
-set(CMAKE_INSTALL_PREFIX $ENV{HOME}/opt)
+set(INSTALL_PREFIX $ENV{HOME}/opt)
set(CMAKE_PREFIX_PATH ${CMAKE_INSTALL_PREFIX}/lib64/pkgconfig ${CMAKE_INSTALL_PREFIX}/lib/pkgconfig)
set(LD_LIBRARY_PATH ${CMAKE_INSTALL_PREFIX}/lib64 ${CMAKE_INSTALL_PREFIX}/lib)
@@ -104,7 +115,7 @@ set(LD_LIBRARY_PATH ${CMAKE_INSTALL_PREFIX}/lib64 ${CMAKE_INSTALL_PREFIX}/lib)
# - application/vnd.agl.qml.hybrid
# - application/vnd.agl.html.hybrid
#
-# set(WIDGET_TYPE MimeType)
+set(WIDGET_TYPE application/vnd.agl.service)
# Optional force binding Linking flag
# ------------------------------------
diff --git a/etc/export.map b/etc/export.map
deleted file mode 100644
index ee2f413..0000000
--- a/etc/export.map
+++ /dev/null
@@ -1 +0,0 @@
-{ global: afbBindingV*; local: *; };
diff --git a/etc/macros.cmake b/etc/macros.cmake
deleted file mode 100644
index 0d7556a..0000000
--- a/etc/macros.cmake
+++ /dev/null
@@ -1,321 +0,0 @@
-###########################################################################
-# Copyright 2015, 2016, 2017 IoT.bzh
-#
-# author: Fulup Ar Foll <fulup@iot.bzh>
-# contrib: Romain Forlot <romain.forlot@iot.bzh>
-#
-# Licensed under the Apache License, Version 2.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.apache.org/licenses/LICENSE-2.0
-#
-# 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.
-###########################################################################
-
-
-#--------------------------------------------------------------------------
-# WARNING:
-# Do not change this cmake template
-# Customise your preferences in "./etc/config.cmake"
-#--------------------------------------------------------------------------
-
-
-# Generic useful macro
-# -----------------------
-macro(PROJECT_TARGET_ADD TARGET_NAME)
- set_property(GLOBAL APPEND PROPERTY PROJECT_TARGETS ${TARGET_NAME})
- set(TARGET_NAME ${TARGET_NAME})
-endmacro(PROJECT_TARGET_ADD)
-
-macro(PROJECT_PKGDEP_ADD PKG_NAME)
- set_property(GLOBAL APPEND PROPERTY PROJECT_PKG_DEPS ${PKG_NAME})
-endmacro(PROJECT_PKGDEP_ADD)
-
-# Check GCC minimal version version
-if (gcc_minimal_version)
- message ("-- Check gcc_minimal_version (found gcc version ${CMAKE_C_COMPILER_VERSION}) (found g++ version ${CMAKE_CXX_COMPILER_VERSION})")
-if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS ${gcc_minimal_version} OR CMAKE_C_COMPILER_VERSION VERSION_LESS ${gcc_minimal_version})
- message(FATAL_ERROR "**** FATAL: Require at least gcc-${gcc_minimal_version} please set CMAKE_C[XX]_COMPILER")
-endif()
-endif(gcc_minimal_version)
-
-macro(defstr name value)
- add_definitions(-D${name}=${value})
-endmacro(defstr)
-
-
-
-# Pre-packaging
-macro(project_targets_populate)
-
- # Default Widget default directory
- set(PACKAGE_BINDIR ${PROJECT_PKG_DIR}/bin)
- set(PACKAGE_ETCDIR ${PROJECT_PKG_DIR}/etc)
- set(PACKAGE_LIBDIR ${PROJECT_PKG_DIR}/lib)
- set(PACKAGE_HTTPDIR ${PROJECT_PKG_DIR}/htdocs)
- set(PACKAGE_DATADIR ${PROJECT_PKG_DIR}/data)
-
- add_custom_target(populate)
- get_property(PROJECT_TARGETS GLOBAL PROPERTY PROJECT_TARGETS)
- foreach(TARGET ${PROJECT_TARGETS})
- get_target_property(T ${TARGET} LABELS)
- if(T)
- # Declaration of a custom command that will populate widget tree with the target
- set(POPULE_PACKAGE_TARGET "project_populate_${TARGET}")
-
- get_target_property(P ${TARGET} PREFIX)
- get_target_property(BD ${TARGET} BINARY_DIR)
- get_target_property(OUT ${TARGET} OUTPUT_NAME)
-
- if(P MATCHES "NOTFOUND$")
- if (${T} STREQUAL "BINDING")
- set(P "lib")
- else()
- set(P "")
- endif()
- endif()
-
- if(${T} STREQUAL "BINDING")
- add_custom_command(OUTPUT ${PACKAGE_LIBDIR}/${P}${TARGET}.so
- DEPENDS ${TARGET}
- COMMAND mkdir -p ${PACKAGE_LIBDIR}
- COMMAND cp ${BD}/${P}${OUT}.so ${PACKAGE_LIBDIR}
- )
- add_custom_target(${POPULE_PACKAGE_TARGET} DEPENDS ${PACKAGE_LIBDIR}/${P}${TARGET}.so)
- add_dependencies(populate ${POPULE_PACKAGE_TARGET})
- elseif(${T} STREQUAL "EXECUTABLE")
- add_custom_command(OUTPUT ${PACKAGE_BINDIR}/${P}${TARGET}
- DEPENDS ${TARGET}
- COMMAND mkdir -p ${PACKAGE_BINDIR}
- COMMAND cp ${BD}/${P}${OUT} ${PACKAGE_BINDIR}
- )
- add_custom_target(${POPULE_PACKAGE_TARGET} DEPENDS ${PACKAGE_BINDIR}/${P}${TARGET})
- add_dependencies(populate ${POPULE_PACKAGE_TARGET})
- elseif(${T} STREQUAL "HTDOCS")
- add_custom_command(OUTPUT ${PACKAGE_HTTPDIR}
- DEPENDS ${TARGET}
- COMMAND cp -r ${BD}/${P}${OUT} ${PACKAGE_HTTPDIR}
- )
- add_custom_target(${POPULE_PACKAGE_TARGET} DEPENDS ${PACKAGE_HTTPDIR})
- add_dependencies(populate ${POPULE_PACKAGE_TARGET})
- elseif(${T} STREQUAL "DATA")
- add_custom_command(OUTPUT ${PACKAGE_DATADIR}
- DEPENDS ${TARGET}
- COMMAND cp -r ${BD}/${P}${OUT} ${PACKAGE_DATADIR}
- )
- add_custom_target(${POPULE_PACKAGE_TARGET} DEPENDS ${PACKAGE_HTTPDIR})
- add_dependencies(populate ${POPULE_PACKAGE_TARGET})
- endif(${T} STREQUAL "BINDING")
- elseif(${CMAKE_BUILD_TYPE} MATCHES "[Dd][Ee][Bb][Uu][Gg]")
- MESSAGE(".. Warning: ${TARGET} ignored when packaging.")
- endif()
- endforeach()
-endmacro(project_targets_populate)
-
-
-macro(wgt_package_build)
- if(NOT EXISTS ${WGT_TEMPLATE_DIR}/config.xml.in OR NOT EXISTS ${WGT_TEMPLATE_DIR}/${PROJECT_ICON}.in)
- MESSAGE(FATAL_ERROR "Missing mandatory files: you need config.xml.in and ${PROJECT_ICON}.in files in ${WGT_TEMPLATE_DIR} folder.")
- endif()
-
- # Build widget spec file from template only once (Fulup good idea or should depend on time ????)
- if(NOT EXISTS ${PROJECT_PKG_DIR}/config.xml.in OR NOT EXISTS ${PROJECT_PKG_DIR}/${PROJECT_ICON}.in)
- configure_file(${WGT_TEMPLATE_DIR}/config.xml.in ${PROJECT_PKG_DIR}/config.xml)
- file(COPY ${WGT_TEMPLATE_DIR}/${PROJECT_ICON}.in DESTINATION ${PROJECT_PKG_DIR}/${PROJECT_ICON})
- endif(NOT EXISTS ${PROJECT_PKG_DIR}/config.xml.in OR NOT EXISTS ${PROJECT_PKG_DIR}/${PROJECT_ICON}.in)
-
- # Fulup ??? copy any extra file in wgt/etc into populate package before building the widget
- file(GLOB PROJECT_CONF_FILES "${WGT_TEMPLATE_DIR}/etc/*")
- if(${PROJECT_CONF_FILES})
- file(COPY "${WGT_TEMPLATE_DIR}/etc/*" DESTINATION ${PROJECT_PKG_DIR}/etc/)
- endif(${PROJECT_CONF_FILES})
-
- add_custom_command(OUTPUT ${PROJECT_NAME}.wgt
- DEPENDS ${PROJECT_TARGETS}
- COMMAND wgtpkg-pack -f -o ${PROJECT_NAME}.wgt ${PROJECT_PKG_DIR}
- )
-
- add_custom_target(widget DEPENDS ${PROJECT_NAME}.wgt)
- add_dependencies(widget populate)
- set(ADDITIONAL_MAKE_CLEAN_FILES, "${PROJECT_NAME}.wgt")
-
- if(PACKAGE_MESSAGE)
- add_custom_command(TARGET widget
- POST_BUILD
- COMMAND ${CMAKE_COMMAND} -E cmake_echo_color --cyan "++ ${PACKAGE_MESSAGE}")
- endif()
-endmacro(wgt_package_build)
-
-macro(rpm_package_build)
- if(NOT EXISTS ${RPM_TEMPLATE_DIR}/config.rpm.in)
- MESSAGE(FATAL_ERROR "Missing mandatory files: you needconfig.rpm.in in ${RPM_TEMPLATE_DIR} folder.")
- endif()
-
- # extract PROJECT_PKG_DEPS and replace ; by , for RPM spec file
- get_property(PROJECT_PKG_DEPS GLOBAL PROPERTY PROJECT_PKG_DEPS)
- foreach (PKFCONF ${PROJECT_PKG_DEPS})
- set(RPM_PKG_DEPS "${RPM_PKG_DEPS}, pkgconfig(${PKFCONF})")
- endforeach()
-
- # build rpm spec file from template
- configure_file(${RPM_TEMPLATE_DIR}/config.rpm.in ${PROJECT_PKG_DIR}/config.rpm)
-
- add_custom_command(OUTPUT ${PROJECT_NAME}.rpm
- DEPENDS ${PROJECT_TARGETS}
- COMMAND rpmbuild -ba ${PROJECT_PKG_DIR}/config.rpm
- )
-
- add_custom_target(rpm DEPENDS ${PROJECT_NAME}.rpm)
- add_dependencies(rpm populate)
- set(ADDITIONAL_MAKE_CLEAN_FILES, "${PROJECT_NAME}.rpm")
-
- if(PACKAGE_MESSAGE)
- add_custom_command(TARGET rpm
- POST_BUILD
- COMMAND ${CMAKE_COMMAND} -E cmake_echo_color --cyan "++ ${PACKAGE_MESSAGE}")
- endif()
-endmacro(rpm_package_build)
-
-macro(project_package_build)
-
- if(EXISTS ${RPM_TEMPLATE_DIR})
- rpm_package_build()
- endif()
-
- if(EXISTS ${WGT_TEMPLATE_DIR})
- wgt_package_build()
- endif()
-
- if(EXISTS ${DEB_TEMPLATE_DIR})
- deb_package_build()
- endif()
-
-endmacro(project_package_build)
-
-
-macro(project_subdirs_add)
- if(${ARGV0})
- file(GLOB filelist "${ARGV0}")
- else()
- file(GLOB filelist "*")
- endif(${ARGV0})
-
- foreach(filename ${filelist})
- if(EXISTS "${filename}/CMakeLists.txt")
- add_subdirectory(${filename})
- endif(EXISTS "${filename}/CMakeLists.txt")
- endforeach()
-endmacro(project_subdirs_add)
-
-set(CMAKE_BUILD_TYPE Debug CACHE STRING "the type of build")
-set(CMAKE_POSITION_INDEPENDENT_CODE ON)
-set(CMP0048 1)
-
-# Include project configuration
-# ------------------------------
-project(${PROJECT_NAME} VERSION ${PROJECT_VERSION} LANGUAGES ${PROJECT_LANGUAGES})
-set(PROJECT_PKG_DIR "pkgs" CACHE PATH "Subpath to packages")
-set(PROJECT_LIB_DIR "libs" CACHE PATH "Subpath to libraries")
-set(PROJECT_RESOURCES "data" CACHE PATH "Subpath to data")
-
-INCLUDE(FindPkgConfig)
-INCLUDE(CheckIncludeFiles)
-INCLUDE(CheckLibraryExists)
-INCLUDE(GNUInstallDirs)
-
-# Default compilation options
-############################################################################
-link_libraries(-Wl,--as-needed -Wl,--gc-sections)
-add_compile_options(-Wall -Wextra -Wconversion)
-add_compile_options(-Wno-unused-parameter) # frankly not using a parameter does it care?
-add_compile_options(-Wno-sign-compare -Wno-sign-conversion)
-add_compile_options(-Werror=maybe-uninitialized)
-add_compile_options(-Werror=implicit-function-declaration)
-add_compile_options(-ffunction-sections -fdata-sections)
-add_compile_options(-fPIC)
-add_compile_options(-g)
-
-set(CMAKE_C_FLAGS_PROFILING "-g -O2 -pg -Wp,-U_FORTIFY_SOURCE" CACHE STRING "Flags for profiling")
-set(CMAKE_C_FLAGS_DEBUG "-g -O2 -ggdb -Wp,-U_FORTIFY_SOURCE" CACHE STRING "Flags for debugging")
-set(CMAKE_C_FLAGS_RELEASE "-O2" CACHE STRING "Flags for releasing")
-set(CMAKE_C_FLAGS_CCOV "-g -O2 --coverage" CACHE STRING "Flags for coverage test")
-
-set(CMAKE_CXX_FLAGS_PROFILING "-g -O0 -pg -Wp,-U_FORTIFY_SOURCE")
-set(CMAKE_CXX_FLAGS_DEBUG "-g -O0 -ggdb -Wp,-U_FORTIFY_SOURCE")
-set(CMAKE_CXX_FLAGS_RELEASE "-g -O2")
-set(CMAKE_CXX_FLAGS_CCOV "-g -O2 --coverage")
-
-set(CMAKE_INSTALL_PREFIX "${CMAKE_SOURCE_DIR}/Install" CACHE PATH "The path where to install")
-
-# (BUG!!!) as PKG_CONFIG_PATH does not work [should be en env variable]
-set(PKG_CONFIG_USE_CMAKE_PREFIX_PATH ON CACHE BOOLEAN "Flag for using prefix path")
-
-# Loop on required package and add options
-foreach (PKG_CONFIG ${PKG_REQUIRED_LIST})
- PKG_CHECK_MODULES(${PKG_CONFIG} REQUIRED ${PKG_CONFIG})
-
- INCLUDE_DIRECTORIES(${${PKG_CONFIG}_INCLUDE_DIRS})
- list (APPEND link_libraries ${${PKG_CONFIG}_LIBRARIES})
- add_compile_options (${${PKG_CONFIG}_CFLAGS})
-
- PROJECT_PKGDEP_ADD(${PKG_CONFIG})
-endforeach(PKG_CONFIG)
-
-# Optional LibEfence Malloc debug library
-IF(CMAKE_BUILD_TYPE MATCHES DEBUG)
-CHECK_LIBRARY_EXISTS(efence malloc "" HAVE_LIBEFENCE)
-IF(HAVE_LIBEFENCE)
- MESSAGE(STATUS "Linking with ElectricFence for debugging purposes...")
- SET(libefence_LIBRARIES "-lefence")
- list (APPEND link_libraries ${libefence_LIBRARIES})
-ENDIF(HAVE_LIBEFENCE)
-ENDIF(CMAKE_BUILD_TYPE MATCHES DEBUG)
-
-# set default include directories
-INCLUDE_DIRECTORIES(${EXTRA_INCLUDE_DIRS})
-
-# If no install dir try to guess some smart default
-if(BINDINGS_INSTALL_PREFIX)
- set(BINDINGS_INSTALL_DIR ${BINDINGS_INSTALL_PREFIX}/${PROJECT_NAME})
-else()
- set(BINDINGS_INSTALL_DIR ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME})
-endif()
-
-# Define a default widget directory
-set (PKG_TEMPLATE_PREFIX ${CMAKE_SOURCE_DIR}/etc CACHE PATH "Default Package Templates Directory")
-set(WGT_TEMPLATE_DIR ${PKG_TEMPLATE_PREFIX}/wgt)
-set(RPM_TEMPLATE_DIR ${PKG_TEMPLATE_PREFIX}/rpm)
-set(DEB_TEMPLATE_DIR ${PKG_TEMPLATE_PREFIX}/deb)
-
-
-# Default Linkflag
-if(NOT BINDINGS_LINK_FLAG)
- set(BINDINGS_LINK_FLAG "-Wl,--version-script=${CMAKE_SOURCE_DIR}/etc/export.map")
-endif()
-
-# Add a dummy target to enable global dependency order
-# -----------------------------------------------------
-if(EXTRA_DEPENDENCIES_ORDER)
- set(DEPENDENCIES_TARGET ${PROJECT_NAME}_extra_dependencies)
- add_custom_target(${DEPENDENCIES_TARGET} ALL
- DEPENDS ${EXTRA_DEPENDENCY_ORDER}
- )
-endif()
-
-# Print developer helper message when build is done
-# -------------------------------------------------------
-macro(project_closing_msg)
- get_property(PROJECT_TARGETS GLOBAL PROPERTY PROJECT_TARGETS)
- if(CLOSING_MESSAGE AND PROJECT_TARGETS)
- add_custom_target(${PROJECT_NAME}_build_done ALL
- COMMAND ${CMAKE_COMMAND} -E cmake_echo_color --cyan "++ ${CLOSING_MESSAGE}"
- )
- add_dependencies(${PROJECT_NAME}_build_done
- ${DEPENDENCIES_TARGET} ${PROJECT_TARGETS})
- endif()
-endmacro()
diff --git a/etc/rpm/config.rpm.in b/etc/rpm/config.rpm.in
deleted file mode 100644
index dce9c22..0000000
--- a/etc/rpm/config.rpm.in
+++ /dev/null
@@ -1,43 +0,0 @@
-###########################################################################
-# Copyright 2015, 2016, 2017 IoT.bzh
-#
-# author: Fulup Ar Foll <fulup@iot.bzh>
-#
-# Licensed under the Apache License, Version 2.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.apache.org/licenses/LICENSE-2.0
-#
-# 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.
-###########################################################################
-
-
-Name: @PROJECT_NAME@
-Version: @PROJECT_VERSION@
-Release: 1
-License: @PROJECT_LICENCE@
-Summary: @PROJECT_DESCRIPTION@
-Url: @PROJECT_URL@
-
-Provides: @PROJECT_NAME@
-Prefix: /opt/@PROJECT_NAME@
-BuildRequires: pkg-config @RPM_PKG_DEPS@
-
-BuildRoot:@CMAKE_CURRENT_BINARY_DIR@
-
-%description
-@PROJECT_DESCRIPTION@
-
-%prep
-
-%build
-(mkdir -p build; cd build; cmake ..; make)
-
-%install
-(cd build; make populate DESTDIR=%{buildroot})
-
diff --git a/etc/wgt/config.xml.in b/etc/wgt/config.xml.in
deleted file mode 100644
index fab0b9d..0000000
--- a/etc/wgt/config.xml.in
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<widget xmlns="http://www.w3.org/ns/widgets" id="@PROJECT_NAME@" version="@PROJECT_VERSION@">
- <name>@PROJECT_NAME@</name>
- <icon src="icon.png"/>
- <content src="lib/@PROJECT_NAME@" type="application/vnd.agl.service"/>
- <description>@PROJECT_DESCRIPTION@</description>
- <author>@PROJECT_AUTHOR@ &lt;@PROJECT_AUTHOR_MAIL@&gt;</author>
- <license>APL 2.0</license>
-</widget>
-
-
diff --git a/etc/wgt/icon.png.in b/etc/wgt/icon.png.in
deleted file mode 100644
index 3aeb6f0..0000000
--- a/etc/wgt/icon.png.in
+++ /dev/null
Binary files differ
diff --git a/nbproject/configurations.xml b/nbproject/configurations.xml
index 370176d..1ba69e3 100644
--- a/nbproject/configurations.xml
+++ b/nbproject/configurations.xml
@@ -2,6 +2,23 @@
<configurationDescriptor version="100">
<logicalFolder name="root" displayName="root" projectFiles="true" kind="ROOT">
<df root="." name="0">
+ <df name="ALSA-afb">
+ <in>Alsa-ApiHat.c</in>
+ <in>Alsa-SetGet.c</in>
+ <in>Alsa-Ucm.c</in>
+ </df>
+ <df name="HAL-afb">
+ <df name="HAL-interface">
+ <in>hal-interface.c</in>
+ </df>
+ <df name="HDA-intel">
+ <in>IntelHdaHAL.c</in>
+ </df>
+ </df>
+ <df name="HighLevel-afb">
+ <in>HighLevelApiConf.c</in>
+ <in>HighLevelBinding.c</in>
+ </df>
<df name="MostVolume">
<df name="external">
<in>ConnectionInfo.cpp</in>
@@ -20,6 +37,9 @@
<in>Mediator.cpp</in>
<in>libmostvolume.cpp</in>
</df>
+ <df name="Shared-Interface">
+ <in>audio-interface.c</in>
+ </df>
</df>
<logicalFolder name="ExternalFiles"
displayName="Important Files"
@@ -41,8 +61,11 @@
<dependencyChecking>false</dependencyChecking>
<rebuildPropChanged>false</rebuildPropChanged>
</toolsSet>
+ <flagsDictionary>
+ <element flagsID="0" commonFlags="-mtune=generic -march=x86-64 -g -g -fPIC"/>
+ </flagsDictionary>
<codeAssistance>
- <buildAnalyzer>false</buildAnalyzer>
+ <includeAdditional>true</includeAdditional>
</codeAssistance>
<makefileType>
<makeTool>
@@ -57,40 +80,151 @@
<preBuildFirst>true</preBuildFirst>
</preBuild>
</makefileType>
- <item path="MostVolume/DeviceContainer.cpp" ex="false" tool="1" flavor2="0">
+ <item path="ALSA-afb/Alsa-ApiHat.c" ex="false" tool="0" flavor2="3">
+ <cTool flags="0">
+ <incDir>
+ <pElem>ALSA-afb</pElem>
+ <pElem>../../../opt/include/afb</pElem>
+ <pElem>build/ALSA-afb</pElem>
+ </incDir>
+ </cTool>
</item>
- <item path="MostVolume/DeviceValue.cpp" ex="false" tool="1" flavor2="0">
+ <item path="ALSA-afb/Alsa-SetGet.c" ex="false" tool="0" flavor2="3">
+ <cTool flags="0">
+ <incDir>
+ <pElem>../../../opt/include/afb</pElem>
+ <pElem>ALSA-afb</pElem>
+ <pElem>/usr/include/json-c</pElem>
+ <pElem>build/ALSA-afb</pElem>
+ </incDir>
+ </cTool>
</item>
- <item path="MostVolume/Mediator.cpp" ex="false" tool="1" flavor2="0">
+ <item path="ALSA-afb/Alsa-Ucm.c" ex="false" tool="0" flavor2="3">
+ <cTool flags="0">
+ <incDir>
+ <pElem>../../../opt/include/afb</pElem>
+ <pElem>ALSA-afb</pElem>
+ <pElem>/usr/include/json-c</pElem>
+ <pElem>build/ALSA-afb</pElem>
+ </incDir>
+ </cTool>
+ </item>
+ <item path="HAL-afb/HAL-interface/hal-interface.c"
+ ex="false"
+ tool="0"
+ flavor2="3">
+ <cTool flags="0">
+ </cTool>
+ </item>
+ <item path="HAL-afb/HDA-intel/IntelHdaHAL.c" ex="false" tool="0" flavor2="3">
+ <cTool flags="0">
+ </cTool>
+ </item>
+ <item path="HighLevel-afb/HighLevelApiConf.c" ex="false" tool="0" flavor2="3">
+ <cTool flags="0">
+ <incDir>
+ <pElem>Shared-Interface</pElem>
+ <pElem>../../../opt/include</pElem>
+ <pElem>build/HighLevel-afb</pElem>
+ </incDir>
+ </cTool>
+ </item>
+ <item path="HighLevel-afb/HighLevelBinding.c" ex="false" tool="0" flavor2="3">
+ <cTool flags="0">
+ <incDir>
+ <pElem>/usr/include/json-c</pElem>
+ <pElem>Shared-Interface</pElem>
+ <pElem>../../../opt/include</pElem>
+ <pElem>build/HighLevel-afb</pElem>
+ </incDir>
+ </cTool>
+ </item>
+ <item path="MostVolume/DeviceContainer.cpp" ex="false" tool="1" flavor2="4">
+ </item>
+ <item path="MostVolume/DeviceValue.cpp" ex="false" tool="1" flavor2="4">
+ </item>
+ <item path="MostVolume/Mediator.cpp" ex="false" tool="1" flavor2="4">
</item>
<item path="MostVolume/external/ConnectionInfo.cpp"
ex="false"
tool="1"
- flavor2="0">
+ flavor2="4">
</item>
- <item path="MostVolume/external/Console.c" ex="false" tool="0" flavor2="0">
+ <item path="MostVolume/external/Console.c" ex="false" tool="0" flavor2="2">
</item>
- <item path="MostVolume/external/MacAddr.cpp" ex="false" tool="1" flavor2="0">
+ <item path="MostVolume/external/MacAddr.cpp" ex="false" tool="1" flavor2="4">
</item>
- <item path="MostVolume/external/MostIpc.cpp" ex="false" tool="1" flavor2="0">
+ <item path="MostVolume/external/MostIpc.cpp" ex="false" tool="1" flavor2="4">
</item>
- <item path="MostVolume/external/MostMsg.cpp" ex="false" tool="1" flavor2="0">
+ <item path="MostVolume/external/MostMsg.cpp" ex="false" tool="1" flavor2="4">
</item>
- <item path="MostVolume/external/MostMsgTx.cpp" ex="false" tool="1" flavor2="0">
+ <item path="MostVolume/external/MostMsgTx.cpp" ex="false" tool="1" flavor2="4">
</item>
- <item path="MostVolume/external/MsgAddr.cpp" ex="false" tool="1" flavor2="0">
+ <item path="MostVolume/external/MsgAddr.cpp" ex="false" tool="1" flavor2="4">
</item>
- <item path="MostVolume/external/MsgFilter.cpp" ex="false" tool="1" flavor2="0">
+ <item path="MostVolume/external/MsgFilter.cpp" ex="false" tool="1" flavor2="4">
</item>
<item path="MostVolume/external/Shadow_NetworkMaster.cpp"
ex="false"
tool="1"
- flavor2="0">
+ flavor2="4">
+ </item>
+ <item path="MostVolume/external/Thread.cpp" ex="false" tool="1" flavor2="4">
</item>
- <item path="MostVolume/external/Thread.cpp" ex="false" tool="1" flavor2="0">
+ <item path="MostVolume/libmostvolume.cpp" ex="false" tool="1" flavor2="4">
</item>
- <item path="MostVolume/libmostvolume.cpp" ex="false" tool="1" flavor2="0">
+ <item path="Shared-Interface/audio-interface.c" ex="false" tool="0" flavor2="3">
+ <cTool flags="0">
+ </cTool>
</item>
+ <folder path="0/HAL-afb">
+ <cTool>
+ <incDir>
+ <pElem>../../../opt/include/afb</pElem>
+ </incDir>
+ </cTool>
+ </folder>
+ <folder path="0/HAL-afb/HAL-interface">
+ <cTool>
+ <incDir>
+ <pElem>HAL-afb/HAL-interface</pElem>
+ <pElem>/usr/include/json-c</pElem>
+ <pElem>Shared-Interface</pElem>
+ <pElem>../../../opt/include</pElem>
+ <pElem>build/HAL-afb/HAL-interface</pElem>
+ </incDir>
+ </cTool>
+ </folder>
+ <folder path="0/HAL-afb/HDA-intel">
+ <cTool>
+ <incDir>
+ <pElem>HAL-afb/HDA-intel</pElem>
+ <pElem>Shared-Interface</pElem>
+ <pElem>HAL-afb/HAL-interface</pElem>
+ <pElem>../../../opt/include</pElem>
+ <pElem>build/HAL-afb/HDA-intel</pElem>
+ </incDir>
+ </cTool>
+ </folder>
+ <folder path="0/HighLevel-afb">
+ <cTool>
+ <incDir>
+ <pElem>../../../opt/include/afb</pElem>
+ <pElem>HighLevel-afb</pElem>
+ </incDir>
+ </cTool>
+ </folder>
+ <folder path="0/Shared-Interface">
+ <cTool>
+ <incDir>
+ <pElem>../../../opt/include/afb</pElem>
+ <pElem>Shared-Interface</pElem>
+ <pElem>/usr/include/json-c</pElem>
+ <pElem>../../../opt/include</pElem>
+ <pElem>build/Shared-Interface</pElem>
+ </incDir>
+ </cTool>
+ </folder>
</conf>
</confs>
</configurationDescriptor>
diff --git a/nbproject/project.xml b/nbproject/project.xml
index ac79711..144cd73 100644
--- a/nbproject/project.xml
+++ b/nbproject/project.xml
@@ -5,7 +5,7 @@
<data xmlns="http://www.netbeans.org/ns/make-project/1">
<name>Audio-Bindings</name>
<c-extensions>c</c-extensions>
- <cpp-extensions>cpp</cpp-extensions>
+ <cpp-extensions>cpp,cxx</cpp-extensions>
<header-extensions>h</header-extensions>
<sourceEncoding>UTF-8</sourceEncoding>
<make-dep-projects/>