diff options
| -rw-r--r-- | .gitignore | 10 | ||||
| -rw-r--r-- | Makefile | 21 | ||||
| -rw-r--r-- | debug.hpp | 39 | ||||
| -rw-r--r-- | main_simple.cc | 67 | 
4 files changed, 134 insertions, 3 deletions
diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..3be04e2 --- /dev/null +++ b/.gitignore @@ -0,0 +1,10 @@ +debug-complete +debug-complete-cpp +debug-filter +debug-minimal +debug-mutex +debug-obj +debug-simple +debug-syslog +debug.o +main_simple.o @@ -1,29 +1,44 @@  include Makefile.files  CFLAGS=-Werror -Wall -D_FORTIFY_SOURCE=2 -g -O2 +CXXFLAGS=$(CFLAGS) -all: complete complete-cpp simple syslog filter mutex minimal +all: complete obj simple syslog filter mutex minimal  complete:  	gcc ${CFLAGS} ${DEBUG_SOURCES} main_complete.c -o debug-complete -DWITH_DBG_SYSLOG -DWITH_DBG_FILTER -DWITH_DBG_MUTEX +	g++ ${CXXFLAGS} ${DEBUG_SOURCES} main_complete.c -o debug-complete -DWITH_DBG_SYSLOG -DWITH_DBG_FILTER -DWITH_DBG_MUTEX -complete-cpp: -	g++ ${CFLAGS} ${DEBUG_SOURCES} main_complete.c -o debug-complete-cpp -DWITH_DBG_SYSLOG -DWITH_DBG_FILTER -DWITH_DBG_MUTEX +obj: +#	Compile debug as c prog and link with c++ program (use debug.hpp) +	g++ ${CXXFLAGS} main_simple.cc -c +	gcc ${CFLAGS} debug.c -c +	g++ main_simple.o debug.o -o debug-obj + +#	Compile debug as c++ prog and link with c++ program +	g++ ${CXXFLAGS} main_simple.c -c +	g++ ${CXXFLAGS} debug.c -c +	g++ main_simple.o debug.o -o debug-obj  simple:  	gcc ${CFLAGS} debug.c main_simple.c -o debug-simple +	g++ ${CXXFLAGS} debug.c main_simple.c -o debug-simple  minimal:  	gcc ${CFLAGS} debug.c main_minimal.c -o debug-minimal +	g++ ${CXXFLAGS} debug.c main_minimal.c -o debug-minimal  syslog:  	gcc ${CFLAGS} debug.c debug_syslog.c main_syslog.c -o debug-syslog -DWITH_DBG_SYSLOG +	g++ ${CXXFLAGS} debug.c debug_syslog.c main_syslog.c -o debug-syslog -DWITH_DBG_SYSLOG  filter:  	gcc ${CFLAGS} debug.c debug_filter.c main_filter.c -o debug-filter -DWITH_DBG_FILTER +	g++ ${CXXFLAGS} debug.c debug_filter.c main_filter.c -o debug-filter -DWITH_DBG_FILTER  mutex:  	gcc ${CFLAGS} debug.c main_mutex.c -o debug-mutex -DWITH_DBG_MUTEX +	g++ ${CXXFLAGS} debug.c main_mutex.c -o debug-mutex -DWITH_DBG_MUTEX  clean:  	rm -f debug_{complete,complete-cpp,simple,syslog,filter,mutex,minimal}
\ No newline at end of file diff --git a/debug.hpp b/debug.hpp new file mode 100644 index 0000000..fb82878 --- /dev/null +++ b/debug.hpp @@ -0,0 +1,39 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* vim: set et sw=2 ts=2: */ +/*************************************************************************** + *            debug.hpp + * + *  Thu Nov  1 13:38:47 CET 2012 + *  Copyright 2012 Bent Bisballe Nyeng + *  deva@aasimon.org + ****************************************************************************/ + +/* + *  This file is part of Debug Module. + * + *  Debug Module is free software; you can redistribute it and/or modify + *  it under the terms of the GNU General Public License as published by + *  the Free Software Foundation; either version 2 of the License, or + *  (at your option) any later version. + * + *  Debug Module is distributed in the hope that it will be useful, + *  but WITHOUT ANY WARRANTY; without even the implied warranty of + *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the + *  GNU General Public License for more details. + * + *  You should have received a copy of the GNU General Public License + *  along with Debug Module; if not, write to the Free Software + *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA. + */ +#ifndef __DEBUG_MODULE_DEBUG_HPP__ +#define __DEBUG_MODULE_DEBUG_HPP__ + +#ifdef __cplusplus +extern "C" { +#endif +#include "debug.h" +#ifdef __cplusplus +} +#endif + +#endif/*__DEBUG_MODULE_DEBUG_HPP__*/ diff --git a/main_simple.cc b/main_simple.cc new file mode 100644 index 0000000..0df78d7 --- /dev/null +++ b/main_simple.cc @@ -0,0 +1,67 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* vim: set et sw=2 ts=2: */ +/*************************************************************************** + *            main.cc + * + *  Fri Dec  7 09:35:45 CET 2012 + *  Copyright 2012 Bent Bisballe Nyeng + *  deva@aasimon.org + ****************************************************************************/ + +/* + *  This file is part of Debug Module. + * + *  Debug Module is free software; you can redistribute it and/or modify + *  it under the terms of the GNU General Public License as published by + *  the Free Software Foundation; either version 2 of the License, or + *  (at your option) any later version. + * + *  Debug Module is distributed in the hope that it will be useful, + *  but WITHOUT ANY WARRANTY; without even the implied warranty of + *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the + *  GNU General Public License for more details. + * + *  You should have received a copy of the GNU General Public License + *  along with Debug Module; if not, write to the Free Software + *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA. + */ +#include "debug.hpp" + +#include <sys/types.h> +#include <sys/stat.h> +#include <fcntl.h> + +#include <stdio.h> + +int main(int argc, char *argv[]) +{ +  int fd = open("/tmp/my.log", O_CREAT | O_RDWR, 0777); +  if(fd == -1) { +    return 1; +  } + +  dbg_status_t status = dbg_init(DBG_FLAG_OUTPUT_TO_FILE | +                                 DBG_FLAG_OUTPUT_TO_FD | +                                 DBG_FLAG_OUTPUT_TO_STDOUT | +                                 DBG_FLAG_OUTPUT_TO_STDERR | +                                 0, +                                 DBG_OPTION_FD, fd, +                                 DBG_OPTION_FILENAME, "/tmp/my2.log", +                                 DBG_OPTION_STDOUT_NO_DATE, 0, +                                 DBG_OPTION_END); + +  if(status != DBG_STATUS_OK) { +    printf("Error: %d\n", status); +    return 1; +  } + +  INFO(example, "We are up and running"); + +  DEBUG(example, "Or are we %d?", 42); + +  DEBUG(foo, "Or are we %d?", 42); +   +  dbg_close(); + +  return 0; +}  | 
