diff --git a/.gitignore b/.gitignore index d025740..2156e01 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ obj html +.*.swp diff --git a/run-test.sh b/run-test.sh index 0485c02..f563592 100755 --- a/run-test.sh +++ b/run-test.sh @@ -21,7 +21,7 @@ run_test() { return 1 fi - LD_LIBRARY_PATH="obj" ${EXE} "$@" || return 1 + LD_LIBRARY_PATH="obj" "${EXE}" "$@" || return 1 return 0 } diff --git a/scripts/paths b/scripts/paths index 9475d37..0975fc2 100644 --- a/scripts/paths +++ b/scripts/paths @@ -8,77 +8,56 @@ # to override values if needed. # -# build proposed paths -case "${PREFIX}" in -/) - MY_BINDIR="/bin" - MY_SBINDIR="/sbin" - MY_LIBDIR="/lib" - MY_INCLUDEDIR="/usr/include" - MY_CONFIGDIR="/etc" - MY_VARDIR="/var" - MY_SHAREDIR="/usr/share/libiso8601" - MY_DOCSDIR="/usr/share/doc/libiso8601" - MY_WEBDIR="/srv/http" - ;; +MY_PREFIX="${PREFIX}" +[ "${MY_PREFIX}" == "/" ] && MY_PREFIX="" -/usr) - MY_BINDIR="/usr/bin" - MY_SBINDIR="/usr/sbin" - MY_LIBDIR="/usr/lib" - MY_INCLUDEDIR="/usr/include" - MY_CONFIGDIR="/etc" - MY_VARDIR="/var" - MY_SHAREDIR="/usr/share/libiso8601" - MY_DOCSDIR="/usr/share/doc/libiso8601" - MY_WEBDIR="/srv/http" - ;; +[ -z "${BINDIR}" ] && BINDIR="${PREFIX}/bin" +[ -z "${SBINDIR}" ] && SBINDIR="${PREFIX}/sbin" +[ -z "${LIBDIR}" ] && LIBDIR="${PREFIX}/lib" -/usr/local) - MY_BINDIR="/usr/local/bin" - MY_SBINDIR="/usr/local/sbin" - MY_LIBDIR="/usr/local/lib" - MY_INCLUDEDIR="/usr/local/include" - MY_CONFIGDIR="/usr/local/etc" - MY_VARDIR="/var" - MY_SHAREDIR="/usr/local/share/libiso8601" - MY_DOCSDIR="/usr/local/share/doc/libiso8601" - MY_WEBDIR="/srv/http" - ;; +if [ -z "${INCLUDEDIR}" ] +then + case "${PREFIX}" in + /) INCLUDEDIR="/usr/include" ;; + *) INCLUDEDIR="${PREFIX}/include" ;; + esac +fi -/opt/*) - MY_BINDIR="${PREFIX}/bin" - MY_SBINDIR="${PREFIX}/sbin" - MY_LIBDIR="${PREFIX}/lib" - MY_INCLUDEDIR="${PREFIX}/include" - MY_CONFIGDIR="/etc${PREFIX}" - MY_VARDIR="/var${PREFIX}" - MY_SHAREDIR="/var${PREFIX}" - MY_DOCSDIR="${PREFIX}/doc" - MY_WEBDIR="${PREFIX}/http" - ;; +if [ -z "${CONFIGDIR}" ] +then + case "${PREFIX}" in + / | /usr) CONFIGDIR="/etc" ;; + /opt*) CONFIGDIR="/etc${PREFIX}" ;; + *) CONFIGDIR="${PREFIX}/etc" ;; + esac +fi -**) - MY_BINDIR="${PREFIX}/bin" - MY_SBINDIR="${PREFIX}/sbin" - MY_LIBDIR="${PREFIX}/lib" - MY_INCLUDEDIR="${PREFIX}/include" - MY_CONFIGDIR="${PREFIX}/etc" - MY_VARDIR="${PREFIX}/var" - MY_DOCSDIR="${PREFIX}/share/doc" - MY_WEBDIR="${PREFIX}/srv/http" - ;; -esac +if [ -z "${VARDIR}" ] +then + case "${PREFIX}" in + / | /usr | /usr/local) VARDIR="/var" ;; + /opt*) VARDIR="/var${PREFIX}" ;; + *) VARDIR="${PREFIX}/var" ;; + esac +fi -# assign paths allowing user to override -[ -z "${BINDIR}" ] && BINDIR="${MY_BINDIR}" -[ -z "${SBINDIR}" ] && SBINDIR="${MY_SBINDIR}" -[ -z "${LIBDIR}" ] && LIBDIR="${MY_LIBDIR}" -[ -z "${INCLUDEDIR}" ] && INCLUDEDIR="${MY_INCLUDEDIR}" -[ -z "${CONFIGDIR}" ] && CONFIGDIR="${MY_CONFIGDIR}" -[ -z "${VARDIR}" ] && VARDIR="${MY_VARDIR}" -[ -z "${DOCSDIR}" ] && DOCSDIR="${MY_DOCSDIR}" -[ -z "${WEBDIR}" ] && WEBDIR="${MY_WEBDIR}" +if [ -z "${SHAREDIR}" ] +then + case "${PREFIX}" in + /) SHAREDIR="/usr/share" ;; + *) SHAREDIR="${PREFIX}/share" ;; + esac +fi +[ -z "${DOCSDIR}" ] && DOCSDIR="${SHAREDIR}/doc" + +if [ -z "${SRVDIR}" ] +then + case "${PREFIX}" in + / | /usr | /usr/local) SRVDIR="/srv" ;; + *) SRVDIR="${PREFIX}/srv" ;; + esac +fi +[ -z "${WEBDIR}" ] && WEBDIR="${SRVDIR}/http" [ -z "${CGIDIR}" ] && CGIDIR="${WEBDIR}/cgi-bin" # kate: replace-trailing-space-save true; space-indent true; tab-width 4; diff --git a/src/docs/Doxyfile.in b/src/docs/Doxyfile.in index b71afb7..5952cb7 100644 --- a/src/docs/Doxyfile.in +++ b/src/docs/Doxyfile.in @@ -7,36 +7,43 @@ DOXYFILE_ENCODING = UTF-8 PROJECT_NAME = libiso8601 -OUTPUT_DIRECTORY = +OUTPUT_DIRECTORY = CREATE_SUBDIRS = NO OUTPUT_LANGUAGE = English BRIEF_MEMBER_DESC = YES REPEAT_BRIEF = YES -ABBREVIATE_BRIEF = +ABBREVIATE_BRIEF = ALWAYS_DETAILED_SEC = NO INLINE_INHERITED_MEMB = YES FULL_PATH_NAMES = NO -STRIP_FROM_PATH = -STRIP_FROM_INC_PATH = +STRIP_FROM_PATH = +STRIP_FROM_INC_PATH = SHORT_NAMES = NO JAVADOC_AUTOBRIEF = NO +QT_AUTOBRIEF = NO MULTILINE_CPP_IS_BRIEF = YES -DETAILS_AT_TOP = YES INHERIT_DOCS = YES SEPARATE_MEMBER_PAGES = NO TAB_SIZE = 4 -ALIASES = -OPTIMIZE_OUTPUT_FOR_C = NO +ALIASES = +OPTIMIZE_OUTPUT_FOR_C = YES OPTIMIZE_OUTPUT_JAVA = NO +OPTIMIZE_FOR_FORTRAN = NO +OPTIMIZE_OUTPUT_VHDL = NO BUILTIN_STL_SUPPORT = NO CPP_CLI_SUPPORT = NO +SIP_SUPPORT = NO +IDL_PROPERTY_SUPPORT = NO DISTRIBUTE_GROUP_DOC = NO SUBGROUPING = YES +TYPEDEF_HIDES_STRUCT = NO +SYMBOL_CACHE_SIZE = 0 EXTRACT_ALL = NO EXTRACT_PRIVATE = NO EXTRACT_STATIC = NO EXTRACT_LOCAL_CLASSES = NO EXTRACT_LOCAL_METHODS = NO +EXTRACT_ANON_NSPACES = NO HIDE_UNDOC_MEMBERS = NO HIDE_UNDOC_CLASSES = NO HIDE_FRIEND_COMPOUNDS = YES @@ -48,36 +55,41 @@ SHOW_INCLUDE_FILES = NO INLINE_INFO = YES SORT_MEMBER_DOCS = NO SORT_BRIEF_DOCS = NO +SORT_GROUP_NAMES = NO SORT_BY_SCOPE_NAME = NO GENERATE_TODOLIST = YES GENERATE_TESTLIST = YES GENERATE_BUGLIST = YES GENERATE_DEPRECATEDLIST= YES -ENABLED_SECTIONS = +ENABLED_SECTIONS = MAX_INITIALIZER_LINES = 30 SHOW_USED_FILES = NO SHOW_DIRECTORIES = NO -FILE_VERSION_FILTER = +SHOW_FILES = NO +SHOW_NAMESPACES = YES +FILE_VERSION_FILTER = +LAYOUT_FILE = QUIET = YES WARNINGS = YES WARN_IF_UNDOCUMENTED = YES WARN_IF_DOC_ERROR = YES WARN_NO_PARAMDOC = YES WARN_FORMAT = "$file:$line: $text" -WARN_LOGFILE = +WARN_LOGFILE = +INPUT = INPUT_ENCODING = UTF-8 -FILE_PATTERNS = +FILE_PATTERNS = RECURSIVE = NO -EXCLUDE = +EXCLUDE = EXCLUDE_SYMLINKS = NO -EXCLUDE_PATTERNS = +EXCLUDE_PATTERNS = EXCLUDE_SYMBOLS = -EXAMPLE_PATH = -EXAMPLE_PATTERNS = +EXAMPLE_PATH = +EXAMPLE_PATTERNS = EXAMPLE_RECURSIVE = NO IMAGE_PATH = src/docs -INPUT_FILTER = -FILTER_PATTERNS = +INPUT_FILTER = +FILTER_PATTERNS = FILTER_SOURCE_FILES = NO SOURCE_BROWSER = NO INLINE_SOURCES = NO @@ -89,24 +101,35 @@ USE_HTAGS = NO VERBATIM_HEADERS = NO ALPHABETICAL_INDEX = YES COLS_IN_ALPHA_INDEX = 5 -IGNORE_PREFIX = +IGNORE_PREFIX = GENERATE_HTML = YES HTML_OUTPUT = html HTML_FILE_EXTENSION = .html -HTML_HEADER = -HTML_FOOTER = -HTML_STYLESHEET = +HTML_HEADER = +HTML_FOOTER = +HTML_STYLESHEET = HTML_ALIGN_MEMBERS = YES +HTML_DYNAMIC_SECTIONS = YES +GENERATE_DOCSET = NO +DOCSET_FEEDNAME = "Doxygen generated docs" +DOCSET_BUNDLE_ID = org.doxygen.Project GENERATE_HTMLHELP = NO -CHM_FILE = -HHC_LOCATION = +CHM_FILE = +HHC_LOCATION = GENERATE_CHI = NO +CHM_INDEX_ENCODING = BINARY_TOC = NO TOC_EXPAND = NO +GENERATE_QHP = NO +QCH_FILE = +QHP_NAMESPACE = org.doxygen.Project +QHP_VIRTUAL_FOLDER = doc +QHG_LOCATION = DISABLE_INDEX = NO ENUM_VALUES_PER_LINE = 4 GENERATE_TREEVIEW = NO TREEVIEW_WIDTH = 250 +FORMULA_FONTSIZE = 10 GENERATE_LATEX = NO LATEX_OUTPUT = latex LATEX_CMD_NAME = latex @@ -143,14 +166,14 @@ ENABLE_PREPROCESSING = YES MACRO_EXPANSION = YES EXPAND_ONLY_PREDEF = YES SEARCH_INCLUDES = YES -INCLUDE_PATH = -INCLUDE_FILE_PATTERNS = +INCLUDE_PATH = +INCLUDE_FILE_PATTERNS = PREDEFINED = DOXYGEN \ __attribute__()= -EXPAND_AS_DEFINED = +EXPAND_AS_DEFINED = SKIP_FUNCTION_MACROS = YES -TAGFILES = -GENERATE_TAGFILE = +TAGFILES = +GENERATE_TAGFILE = ALLEXTERNALS = NO EXTERNAL_GROUPS = YES PERL_PATH = /usr/bin/perl @@ -158,6 +181,9 @@ CLASS_DIAGRAMS = YES MSCGEN_PATH = HIDE_UNDOC_RELATIONS = YES HAVE_DOT = YES +DOT_FONTNAME = FreeSans +DOT_FONTSIZE = 10 +DOT_FONTPATH = CLASS_GRAPH = YES COLLABORATION_GRAPH = YES GROUP_GRAPHS = NO @@ -170,9 +196,10 @@ CALLER_GRAPH = NO GRAPHICAL_HIERARCHY = YES DIRECTORY_GRAPH = NO DOT_IMAGE_FORMAT = png -DOT_PATH = -DOTFILE_DIRS = +DOT_PATH = +DOTFILE_DIRS = DOT_GRAPH_MAX_NODES = 50 +MAX_DOT_GRAPH_DEPTH = 0 DOT_TRANSPARENT = YES DOT_MULTI_TARGETS = YES GENERATE_LEGEND = YES diff --git a/src/libiso8601/build.lib b/src/libiso8601/build.lib index c94163b..7ff8c42 100644 --- a/src/libiso8601/build.lib +++ b/src/libiso8601/build.lib @@ -39,8 +39,9 @@ then -Wl,-soname,${SONAME} \ ${SRC} ${SO_EXTRA} || return 1 - # make tests work - do_cmd ln -sf $(basename ${libiso8601}) obj/${SONAME} || return 1 + # make tests and linking work + do_cmd ln -sf "$(basename "${libiso8601}")" "obj/${SONAME}" || return 1 + do_cmd ln -sf "$(basename "${libiso8601}")" "obj/${libiso8601_BASE}.so" || return 1 print_success "Library built" else diff --git a/src/tests/template b/src/tests/template index dc1611d..6d05ac7 100644 --- a/src/tests/template +++ b/src/tests/template @@ -17,7 +17,7 @@ int main(int argc, char* argv[]) int ret = 0; if(argc == 2 && !strcmp(argv[1], "--print-summary")) { - printf("One line summary.\n"); + fputs("One line summary.\n", stdout); return 0; }