Compare commits
No commits in common. "master" and "0.3" have entirely different histories.
@ -25,7 +25,5 @@ install:
|
|||||||
- sudo dpkg -i pkg-config_0.29.1-0ubuntu2_amd64.deb
|
- sudo dpkg -i pkg-config_0.29.1-0ubuntu2_amd64.deb
|
||||||
|
|
||||||
script:
|
script:
|
||||||
- mkdir build; cd build
|
- ./build.sh
|
||||||
- cmake .. -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=/usr
|
- make check
|
||||||
- make
|
|
||||||
- make test
|
|
||||||
|
@ -1,73 +0,0 @@
|
|||||||
CMAKE_MINIMUM_REQUIRED(VERSION 3.2)
|
|
||||||
|
|
||||||
INCLUDE(CheckFunctionExists)
|
|
||||||
|
|
||||||
FIND_PACKAGE(PkgConfig)
|
|
||||||
FIND_PACKAGE(BISON)
|
|
||||||
FIND_PACKAGE(FLEX)
|
|
||||||
|
|
||||||
PKG_CHECK_MODULES(CMOCKA REQUIRED cmocka)
|
|
||||||
|
|
||||||
ENABLE_TESTING()
|
|
||||||
|
|
||||||
SET(VERSION "0.4")
|
|
||||||
SET(TARGET "dice")
|
|
||||||
|
|
||||||
SET(SOURCES
|
|
||||||
"lib/diceexpr.c"
|
|
||||||
"lib/dice.c"
|
|
||||||
)
|
|
||||||
|
|
||||||
SET(HEADERS
|
|
||||||
"lib/dice.h"
|
|
||||||
)
|
|
||||||
|
|
||||||
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/lib
|
|
||||||
${CMAKE_CURRENT_BINARY_DIR}
|
|
||||||
)
|
|
||||||
|
|
||||||
# Yacc/BISON/Flex stuff
|
|
||||||
BISON_TARGET(DICE_PARSER
|
|
||||||
"${CMAKE_CURRENT_SOURCE_DIR}/lib/dice_parse.y"
|
|
||||||
"${CMAKE_CURRENT_BINARY_DIR}/dice_parse.c"
|
|
||||||
COMPILE_FLAGS "-d"
|
|
||||||
)
|
|
||||||
FLEX_TARGET(DICE_LEXER
|
|
||||||
"${CMAKE_CURRENT_SOURCE_DIR}/lib/dice_lexer.l"
|
|
||||||
"${CMAKE_CURRENT_BINARY_DIR}/dice_lexer.c"
|
|
||||||
COMPILE_FLAGS "-P dp"
|
|
||||||
)
|
|
||||||
|
|
||||||
ADD_DEFINITIONS("-Wall")
|
|
||||||
|
|
||||||
CHECK_FUNCTION_EXISTS("arc4random_uniform" HAVE_ARC4RANDOM_UNIFORM)
|
|
||||||
IF (HAVE_ARC4RANDOM_UNIFORM)
|
|
||||||
ADD_DEFINITIONS("-DHAVE_ARC4RANDOM_UNIFORM")
|
|
||||||
ELSE()
|
|
||||||
PKG_CHECK_MODULES(BSD REQUIRED libbsd)
|
|
||||||
INCLUDE_DIRECTORIES(${BSD_INCLUDE_DIRS})
|
|
||||||
# used in pkg-config IN file
|
|
||||||
SET(REQUIRES "libbsd")
|
|
||||||
ENDIF()
|
|
||||||
|
|
||||||
# pkg-config file
|
|
||||||
CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/libdice.pc.in"
|
|
||||||
"${CMAKE_CURRENT_BINARY_DIR}/libdice.pc"
|
|
||||||
)
|
|
||||||
|
|
||||||
ADD_LIBRARY(${TARGET} SHARED
|
|
||||||
${SOURCES} ${HEADERS}
|
|
||||||
${BISON_DICE_PARSER_OUTPUTS}
|
|
||||||
${FLEX_DICE_LEXER_OUTPUTS}
|
|
||||||
)
|
|
||||||
|
|
||||||
IF (NOT HAVE_ARC4RANDOM_UNIFORM)
|
|
||||||
TARGET_LINK_LIBRARIES(${TARGET} ${BSD_LIBRARIES} m)
|
|
||||||
ENDIF()
|
|
||||||
|
|
||||||
INSTALL(TARGETS ${TARGET} DESTINATION lib)
|
|
||||||
INSTALL(FILES ${HEADERS} DESTINATION include)
|
|
||||||
INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/libdice.pc
|
|
||||||
DESTINATION share/pkgconfig)
|
|
||||||
|
|
||||||
ADD_SUBDIRECTORY(tests)
|
|
@ -1,3 +0,0 @@
|
|||||||
2019-08-19 Florian Stinglmayr <fstinglmayr@gmail.com>
|
|
||||||
* build switch to cmake
|
|
||||||
* release version 0.4
|
|
20
Makefile.am
Normal file
20
Makefile.am
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
AM_YFLAGS = -d
|
||||||
|
AM_LFLAGS = -P dp
|
||||||
|
BUILT_SOURCES = lib/dice_parse.h
|
||||||
|
|
||||||
|
lib_LTLIBRARIES = libdice.la
|
||||||
|
libdice_la_SOURCES = lib/dice_lexer.l \
|
||||||
|
lib/dice_parse.y \
|
||||||
|
lib/dice.h \
|
||||||
|
lib/dice.c \
|
||||||
|
lib/diceexpr.c
|
||||||
|
|
||||||
|
include_HEADERS = lib/dice.h
|
||||||
|
|
||||||
|
AM_CFLAGS = -Ilib
|
||||||
|
|
||||||
|
libdice_la_LIBADD = ${BSD_LIBS} -lm
|
||||||
|
|
||||||
|
pkgconfig_DATA = libdice.pc
|
||||||
|
|
||||||
|
SUBDIRS = . tests
|
@ -28,15 +28,12 @@ supports variable amount, variable sides and fudge dice at the moment:
|
|||||||
* bison
|
* bison
|
||||||
* flex
|
* flex
|
||||||
* cmocka >= 1.0.1
|
* cmocka >= 1.0.1
|
||||||
* cmake
|
|
||||||
|
|
||||||
To build ``libdice`` run:
|
To build ``libdice`` run:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
$ mkdir build; cd build
|
$ ./configure --prefix="/usr"
|
||||||
$ cmake .. -DCMAKE_INSTALL_PREFIX=/usr
|
|
||||||
$ make
|
$ make
|
||||||
$ make test
|
|
||||||
$ sudo make install
|
$ sudo make install
|
||||||
```
|
```
|
||||||
|
|
||||||
|
19
autogen.sh
Executable file
19
autogen.sh
Executable file
@ -0,0 +1,19 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
set -e
|
||||||
|
set -x
|
||||||
|
|
||||||
|
if [ $(uname) = "OpenBSD" ]; then
|
||||||
|
export AUTOMAKE_VERSION=1.15
|
||||||
|
export AUTOCONF_VERSION=2.69
|
||||||
|
fi
|
||||||
|
|
||||||
|
cd "$(dirname "$0")"
|
||||||
|
|
||||||
|
PATH=$PATH:/usr/local/bin
|
||||||
|
|
||||||
|
aclocal $AC_SEARCH_OPTS
|
||||||
|
autoconf
|
||||||
|
autoreconf --install
|
||||||
|
autoheader
|
||||||
|
automake --copy --add-missing
|
10
build.sh
Executable file
10
build.sh
Executable file
@ -0,0 +1,10 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
set -e
|
||||||
|
set -x
|
||||||
|
|
||||||
|
cd "$(dirname "$0")"
|
||||||
|
|
||||||
|
./autogen.sh
|
||||||
|
./configure "$@"
|
||||||
|
make
|
27
configure.ac
Normal file
27
configure.ac
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
AC_PREREQ([2.69])
|
||||||
|
AC_INIT([libdice], [0.2], [florian@n0la.org])
|
||||||
|
AM_INIT_AUTOMAKE([subdir-objects])
|
||||||
|
LT_INIT()
|
||||||
|
AC_CONFIG_HEADERS([config.h])
|
||||||
|
|
||||||
|
AC_PROG_CC
|
||||||
|
|
||||||
|
AC_PROG_LEX
|
||||||
|
AC_PROG_YACC
|
||||||
|
|
||||||
|
PKG_CHECK_MODULES([CMOCKA], [cmocka >= 1.0.1])
|
||||||
|
|
||||||
|
AC_CHECK_HEADER_STDBOOL()
|
||||||
|
|
||||||
|
AC_CHECK_FUNCS([arc4random_uniform],,
|
||||||
|
[PKG_CHECK_MODULES([BSD], [libbsd])])
|
||||||
|
|
||||||
|
AC_CONFIG_FILES([Makefile tests/Makefile])
|
||||||
|
|
||||||
|
AC_SEARCH_LIBS([sqrt], [m])
|
||||||
|
AC_SEARCH_LIBS([cos], [m])
|
||||||
|
|
||||||
|
PKG_INSTALLDIR
|
||||||
|
AC_CONFIG_FILES([libdice.pc])
|
||||||
|
|
||||||
|
AC_OUTPUT
|
@ -24,6 +24,8 @@
|
|||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|
||||||
|
#include "config.h"
|
||||||
|
|
||||||
#ifndef HAVE_ARC4RANDOM_UNIFORM
|
#ifndef HAVE_ARC4RANDOM_UNIFORM
|
||||||
#include <bsd/stdlib.h>
|
#include <bsd/stdlib.h>
|
||||||
#endif
|
#endif
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
%option bison-bridge
|
%option bison-bridge
|
||||||
%option reentrant
|
%option reentrant
|
||||||
|
%option outfile="../lib/dice_lexer.c"
|
||||||
|
|
||||||
%{
|
%{
|
||||||
#define YYSTYPE DPSTYPE
|
#define YYSTYPE DPSTYPE
|
||||||
|
@ -1,11 +1,12 @@
|
|||||||
prefix=@CMAKE_INSTALL_PREFIX@
|
prefix=@prefix@
|
||||||
libdir=lib
|
exec_prefix=@exec_prefix@
|
||||||
includedir=include
|
libdir=@libdir@
|
||||||
|
includedir=@includedir@
|
||||||
|
|
||||||
Name: libdice
|
Name: libdice
|
||||||
Description: dice rolling and math expression library
|
Description: dice rolling and math expression library
|
||||||
Version: @VERSION@
|
Version: @VERSION@
|
||||||
Requires: @REQUIRES@
|
Requires:
|
||||||
Conflicts:
|
Conflicts:
|
||||||
Cflags: -I${includedir}
|
Cflags: -I${includedir}
|
||||||
Libs: -L${libdir} -ldice
|
Libs: -L${libdir} -ldice
|
||||||
|
@ -1,20 +0,0 @@
|
|||||||
CMAKE_MINIMUM_REQUIRED(VERSION 3.2)
|
|
||||||
|
|
||||||
SET(TESTS
|
|
||||||
"test_dice_evaluate"
|
|
||||||
"test_dice_fudge"
|
|
||||||
"test_dice_parse"
|
|
||||||
"test_dice_simple_roll"
|
|
||||||
"test_expr_parse"
|
|
||||||
)
|
|
||||||
|
|
||||||
INCLUDE_DIRECTORIES(
|
|
||||||
"${CMAKE_CURRENT_SOURCE_DIR}/../lib/"
|
|
||||||
${CMOCKA_INCLUDE_DIRS}
|
|
||||||
)
|
|
||||||
|
|
||||||
FOREACH(TEST ${TESTS})
|
|
||||||
ADD_EXECUTABLE(${TEST} ${TEST}.c)
|
|
||||||
TARGET_LINK_LIBRARIES(${TEST} dice ${CMOCKA_LIBRARIES})
|
|
||||||
ADD_TEST(NAME "${TEST}" COMMAND ${TEST})
|
|
||||||
ENDFOREACH()
|
|
10
tests/Makefile.am
Normal file
10
tests/Makefile.am
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
check_PROGRAMS = test_dice_simple_roll \
|
||||||
|
test_dice_parse \
|
||||||
|
test_dice_evaluate \
|
||||||
|
test_dice_fudge \
|
||||||
|
test_expr_parse
|
||||||
|
|
||||||
|
AM_CFLAGS = -I../lib ${CMOCKA_CFLAGS}
|
||||||
|
AM_LDFLAGS = ${CMOCKA_LIBS} ../libdice.la
|
||||||
|
|
||||||
|
TESTS = $(check_PROGRAMS)
|
Loading…
x
Reference in New Issue
Block a user