From a1558341bcbfbcb878726f5bd4b4dd6eda14d551 Mon Sep 17 00:00:00 2001 From: Patrick Date: Wed, 1 Apr 2020 13:26:27 -0500 Subject: modified makefile format --- Makefile.am | 2 ++ configure.am | 19 +++++++++++++++++++ src/Makefile | 27 --------------------------- src/Makefile.am | 10 ++++++++++ src/fcgi_commission.cc | 44 ++++++++++++++++++++++++++++++++++++++++++++ src/fcgi_commission.cpp | 44 -------------------------------------------- 6 files changed, 75 insertions(+), 71 deletions(-) create mode 100644 Makefile.am create mode 100644 configure.am delete mode 100644 src/Makefile create mode 100644 src/Makefile.am create mode 100644 src/fcgi_commission.cc delete mode 100644 src/fcgi_commission.cpp diff --git a/Makefile.am b/Makefile.am new file mode 100644 index 0000000..f043be5 --- /dev/null +++ b/Makefile.am @@ -0,0 +1,2 @@ +AUTOMAKE_OPTIONS = gnu +SUBDIRS = src \ No newline at end of file diff --git a/configure.am b/configure.am new file mode 100644 index 0000000..255d0b4 --- /dev/null +++ b/configure.am @@ -0,0 +1,19 @@ +AC_INIT([commission.fcgi], [0.1]) +AC_CONFIG_SRCDIR([/src/fcgi_commission.cc]) +AC_INIT_AUTOMAKE + +AC_PROG_CC +AC_PROG_CXX +AC_PROG_INSTALL +AC_PROG_MAKE_SET + +AC_HEADER_STDC + +AC_CHECK_HEADERS([ \ +stdio.h stdlib.h unistd.h getopt.h errno.h time.h \ +ctype.h sys/types.h sys/stat.h fcntl.h stdarg.h string.h printf.h \ +stdint.h sys/ioctrl.h fcgio.h \ +], [],AC_MSG_ERROR([ +required header missing])) + +AC_OUTPUT([Makefile src/Makefile]) \ No newline at end of file diff --git a/src/Makefile b/src/Makefile deleted file mode 100644 index a13fd64..0000000 --- a/src/Makefile +++ /dev/null @@ -1,27 +0,0 @@ -ARCH=$(shell uname -m) - -CC := g++ -SRCDIR := . -BUILDDIR := $(ARCH) -DEPLOYDIR := deploy -# TARGET := $(DEPLOYDIR)/fcgi_commission_$(ARCH).fcgi - -SRCEXT := cpp -SOURCES := $(shell find $(SRCDIR) -type f -name *.$(SRCEXT)) -OBJECTS := $(patsubst $(SRCDIR)/%,$(BUILDDIR)/%,$(SOURCES:.$(SRCEXT)=.o)) -CCFLAGS := -std=c++11 -g -Wall -Werror -pedantic -pedantic-errors -LIB := -ljsoncpp -lfcgi++ -lfcgi -lcurl -INC := -I - -S = "${WORKDIR}/git - -install: - mkdir -p $(DESTDIR)/sbin - cp fcgi_commission $(DESTDIR)/sbin - -fcgi_commission: $(OBJECTS) - $(CC) $(CCFLAGS) $(LDFLAGS) -o $@ $(OBJECTS) /usr/sbin $(LIB) - -%.o: %.CC - $(CC) $(CCFLAGS) -c - diff --git a/src/Makefile.am b/src/Makefile.am new file mode 100644 index 0000000..8a3784f --- /dev/null +++ b/src/Makefile.am @@ -0,0 +1,10 @@ +AUTOMAKE_OPTIONS = gnu +AM_CFLAGS = -Wall + +sbin_PROGRAMS = commission.fcgi +commission.fcgi_SOURCES = fcgi_commission.cc +commission.fcgi_SOURCES = -ljsoncpp -lrt -lfcgi++ -lfcgi + +install-exec-hook: + cd $(DESTDIR)$(sbindir) ../../sbin/commission.fcgi + rmdir $(DESTDIR)$(sbindir) \ No newline at end of file diff --git a/src/fcgi_commission.cc b/src/fcgi_commission.cc new file mode 100644 index 0000000..bd082ff --- /dev/null +++ b/src/fcgi_commission.cc @@ -0,0 +1,44 @@ +#include "fcgio.h" +#include + +int main(void) { + // Backup the stdio streambufs + streambuf * cin_streambuf = cin.rdbuf(); + streambuf * cout_streambuf = cout.rdbuf(); + streambuf * cerr_streambuf = cerr.rdbuf(); + + FCGX_Request request; + + FCGX_Init(); + FCGX_InitRequest(&request, 0, 0); + + while (FCGX_Accept_r(&request) == 0) { + fcgi_streambuf cin_fcgi_streambuf(request.in); + fcgi_streambuf cout_fcgi_streambuf(request.out); + fcgi_streambuf cerr_fcgi_streambuf(request.err); + + cin.rdbuf(&cin_fcgi_streambuf); + cout.rdbuf(&cout_fcgi_streambuf); + cerr.rdbuf(&cerr_fcgi_streambuf); + + cout << "Content-type: text/html\r\n" + << "\r\n" + << "\n" + << " \n" + << " Hello, World!\n" + << " \n" + << " \n" + << "

Hello, World!

\n" + << " \n" + << "\n"; + + // Note: the fcgi_streambuf destructor will auto flush + } + + // restore stdio streambufs + cin.rdbuf(cin_streambuf); + cout.rdbuf(cout_streambuf); + cerr.rdbuf(cerr_streambuf); + + return 0; +} \ No newline at end of file diff --git a/src/fcgi_commission.cpp b/src/fcgi_commission.cpp deleted file mode 100644 index bd082ff..0000000 --- a/src/fcgi_commission.cpp +++ /dev/null @@ -1,44 +0,0 @@ -#include "fcgio.h" -#include - -int main(void) { - // Backup the stdio streambufs - streambuf * cin_streambuf = cin.rdbuf(); - streambuf * cout_streambuf = cout.rdbuf(); - streambuf * cerr_streambuf = cerr.rdbuf(); - - FCGX_Request request; - - FCGX_Init(); - FCGX_InitRequest(&request, 0, 0); - - while (FCGX_Accept_r(&request) == 0) { - fcgi_streambuf cin_fcgi_streambuf(request.in); - fcgi_streambuf cout_fcgi_streambuf(request.out); - fcgi_streambuf cerr_fcgi_streambuf(request.err); - - cin.rdbuf(&cin_fcgi_streambuf); - cout.rdbuf(&cout_fcgi_streambuf); - cerr.rdbuf(&cerr_fcgi_streambuf); - - cout << "Content-type: text/html\r\n" - << "\r\n" - << "\n" - << " \n" - << " Hello, World!\n" - << " \n" - << " \n" - << "

Hello, World!

\n" - << " \n" - << "\n"; - - // Note: the fcgi_streambuf destructor will auto flush - } - - // restore stdio streambufs - cin.rdbuf(cin_streambuf); - cout.rdbuf(cout_streambuf); - cerr.rdbuf(cerr_streambuf); - - return 0; -} \ No newline at end of file -- cgit v1.2.3