Hi, I'm using libevent in an embedded situation. Unfortnately, the toolchain is gcc-2.95.3 based. Also, I do my builds using VPATH builds (split source and objects).
A patch follows to support VPATH builds (Makefile.am and event_rpcgen.py) and gcc-2.95.3 (test/regress*). I haven't included the post automake Makefile.in's in this patch. I also removed test/regress.gen.* from my tree since those are generated but that might not be what you want. -- Joel Martin (kanaka) Index: libevent/test/Makefile.am =================================================================== --- libevent/test/Makefile.am (revision 27501) +++ libevent/test/Makefile.am (working copy) @@ -1,8 +1,8 @@ AUTOMAKE_OPTIONS = foreign no-dependencies -LDADD = ../libevent.la +LDADD = $(top_builddir)/libevent.la CPPFPLAGS = -I.. -CFLAGS = -I../compat @CFLAGS@ +CFLAGS = -I$(top_srcdir)/compat @CFLAGS@ EXTRA_DIST = regress.rpc @@ -18,7 +18,7 @@ bench_SOURCES = bench.c regress.gen.c regress.gen.h: regress.rpc - ../event_rpcgen.py regress.rpc || echo "No Python installed" + $(top_srcdir)/event_rpcgen.py $< || echo "No Python installed" DISTCLEANFILES = *~ CLEANFILES = regress.gen.h regress.gen.c @@ -28,4 +28,4 @@ verify: test @./test.sh -bench test-init test-eof test-weof test-time: ../libevent.la +bench test-init test-eof test-weof test-time: $(top_builddir)/libevent.la Index: libevent/Makefile.am =================================================================== --- libevent/Makefile.am (revision 27501) +++ libevent/Makefile.am (working copy) @@ -45,7 +45,7 @@ include_HEADERS = event.h evhttp.h evdns.h -INCLUDES = -Icompat $(SYS_INCLUDES) +INCLUDES = -I$(srcdir)/compat $(SYS_INCLUDES) man_MANS = event.3 evdns.3 Index: libevent/event_rpcgen.py =================================================================== --- libevent/event_rpcgen.py (revision 27501) +++ libevent/event_rpcgen.py (working copy) @@ -7,6 +7,7 @@ import sys import re +import os # _NAME = "event_rpcgen.py" @@ -1348,12 +1349,13 @@ entities = Parse(fp) fp.close() - header_file = '.'.join(filename.split('.')[:-1]) + '.gen.h' - impl_file = '.'.join(filename.split('.')[:-1]) + '.gen.c' + rel_filename = os.path.split(filename)[1] + header_file = '.'.join(rel_filename.split('.')[:-1]) + '.gen.h' + impl_file = '.'.join(rel_filename.split('.')[:-1]) + '.gen.c' print >>sys.stderr, '... creating "%s"' % header_file header_fp = open(header_file, 'w') - print >>header_fp, HeaderPreamble(filename) + print >>header_fp, HeaderPreamble(rel_filename) # Create forward declarations: allows other structs to reference # each other @@ -1364,12 +1366,12 @@ for entry in entities: entry.PrintTags(header_fp) entry.PrintDeclaration(header_fp) - print >>header_fp, HeaderPostamble(filename) + print >>header_fp, HeaderPostamble(rel_filename) header_fp.close() print >>sys.stderr, '... creating "%s"' % impl_file impl_fp = open(impl_file, 'w') - print >>impl_fp, BodyPreamble(filename) + print >>impl_fp, BodyPreamble(rel_filename) for entry in entities: entry.PrintCode(impl_fp) impl_fp.close() Index: libevent/test/regress_http.c =================================================================== --- libevent/test/regress_http.c (revision 27501) +++ libevent/test/regress_http.c (working copy) @@ -125,13 +125,14 @@ http_readcb(struct bufferevent *bev, void *arg) { const char *what = "This is funny"; + int done; event_debug(("%s: %s\n", __func__, EVBUFFER_DATA(bev->input))); if (evbuffer_find(bev->input, what, strlen(what)) != NULL) { struct evhttp_request *req = evhttp_request_new(NULL, NULL); req->kind = EVHTTP_RESPONSE; - int done = evhttp_parse_lines(req, bev->input); + done = evhttp_parse_lines(req, bev->input); if (done == 1 && evhttp_find_header(req->input_headers, @@ -163,9 +164,10 @@ void http_basic_cb(struct evhttp_request *req, void *arg) { + struct evbuffer *evb; event_debug((stderr, "%s: called\n", __func__)); - struct evbuffer *evb = evbuffer_new(); + evb = evbuffer_new(); evbuffer_add_printf(evb, "This is funny"); evhttp_send_reply(req, HTTP_OK, "Everything is fine", evb); @@ -355,6 +357,8 @@ void http_post_cb(struct evhttp_request *req, void *arg) { + struct evbuffer *evb; + event_debug((stderr, "%s: called\n", __func__)); /* Yes, we are expecting a post request */ @@ -377,7 +381,7 @@ exit(1); } - struct evbuffer *evb = evbuffer_new(); + evb = evbuffer_new(); evbuffer_add_printf(evb, "This is funny"); evhttp_send_reply(req, HTTP_OK, "Everything is fine", evb); Index: libevent/test/regress.c =================================================================== --- libevent/test/regress.c (revision 27501) +++ libevent/test/regress.c (working copy) @@ -485,9 +485,11 @@ void test_evbuffer(void) { + struct evbuffer *evb; + setup_test("Evbuffer: "); - struct evbuffer *evb = evbuffer_new(); + evb = evbuffer_new(); evbuffer_add_printf(evb, "%s/%d", "hello", 1); _______________________________________________ Libevent-users mailing list Libevent-users@monkey.org http://monkey.org/mailman/listinfo/libevent-users