Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
130 changes: 129 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,132 @@
.DS_Store
*.o
*~
ringbuf-test
ringbuf-test*
*.gcno
*.gcda
*.gcov

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

Makefile.in
/ar-lib
/mdate-sh
/py-compile
/test-driver
/ylwrap
.deps/
.libs/
.dirstamp
stamp-vti

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

autom4te.cache
/autoscan.log
/autoscan-*.log
/aclocal.m4
/compile
/config.cache
/config.guess
/config.h.in
/config.log
/config.status
/config.sub
/configure
/configure.scan
/depcomp
/install-sh
/missing
/stamp-h1

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

/ltmain.sh

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

/texinfo.tex

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

m4/libtool.m4
m4/ltoptions.m4
m4/ltsugar.m4
m4/ltversion.m4
m4/lt~obsolete.m4

libtool
libringbuf.pc
test-suite.log
*.log
*.trs

# Generated Makefile
# (meta build system like autotools,
# can automatically generate from config.status script
# (which is called by configure script))
Makefile

### CMake ###
CMakeLists.txt.user
CMakeCache.txt
CMakeFiles
CMakeScripts
Testing
Makefile
cmake_install.cmake
install_manifest.txt
compile_commands.json
CTestTestfile.cmake
_deps
/build

### CMake Patch ###
# External projects
*-prefix/

### C ###
# Prerequisites
*.d

# Object files
*.o
*.ko
*.obj
*.elf

# Linker output
*.ilk
*.map
*.exp

# Precompiled Headers
*.gch
*.pch

# Libraries
*.lib
*.a
*.la
*.lo

# Shared objects (inc. Windows DLLs)
*.dll
*.so
*.so.*
*.dylib

# Executables
*.exe
*.out
*.app
*.i*86
*.x86_64
*.hex

# Debug files
*.dSYM/
*.su
*.idb
*.pdb
47 changes: 47 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
cmake_minimum_required(VERSION 3.5)
project(
ringbuf
VERSION 0.0.1
LANGUAGES C)

set(CMAKE_C_STANDARD 99)
option(BUILD_SHARED_LIBS "Build using shared libraries" ON)

include(GNUInstallDirs)

add_library(${PROJECT_NAME} ringbuf.c ringbuf.h)
set_target_properties(${PROJECT_NAME} PROPERTIES PUBLIC_HEADER ringbuf.h)
set_target_properties(${PROJECT_NAME} PROPERTIES VERSION "0.0.0")

include(CTest)
if(BUILD_TESTING)
add_executable(${PROJECT_NAME}-test ringbuf-test.c)
target_link_libraries(${PROJECT_NAME}-test ${PROJECT_NAME})

add_test(${PROJECT_NAME}_test ${PROJECT_NAME}-test)
set_tests_properties(
${PROJECT_NAME}_test PROPERTIES PASS_REGULAR_EXPRESSION
"Test [0-9]+\\.\\.\\.pass\\.")
endif()

block()
set(prefix ${CMAKE_INSTALL_PREFIX})
set(exec_prefix ${CMAKE_INSTALL_PREFIX})
set(includedir ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_INCLUDEDIR})
set(libdir ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR})
set(PACKAGE_NAME ${PROJECT_NAME})
set(LIBRINGBUF_PKG_CONFIG_VERSION
${${PROJECT_NAME}_VERSION_MAJOR}.${${PROJECT_NAME}_VERSION_MINOR}.${${PROJECT_NAME}_VERSION_PATCH}
)
configure_file("libringbuf.pc.in" "libringbuf.pc" @ONLY)
install(
FILES "${CMAKE_CURRENT_BINARY_DIR}/libringbuf.pc"
COMPONENT Devel
DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig")
endblock()

install(
TARGETS ${PROJECT_NAME}
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
File renamed without changes.
38 changes: 38 additions & 0 deletions Makefile.am
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
## Process this file with automake to produce Makefile.in

ACLOCAL_AMFLAGS = -I m4
AUTOMAKE_OPTIONS = foreign
dist_doc_DATA = COPYING README.md
AM_CFLAGS = -Wall $(AX_CFLAGS)

## --------------------------------------------------------------------

EXTRA_DIST = libringbuf.pc.in
pkgconfigdir = $(libdir)/pkgconfig
nodist_pkgconfig_DATA = libringbuf.pc

## --------------------------------------------------------------------

#### libraries

include_HEADERS = ringbuf.h

lib_LTLIBRARIES = libringbuf.la
libringbuf_la_LDFLAGS = -version-info 0:0:0
libringbuf_la_SOURCES = \
ringbuf.c

#page
#### test

check_PROGRAMS = \
ringbuf-test

TESTS = $(check_PROGRAMS)

ringbuf_test_LDADD = libringbuf.la

installcheck-local: $(TEST)
@for f in $(TEST); do $(builddir)/$$f; done

### end of file
46 changes: 46 additions & 0 deletions configure.ac
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
dnl @configure_input@
dnl

AC_PREREQ([2.72])
AC_INIT([c-ringbuf],[0.0.1],[],[ringbuf],[http://github.com/dhess/c-ringbuf])

AC_CONFIG_MACRO_DIRS([m4])
AC_CANONICAL_BUILD
AC_CANONICAL_HOST
AC_CANONICAL_TARGET
AM_INIT_AUTOMAKE([foreign dist-xz no-dist-gzip])
AM_MAINTAINER_MODE

AM_PROG_AR
AC_PROG_INSTALL
AC_PROG_LN_S
AC_PROG_MAKE_SET
AC_PROG_MKDIR_P

LT_PREREQ([2.4])
LT_INIT

dnl This is the version stored in the pkg-config data file.
AC_SUBST([LIBRINGBUF_PKG_CONFIG_VERSION],[0.0.1])

dnl page
#### basic system inspection

AC_LANG([C])
AM_PROG_AS
AM_PROG_CC_C_O

AC_CACHE_SAVE

dnl page
#### finish

AC_CONFIG_FILES([Makefile]
[libringbuf.pc])
AC_OUTPUT

### end of file
# Local Variables:
# mode: autoconf
# page-delimiter: "^dnl page"
# End:
11 changes: 11 additions & 0 deletions libringbuf.pc.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
prefix=@prefix@
exec_prefix=@exec_prefix@

includedir=@includedir@
libdir=@libdir@

Name: @PACKAGE_NAME@
Description: A ring buffer implemented in C
Version: @LIBRINGBUF_PKG_CONFIG_VERSION@
Libs: -L${libdir} -lringbuf
Cflags: -I${includedir}