diff options
| author | Jonas Suhr Christensen <jsc@umbraculum.org> | 2014-02-19 10:46:22 +0100 | 
|---|---|---|
| committer | Jonas Suhr Christensen <jsc@umbraculum.org> | 2014-02-19 10:46:22 +0100 | 
| commit | f70603090aeebc0d9b2e87977f1552e84f16c8c9 (patch) | |
| tree | 721839c7526a948a789b2cae6a02f99596bf8d11 | |
| parent | d6482742443ec24097b83817bbf3bf5f6fb0cc8a (diff) | |
| parent | 794df88388d055e8dd9ecac89abca735796b4de4 (diff) | |
Merge branch 'master' of https://git.oftal.dk/hugin
| -rw-r--r-- | Makefile | 79 | ||||
| -rw-r--r-- | hugin.c | 34 | ||||
| -rw-r--r-- | main_complete.c | 4 | 
3 files changed, 71 insertions, 46 deletions
@@ -3,58 +3,89 @@ include Makefile.files  CFLAGS=-Werror -Wall -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -g -O2  CXXFLAGS=$(CFLAGS) -all: complete obj simple syslog filter mutex minimal disabled +all: complete obj simple syslog filter mutex minimal simple-disabled \ +	complete-disabled  complete: -	gcc ${CFLAGS} ${HUGIN_SOURCES} main_complete.c -o hugin-complete -DWITH_HUG_SYSLOG -DWITH_HUG_FILTER -DWITH_HUG_MUTEX -	g++ ${CXXFLAGS} ${HUGIN_SOURCES} main_complete.c -o hugin-complete -DWITH_HUG_SYSLOG -DWITH_HUG_FILTER -DWITH_HUG_MUTEX +	gcc ${CFLAGS} ${HUGIN_SOURCES} main_complete.c -o hugin-$@ \ +	 -DWITH_HUG_SYSLOG -DWITH_HUG_FILTER -DWITH_HUG_MUTEX +	(./hugin-$@ || (echo "Failed running $@"; false) ) 2>&1 + +	g++ ${CXXFLAGS} ${HUGIN_SOURCES} main_complete.c -o hugin-$@ \ +	 -DWITH_HUG_SYSLOG -DWITH_HUG_FILTER -DWITH_HUG_MUTEX +	(./hugin-$@ || (echo "Failed running $@"; false) ) 2>&1  obj:  #	Compile hugin as c prog and link with c++ program (use hugin.hpp)  	g++ ${CXXFLAGS} main_simple.cc -c  	gcc ${CFLAGS} hugin.c -c -	g++ main_simple.o hugin.o -o hugin-obj +	g++ main_simple.o hugin.o -o hugin-$@ +	(./hugin-$@ || (echo "Failed running $@"; false) ) 2>&1  #	Compile hugin as c++ prog and link with c++ program  	g++ ${CXXFLAGS} main_simple.c -c  	g++ ${CXXFLAGS} hugin.c -c -	g++ main_simple.o hugin.o -o hugin-obj +	g++ main_simple.o hugin.o -o hugin-$@ +	(./hugin-$@ || (echo "Failed running $@"; false) ) 2>&1  simple: -	gcc ${CFLAGS} hugin.c main_simple.c -o hugin-simple -	g++ ${CXXFLAGS} hugin.c main_simple.c -o hugin-simple +	gcc ${CFLAGS} hugin.c main_simple.c -o hugin-$@ +	(./hugin-$@ || (echo "Failed running $@"; false) ) 2>&1 + +	g++ ${CXXFLAGS} hugin.c main_simple.c -o hugin-$@ +	(./hugin-$@ || (echo "Failed running $@"; false) ) 2>&1  minimal: -	gcc ${CFLAGS} hugin.c main_minimal.c -o hugin-minimal -	g++ ${CXXFLAGS} hugin.c main_minimal.c -o hugin-minimal +	gcc ${CFLAGS} hugin.c main_minimal.c -o hugin-$@ +	(./hugin-$@ || (echo "Failed running $@"; false) ) 2>&1 + +	g++ ${CXXFLAGS} hugin.c main_minimal.c -o hugin-$@ +	(./hugin-$@ || (echo "Failed running $@"; false) ) 2>&1  syslog:  	gcc ${CFLAGS} hugin.c hugin_syslog.c main_syslog.c \ -		-o hugin-syslog -DWITH_HUG_SYSLOG +	 -o hugin-$@ -DWITH_HUG_SYSLOG +	(./hugin-$@ || (echo "Failed running $@"; false) ) 2>&1 +  	g++ ${CXXFLAGS} hugin.c hugin_syslog.c main_syslog.c \ -		-o hugin-syslog -DWITH_HUG_SYSLOG +	 -o hugin-$@ -DWITH_HUG_SYSLOG +	(./hugin-$@ || (echo "Failed running $@"; false) ) 2>&1  filter: -	gcc ${CFLAGS} hugin.c hugin_filter.c main_filter.c -o hugin-filter \ +	gcc ${CFLAGS} hugin.c hugin_filter.c main_filter.c -o hugin-$@ \  		-DWITH_HUG_FILTER -	g++ ${CXXFLAGS} hugin.c hugin_filter.c main_filter.c -o hugin-filter \ +	(./hugin-$@ || (echo "Failed running $@"; false) ) 2>&1 + +	g++ ${CXXFLAGS} hugin.c hugin_filter.c main_filter.c -o hugin-$@ \  		-DWITH_HUG_FILTER +	(./hugin-$@ || (echo "Failed running $@"; false) ) 2>&1  mutex: -	gcc ${CFLAGS} hugin.c main_mutex.c -o hugin-mutex -DWITH_HUG_MUTEX -	g++ ${CXXFLAGS} hugin.c main_mutex.c -o hugin-mutex -DWITH_HUG_MUTEX - -disabled: -	gcc -DDISABLE_HUGIN ${CFLAGS} hugin.c main_simple.c \ -		-o hugin-simple-disabled -	g++ -DDISABLE_HUGIN ${CXXFLAGS} hugin.c main_simple.c \ -		-o hugin-simple-disabled +	gcc ${CFLAGS} hugin.c main_mutex.c -o hugin-$@ -DWITH_HUG_MUTEX +	(./hugin-$@ || (echo "Failed running $@"; false) ) 2>&1 + +	g++ ${CXXFLAGS} hugin.c main_mutex.c -o hugin-$@ -DWITH_HUG_MUTEX +	(./hugin-$@ || (echo "Failed running $@"; false) ) 2>&1 + +simple-disabled: +	gcc -DDISABLE_HUGIN ${CFLAGS} hugin.c main_simple.c -o hugin-$@ +	(./hugin-$@ || (echo "Failed running $@"; false) ) 2>&1 + +	g++ -DDISABLE_HUGIN ${CXXFLAGS} hugin.c main_simple.c -o hugin-$@ +	(./hugin-$@ || (echo "Failed running $@"; false) ) 2>&1 + + +complete-disabled:  	gcc -DDISABLE_HUGIN ${CFLAGS} ${HUGIN_SOURCES} main_complete.c \ -		-o hugin-complete-disabled -DWITH_HUG_SYSLOG -DWITH_HUG_FILTER \ +		-o hugin-$@ -DWITH_HUG_SYSLOG -DWITH_HUG_FILTER \  		-DWITH_HUG_MUTEX +	(./hugin-$@ || (echo "Failed running $@"; false) ) 2>&1 +  	g++ -DDISABLE_HUGIN ${CXXFLAGS} ${HUGIN_SOURCES} main_complete.c \ -		-o hugin-complete-disabled -DWITH_HUG_SYSLOG -DWITH_HUG_FILTER \ +		-o hugin-$@ -DWITH_HUG_SYSLOG -DWITH_HUG_FILTER \  		-DWITH_HUG_MUTEX +	(./hugin-$@ || (echo "Failed running $@"; false) ) 2>&1  clean: -	rm -f hugin_{complete,complete-cpp,simple,syslog,filter,mutex,minimal} +	rm -f hugin-{complete,complete-cpp,simple,syslog,filter,mutex} +	rm -f hugin-{minimal,simple-disabled,complete-disabled,obj} @@ -46,7 +46,7 @@  typedef HANDLE mutex_t;  // see http://stackoverflow.com/questions/558223/va-copy-porting-to-visual-c -#define va_copy(dest, src) (dest = src) +//#define va_copy(dest, src) (dest = src)  # else  #  include <pthread.h> @@ -407,22 +407,14 @@ int __debug(const char *func, const int line,    //    // Generate message    // - -  // Get number of bytes needed for the buffer:    va_list va;    va_start(va, fmt); - -  // Use a copy of va_list for 64bit fix: -  // see http://www.bailopan.net/blog/?p=30 -  //  -  // Not available in windows. So hugin may break in 64bit windows -   -  va_list vacpy; -  va_copy(vacpy, va); - -  hdr_bufsz = scprintf(hdr_fmt, HDR_ARGS); -  msg_bufsz = vscprintf(fmt, vacpy); -  if(hdr_bufsz < 0 || msg_bufsz < 0) return 1; // Bad format? +  { +    hdr_bufsz = scprintf(hdr_fmt, HDR_ARGS); +    msg_bufsz = vscprintf(fmt, va); +    if(hdr_bufsz < 0 || msg_bufsz < 0) return 1; // Bad format? +    //  va_end(va); +  }    buf = (char*)malloc(hdr_bufsz + msg_bufsz + 1);    if(!buf) return 1; // Out of memory @@ -430,11 +422,13 @@ int __debug(const char *func, const int line,    sz = sprintf(buf, hdr_fmt, HDR_ARGS);    if(sz < 0) return 1; // Unknown error -  va_copy(vacpy, va); -  sz = vsprintf(buf + sz, fmt, vacpy); -  if(sz < 0) return 1; // Unknown error - -  va_end(va); +  { +    //va_list va; +    //va_start(va, fmt); +    sz = vsprintf(buf + sz, fmt, va); +    if(sz < 0) return 1; // Unknown error +    va_end(va); +  }    //    // Send message to output diff --git a/main_complete.c b/main_complete.c index a649078..a79dbc5 100644 --- a/main_complete.c +++ b/main_complete.c @@ -63,8 +63,8 @@ int main(int argc, char *argv[])    INFO(example, "We are up and running");    DEBUG(example, "Or are we %d?", 42); - -  DEBUG(foo, "Or are we %d?", 42); +  int a = 0; +  DEBUG(foo, "Or are we %d?", 1/a);    hug_close();  | 
