taler-mdb

GNU Taler Extensions and Integrations
Log | Files | Refs | Submodules | README | LICENSE

commit 6445b9067d649c83d45d9f2213e350d274060b54
parent 76d630e8272b0d5938d81fe8c2da65988e6c9e14
Author: Christian Grothoff <christian@grothoff.org>
Date:   Wed, 30 Oct 2019 17:40:34 +0100

add bootstrap and uncrustify logic

Diffstat:
MMakefile.am | 4++++
Abootstrap | 28++++++++++++++++++++++++++++
Mconfigure.ac | 5+----
Acontrib/uncrustify.cfg | 78++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Acontrib/uncrustify_precommit | 35+++++++++++++++++++++++++++++++++++
5 files changed, 146 insertions(+), 4 deletions(-)

diff --git a/Makefile.am b/Makefile.am @@ -1 +1,5 @@ SUBDIRS = src doc . + +EXTRA_DIST = \ + contrib/uncrustify.cfg \ + contrib/uncrustify_precommit diff --git a/bootstrap b/bootstrap @@ -0,0 +1,28 @@ +#!/bin/sh + +if ! git --version >/dev/null; then + echo "git not installed" + exit 1 +fi + +# git submodule update --init + +# This is more portable than `which' but comes with +# the caveat of not(?) properly working on busybox's ash: +existence() +{ + command -v "$1" >/dev/null 2>&1 +} + + +if existence uncrustify; then + echo "Installing uncrustify hook and configuration" + # Install uncrustify format symlink (if possible) + ln -s contrib/uncrustify.cfg uncrustify.cfg 2> /dev/null + # Install pre-commit hook (if possible) + ln -s ../../contrib/uncrustify_precommit .git/hooks/pre-commit 2> /dev/null +else + echo "Uncrustify not detected, hook not installed. Please install uncrustify if you plan on doing development" +fi + +autoreconf -fi diff --git a/configure.ac b/configure.ac @@ -11,10 +11,7 @@ AM_INIT_AUTOMAKE AC_PROG_CC # Checks for libraries. -# FIXME: Replace `main' with a function in `-lcurl': -AC_CHECK_LIB([curl], [main]) -# FIXME: Replace `main' with a function in `-lnfc': -AC_CHECK_LIB([nfc], [main]) +AC_CHECK_LIB([nfc], [nfc_open]) # Checks for header files. AC_CHECK_HEADERS([stdlib.h string.h unistd.h]) diff --git a/contrib/uncrustify.cfg b/contrib/uncrustify.cfg @@ -0,0 +1,78 @@ +input_tab_size = 2 +output_tab_size = 2 + +indent_columns = 2 +indent_with_tabs = 0 +indent_case_brace = 2 +indent_label=-16 + +code_width=80 +#cmd_width=80 + +# Leave most comments alone for now +cmt_indent_multi=false +sp_cmt_cpp_start=add + +sp_not=add + +sp_func_call_user_paren_paren=remove +sp_inside_fparen=remove +sp_after_cast=add + +ls_for_split_full=true +ls_func_split_full=true +ls_code_width=true + +# Arithmetic operations in wrapped expressions should be at the start +# of the line. +pos_arith=lead + +# Fully parenthesize boolean exprs +mod_full_paren_if_bool=true + +# Braces should be on their own line +nl_fdef_brace=add +nl_enum_brace=add +nl_struct_brace=add +nl_union_brace=add +nl_if_brace=add +nl_brace_else=add +nl_elseif_brace=add +nl_while_brace=add +nl_switch_brace=add + +# no newline between "else" and "if" +nl_else_if=remove + +nl_func_paren=remove +nl_assign_brace=remove + +# No extra newlines that cause noisy diffs +nl_start_of_file=remove +# If there's no new line, it's not a text file! +nl_end_of_file=add + +sp_inside_paren = remove + +sp_arith = add +sp_arith_additive = add + +# We want spaces before and after "=" +sp_before_assign = add +sp_after_assign = add + +# we want "char *foo;" +sp_after_ptr_star = remove +sp_between_ptr_star = remove + +# we want "if (foo) { ... }" +sp_before_sparen = add + +sp_inside_fparen = remove + +# add space before function call and decl: "foo (x)" +sp_func_call_paren = add +sp_func_proto_paren = add +sp_func_proto_paren_empty = add +sp_func_def_paren = add +sp_func_def_paren_empty = add diff --git a/contrib/uncrustify_precommit b/contrib/uncrustify_precommit @@ -0,0 +1,35 @@ +#!/bin/sh + +# use as .git/hooks/pre-commit + +exec 1>&2 + +RET=0 +changed=$(git diff --cached --name-only) +crustified="" + +for f in $changed; +do + if echo $f | grep \\.[c,h]\$ > /dev/null + then + # compare result of uncrustify with changes + # + # only change any of the invocations here if + # they are portable across all cmp and shell + # implementations ! + uncrustify -q -c uncrustify.cfg -f $f | cmp -s $f - + if test $? = 1 ; + then + crustified=" $crustified $f" + RET=1 + fi + fi +done + +if [ $RET = 1 ]; +then + echo "Run" + echo "uncrustify --no-backup -c uncrustify.cfg ${crustified}" + echo "before commiting." +fi +exit $RET