diff --git a/README b/README index 9cf8435..0fbb5d5 100644 --- a/README +++ b/README @@ -1,6 +1,6 @@ libiso8601 ======================================================================== -(c)2006, Laurence Withers, . +(c)2007, Laurence Withers, . Released under the GNU GPLv2. See file COPYING or http://www.gnu.org/copyleft/gpl.html for details. @@ -10,6 +10,8 @@ Really Quick Instructions To build: ./make.sh To install: ./make.sh install -You might want to edit 'config' first. +You might want to edit 'config' first. You might also want to set +'INSTALL_PREFIX', which is prepended onto the destination of any +installed file. @TODO@ diff --git a/config b/config index af7bb31..eab053f 100644 --- a/config +++ b/config @@ -2,7 +2,7 @@ # kate: replace-trailing-space-save true; space-indent true; tab-width 4; # vim: expandtab:ts=4:sw=4 # -# (c)2006, Laurence Withers, . +# (c)2007, Laurence Withers, . # Released under the GNU GPLv2. See file COPYING or # http://www.gnu.org/copyleft/gpl.html for details. # diff --git a/make.sh b/make.sh index 2e5cf59..91414f4 100755 --- a/make.sh +++ b/make.sh @@ -1,7 +1,7 @@ -#!/bin/bash +#!/bin/sh # libiso8601/make.sh # -# (c)2006, Laurence Withers, . +# (c)2006-2007, Laurence Withers, . # Released under the GNU GPLv2. See file COPYING or # http://www.gnu.org/copyleft/gpl.html for details. # @@ -22,10 +22,6 @@ source "config" # don't fail on error, since last command in config might return # Get version information source version || exit 1 VERSION="${VERMAJOR}.${VERMINOR}.${VERMICRO}" -if [ ! -z "${VEREXTRA}" ] -then - VERSION="${VERSION}-${VEREXTRA}" -fi @@ -48,6 +44,8 @@ OUTPUT_DIRS="obj html" # MONOLITHIC_TESTS if any file mentioned in this list is newer # than the output file, then we recreate it # MONOLITHIC_SOURCE a list (in order) of the source files +# MONOLITHIC_OPTIONS will #define the options to match the respective +# environment variables. # # Recognised formats are: # none no special processing happens before each file @@ -68,18 +66,21 @@ make_monolithic() { # extract options HASHLINE=0 VERDEFINE=0 + HASHDEFINE=0 if [ "$2" == "C" ] then HASHLINE=1 VERDEFINE=1 + HASHDEFINE=1 elif [ "$2" == "Ch" ] then HASHLINE=1 + HASHDEFINE=1 elif [ "$2" == "none" ] then - HASHLINE=0 # dummy command + HASHLINE=0 # dummy command else - print_failure "make_monolithic() called with unknown format $2" + print_failure "make_monolithic() called with unknown format $2" return 1 fi @@ -115,6 +116,14 @@ make_monolithic() { do_cmd_redir ${MONOLITHIC_OUT} echo "#define VEREXTRA \"${VEREXTRA}\"" || return 1 fi + if [ ${HASHDEFINE} -ne 0 ] + then + for opt in ${MONOLITHIC_OPTIONS} + do + do_cmd_redir ${MONOLITHIC_OUT} echo "#define ${opt} ${!opt}" || return 1 + done + fi + for FILE in ${MONOLITHIC_SOURCE} do if [ ${HASHLINE} -ne 0 ] @@ -142,6 +151,10 @@ build_dir_tree() { return 1 fi + build_dir_tree_recurse "${INSTALL_PREFIX}$1" +} + +build_dir_tree_recurse() { local DIR="$1" # if the directory already exists, return success @@ -160,8 +173,9 @@ build_dir_tree() { mkdir "${DIR}" >& /dev/null if [ $? -ne 0 ] then - build_dir_tree $(dirname "${DIR}") || return 1 - mkdir "${DIR}" + build_dir_tree_recurse $(dirname "${DIR}") || return 1 + echo " Creating directory '${DIR}'" + do_cmd mkdir "${DIR}" if [ $? -ne 0 ] then print_failure "Failed to create directory '${DIR}'" @@ -180,10 +194,10 @@ build_dir_tree() { # second is the destination. The third is the octal mode. install_file() { # figure out if $2 is a directory or not - DEST_FILE="$2" - [ -d "$2" ] && DEST_FILE="$2/$(basename $1)" + DEST_FILE="${INSTALL_PREFIX}$2" + [ -d "${DEST_FILE}" ] && DEST_FILE="${INSTALL_PREFIX}$2/$(basename $1)" - echo " Installing: '$1' -> '$2'" + echo " Installing: '$1' -> '${DEST_FILE}'" do_cmd cp -fP "$1" "${DEST_FILE}" || return 1 do_cmd chmod "$3" "${DEST_FILE}" || return 1 @@ -195,10 +209,10 @@ install_file() { # This will install a header file. It is basically similar to # install_file(), only we strip out the #line directives. install_header() { - DEST_FILE="$2" - [ -d "$2" ] && DEST_FILE="$2/$(basename $1)" + DEST_FILE="${INSTALL_PREFIX}$2" + [ -d "${DEST_FILE}" ] && DEST_FILE="${INSTALL_PREFIX}$2/$(basename $1)" - echo " Installing header: '$1' -> '$2'" + echo " Installing: '$1' -> '${DEST_FILE}'" do_cmd rm -f ${DEST_FILE} || exit 1 do_cmd_redir ${DEST_FILE} sed -e "s,^#line.*,," $1 || exit 1 do_cmd chmod "$3" "${DEST_FILE}" || return 1 @@ -212,9 +226,9 @@ install_header() { # second the symlink's source filename, and the third is the directory # in which to create the symlink. install_symlink() { - echo " Installing symlink: '$3/$2' -> '$1'" + echo " Installing symlink: '${INSTALL_PREFIX}$3/$1' -> '$2'" - ( do_cmd cd $3; ln -sf $2 $1 ) || return 1 + ( do_cmd ln -sf $2 ${INSTALL_PREFIX}$3/$1 ) || return 1 return 0 } diff --git a/run-test.sh b/run-test.sh index 3e45b16..f09fe24 100755 --- a/run-test.sh +++ b/run-test.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/sh # libiso8601/test.sh # # (c)2006, Laurence Withers, . diff --git a/scripts/.gitignore b/scripts/.gitignore index 8e5e559..82ea507 100644 --- a/scripts/.gitignore +++ b/scripts/.gitignore @@ -1,13 +1,18 @@ build.app.c build.app.c++ build.app.c++-qt +build.app.sh build.docs.doxygen build.files.none build.firmware.gpasm build.firmware.sdcc build.lib.c build.lib.c++ +build.module.c build.tests.c build.tests.c++ + +config-printflags.sh module-create.sh release.sh +version.sh diff --git a/scripts/functions.sh b/scripts/functions.sh index d4acc7f..47aac54 100755 --- a/scripts/functions.sh +++ b/scripts/functions.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/sh # libiso8601/scripts/functions.sh # # (c)2006, Laurence Withers, . diff --git a/src/libiso8601/build.install-lib b/src/libiso8601/build.install-lib index ec04871..a8ade9a 100644 --- a/src/libiso8601/build.install-lib +++ b/src/libiso8601/build.install-lib @@ -22,7 +22,7 @@ install_header ${libiso8601_HEADER} ${INCLUDEDIR} 0644 || return 1 # install config script echo "Installing config script into ${BINDIR}" -CONFFILE="${BINDIR}/libiso8601-config" +CONFFILE="${INSTALL_PREFIX}${BINDIR}/libiso8601-config" do_cmd rm -f "${CONFFILE}" do_cmd_redir "${CONFFILE}" sed \ diff --git a/src/libiso8601/build.lib b/src/libiso8601/build.lib index 714a3f7..877a454 100644 --- a/src/libiso8601/build.lib +++ b/src/libiso8601/build.lib @@ -13,8 +13,8 @@ then libiso8601="obj/${libiso8601_BASE}.so.${SOMAJOR}.${SOMINOR}.${SOMICRO}" libiso8601_DEP_CFLAGS="" - libiso8601_DEP_LIBS="" - SO_EXTRA="${libiso8601_DEP_CFLAGS} ${libiso8601_DEP_LIBS} -lrt -lc" + libiso8601_DEP_LIBS="-lrt" + SO_EXTRA="${libiso8601_DEP_CFLAGS} ${libiso8601_DEP_LIBS} -lc" echo "Building library ${libiso8601}..." diff --git a/src/libiso8601/config-script b/src/libiso8601/config-script index 1ae1168..f55487b 100644 --- a/src/libiso8601/config-script +++ b/src/libiso8601/config-script @@ -90,6 +90,7 @@ done [ "${echo_exec_prefix}" == "yes" ] && echo "${exec_prefix}" [ "${echo_cflags}" == "yes" ] && echo "${dep_cflags} ${includes}" [ "${echo_libs}" == "yes" ] && echo "${dep_libs} -L${lib_dir} -liso8601" +true diff --git a/src/libiso8601/soversion b/src/libiso8601/soversion index af89dba..064c9db 100644 --- a/src/libiso8601/soversion +++ b/src/libiso8601/soversion @@ -1,6 +1,6 @@ # libiso8601/src/libiso8601/soversion # -# (c)2006, Laurence Withers, . +# (c)2007, Laurence Withers, . # Released under the GNU GPLv2. See file COPYING or # http://www.gnu.org/copyleft/gpl.html for details. # diff --git a/src/tests/template b/src/tests/template index 05c8786..cc5895a 100644 --- a/src/tests/template +++ b/src/tests/template @@ -1,6 +1,6 @@ /* libiso8601/src/tests/???.c * - * (c)2006, Laurence Withers, . + * (c)2007, Laurence Withers, . * Released under the GNU GPLv2. See file COPYING or * http://www.gnu.org/copyleft/gpl.html for details. */ @@ -22,10 +22,10 @@ int main(int argc, char* argv[]) } if(argc == 1) { - // empty argument list + /* empty argument list */ } - // TODO + /* TODO */ return ret; } diff --git a/version b/version index 6466447..721b417 100644 --- a/version +++ b/version @@ -1,6 +1,6 @@ # libiso8601/version # -# (c)2006, Laurence Withers, . +# (c)2007, Laurence Withers, . # Released under the GNU GPLv2. See file COPYING or # http://www.gnu.org/copyleft/gpl.html for details. # @@ -8,12 +8,10 @@ # VERSION contains the full version number of the library, which is -# expected to be in 'major.minor.micro' format. It can optionally be -# suffixed with a string. +# expected to be in 'major.minor.micro' format. VERMAJOR=0 VERMINOR=0 -VERMICRO=2 -VEREXTRA="" +VERMICRO=3 # kate: replace-trailing-space-save true; space-indent true; tab-width 4; # vim: expandtab:ts=4:sw=4