diff --git a/ax_init_standard_project.m4 b/ax_init_standard_project.m4 index 8ce3d18..28d9c92 100644 --- a/ax_init_standard_project.m4 +++ b/ax_init_standard_project.m4 @@ -13,12 +13,12 @@ m4_define(x_least, m4_ifdef([x_least_fix], [x_least_fix], mrw_esyscmd_s([ VCS_REVISION="ERROR-UNDEFINED-REVISION-to-be-built-in-subdirectory-of-checkout" for path in . .. ../.. ../../..; do - if test -d .svn; then - svn upgrade 1>&2 > /dev/null || true + if test -d ${path}/.svn; then + (cd $path; svn upgrade 1>&2 > /dev/null || true) VCS_REVISION=$(LANG= svn info $path | sed -n 's/Last Changed Rev: //p') if test -n "${VCS_REVISION}"; then break; fi - elif test -d .git; then - VCS_REVISION=$(git rev-list --all --count) + elif test -d ${path}/.git; then + VCS_REVISION=$(cd ${path} > /dev/null 2/dev/null; git rev-list --all --count) if test -n "${VCS_REVISION}"; then break; fi fi done @@ -26,12 +26,12 @@ m4_define(x_least, m4_ifdef([x_least_fix], [x_least_fix], ]), mrw_esyscmd_s([ VCS_REVISION="ERROR-UNDEFINED-REVISION-to-be-built-in-subdirectory-of-checkout" for path in . .. ../.. ../../..; do - if test -d .svn; then - svn upgrade 1>&2 > /dev/null || true + if test -d ${path}/.svn; then + (cd $path; svn upgrade 1>&2 > /dev/null || true) VCS_REVISION=$(LANG= svn info $path | sed -n 's/Last Changed Rev: //p') if test -n "${VCS_REVISION}"; then break; fi - elif test -d .git; then - VCS_REVISION=$(git rev-list --all --count) + elif test -d ${path}/.git; then + VCS_REVISION=$(cd ${path} > /dev/null 2/dev/null; git rev-list --all --count) if test -n "${VCS_REVISION}"; then break; fi fi done @@ -44,12 +44,12 @@ m4_define(x_least, m4_ifdef([x_least_fix], [x_least_fix], m4_define(x_minor_diff, m4_ifdef([x_least_fix], 0, mrw_esyscmd_s([ VCS_REVISION="ERROR-UNDEFINED-REVISION-to-be-built-in-subdirectory-of-checkout" for path in . .. ../.. ../../..; do - if test -d .svn; then - svn upgrade 1>&2 > /dev/null || true + if test -d ${path}/.svn; then + (cd $path; svn upgrade 1>&2 > /dev/null || true) VCS_REVISION=$(LANG= svn info $path | sed -n 's/Last Changed Rev: //p') if test -n "${VCS_REVISION}"; then break; fi - elif test -d .git; then - VCS_REVISION=$(git rev-list --all --count) + elif test -d ${path}/.git; then + VCS_REVISION=$(cd ${path} > /dev/null 2/dev/null; git rev-list --all --count) if test -n "${VCS_REVISION}"; then break; fi fi; done @@ -714,6 +714,15 @@ EOF # $4 = alternative module names (space separated, optional) # $5 = optional flags: # manualflags if CXXFLAGS, CPPFLAGS, LIBS should remain unchanged +# $6 = optional parameters, allowed are (evaluated in this order): +# - RPM_DIST_PKG= +# special name for the RPM package +# - DEB_DIST_PKG= +# special name for the debian package +# - DIST_PKG= +# if the name of the package is different +# - DEV_DIST_PKG= +# if the name of the development package is different # # uses PKG_CHECK_MODULES to test for a module # then, if given, looks for the header file @@ -723,118 +732,11 @@ EOF AC_DEFUN([AX_PKG_REQUIRE], [ PKG_PROG_PKG_CONFIG optional_flags="$5" - $1_found=no - secondpar="m4_default([$2], [$1])" - PKG_CHECK_MODULES([$1], [m4_default([$2], [$1])], [ - $1_found=$secondpar - PKG_REQUIREMENTS+=" $secondpar" - ], [ - if test -n "$4"; then - AC_MSG_WARN([Recommended package $secondpar for feature $1 not installed, trying $4]) - for pkg in $4; do - PKG_CHECK_MODULES([$1], [$pkg], [ - PKG_REQUIREMENTS+=" $pkg" - $1_found=$pkg - break; - ], [ - AC_MSG_WARN([Recommended package $pkg for feature $1 not installed]) - ]) - done - fi - ]) - AC_SUBST(CPPFLAGS) - AC_SUBST(CXXFLAGS) - AC_SUBST(PKG_REQUIREMENTS) - if test -n "$3"; then - if test "${$1_found}" = "no"; then - tmp_package="yes" - else - tmp_package=${$1_found} - fi - $1_found=no - old_CPPFLAGS=${CPPFLAGS} - CPPFLAGS=" ${$1_CFLAGS} ${CPPFLAGS}" - AC_CHECK_HEADER([$3], [ - $1_found=${tmp_package} - ], [ - for x in ${$1_CFLAGS}; do - AC_MSG_NOTICE([search for $3 in ${x[#]-I}]) - for f in $(find ${x[#]-I} -name "$3" 2> /dev/null); do - if test -f "$f"; then - $1_found=${tmp_package} - $1_CFLAGS+=" -I${f%/*}" - AC_MSG_NOTICE([added path ${f%/*}]) - break; - fi - done - if test "${$1_found}" != "no"; then - break; - fi - done - if test "${$1_found}" = "no"; then - tmp_includedir=$(${PKG_CONFIG} --variable=includedir $tmp_package) - for x in ${tmp_includedir}; do - AC_MSG_NOTICE([search for $3 in $x]) - for f in $(find ${x} -name "$3" 2> /dev/null); do - if test -f "$f"; then - $1_found=${tmp_package} - $1_CFLAGS+=" -I${f%/*}" - AC_MSG_NOTICE([added path ${f%/*}]) - break; - fi - done - if test "${$1_found}" != "no"; then - break; - fi - done - fi - ]) - CPPFLAGS=${old_CPPFLAGS} - fi - if test "${$1_found}" = "no"; then - if test -n "$3"; then - if test -n "$4"; then - AC_MSG_ERROR([Feature $1 not found, need header $3 in modules $secondpar or $4]) - else - AC_MSG_ERROR([Feature $1 not found, need header $3 in module $secondpar]) - fi - else - AC_MSG_ERROR([Feature $1 not found please install module $secondpar]) - fi + $6 + if test -n "$DEV_DIST_PKG"; then + DEV_DEB_DIST_PKG=${DEV_DIST_PKG}-dev + DEV_RPM_DIST_PKG=${DEV_DIST_PKG}-devel fi - AX_DEB_DEPEND([${$1_found}]) - AX_RPM_DEPEND([${$1_found}]) - [$1]_CPPFLAGS="${$1_CFLAGS}" - [$1]_CXXFLAGS="${$1_CFLAGS}" - AC_SUBST([$1]_CPPFLAGS) - AC_SUBST([$1]_CXXFLAGS) - if test "${optional_flags/manualflags/}" = "${optional_flags}"; then - CPPFLAGS+=" ${$1_CPPFLAGS}" - CXXFLAGS+=" ${$1_CXXFLAGS}" - LIBS+=" ${$1_LIBS}" - AC_MSG_NOTICE([Adding flags for $1]) - else - AC_MSG_NOTICE([To enable $1, add $1_CPPFLAGS, $1_CXXFLAGS and $1_LIBS]) - fi -]) - -# require a specific development package, with fallback: test for a header -# - parameter: -# $1 = unique id (no special characters) -# $2 = module name (optional, if different from id) -# $3 = a header file to find (optional) -# $4 = alternative module names (space separated, optional) -# $5 = optional flags: -# manualflags if CXXFLAGS, CPPFLAGS, LIBS should remain unchanged -# -# uses PKG_CHECK_MODULES to test for a module -# then, if given, looks for the header file -# if header file is not found, searches in alternative modules -# sets all flags, so that the module can be used everywhere -# fails if not found -AC_DEFUN([AX_PKG_REQUIRE_DEV], [ - PKG_PROG_PKG_CONFIG - optional_flags="$5" $1_found=no secondpar="m4_default([$2], [$1])" PKG_CHECK_MODULES([$1], [m4_default([$2], [$1])], [ @@ -914,8 +816,10 @@ AC_DEFUN([AX_PKG_REQUIRE_DEV], [ AC_MSG_ERROR([Feature $1 not found please install module $secondpar]) fi fi - AX_DEB_BUILD_DEPEND([${$1_found}-dev]) - AX_RPM_BUILD_DEPEND([${$1_found}-devel]) + AX_DEB_BUILD_DEPEND([${DEV_DEB_DIST_PKG:-${DEB_DIST_PKG:-${DIST_PKG:-${$1_found}-dev}}}]) + AX_RPM_BUILD_DEPEND([${DEV_RPM_DIST_PKG:-${RPM_DIST_PKG:-${DIST_PKG:-${$1_found}-devel}}}]) + AX_DEB_DEPEND([${DEB_DIST_PKG:-${DIST_PKG:-${$1_found}}}]) + AX_RPM_DEPEND([${RPM_DIST_PKG:-${DIST_PKG:-${$1_found}}}]) [$1]_CPPFLAGS="${$1_CFLAGS}" [$1]_CXXFLAGS="${$1_CFLAGS}" AC_SUBST([$1]_CPPFLAGS) @@ -936,12 +840,26 @@ AC_DEFUN([AX_PKG_REQUIRE_DEV], [ # $2 = module name (optional, if different from id) # $3 = optional flags: # manualflags if CXXFLAGS, CPPFLAGS, LIBS should remain unchanged +# $4 = optional parameters, allowed are (evaluated in this order): +# - RPM_DIST_PKG= +# special name for the RPM package +# - DEB_DIST_PKG= +# special name for the debian package +# - DIST_PKG= +# if the name of the package is different +# - DEV_DIST_PKG= +# if the name of the development package is different # # uses PKG_CHECK_MODULES to test for a module # sets automake conditional HAVE_$1 to 0 (not found) or 1 (found) # sets all flags, so that the module can be used everywhere AC_DEFUN([AX_PKG_CHECK], [ optional_flags="$3" + $4 + if test -n "$DEV_DIST_PKG"; then + DEV_DEB_DIST_PKG=${DEV_DIST_PKG}-dev + DEV_RPM_DIST_PKG=${DEV_DIST_PKG}-devel + fi PKG_PROG_PKG_CONFIG PKG_CHECK_MODULES([$1], [m4_default([$2], [$1])], [ HAVE_$1=1 @@ -965,52 +883,10 @@ AC_DEFUN([AX_PKG_CHECK], [ ], [ HAVE_$1=0 ]) - AX_DEB_BUILD_DEPEND(m4_default([$2], [$1])) - AX_RPM_BUILD_DEPEND(m4_default([$2], [$1])) - AM_CONDITIONAL(HAVE_$1, test $HAVE_[$1] -eq 1) - AC_SUBST(HAVE_$1) - AC_SUBST(CPPFLAGS) - AC_SUBST(CXXFLAGS) - AC_SUBST(PKG_REQUIREMENTS) -]) - -# check if a specific development package exists -# - parameter: -# $1 = unique id (no special characters) -# $2 = module name (optional, if different from id) -# $3 = optional flags: -# manualflags if CXXFLAGS, CPPFLAGS, LIBS should remain unchanged -# -# uses PKG_CHECK_MODULES to test for a module -# sets automake conditional HAVE_$1 to 0 (not found) or 1 (found) -# sets all flags, so that the module can be used everywhere -AC_DEFUN([AX_PKG_CHECK_DEV], [ - optional_flags="$3" - PKG_PROG_PKG_CONFIG - PKG_CHECK_MODULES([$1], [m4_default([$2], [$1])], [ - HAVE_$1=1 - [$1]_CPPFLAGS="${$1_CFLAGS}" - [$1]_CXXFLAGS="${$1_CFLAGS}" - AC_SUBST([$1]_CPPFLAGS) - AC_SUBST([$1]_CXXFLAGS) - if test "${optional_flags/manualflags/}" = "${optional_flags}"; then - CPPFLAGS+=" ${$1_CPPFLAGS}" - CXXFLAGS+=" ${$1_CXXFLAGS}" - LIBS+=" ${$1_LIBS}" - AC_MSG_NOTICE([Adding flags for $1]) - else - AC_MSG_NOTICE([To enable $1, add $1_CPPFLAGS, $1_CXXFLAGS and $1_LIBS]) - fi - if test -z "$PKG_REQUIREMENTS"; then - PKG_REQUIREMENTS="m4_default([$2], [$1])" - else - PKG_REQUIREMENTS="${PKG_REQUIREMENTS}, m4_default([$2], [$1])" - fi - ], [ - HAVE_$1=0 - ]) - AX_DEB_BUILD_DEPEND(m4_default([$2], [$1])-dev) - AX_RPM_BUILD_DEPEND(m4_default([$2], [$1])-devel) + AX_DEB_BUILD_DEPEND([${DEV_DEB_DIST_PKG:-${DEB_DIST_PKG:-${DIST_PKG:-m4_default([$2], [$1])-dev}}}]) + AX_RPM_BUILD_DEPEND([${DEV_RPM_DIST_PKG:-${RPM_DIST_PKG:-${DIST_PKG:-m4_default([$2], [$1])-devel}}}]) + AX_DEB_DEPEND([${DEB_DIST_PKG:-${DIST_PKG:-m4_default([$2], [$1])}}]) + AX_RPM_DEPEND([${RPM_DIST_PKG:-${DIST_PKG:-m4_default([$2], [$1])}}]) AM_CONDITIONAL(HAVE_$1, test $HAVE_[$1] -eq 1) AC_SUBST(HAVE_$1) AC_SUBST(CPPFLAGS) @@ -1278,8 +1154,8 @@ AC_DEFUN([AX_ALL_BUILD_DEPEND], [ # $1 = package name AC_DEFUN([AX_ALL_BUILD_DEPEND_DEV], [ pkg="$1" - DEB_BUILD_DEPEND="${DEB_BUILD_DEPEND}, ${pkg}-dev" - RPM_BUILD_DEPEND="${RPM_BUILD_DEPEND}, ${pkg}-devel" + DEB_BUILD_DEPEND="${DEB_BUILD_DEPEND}, ${pkg// /-dev}-dev" + RPM_BUILD_DEPEND="${RPM_BUILD_DEPEND}, ${pkg// /-devel}-devel" ]) # require package in .spec.in append @ALL_DEPEND@ to Depends @@ -1295,6 +1171,7 @@ AC_DEFUN([AX_ALL_DEPEND], [ fi ]) +# finish configuration - to be called instead of AC_OUTPUT AC_DEFUN([AX_OUTPUT], [ AX_DEB_RESOLVE AX_RPM_RESOLVE diff --git a/bootstrap.sh b/bootstrap.sh index 1559eac..033db1b 100755 --- a/bootstrap.sh +++ b/bootstrap.sh @@ -303,17 +303,22 @@ done echo -en "\e[1m-> checking:\e[0m for version control system ..." VCS="" VCSDEPENDS="" -if test -d .svn; then - VCS="svn" - VCSDEPENDS_DEB="svn2cl, subversion, subversion-tools," - VCSDEPENDS_RPM="subversion," - echo -e " \e[32msuccess\e[0m detected ${VCS}" -elif test -d .git; then - VCS="git" - VCSDEPENDS_DEB="git2cl, git," - VCSDEPENDS_RPM="git," - echo -e " \e[32msuccess\e[0m detected ${VCS}" -else +for path in . .. ../.. ../../..; do + if test -d ${path}/.svn; then + VCS="svn" + VCSDEPENDS_DEB="svn2cl, subversion, subversion-tools," + VCSDEPENDS_RPM="subversion," + echo -e " \e[32msuccess\e[0m detected ${VCS}" + break + elif test -d ${path}/.git; then + VCS="git" + VCSDEPENDS_DEB="git2cl, git," + VCSDEPENDS_RPM="git," + echo -e " \e[32msuccess\e[0m detected ${VCS}" + break + fi +done +if test -z "$VCS"; then echo -e " \e[33mignored\e[0m" fi @@ -634,7 +639,7 @@ LANGUAGE_FILE_BASE = ${PACKAGE_NAME} QT_PLUGINS = iconengines imageformats platforms #### enable if you deliver a KDE/Gnome desktop file -#applicationsdir = ${datarootdir}/applications +#applicationsdir = \${datarootdir}/applications #dist_applications_DATA = ${PACKAGE_NAME}.desktop #### enable (ev. instead of bin_PROGRAMS) if you build a library @@ -671,25 +676,26 @@ ${PACKAGE_NAME//-/_}_TR_FILES = main.cxx version.cxx ${PACKAGE_NAME//-/_}_SOURCES = \${${PACKAGE_NAME//-/_}_TR_FILES} \${BUILT_SOURCES} ## automatic assembly, no need to change -BUILT_SOURCES = \${${PACKAGE_NAME//-/_}_MOCFILES} \ - \${${PACKAGE_NAME//-/_}_UIFILES} \ - \${${PACKAGE_NAME//-/_}_TRANSLATIONS} \ +BUILT_SOURCES = \${${PACKAGE_NAME//-/_}_MOCFILES} \\ + \${${PACKAGE_NAME//-/_}_UIFILES} \\ + \${${PACKAGE_NAME//-/_}_TRANSLATIONS} \\ \${${PACKAGE_NAME//-/_}_RESOURCES} ## automatic assembly, no need to change -EXTRA_DIST_TR = \${${PACKAGE_NAME//-/_}_MOCFILES:moc_%.cxx=%.hxx} \ +EXTRA_DIST_TR = \${${PACKAGE_NAME//-/_}_MOCFILES:moc_%.cxx=%.hxx} \\ \${${PACKAGE_NAME//-/_}_UIFILES:ui_%.hxx=%.ui} ## automatic assembly, no need to change ## except: adapt the pre-delivered qt_%.qm list (language files you copy from qt -EXTRA_DIST = \${EXTRA_DIST_TR} \ - \${${PACKAGE_NAME//-/_}_RESOURCES:qrc_%.cxx:%.qrc} \ - \${${PACKAGE_NAME//-/_}_TRANSLATIONS:%.qm=%.ts} \ +EXTRA_DIST = \${EXTRA_DIST_TR} \\ + \${${PACKAGE_NAME//-/_}_RESOURCES:qrc_%.cxx=%.qrc} \\ + \${${PACKAGE_NAME//-/_}_TRANSLATIONS:%.qm=%.ts} \\ qt_de.qm qt_fr.qm ## automatic assembly, no need to change LANGUAGE_FILES = \${EXTRA_DIST_TR} \${${PACKAGE_NAME//-/_}_TR_FILES} +CLEANFILES = \${${PACKAGE_NAME//-/_}_RESOURCES} MAINTAINERCLEANFILES = makefile.in EOF to --condition AX_USE_CXX src/main.cxx <