diff --git a/ChangeLog b/ChangeLog index 7500dd9..61bd2c5 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,34 @@ +2015-03-15 22:59 marc + + * configure.ac: compatibility with more distributions + +2015-03-15 22:51 marc + + * configure.ac, src/qbrowserlib/downloadmanager.hxx: compatibility + with more distributions + +2015-03-15 22:05 marc + + * ax_check_qt.m4, ax_cxx_compile_stdcxx_11.m4, + ax_init_standard_project.m4, bootstrap.sh, + debian/swisssurfer-dev.install, debian/swisssurfer.install: build + fixed - missing resources, translations, test, examples + +2015-03-15 21:58 marc + + * debian/swisssurfer-dev.install, debian/swisssurfer.install: build + fixed - missing resources, translations, test, examples + +2015-03-15 21:58 marc + + * ChangeLog, ax_check_qt.m4, ax_cxx_compile_stdcxx_11.m4, + ax_init_standard_project.m4, bootstrap.sh, doc/doxyfile.in, + doc/makefile.am, src/designer/buttonlineeditwidgetifc.json, + src/designer/makefile.am, src/designer/webviewwidgetifc.json, + src/designer/webwidgetifc.json, src/makefile.am, + src/qbrowserlib/makefile.am: build fixed - missing resources, + translations, test, examples + 2015-03-15 20:55 marc * README, ax_check_qt.m4, ax_cxx_compile_stdcxx_11.m4, diff --git a/ax_check_qt.m4 b/ax_check_qt.m4 index 5422129..61724b6 100644 --- a/ax_check_qt.m4 +++ b/ax_check_qt.m4 @@ -1,6 +1,10 @@ # SYNOPSIS # -# AX_CXX_CHECK_QT([qt_prefix], [list-of-qt-modules]) +# Check if a module exists: +# AX_CXX_CHECK_QT([qt_prefix], [list-of-qt-modules], [optional-modules]) +# +# Abort if a module does not exist: +# AX_CXX_REQUIRE_QT([qt_prefix], [list-of-qt-modules], [optional-modules]) # # DESCRIPTIONS # @@ -25,6 +29,13 @@ # feature. Each entry in the list can have a version comparison # specifier, with the same syntax as the Requires keyword in the # data files themselves. +# +# optional-modules +# +# Optional list of more, optional modules, e.g. modules that +# exist only in Qt5, but not in Qt4, such as QtWidgets or +# QtWebKitWidgets + AC_DEFUN([AX_CXX_QT_TOOL], [ if test -z "$HAVE_$1"; then @@ -93,12 +104,24 @@ AC_DEFUN([AX_CHECK_QT], [ MOC_FLAGS+=" -DHAVE_$1=1 ${[$1]5_CFLAGS}" AM_CXXFLAGS+=" ${[$1]5_CFLAGS}" LIBS+=" ${[$1]5_LIBS}" + modules=${qt_modules//Qt/Qt5} + if test -z "$PKG_REQUIREMENTS"; then + PKG_REQUIREMENTS="${modules// /, }" + else + PKG_REQUIREMENTS="${PKG_REQUIREMENTS}, ${modules// /, }" + fi if test -n "${qt_modules_optional}"; then PKG_CHECK_MODULES([$1]5_OPTIONAL, [${qt_modules_optional//Qt/Qt5}], [ AM_CPPFLAGS+=" ${[$1]5_OPTIONAL_CFLAGS}" MOC_FLAGS+=" ${[$1]5_OPTIONAL_CFLAGS}" AM_CXXFLAGS+=" ${[$1]5_OPTIONAL_CFLAGS}" LIBS+=" ${[$1]5_OPTIONAL_LIBS}" + modules=${qt_modules_optional//Qt/Qt5} + if test -z "$PKG_REQUIREMENTS"; then + PKG_REQUIREMENTS="${modules// /, }" + else + PKG_REQUIREMENTS="${PKG_REQUIREMENTS}, ${modules// /, }" + fi ], [ AC_MSG_NOTICE([Not found: ${qt_modules_optional//Qt/Qt5}]) ]) @@ -111,12 +134,24 @@ AC_DEFUN([AX_CHECK_QT], [ MOC_FLAGS+=" -DHAVE_$1=1 ${$1_CFLAGS}" AM_CXXFLAGS+=" ${$1_CFLAGS}" LIBS+=" ${$1_LIBS}" + modules=${qt_modules} + if test -z "$PKG_REQUIREMENTS"; then + PKG_REQUIREMENTS="${modules// /, }" + else + PKG_REQUIREMENTS="${PKG_REQUIREMENTS}, ${modules// /, }" + fi if test -n "$3"; then PKG_CHECK_MODULES($1_OPTIONAL, [${qt_modules_optional}], [ AM_CPPFLAGS+=" ${$1_OPTIONAL_CFLAGS}" MOC_FLAGS+=" ${$1_OPTIONAL_CFLAGS}" AM_CXXFLAGS+=" ${$1_OPTIONAL_CFLAGS}" LIBS+=" ${$1_OPTIONAL_LIBS}" + modules=${qt_modules_optional} + if test -z "$PKG_REQUIREMENTS"; then + PKG_REQUIREMENTS="${modules// /, }" + else + PKG_REQUIREMENTS="${PKG_REQUIREMENTS}, ${modules// /, }" + fi ], [ AC_MSG_NOTICE([Not found: ${qt_modules_optional}]) ]) @@ -128,6 +163,7 @@ AC_DEFUN([AX_CHECK_QT], [ AC_SUBST(AM_CPPFLAGS) AC_SUBST(MOC_FLAGS) AC_SUBST(AM_CXXFLAGS) + AC_SUBST(PKG_REQUIREMENTS) AX_ADDITIONAL_QT_RULES_HACK=' ui_%.hxx: %.ui $(UIC) -o [$][@] $< @@ -140,9 +176,51 @@ qrc_%.cxx: %.qrc AC_SUBST(AX_ADDITIONAL_QT_RULES_HACK) ]) +# SYNOPSIS +# +# AX_CXX_CHECK_QT([qt_prefix], [list-of-qt-modules], [optional-modules]) +# +# DESCRIPTIONS +# +# qt_prefix +# +# Each call to AX_CXX_CHECK_QT should have a different prefix +# value (with a few exceptions discussed later on). This value, +# usually provided in uppercase, is used as prefix to the +# variables holding the compiler flags and libraries reported by +# pkg-config. +# +# For instance, if your prefix was to be FOO you'll be provided +# two variables FOO_CFLAGS and FOO_LIBS. +# +# This will also be used as message during the configure checks: +# checking for FOO.... +# +# list-of-modules +# +# A single call to the macro can check for the presence of one or +# more qt modules; you'll see later how to make good use of this +# feature. Each entry in the list can have a version comparison +# specifier, with the same syntax as the Requires keyword in the +# data files themselves. +# +# optional-modules +# +# Optional list of more, optional modules, e.g. modules that +# exist only in Qt5, but not in Qt4, such as QtWidgets or +# QtWebKitWidgets + AC_DEFUN([AX_REQUIRE_QT], [ AX_CHECK_QT([$1], [$2], [$3]) if ! test "$HAVE_$1" -eq 1; then AC_MSG_ERROR([Required Qt modules not found: $2]) fi ]) + + +# Omit Qt Keywords +# AX_QT_NO_KEYWORDS + +AC_DEFUN([AX_QT_NO_KEYWORDS], [ + AM_CPPFLAGS+=" -DQT_NO_KEYWORDS" +]) diff --git a/ax_init_standard_project.m4 b/ax_init_standard_project.m4 index 26735b3..ece87b2 100644 --- a/ax_init_standard_project.m4 +++ b/ax_init_standard_project.m4 @@ -3,17 +3,41 @@ ## 1 2 3 4 5 6 7 8 ## 45678901234567890123456789012345678901234567890123456789012345678901234567890 +# define least version number from subversion's revision number: +# it is taken modulo 256 due to a bug on Apple's MacOSX m4_define(x_least, m4_esyscmd_s( - LEAST="ERROR-UNDEFINED-REVISION-to-be-built-in-subdirectory-of-svn-checkout" + SVN_REVISION="ERROR-UNDEFINED-REVISION-to-be-built-in-subdirectory-of-svn-checkout" for path in . .. ../..; do if svn info $path 2>&1 > /dev/null; then - LEAST=$(LANG= svn info $path | sed -n 's/Last Changed Rev: //p') + SVN_REVISION=$(LANG= svn info $path | sed -n 's/Last Changed Rev: //p') (cd $path && svn2cl) break; fi done - echo -n $LEAST + # Mac does not support LEAST > 255 + echo $ECHO_N $(($SVN_REVISION%256)) )) +# define version number from subversion's revision number: +# it is taken modulo 256 due to a bug on Apple's MacOSX +# add to x_minor if revision number is > 256 +m4_define(x_minor_fixed, m4_esyscmd_s( + SVN_REVISION="ERROR-UNDEFINED-REVISION-to-be-built-in-subdirectory-of-svn-checkout" + for path in . .. ../..; do + if svn info $path 2>&1 > /dev/null; then + SVN_REVISION=$(LANG= svn info $path | sed -n 's/Last Changed Rev: //p') + (cd $path && svn2cl) + break; + fi + done + # Mac does not support LEAST > 255 + echo $ECHO_N $((x_minor+$SVN_REVISION/256)) +)) +# setup version number +m4_define(x_version, m4_esyscmd_s( + echo $ECHO_N x_major.x_minor_fixed.x_least +)) + +## bugreport mail address is taken from in first line of AUTHORS m4_define(x_bugreport, m4_esyscmd_s( head -1 AUTHORS | \ sed -n 's,.*<\([-_.a-z0-9A-Z]*@[-_.a-z0-9A-Z]*\)>.*,\1,gp' @@ -37,6 +61,11 @@ dnl refers to ${prefix}. Thus we have to use `eval' twice. test "$exec_prefix_NONE" && exec_prefix=NONE ]) +# add target dependencies to an existing makefile.in +# - parameters: +# $1 = existing target +# $2 = new dependency for that target +# $3 = filename of makefile.in AC_DEFUN([AX_ADD_MAKEFILE_TARGET_DEP], [ sh_add_makefile_target_dep() { sed -i ':a;/^'${1}':.*\\$/{N;s/\\\n//;ta};s/^'${1}':.*$/& '${2}'/' "${srcdir}/${3}" @@ -50,15 +79,36 @@ AC_DEFUN([AX_ADD_MAKEFILE_TARGET_DEP], [ fi ]) +# Same as AC_SUBST, but adds -Dname="value" option to CPPFLAGS +# - parameters: +# $1 = variable name AC_DEFUN([AX_SUBST], [ AC_SUBST([$1]) - tmp_var="${$1//$'\n'/\n}" - AM_CPPFLAGS+=' -D$1='"'${tmp_var//#/\\#}'" + tmp_var=$(echo "${$1}" | awk 1 ORS='\\n') + tmp_var=${tmp_var//\"/\\\"} + tmp_var=${tmp_var//\'/\'\"\'\"\'} + tmp_var=${tmp_var//#/\\#} + AM_CPPFLAGS+=" '-D$1=\"${tmp_var}\"'" AC_SUBST(AM_CPPFLAGS) ]) +# must be called on the right position in configure.ac +# +# configure.ac must start with: +# +# m4_define(x_package_name, YOUR_PACKAGE_NAME) # project's name +# m4_define(x_major, MAJOR_NUMBER) # project's major version +# m4_define(x_minor, MINOR_NUMBER) # project's minor version +# m4_include(ax_init_standard_project.m4) +# AC_INIT(x_package_name, x_version, x_bugreport, x_package_name) +# AM_INIT_AUTOMAKE([1.9 tar-pax]) +# AX_INIT_STANDARD_PROJECT +# +# you change nothing but: YOUR_PACKAGE_NAME, MAJOR_NUMBER, MINOR_NUMBER +# +# configures the basic environment AC_DEFUN([AX_INIT_STANDARD_PROJECT], [ - AM_CPPFLAGS+=" '-DMAKE_STRING(X)=\#X'" + AM_CPPFLAGS+=" '-DMAKE_STRING(X)=\#X' '-DNAMESPACE=${PACKAGE_NAME}'" AX_SUBST(NUMBERS) AX_SUBST(HOME) README=$(tail -n +3 README) @@ -74,7 +124,7 @@ AC_DEFUN([AX_INIT_STANDARD_PROJECT], [ AX_SUBST(DISTRO) BUILD_NUMBER=${BUILD_NUMBER:-1} AX_SUBST(BUILD_NUMBER) - BUILD_DATE=$(date -R) + BUILD_DATE=$(LANG= date +"%a, %d %B %Y %H:%M:%S %z") AX_SUBST(BUILD_DATE) if test -f "${PROJECT_NAME}-logo.png"; then PROJECT_LOGO="${PROJECT_NAME}-logo.png" @@ -91,7 +141,7 @@ AC_DEFUN([AX_INIT_STANDARD_PROJECT], [ test -f makefile.in && cat >> makefile.in < rebild specific file (can be added multiple times) + --help, -h show this help + --version, -v show version and date of this file + +DESCRIPTION + + Initializes your build environment, as far as neccessary. Reads your + used features from configure.ac, if that file exists, or creates a + configure.ac. Automatically copies or creates all required template + files. + + From your new and empty project's subversion path, call $0 to + initialize your build environment. + + Before you call ${MY_NAME} the very first time, edit ${0#/*}/AUTHORS + and replace it with your name (or the authors of your project, one + name each line, main developper and copyright holder on the first + line). + + The first call to ${MY_NAME} should be something like + ../bootstrap-build-environment/${MY_NAME} and not + ./${MY_NAME}. Actually, you called $0. + + In the way you called ${MY_NAME}, it has detected + ${DEFAULT_PROJECT_NAME} as the project name for your project in + ${PROJECT_PATH}. In the first run, you should call ${MY_NAME} from a + checked out the bootstrap-build-environment from + https://dev.marc.waeckerlin.org/, and the path from where you call + ${MY_NAME} (which is actually ${PROJECT_PATH}) should be the path to + your newly created project. Please note that your project must be a + checked out subversion repository, since this build environment + relies on subversion. + + Example for an initial run, where your new projet is stored in + subversion on svn:/path/to/your/new-project: + + cd ~/svn + svn co https://dev.marc.waeckerlin.org/svn/bootstrap-build-environment/trunk \\ + bootstrap-build-environment + svn co svn:/path/to/your/new-project/trunk new-project + cd new-project + ../bootstrap-build-environment/bootstrap.sh + +RUNNING + + If you run ${MY_NAME}, it first generates the necessary files (see + below), then first runs make distclean if a makefile exists. After + this it calles aclocal, libtoolize, automake, autoconf and + optionally ./configure. + +GENERATED FILES + + This script copies the following files into your project environment: + * ${MY_NAME} + * ax_init_standard_project.m4 - auxiliary macro definition file + * ax_cxx_compile_stdcxx_11.m4 - auxiliary macro definition file + * ax_check_qt.m4 - auxiliary macro definition file + * AUTHORS - replace your name in AUTHORS before first run + * configure.ac - global configuration file template + * makefile.am - global makefile template + * src/makefile.am - if you enabled AX_USE_CXX + * src/version.hxx - if you enabled AX_USE_CXX + * src/version.cxx - if you enabled AX_USE_CXX + * scripts/makefile.in - if you enabled AX_USE_SCRIPTS + * doc/makefile.am - if you enabled AX_USE_DOXYGEN + * doc/doxyfile.in - if you enabled AX_USE_DOXYGEN + * test/makefile.am - if you enabled AX_USE_CPPUNIT + * examples/makefile.am - if you enabled AX_BUILD_EXAMPLES + * debian/changelog.in - if you enabled AX_USE_DEBIAN_PACKAGING + * debian/control.in - if you enabled AX_USE_DEBIAN_PACKAGING + * debian/docs - if you enabled AX_USE_DEBIAN_PACKAGING + * debian/${DEFAULT_PROJECT_NAME}.install - if you enabled AX_USE_DEBIAN_PACKAGING + * debian/${DEFAULT_PROJECT_NAME}.dirs - if you enabled AX_USE_DEBIAN_PACKAGING + * debian/${DEFAULT_PROJECT_NAME}-dev.install - if you enabled AX_USE_DEBIAN_PACKAGING + * debian/${DEFAULT_PROJECT_NAME}-dev.dirs - if you enabled AX_USE_DEBIAN_PACKAGING + * debian/rules - if you enabled AX_USE_DEBIAN_PACKAGING + * debian/compat - if you enabled AX_USE_DEBIAN_PACKAGING + * src/${DEFAULT_PROJECT_NAME}.pc.in - if you enabled AX_USE_LIBTOOL + +REBUILDING FILES + + To rebuild all these files, just run "${MY_NAME} -r". + + To copy only the files provided by this package, that means those + files you must never change, that means to update the build system + to the latest release, run "${MY_NAME} -o" + + You can also rebuild a list of singleany list of specific file files + by adding option "${MY_NAME} -f " to rebuild file + "". You can add option "-f" more than once. + +FILES TO EDIT + + After creation of the files, you can edit them according to your + needs. Please don't forget to redo your edits after rebuilding a + file. Most files don't even need to be edited, they work out of the + box. + + The following files normally require editing: + * AUTHORS + * README + * configure.ac + * src/makefile.am + * test/makefile.am + * examples/makefile.am + +FILE DEPENDENCIES + + You should rebuild (see above) the files, whenever you change the + configuration a dependent, i.e.: + + * test/makefile.am depends on AX_USE_LIBTOOL + * doc/doxyfile.in depends on AX_BUILD_EXAMPLES + * debian/control.in depends on AX_USE_DOXYGEN, AX_USE_CPPUNIT, + AX_CXX_QT, AX_CXX_CHECK_QT, AX_USE_LIBTOOL + * debian/${DEFAULT_PROJECT_NAME}.install depends on AX_USE_LIBTOOL + * debian/${DEFAULT_PROJECT_NAME}.dirs depends on AX_USE_LIBTOOL + * debian/${DEFAULT_PROJECT_NAME}-dev.install depends on AX_USE_LIBTOOL + * debian/${DEFAULT_PROJECT_NAME}-dev.dirs depends on AX_USE_LIBTOOL + +FILES + + * AUTHORS: First line is the main author and used in Debian and RPM + packaging, so there must be a GPG key that matches + to this line. + * README: First line is a short description of your project, then an + empty line must follow. All remaining lines are a + long description of your project. this information + is copied, e.g. in Debian or RPM packages. In C++ + generating:\e[0m $1 ..." @@ -105,13 +323,22 @@ to() { else echo -e " \e[32msuccess\e[0m" fi - run svn add "$1" - run svn propset svn:keywords "Id" "$1" + chmod $mode $1 + if test $exists -eq 0; then + run svn add "$1" + run svn propset svn:keywords "Id" "$1" + fi + return 0 } copy() { - if ! test -f "$1"; then - run cp "${0%/*}/$1" "$1" + if checkfile "$1" && test $overwrite -eq 0 \ + && ! contains "$1" "${rebuildfiles[@]}"; then + # file already exists and must not be rebuilt + return + fi + run cp "${0%/*}/$1" "$1" + if test $exists -eq 0; then run svn add "$1" run svn propset svn:keywords "Id" "$1" fi @@ -119,11 +346,22 @@ copy() { doxyreplace() { echo -en "\e[1m-> doxyfile:\e[0m configure $1 ..." - if sed -i 's|\(^'"$1"' *=\) *|\1'" $2"'|g' doc/doxyfile.in; then + if sed -i 's|\(^'"$1"' *=\) *.*|\1'" $2"'|g' doc/doxyfile.in; then echo -e " \e[32msuccess\e[0m" else echo -e " \e[31merror\e[0m" - echo -e "\e[1m**** command: sed -i 's|\(^'"$1"' *=\) *|\1'" $2"'|g' doc/doxyfile.in;\e[0m" + echo -e "\e[1m**** command: $0 $*\e[0m" + exit 1 + fi +} + +doxyadd() { + echo -en "\e[1m-> doxyfile:\e[0m configure $1 ..." + if sed -i '/^'"$1"' *=/a'"$1"' += '"$2" doc/doxyfile.in; then + echo -e " \e[32msuccess\e[0m" + else + echo -e " \e[31merror\e[0m" + echo -e "\e[1m**** command: $0 $*\e[0m" exit 1 fi } @@ -133,49 +371,143 @@ copy ${MY_NAME} copy ax_init_standard_project.m4 copy ax_cxx_compile_stdcxx_11.m4 copy ax_check_qt.m4 -copy AUTHORS -if ! test -f configure.ac; then - to configure.ac < + +namespace NAMESPACE { + /// get package string which consists of package name and package version + std::string package_string(); + /// get package name + std::string package_name(); + /// get package version + std::string version(); + /// get code build date + std::string build_date(); + /// get author, i.e. copyright holder + std::string author(); + /// get short package description (1st line of README) + std::string description(); + /// get long package description (starting at 3rd line in README) + std::string readme(); + /// get package logo file name + std::string logo(); + /// get package icon file name + std::string icon(); + /// used for what filename + extern const std::string WHAT; + /// used for ident filename + extern const std::string IDENT; +} +EOF +to --condition AX_USE_CXX src/version.cxx < + +namespace NAMESPACE { + std::string package_string() { + return PACKAGE_STRING; + } + std::string package_name() { + return PACKAGE_NAME; + } + std::string version() { + return PACKAGE_VERSION; + } + std::string build_date() { + return BUILD_DATE; + } + std::string author() { + return AUTHOR; + } + std::string description() { + return DESCRIPTION; + } + std::string readme() { + return README; + } + std::string logo() { + return PROJECT_LOGO; + } + std::string icon() { + return PROJECT_ICON; + } + const std::string WHAT("#(@) " PACKAGE_STRING); + const std::string IDENT("\$Id: " PACKAGE_STRING); +} +EOF +echo "${HEADER}MAINTAINERCLEANFILES = makefile.in" | to --condition AX_USE_SCRIPTS scripts/makefile.am +echo "${HEADER}MAINTAINERCLEANFILES = makefile.in" | to --condition AX_USE_DOXYGEN doc/makefile.am to --condition AX_USE_CPPUNIT test/makefile.am <&1 | html2 | sed -n 's,.*/a/@href=\(.*\.h\)$,\1,gp'); do + wget --unlink $f + done + AM_CPPFLAGS+=" -I$(pwd)" + cd - + fi + ]) + +AX_REQUIRE_QT([QT], [QtCore QtNetwork QtWebKit QtDesigner], + [QtWidgets QtWebKitWidgets QtPrintSupport]) +AX_QT_NO_KEYWORDS AX_PKG_REQUIRE([libpcscxx]) AX_PKG_REQUIRE([proxyface]) +AX_PKG_REQUIRE([mrwcxx], [mrw-c++]) AC_CONFIG_FILES([src/qbrowserlib/makefile src/designer/makefile]) diff --git a/debian/control.in b/debian/control.in index ec3935b..ecf644d 100644 --- a/debian/control.in +++ b/debian/control.in @@ -1,5 +1,4 @@ Source: @PACKAGE_NAME@ -Section: web Priority: extra Maintainer: @AUTHOR@ Build-Depends: debhelper, pkg-config, autotools-dev, lsb-release , doxygen, graphviz, libcppunit-dev, qtbase5-dev | libqt4-dev, qtbase5-dev-tools | qt4-dev-tools, libpcscxx-dev, qttools5-dev | libqt4-dev diff --git a/debian/rules b/debian/rules index 71a7340..1b11f89 100644 --- a/debian/rules +++ b/debian/rules @@ -1,6 +1,6 @@ ## @id $Id$ # -# This file has been added by bootstrap.sh on Sun, 15 Mar 2015 16:35:09 +0100 +# This file has been added by bootstrap.sh on Sat, 09 May 2015 08:50:06 +0200 # Feel free to change it or even remove and rebuild it, up to your needs # ## 1 2 3 4 5 6 7 8 diff --git a/debian/swisssurfer.install b/debian/swisssurfer.install index ae592c8..d0dbfd1 100644 --- a/debian/swisssurfer.install +++ b/debian/swisssurfer.install @@ -1,3 +1 @@ -usr/bin/* usr/lib/lib*.so.* - diff --git a/doc/doxyfile.in b/doc/doxyfile.in index ff84f92..869770b 100644 --- a/doc/doxyfile.in +++ b/doc/doxyfile.in @@ -32,7 +32,7 @@ DOXYFILE_ENCODING = UTF-8 # title of most generated pages and in a few other places. # The default value is: My Project. -PROJECT_NAME = @PACKAGE_NAME@"My Project" +PROJECT_NAME = @PACKAGE_NAME@ # The PROJECT_NUMBER tag can be used to enter a project or revision number. This # could be handy for archiving the generated documentation or if some version @@ -125,7 +125,7 @@ ALWAYS_DETAILED_SEC = NO # operators of the base classes will not be shown. # The default value is: NO. -INLINE_INHERITED_MEMB = YESNO +INLINE_INHERITED_MEMB = YES # If the FULL_PATH_NAMES tag is set to YES doxygen will prepend the full path # before files name in the file list and in the header files. If set to NO the @@ -189,7 +189,7 @@ QT_AUTOBRIEF = NO # not recognized any more. # The default value is: NO. -MULTILINE_CPP_IS_BRIEF = YESNO +MULTILINE_CPP_IS_BRIEF = YES # If the INHERIT_DOCS tag is set to YES then an undocumented member inherits the # documentation from any documented member that it re-implements. @@ -208,7 +208,7 @@ SEPARATE_MEMBER_PAGES = NO # uses this value to replace tabs by spaces in code fragments. # Minimum value: 1, maximum value: 16, default value: 4. -TAB_SIZE = 24 +TAB_SIZE = 2 # This tag can be used to specify a number of aliases that act as commands in # the documentation. An alias has the form: @@ -220,13 +220,12 @@ TAB_SIZE = 24 # "Side Effects:". You can put \n's in the value part of an alias to insert # newlines. -ALIASES = "id=par File-ID -" "copy=par Copyright -" "license=par License -" "classmutex=par Reentrant: -Access is locked with class static mutex @c " "instancemutex=par Reentrant: -Access is locked with per instance mutex @c " "mutex=par Reentrant: -Access is locked with mutex @c " +ALIASES = "id=\par File-ID\n" +ALIASES += "mutex=\par Reentrant:\nAccess is locked with mutex @c " +ALIASES += "instancemutex=\par Reentrant:\nAccess is locked with per instance mutex @c " +ALIASES += "classmutex=\par Reentrant:\nAccess is locked with class static mutex @c " +ALIASES += "license=\par License\n" +ALIASES += "copy=\par Copyright\n" # This tag can be used to specify a number of word-keyword mappings (TCL only). # A mapping has the form "name=value". For example adding "class=itcl::class" @@ -304,7 +303,7 @@ AUTOLINK_SUPPORT = YES # diagrams that involve STL classes more complete and accurate. # The default value is: NO. -BUILTIN_STL_SUPPORT = YESNO +BUILTIN_STL_SUPPORT = YES # If you use Microsoft's C++/CLI language, you should set this option to YES to # enable parsing support. @@ -336,7 +335,7 @@ IDL_PROPERTY_SUPPORT = YES # all members of a group must be documented explicitly. # The default value is: NO. -DISTRIBUTE_GROUP_DOC = YESNO +DISTRIBUTE_GROUP_DOC = YES # Set the SUBGROUPING tag to YES to allow class member groups of the same type # (for instance a group of public functions) to be put as a subgroup of that @@ -404,25 +403,25 @@ LOOKUP_CACHE_SIZE = 0 # normally produced when WARNINGS is set to YES. # The default value is: NO. -EXTRACT_ALL = YESNO +EXTRACT_ALL = YES # If the EXTRACT_PRIVATE tag is set to YES all private members of a class will # be included in the documentation. # The default value is: NO. -EXTRACT_PRIVATE = YESNO +EXTRACT_PRIVATE = YES # If the EXTRACT_PACKAGE tag is set to YES all members with package or internal # scope will be included in the documentation. # The default value is: NO. -EXTRACT_PACKAGE = NO +EXTRACT_PACKAGE = YES # If the EXTRACT_STATIC tag is set to YES all static members of a file will be # included in the documentation. # The default value is: NO. -EXTRACT_STATIC = YESNO +EXTRACT_STATIC = YES # If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) defined # locally in source files will be included in the documentation. If set to NO @@ -430,7 +429,7 @@ EXTRACT_STATIC = YESNO # for Java sources. # The default value is: YES. -EXTRACT_LOCAL_CLASSES = YESYES +EXTRACT_LOCAL_CLASSES = YES # This flag is only useful for Objective-C code. When set to YES local methods, # which are defined in the implementation section but not in the interface are @@ -438,7 +437,7 @@ EXTRACT_LOCAL_CLASSES = YESYES # included. # The default value is: NO. -EXTRACT_LOCAL_METHODS = YESNO +EXTRACT_LOCAL_METHODS = YES # If this flag is set to YES, the members of anonymous namespaces will be # extracted and appear in the documentation as a namespace called @@ -447,7 +446,7 @@ EXTRACT_LOCAL_METHODS = YESNO # are hidden. # The default value is: NO. -EXTRACT_ANON_NSPACES = YESNO +EXTRACT_ANON_NSPACES = YES # If the HIDE_UNDOC_MEMBERS tag is set to YES, doxygen will hide all # undocumented members inside documented classes or files. If set to NO these @@ -513,7 +512,7 @@ SHOW_INCLUDE_FILES = YES # which file to include in order to use the member. # The default value is: NO. -SHOW_GROUPED_MEMB_INC = NO +SHOW_GROUPED_MEMB_INC = YES # If the FORCE_LOCAL_INCLUDES tag is set to YES then doxygen will list include # files with double quotes in the documentation rather than with sharp brackets. @@ -552,7 +551,7 @@ SORT_BRIEF_DOCS = NO # detailed member documentation. # The default value is: NO. -SORT_MEMBERS_CTORS_1ST = YESNO +SORT_MEMBERS_CTORS_1ST = YES # If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the hierarchy # of group names into alphabetical order. If set to NO the group names will @@ -705,7 +704,7 @@ WARNINGS = YES # will automatically be disabled. # The default value is: YES. -WARN_IF_UNDOCUMENTED = NOYES +WARN_IF_UNDOCUMENTED = NO # If the WARN_IF_DOC_ERROR tag is set to YES, doxygen will generate warnings for # potential errors in the documentation, such as not documenting some parameters @@ -750,6 +749,7 @@ WARN_LOGFILE = doxygen.errors # Note: If this tag is empty the current directory is searched. INPUT = @top_srcdir@/src +INPUT += @top_srcdir@/test # This tag can be used to specify the character encoding of the source files # that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses @@ -769,13 +769,14 @@ INPUT_ENCODING = UTF-8 # *.md, *.mm, *.dox, *.py, *.f90, *.f, *.for, *.tcl, *.vhd, *.vhdl, *.ucf, # *.qsf, *.as and *.js. -FILE_PATTERNS = +FILE_PATTERNS = *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.idl *.ddl *.odl *.h *.hh *.hxx *.hpp *.h++ *.cs *.d *.php *.php4 *.php5 *.phtml *.inc *.m *.markdown *.md *.mm *.dox *.py *.f90 *.f *.for *.tcl *.vhd *.vhdl *.ucf *.qsf *.as *.js +FILE_PATTERNS += *.wt # The RECURSIVE tag can be used to specify whether or not subdirectories should # be searched for input files as well. # The default value is: NO. -RECURSIVE = YESNO +RECURSIVE = YES # The EXCLUDE tag can be used to specify files and/or directories that should be # excluded from the INPUT source files. This way you can easily exclude a @@ -817,7 +818,7 @@ EXCLUDE_SYMBOLS = # that contain example code fragments that are included (see the \include # command). -EXAMPLE_PATH = @top_srcdir@/examples +EXAMPLE_PATH = # If the value of the EXAMPLE_PATH tag contains directories, you can use the # EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp and @@ -831,7 +832,7 @@ EXAMPLE_PATTERNS = # irrespective of the value of the RECURSIVE tag. # The default value is: NO. -EXAMPLE_RECURSIVE = YESNO +EXAMPLE_RECURSIVE = YES # The IMAGE_PATH tag can be used to specify one or more files or directories # that contain images that are to be included in the documentation (see the @@ -863,7 +864,7 @@ INPUT_FILTER = # filters are used. If the FILTER_PATTERNS tag is empty or if none of the # patterns match the file name, INPUT_FILTER is applied. -FILTER_PATTERNS = +FILTER_PATTERNS = *.wt=doxygen-webtester.sed # If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using # INPUT_FILTER ) will also be used to filter the input files that are used for @@ -898,13 +899,13 @@ USE_MDFILE_AS_MAINPAGE = # also VERBATIM_HEADERS is set to NO. # The default value is: NO. -SOURCE_BROWSER = YESNO +SOURCE_BROWSER = YES # Setting the INLINE_SOURCES tag to YES will include the body of functions, # classes and enums directly into the documentation. # The default value is: NO. -INLINE_SOURCES = YESNO +INLINE_SOURCES = YES # Setting the STRIP_CODE_COMMENTS tag to YES will instruct doxygen to hide any # special comment blocks from generated source code fragments. Normal C, C++ and @@ -1006,7 +1007,7 @@ IGNORE_PREFIX = # If the GENERATE_HTML tag is set to YES doxygen will generate HTML output # The default value is: YES. -GENERATE_HTML = YESYES +GENERATE_HTML = YES # The HTML_OUTPUT tag is used to specify where the HTML docs will be put. If a # relative path is entered the value of OUTPUT_DIRECTORY will be put in front of @@ -1358,7 +1359,7 @@ DISABLE_INDEX = NO # The default value is: NO. # This tag requires that the tag GENERATE_HTML is set to YES. -GENERATE_TREEVIEW = NONO +GENERATE_TREEVIEW = NO # The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values that # doxygen will group on one line in the generated HTML documentation. @@ -1472,7 +1473,7 @@ MATHJAX_CODEFILE = # The default value is: YES. # This tag requires that the tag GENERATE_HTML is set to YES. -SEARCHENGINE = YESYES +SEARCHENGINE = YES # When the SERVER_BASED_SEARCH tag is enabled the search engine will be # implemented using a web server instead of a web client using Javascript. There @@ -1546,7 +1547,7 @@ EXTRA_SEARCH_MAPPINGS = # If the GENERATE_LATEX tag is set to YES doxygen will generate LaTeX output. # The default value is: YES. -GENERATE_LATEX = NOYES +GENERATE_LATEX = NO # The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. If a # relative path is entered the value of OUTPUT_DIRECTORY will be put in front of @@ -1657,14 +1658,14 @@ USE_PDFLATEX = YES # The default value is: NO. # This tag requires that the tag GENERATE_LATEX is set to YES. -LATEX_BATCHMODE = YESNO +LATEX_BATCHMODE = YES # If the LATEX_HIDE_INDICES tag is set to YES then doxygen will not include the # index chapters (such as File Index, Compound Index, etc.) in the output. # The default value is: NO. # This tag requires that the tag GENERATE_LATEX is set to YES. -LATEX_HIDE_INDICES = YESNO +LATEX_HIDE_INDICES = YES # If the LATEX_SOURCE_CODE tag is set to YES then doxygen will include source # code with syntax highlighting in the LaTeX output. @@ -1709,7 +1710,7 @@ RTF_OUTPUT = rtf # The default value is: NO. # This tag requires that the tag GENERATE_RTF is set to YES. -COMPACT_RTF = YESNO +COMPACT_RTF = YES # If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated will # contain hyperlink fields. The RTF file will contain links (just like the HTML @@ -1721,7 +1722,7 @@ COMPACT_RTF = YESNO # The default value is: NO. # This tag requires that the tag GENERATE_RTF is set to YES. -RTF_HYPERLINKS = YESNO +RTF_HYPERLINKS = YES # Load stylesheet definitions from file. Syntax is similar to doxygen's config # file, i.e. a series of assignments. You only have to provide replacements, @@ -1901,7 +1902,7 @@ ENABLE_PREPROCESSING = YES # The default value is: NO. # This tag requires that the tag ENABLE_PREPROCESSING is set to YES. -MACRO_EXPANSION = NO +MACRO_EXPANSION = YES # If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES then # the macro expansion is limited to the macros specified with the PREDEFINED and @@ -1942,6 +1943,7 @@ INCLUDE_FILE_PATTERNS = # This tag requires that the tag ENABLE_PREPROCESSING is set to YES. PREDEFINED = +PREDEFINED += "NAMESPACE=@PACKAGE_NAME@" # If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then this # tag can be used to specify a list of macro names that should be expanded. The @@ -2046,7 +2048,7 @@ DIA_PATH = # and usage relations if the target is undocumented or is not a class. # The default value is: YES. -HIDE_UNDOC_RELATIONS = NOYES +HIDE_UNDOC_RELATIONS = NO # If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is # available from the path. This tool is part of Graphviz (see: @@ -2055,7 +2057,7 @@ HIDE_UNDOC_RELATIONS = NOYES # set to NO # The default value is: NO. -HAVE_DOT = YESNO +HAVE_DOT = YES # The DOT_NUM_THREADS specifies the number of dot invocations doxygen is allowed # to run in parallel. When set to 0 doxygen will base this on the number of @@ -2097,7 +2099,7 @@ DOT_FONTPATH = # The default value is: YES. # This tag requires that the tag HAVE_DOT is set to YES. -CLASS_GRAPH = YESYES +CLASS_GRAPH = YES # If the COLLABORATION_GRAPH tag is set to YES then doxygen will generate a # graph for each documented class showing the direct and indirect implementation @@ -2142,7 +2144,7 @@ UML_LIMIT_NUM_FIELDS = 10 # The default value is: NO. # This tag requires that the tag HAVE_DOT is set to YES. -TEMPLATE_RELATIONS = YESNO +TEMPLATE_RELATIONS = YES # If the INCLUDE_GRAPH, ENABLE_PREPROCESSING and SEARCH_INCLUDES tags are set to # YES then doxygen will generate a graph for each documented file showing the @@ -2209,7 +2211,7 @@ DIRECTORY_GRAPH = YES # The default value is: png. # This tag requires that the tag HAVE_DOT is set to YES. -DOT_IMAGE_FORMAT = svgpng +DOT_IMAGE_FORMAT = svg # If DOT_IMAGE_FORMAT is set to svg, then this option can be set to YES to # enable generation of interactive SVG images that allow zooming and panning. @@ -2221,7 +2223,7 @@ DOT_IMAGE_FORMAT = svgpng # The default value is: NO. # This tag requires that the tag HAVE_DOT is set to YES. -INTERACTIVE_SVG = YESNO +INTERACTIVE_SVG = YES # The DOT_PATH tag can be used to specify the path where the dot tool can be # found. If left blank, it is assumed the dot tool can be found in the path. @@ -2282,7 +2284,7 @@ MAX_DOT_GRAPH_DEPTH = 0 # The default value is: NO. # This tag requires that the tag HAVE_DOT is set to YES. -DOT_TRANSPARENT = YESNO +DOT_TRANSPARENT = YES # Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output # files in one run (i.e. multiple -o and -T options on the command line). This diff --git a/doc/makefile.am b/doc/makefile.am index ff8137a..131e739 100644 --- a/doc/makefile.am +++ b/doc/makefile.am @@ -1,9 +1,9 @@ ## @id $Id$ # -# This file has been added by bootstrap.sh on Sun, 15 Mar 2015 22:15:10 +0100 +# This file has been added by bootstrap.sh on Sat, 09 May 2015 08:50:06 +0200 # Feel free to change it or even remove and rebuild it, up to your needs # ## 1 2 3 4 5 6 7 8 ## 45678901234567890123456789012345678901234567890123456789012345678901234567890 - +MAINTAINERCLEANFILES = makefile.in diff --git a/test/filewatch.cxx b/examples/filewatch.cxx similarity index 100% rename from test/filewatch.cxx rename to examples/filewatch.cxx diff --git a/test/filewatch.hxx b/examples/filewatch.hxx similarity index 100% rename from test/filewatch.hxx rename to examples/filewatch.hxx diff --git a/examples/makefile.am b/examples/makefile.am index de11972..99ea485 100644 --- a/examples/makefile.am +++ b/examples/makefile.am @@ -1,9 +1,17 @@ ## @id $Id$ # -# This file has been added by bootstrap.sh on Fri, 13 Mar 2015 14:04:43 +0100 +# This file has been added by bootstrap.sh on Sat, 09 May 2015 08:50:06 +0200 # Feel free to change it or even remove and rebuild it, up to your needs # ## 1 2 3 4 5 6 7 8 ## 45678901234567890123456789012345678901234567890123456789012345678901234567890 +noinst_PROGRAM = filewatch +filewatch_SOURCES = filewatch.cxx filewatch.hxx + +AM_CPPFLAGS = -I@top_srcdir@/src -I_srcdir@/src/qbrowserlib +AM_LDFLAGS = -L@top_builddir@/src/.libs +LDADD = -lswisssurfer + +MAINTAINERCLEANFILES = makefile.in diff --git a/makefile.am b/makefile.am index 429fab6..40e359f 100644 --- a/makefile.am +++ b/makefile.am @@ -1,9 +1,11 @@ ## @id $Id$ # -# This file has been added by bootstrap.sh on Fri, 13 Mar 2015 15:53:04 +0100 +# This file has been added by bootstrap.sh on Sun, 10 May 2015 15:59:26 +0200 # Feel free to change it or even remove and rebuild it, up to your needs # ## 1 2 3 4 5 6 7 8 ## 45678901234567890123456789012345678901234567890123456789012345678901234567890 -SUBDIRS = src test doc examples +SUBDIRS = src doc examples + +MAINTAINERCLEANFILES = makefile.in diff --git a/src/makefile.am b/src/makefile.am index 0e3854a..800d671 100644 --- a/src/makefile.am +++ b/src/makefile.am @@ -1,6 +1,6 @@ ## @id $Id$ # -# This file has been added by bootstrap.sh on Fri, 13 Mar 2015 14:04:43 +0100 +# This file has been added by bootstrap.sh on Sat, 09 May 2015 08:50:06 +0200 # Feel free to change it or even remove and rebuild it, up to your needs # ## 1 2 3 4 5 6 7 8 @@ -25,3 +25,4 @@ BUILT_SOURCES = ${swisssurfer_MOCFILES} ${swisssurfer_UIFILES} EXTRA_DIST = authentication.hxx certificate.hxx logincertificate.hxx \ smartcardauth.hxx browser.hxx editbookmarks.hxx \ pinentry.hxx sslclientnetworkmanager.hxx +MAINTAINERCLEANFILES = makefile.in diff --git a/src/swisssurfer.pc.in b/src/swisssurfer.pc.in index ed8faa3..c255683 100644 --- a/src/swisssurfer.pc.in +++ b/src/swisssurfer.pc.in @@ -1,6 +1,6 @@ ## @id $Id$ # -# This file has been added by bootstrap.sh on Sun, 15 Mar 2015 19:02:58 +0100 +# This file has been added by bootstrap.sh on Sat, 09 May 2015 08:50:06 +0200 # Feel free to change it or even remove and rebuild it, up to your needs # ## 1 2 3 4 5 6 7 8 diff --git a/src/version.cxx b/src/version.cxx new file mode 100644 index 0000000..c87b294 --- /dev/null +++ b/src/version.cxx @@ -0,0 +1,40 @@ +/*! @file + + @id $ +*/ +// 1 2 3 4 5 6 7 8 +// 45678901234567890123456789012345678901234567890123456789012345678901234567890 + +#include + +namespace NAMESPACE { + std::string package_string() { + return PACKAGE_STRING; + } + std::string package_name() { + return PACKAGE_NAME; + } + std::string version() { + return PACKAGE_VERSION; + } + std::string build_date() { + return BUILD_DATE; + } + std::string author() { + return AUTHOR; + } + std::string description() { + return DESCRIPTION; + } + std::string readme() { + return README; + } + std::string logo() { + return PROJECT_LOGO; + } + std::string icon() { + return PROJECT_ICON; + } + const std::string WHAT("#(@) " PACKAGE_STRING); + const std::string IDENT("$Id: " PACKAGE_STRING); +} diff --git a/src/version.cxx.in b/src/version.cxx.in deleted file mode 100644 index cbc4dca..0000000 --- a/src/version.cxx.in +++ /dev/null @@ -1,16 +0,0 @@ -/*! @file - - @id $Id$ -*/ -// 1 2 3 4 5 6 7 8 -// 45678901234567890123456789012345678901234567890123456789012345678901234567890 - -#include - -namespace xml { - std::string version() { - return "@PACKAGE_NAME@-@VERSION@"; - } - const std::string WHAT("#(@) @PACKAGE_NAME@-@VERSION@"); - const std::string IDENT("$Id: @PACKAGE_NAME@-@VERSION@ $"); -} diff --git a/src/version.hxx b/src/version.hxx new file mode 100644 index 0000000..3a560af --- /dev/null +++ b/src/version.hxx @@ -0,0 +1,33 @@ +/*! @file + + @id $Id$ +*/ +// 1 2 3 4 5 6 7 8 +// 45678901234567890123456789012345678901234567890123456789012345678901234567890 + +#include + +namespace NAMESPACE { + /// get package string which consists of package name and package version + std::string package_string(); + /// get package name + std::string package_name(); + /// get package version + std::string version(); + /// get code build date + std::string build_date(); + /// get author, i.e. copyright holder + std::string author(); + /// get short package description (1st line of README) + std::string description(); + /// get long package description (starting at 3rd line in README) + std::string readme(); + /// get package logo file name + std::string logo(); + /// get package icon file name + std::string icon(); + /// used for what filename + extern const std::string WHAT; + /// used for ident filename + extern const std::string IDENT; +} diff --git a/test/makefile.am b/test/makefile.am deleted file mode 100644 index de11972..0000000 --- a/test/makefile.am +++ /dev/null @@ -1,9 +0,0 @@ -## @id $Id$ -# -# This file has been added by bootstrap.sh on Fri, 13 Mar 2015 14:04:43 +0100 -# Feel free to change it or even remove and rebuild it, up to your needs -# -## 1 2 3 4 5 6 7 8 -## 45678901234567890123456789012345678901234567890123456789012345678901234567890 - - diff --git a/test/qmake.pro.in b/test/qmake.pro.in deleted file mode 100644 index d9ba875..0000000 --- a/test/qmake.pro.in +++ /dev/null @@ -1,17 +0,0 @@ -QMAKE_INCDIR += @top_srcdir@/src -QMAKE_LIBDIR += @top_builddir@/src/qbrowserlib -QMAKE_LIBDIR += @top_builddir@/src/qbrowserlib/release -QMAKE_LIBS += -lqbrowserlib - -QT = core - -macx { - CONFIG += x86 x86_64 -} - -HEADERS = @srcdir@/filewatch.hxx - -SOURCES = @srcdir@/filewatch.cxx - -TARGET = filewatch -