From 0352bf9bcdb413dfeb6fe2a27783f03340efc117 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Mon, 25 Jan 2021 12:32:30 +0000 Subject: [PATCH] Initial checkin Signed-off-by: Michael Tremer --- .gitignore | 16 +++++++ Makefile.am | 120 +++++++++++++++++++++++++++++++++++++++++++++++++ autogen.sh | 28 ++++++++++++ configure.ac | 111 +++++++++++++++++++++++++++++++++++++++++++++ m4/.gitignore | 6 +++ po/.gitignore | 7 +++ po/POTFILES.in | 0 src/.gitignore | 6 +++ src/main.c | 23 ++++++++++ 9 files changed, 317 insertions(+) create mode 100644 .gitignore create mode 100644 Makefile.am create mode 100755 autogen.sh create mode 100644 configure.ac create mode 100644 m4/.gitignore create mode 100644 po/.gitignore create mode 100644 po/POTFILES.in create mode 100644 src/.gitignore create mode 100644 src/main.c diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..4ab9d89 --- /dev/null +++ b/.gitignore @@ -0,0 +1,16 @@ +*.log +*.mo +*.o +*.tar.xz +.deps/ +.libs/ +Makefile +Makefile.in +/aclocal.m4 +/autom4te.cache +/build-aux +/config.* +/configure +/fireperf +/libtool +/stamp-h1 diff --git a/Makefile.am b/Makefile.am new file mode 100644 index 0000000..342253f --- /dev/null +++ b/Makefile.am @@ -0,0 +1,120 @@ +EXTRA_DIST = +CLEANFILES = +INSTALL_DIRS = +ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS} +AM_MAKEFLAGS = --no-print-directory + +SUBDIRS = . po + +AM_CPPFLAGS = \ + -include $(top_builddir)/config.h \ + -DSYSCONFDIR=\""$(sysconfdir)"\" \ + -I${top_srcdir}/src + +AM_CFLAGS = ${my_CFLAGS} \ + -ffunction-sections \ + -fdata-sections + +AM_LDFLAGS = \ + -Wl,--as-needed \ + -Wl,--gc-sections + +SED_PROCESS = \ + $(AM_V_GEN)$(MKDIR_P) $(dir $@) && $(SED) \ + -e 's,@VERSION\@,$(VERSION),g' \ + -e 's,@prefix\@,$(prefix),g' \ + -e 's,@exec_prefix\@,$(exec_prefix),g' \ + -e 's,@bindir\@,$(bindir),g' \ + -e 's,@libdir\@,$(libdir),g' \ + -e 's,@includedir\@,$(includedir),g' \ + < $< > $@ || rm $@ + +pkgconfigdir = $(libdir)/pkgconfig + +%: %.in Makefile + $(SED_PROCESS) + +@INTLTOOL_POLICY_RULE@ + +# ------------------------------------------------------------------------------ + +AM_V_ASCIIDOC = $(AM_V_ASCIIDOC_$(V)) +AM_V_ASCIIDOC_ = $(AM_V_ASCIIDOC_$(AM_DEFAULT_VERBOSITY)) +AM_V_ASCIIDOC_0 = @echo " ASCIIDOC" $@; + +AM_V_XSLT = $(AM_V_XSLT_$(V)) +AM_V_XSLT_ = $(AM_V_XSLT_$(AM_DEFAULT_VERBOSITY)) +AM_V_XSLT_0 = @echo " XSLT " $@; + +# ------------------------------------------------------------------------------ + +.PHONY: update-po +update-po: po/POTFILES.in + $(MAKE) -C po update-po + +po/POTFILES.in: Makefile + find $(abs_srcdir)/src | \ + grep -E "\.(in|py)$$" | sed -e "s@$(abs_srcdir)/@@g" | sort > $@ + +bin_PROGRAMS = \ + fireperf + +fireperf_SOURCES = \ + src/main.c + +# ------------------------------------------------------------------------------ + +MANPAGES = + +MANPAGES_TXT = $(patsubst %.8,%.txt,$(MANPAGES)) +MANPAGES_HTML = $(patsubst %.txt,%.html,$(MANPAGES_TXT)) +MANPAGES_XML = $(patsubst %.txt,%.xml,$(MANPAGES_TXT)) + +.PHONY: man +man: $(MANPAGES) $(MANPAGES_HTML) + +if ENABLE_MAN_PAGES +man_MANS = \ + $(MANPAGES) +endif + +CLEANFILES += \ + $(MANPAGES) \ + $(MANPAGES_HTML) \ + $(MANPAGES_XML) + +EXTRA_DIST += \ + man/asciidoc.conf \ + $(MANPAGES_TXT) + +XSLTPROC_FLAGS = \ + --nonet \ + --stringparam man.output.quietly 1 \ + --stringparam funcsynopsis.style ansi \ + --stringparam man.th.extra1.suppress 1 \ + --stringparam man.authors.section.enabled 1 \ + --stringparam man.copyright.section.enabled 1 + +XSLTPROC_COMMAND_MAN = \ + $(AM_V_XSLT)$(MKDIR_P) $(dir $@) && \ + $(XSLTPROC) -o $@ $(XSLTPROC_FLAGS) \ + http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $< + +man/%.xml: man/%.txt man/asciidoc.conf + $(AM_V_ASCIIDOC)$(MKDIR_P) $(dir $@) && \ + $(ASCIIDOC) \ + -f $(abs_srcdir)/man/asciidoc.conf \ + -d manpage -b docbook -o $@ $< + +man/%.8: man/%.xml + $(XSLTPROC_COMMAND_MAN) + +man/%.html: man/%.txt man/asciidoc.conf + $(AM_V_ASCIIDOC)$(MKDIR_P) $(dir $@) && \ + $(ASCIIDOC) \ + -f $(abs_srcdir)/man/asciidoc.conf \ + -b html5 -a icons -a theme=flask -o $@ $< + +.PHONY: upload-man +upload-man: $(MANPAGES_HTML) + rsync -avHz --delete --progress $(MANPAGES_HTML) ms@fs01.haj.ipfire.org:/pub/man-pages/$(PACKAGE_NAME)/ diff --git a/autogen.sh b/autogen.sh new file mode 100755 index 0000000..ba2845a --- /dev/null +++ b/autogen.sh @@ -0,0 +1,28 @@ +#!/bin/sh + +set -e + +if [ -f .git/hooks/pre-commit.sample -a ! -f .git/hooks/pre-commit ] ; then + cp -p .git/hooks/pre-commit.sample .git/hooks/pre-commit && \ + chmod +x .git/hooks/pre-commit && \ + echo "Activated pre-commit hook." +fi + +intltoolize --force --automake +autoreconf --install --symlink + +libdir() { + echo $(cd $1/$(gcc -print-multi-os-directory); pwd) +} + +args="--prefix=/usr \ +--sysconfdir=/etc \ +--libdir=$(libdir /usr/lib)" + +echo +echo "----------------------------------------------------------------" +echo "Initialized build system. For a common configuration please run:" +echo "----------------------------------------------------------------" +echo +echo "./configure CFLAGS='-g -O0' $args" +echo diff --git a/configure.ac b/configure.ac new file mode 100644 index 0000000..18c1890 --- /dev/null +++ b/configure.ac @@ -0,0 +1,111 @@ +AC_PREREQ(2.60) +AC_INIT([fireperf], + [0.0.1], + [info@ipfire.org], + [fireperf], + [https://www.ipfire.org/]) + +AC_CONFIG_SRCDIR([src/main.c]) +AC_CONFIG_AUX_DIR([build-aux]) +AM_INIT_AUTOMAKE([ + foreign + 1.11 + -Wall + -Wno-portability + silent-rules + tar-pax + no-dist-gzip + dist-xz + subdir-objects +]) +AC_PROG_CC_STDC +AC_USE_SYSTEM_EXTENSIONS +AC_SYS_LARGEFILE +AC_CONFIG_MACRO_DIR([m4]) +AM_SILENT_RULES([yes]) +LT_INIT([ + disable-static + pic-only +]) +AC_PREFIX_DEFAULT([/usr]) + +IT_PROG_INTLTOOL([0.40.0]) + +GETTEXT_PACKAGE=${PACKAGE_TARNAME} +AC_SUBST(GETTEXT_PACKAGE) + +AC_PROG_SED +AC_PROG_MKDIR_P + +# - man ------------------------------------------------------------------------ + +have_man_pages=no +AC_ARG_ENABLE(man_pages, AS_HELP_STRING([--disable-man-pages], + [do not install man pages])) +AS_IF([test "x$enable_man_pages" != xno], [have_man_pages=yes]) +AM_CONDITIONAL(ENABLE_MAN_PAGES, [test "x$have_man_pages" = "xyes"]) + +AC_PATH_PROG([XSLTPROC], [xsltproc]) + +AC_CHECK_PROGS(ASCIIDOC, [asciidoc]) +if test "${have_man_pages}" = "yes" && test -z "${ASCIIDOC}"; then + AC_MSG_ERROR([Required program 'asciidoc' not found]) +fi + +# - debug ---------------------------------------------------------------------- + +AC_ARG_ENABLE([debug], + AS_HELP_STRING([--enable-debug], [enable debug messages @<:@default=disabled@:>@]), + [], [enable_debug=no]) +AS_IF([test "x$enable_debug" = "xyes"], [ + AC_DEFINE(ENABLE_DEBUG, [1], [Debug messages.]) +]) + +AC_CHECK_HEADERS_ONCE([ + arpa/inet.h \ + netinet/in.h \ + string.h \ +]) + +AC_CHECK_FUNCS([ \ +]) + +my_CFLAGS="\ +-Wall \ +-Wchar-subscripts \ +-Wformat-security \ +-Wmissing-declarations \ +-Wmissing-prototypes \ +-Wnested-externs \ +-Wpointer-arith \ +-Wshadow \ +-Wsign-compare \ +-Wstrict-prototypes \ +-Wtype-limits \ +" +AC_SUBST([my_CFLAGS]) + +# ------------------------------------------------------------------------------ + +AC_CONFIG_HEADERS(config.h) +AC_CONFIG_FILES([ + Makefile + po/Makefile.in +]) + +AC_OUTPUT +AC_MSG_RESULT([ + $PACKAGE $VERSION + ===== + + prefix: ${prefix} + sysconfdir: ${sysconfdir} + libdir: ${libdir} + includedir: ${includedir} + + compiler: ${CC} + cflags: ${CFLAGS} + ldflags: ${LDFLAGS} + + debug: ${enable_debug} +]) diff --git a/m4/.gitignore b/m4/.gitignore new file mode 100644 index 0000000..55eaa80 --- /dev/null +++ b/m4/.gitignore @@ -0,0 +1,6 @@ +intltool.m4 +libtool.m4 +ltoptions.m4 +ltsugar.m4 +ltversion.m4 +lt~obsolete.m4 diff --git a/po/.gitignore b/po/.gitignore new file mode 100644 index 0000000..a60406b --- /dev/null +++ b/po/.gitignore @@ -0,0 +1,7 @@ +/POTFILES +/Makefile.in.in +/.intltool-merge-cache +/Makefile +/stamp-it +*.gmo +*.pot diff --git a/po/POTFILES.in b/po/POTFILES.in new file mode 100644 index 0000000..e69de29 diff --git a/src/.gitignore b/src/.gitignore new file mode 100644 index 0000000..5bf6caf --- /dev/null +++ b/src/.gitignore @@ -0,0 +1,6 @@ +.dirstamp +.deps/ +.libs/ +*.la +*.lo +*.trs diff --git a/src/main.c b/src/main.c new file mode 100644 index 0000000..083ada7 --- /dev/null +++ b/src/main.c @@ -0,0 +1,23 @@ +/*############################################################################# +# # +# fireperf - A network benchmarking tool # +# Copyright (C) 2021 IPFire Development Team # +# # +# This program 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 3 of the License, or # +# (at your option) any later version. # +# # +# This program 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 this program. If not, see . # +# # +#############################################################################*/ + +int main(int argc, char* argv[]) { + return 0; +} -- 2.47.2