Skip to content

Commit

Permalink
initial version 1.0
Browse files Browse the repository at this point in the history
  • Loading branch information
whitslack committed Mar 8, 2024
0 parents commit 5978553
Show file tree
Hide file tree
Showing 15 changed files with 1,947 additions and 0 deletions.
31 changes: 31 additions & 0 deletions .github/workflows/doxygen-gh-pages.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
name: 'Deploy Doxygen docs to GitHub Pages'

on:
push:
branches:
- master

permissions:
contents: write

jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Check out repository
uses: actions/checkout@v3

- name: Install Doxygen
run: sudo apt-get install doxygen graphviz -y

- name: Generate documentation
run: doxygen

- name: Create .nojekyll
run: touch html/.nojekyll

- name: Deploy to GitHub Pages
uses: JamesIves/github-pages-deploy-action@v4
with:
folder: html
single-commit: true
35 changes: 35 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
*~
*.log
*.o
/doxygen-doc/
/bech32
/libbech32.pc
/test

# http://www.gnu.org/software/automake

*.trs
Makefile
Makefile.in
.deps/
.dirstamp

# http://www.gnu.org/software/autoconf

/aclocal.m4
/autom4te.cache/
/build-aux/
/config.cache
/config.h
/config.h.in
/config.log
/config.status
/configure
/stamp-h1

# https://www.gnu.org/software/libtool/

*.la
*.lo
.libs/
/libtool
23 changes: 23 additions & 0 deletions Doxyfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
PROJECT_NAME = libbech32
PROJECT_BRIEF = "Library for Bech32/m encoding and decoding"
OUTPUT_DIRECTORY = $(DOCDIR)
OPTIMIZE_OUTPUT_FOR_C = YES
INLINE_SIMPLE_STRUCTS = YES
EXTRACT_STATIC = YES
SHOW_INCLUDE_FILES = NO
SORT_BRIEF_DOCS = YES
WARN_NO_PARAMDOC = YES
FILE_PATTERNS = *.h \
*.dox
VERBATIM_HEADERS = NO
GENERATE_HTML = $(GENERATE_HTML)
GENERATE_HTMLHELP = $(GENERATE_HTMLHELP)
GENERATE_CHI = $(GENERATE_CHI)
GENERATE_LATEX = $(GENERATE_LATEX)
GENERATE_RTF = $(GENERATE_RTF)
GENERATE_MAN = $(GENERATE_MAN)
GENERATE_XML = $(GENERATE_XML)
MAN_LINKS = YES
MACRO_EXPANSION = YES
EXPAND_ONLY_PREDEF = YES
PREDEFINED = __attribute__(x)=
14 changes: 14 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
Version 2, December 2004

Copyright (C) 2004 Sam Hocevar
22 rue de Plaisance, 75014 Paris, France
Everyone is permitted to copy and distribute verbatim or modified
copies of this license document, and changing it is allowed as long
as the name is changed.

DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION

0. You just DO WHAT THE FUCK YOU WANT TO.

70 changes: 70 additions & 0 deletions Makefile.am
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
ACLOCAL_AMFLAGS = -I build-aux/m4

AM_CPPFLAGS =
if NDEBUG
AM_CPPFLAGS += -DNDEBUG
endif
COMMON_CFLAGS := -Wall -Wextra -Wcast-qual -Wconversion -Wdisabled-optimization -Wdouble-promotion -Wno-implicit-fallthrough -Wmissing-declarations -Wno-missing-field-initializers -Wpacked -Wno-parentheses -Wredundant-decls -Wno-sign-conversion $(addprefix -Wsuggest-attribute=,pure const noreturn malloc) -Wno-vla
AM_CFLAGS = $(COMMON_CFLAGS) $(addprefix -Werror=,implicit-function-declaration incompatible-pointer-types int-conversion)
AM_CXXFLAGS = $(COMMON_CFLAGS) -Wnoexcept -Wold-style-cast -Wsign-promo -Wsuggest-override -Wno-terminate -Wzero-as-null-pointer-constant

include_HEADERS = bech32.h

pkgconfig_DATA = libbech32.pc
EXTRA_DIST = $(pkgconfig_DATA)

dist_man_MANS = bech32.1

lib_LTLIBRARIES = libbech32.la
libbech32_la_SOURCES = libbech32.c
if BUILD_CXX
libbech32_la_SOURCES += libbech32_c++.cpp
libbech32_la_LINK = $(CXXLINK) $(libbech32_la_CXXFLAGS) $(libbech32_la_LDFLAGS)
else
libbech32_la_LINK = $(LINK) $(libbech32_la_CFLAGS) $(libbech32_la_LDFLAGS)
endif
# How to update version-info:
# - oldprog+newlib and newprog+oldlib are both okay => +0:+1:+0
# - oldprog+newlib is okay, but newprog+oldlib won't work => +1:=0:+1
# - oldprog+newlib won't work => +1:=0:=0
libbech32_la_LDFLAGS = -no-undefined -version-info 0:0:0

bin_PROGRAMS = bech32
bech32_SOURCES = bech32.c
bech32_LDADD = libbech32.la

if BUILD_TESTS

check_PROGRAMS = test
test_SOURCES = test.cpp
test_CPPFLAGS = $(filter-out -DNDEBUG,$(AM_CPPFLAGS))
test_LDFLAGS = -no-install
test_LDADD = libbech32.la

TESTS = $(check_PROGRAMS)
noinst_PROGRAMS = $(check_PROGRAMS)

else

check-local:
@! echo "You didn't enable the tests! Run './configure --enable-tests'." >&2

endif # BUILD_TESTS

@DX_RULES@
MOSTLYCLEANFILES = $(DX_CLEANFILES)

if BUILD_MANPAGES
man3_MANS = $(addprefix doxygen-doc/man/man3/,$(addsuffix .3,bech32.h \
$(shell $(SED) -Ene 's/^((\w|\*)+\s+)+(\w+)\(.*$$/\3/p#)' $(srcdir)/bech32.h)))
$(man3_MANS) : doxygen-doc
$(DX_DOCDIR)/$(PACKAGE).tag : $(include_HEADERS)
endif

install-exec-hook:
cd $(DESTDIR)$(bindir) && { test -e bech32m$(EXEEXT) || $(LN_S) -n bech32$(EXEEXT) bech32m$(EXEEXT) ; }
cd $(DESTDIR)$(man1dir) && { test -e bech32m.1 || $(LN_S) -n bech32.1 bech32m.1 ; }

uninstall-hook:
rm -f $(DESTDIR)$(bindir)/bech32m$(EXEEXT)
rm -f $(DESTDIR)$(man1dir)/bech32m.1
Loading

0 comments on commit 5978553

Please sign in to comment.