Browse Source

Added Build var DEBUG for release/debug builds. (-g vs NDEBUG)

Added Logging macro that compiles away to nothing when DEBUG=0
sync
heck 6 years ago
parent
commit
2a78dab74f
  1. 6
      Adapter.cc
  2. 7
      Adapter.hh
  3. 3
      Adapter.hxx
  4. 29
      Makefile.conf

6
Adapter.cc

@ -113,8 +113,11 @@ namespace pEp {
void shutdown() void shutdown()
{ {
if (_sync_thread) pEpLog("called");
if (_sync_thread) {
pEpLog("sync_is_running - injecting null event");
_inject_sync_event(nullptr, nullptr); _inject_sync_event(nullptr, nullptr);
}
} }
bool is_sync_running() bool is_sync_running()
@ -123,4 +126,3 @@ namespace pEp {
} }
} }
} }

7
Adapter.hh

@ -7,6 +7,13 @@
#include <string> #include <string>
#include <pEp/sync_api.h> #include <pEp/sync_api.h>
// TODO: put into not yet existing libpEpAdapter_utils.h, to be across whole libpEpAdapter
#ifdef NDEBUG
#define pEpLog(msg) do{}while(0)
#else
#include <iostream>
#define pEpLog(msg) do{std::cerr << __FILE__ << "::" << __FUNCTION__ << " - " << msg << '\n';} while(0)
#endif
namespace pEp { namespace pEp {

3
Adapter.hxx

@ -47,7 +47,9 @@ namespace pEp {
} }
} }
pEpLog("sync protocol loop started");
do_sync_protocol(session(), (void *)obj); do_sync_protocol(session(), (void *)obj);
pEpLog("sync protocol loop ended");
unregister_sync_callbacks(session()); unregister_sync_callbacks(session());
session(release); session(release);
@ -88,4 +90,3 @@ namespace pEp {
} }
} }
} }

29
Makefile.conf

@ -3,27 +3,33 @@
# This file may be used under the terms of the GNU General Public License version 3 # This file may be used under the terms of the GNU General Public License version 3
# see LICENSE.txt # see LICENSE.txt
######### Header #########
HERE:=$(dir $(lastword $(MAKEFILE_LIST))) HERE:=$(dir $(lastword $(MAKEFILE_LIST)))
######### General #########
BUILD_FOR:=$(shell uname)
PREFIX=$(HOME) PREFIX=$(HOME)
CXXFLAGS=-std=c++11
######### C and C++ ######### # Build target
CXXFLAGS=-std=c++11 BUILD_FOR:=$(shell uname)
######### C++ #########
ifeq ($(BUILD_FOR),Linux) ifeq ($(BUILD_FOR),Linux)
$(info Building for Linux)
CXX=g++ CXX=g++
CXXFLAGS+=-fdiagnostics-color=always -O0 $(ENGINE_INC) -fPIC
else ifeq ($(BUILD_FOR),Darwin) else ifeq ($(BUILD_FOR),Darwin)
$(info Building for Darwin)
CXX=clang CXX=clang
CXXFLAGS+=-fcolor-diagnostics -O0 $(ENGINE_INC)
endif endif
ifeq ($(BUILD_FOR),Linux) # Debug or Release build
CXXFLAGS+=-fdiagnostics-color=always -O0 -g $(ENGINE_INC) -fPIC DEBUG=1
else ifeq ($(BUILD_FOR),Darwin) ifeq ($(DEBUG),1)
CXXFLAGS+=-fcolor-diagnostics -O0 -g $(ENGINE_INC) $(info Debug build (set DEBUG=0 for release build))
CXXFLAGS+=-g
else
$(info Release Build (set DEBUG=1 for debug build))
CXXFLAGS+=-DNDEBUG=1
endif endif
######### Engine ######### ######### Engine #########
@ -33,7 +39,8 @@ ENGINE_INC_PATH=$(HOME)/include
######### Overrides ######### ######### Overrides #########
-include $(HERE)/local.conf -include $(HERE)/local.conf
# Add Prefixes to paths, if not already explicitly set in local.conf(s) # Add -L Prefixes to LIB/INC paths,
# if not already explicitly set in local.conf
ifndef ENGINE_LIB ifndef ENGINE_LIB
ENGINE_LIB=-L$(ENGINE_LIB_PATH) ENGINE_LIB=-L$(ENGINE_LIB_PATH)
endif endif

Loading…
Cancel
Save