completely new, megacool build system step 1
This commit is contained in:
1 parent
5700897788
commit
ab144a4010
22 files changed
+367
-276
No files matched your search
File renamed without changes.
File renamed without changes.
@@ -0,0 +1,239 @@
|
||||
## @id $Id$
|
||||
|
||||
## 1 2 3 4 5 6 7 8
|
||||
## 45678901234567890123456789012345678901234567890123456789012345678901234567890
|
||||
|
||||
m4_define(x_least, m4_esyscmd_s(
|
||||
LEAST="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')
|
||||
(cd $path && svn2cl)
|
||||
break;
|
||||
fi
|
||||
done
|
||||
echo -n $LEAST
|
||||
))
|
||||
m4_define(x_bugreport, m4_esyscmd_s(
|
||||
head -1 AUTHORS | \
|
||||
sed -n 's,.*<\([-_.a-z0-9A-Z]*@[-_.a-z0-9A-Z]*\)>.*,\1,gp'
|
||||
))
|
||||
|
||||
m4_include(ax_check_qt.m4)
|
||||
|
||||
AC_ALIAS([AC_DEFINE_DIR], [AX_DEFINE_DIR])
|
||||
AC_DEFUN([AX_DEFINE_DIR], [
|
||||
prefix_NONE=
|
||||
exec_prefix_NONE=
|
||||
test "x$prefix" = xNONE && prefix_NONE=yes && prefix=$ac_default_prefix
|
||||
test "x$exec_prefix" = xNONE && exec_prefix_NONE=yes && exec_prefix=$prefix
|
||||
dnl In Autoconf 2.60, ${datadir} refers to ${datarootdir}, which in turn
|
||||
dnl refers to ${prefix}. Thus we have to use `eval' twice.
|
||||
eval ax_define_dir="\"[$]$2\""
|
||||
eval ax_define_dir="\"$ax_define_dir\""
|
||||
AC_SUBST($1, "$ax_define_dir")
|
||||
AC_DEFINE_UNQUOTED($1, "$ax_define_dir", [$3])
|
||||
test "$prefix_NONE" && prefix=NONE
|
||||
test "$exec_prefix_NONE" && exec_prefix=NONE
|
||||
])
|
||||
|
||||
AC_DEFUN([AX_ADD_MAKEFILE_TARGET_DEP], [
|
||||
sh_add_makefile_target_dep() {
|
||||
sed -i ':a;/^'${1}':.*\\$/{N;s/\\\n//;ta};s/^'${1}':.*$/& '${2}'/' "${3}"
|
||||
if ! egrep -q "${1}:.* ${2}" "${3}"; then
|
||||
echo "${1}: ${2}" >> "${3}"
|
||||
fi
|
||||
}
|
||||
sh_add_makefile_target_dep "$1" "$2" "$3"
|
||||
if test "$1" != ".PHONY"; then
|
||||
sh_add_makefile_target_dep ".PHONY" "$2" "$3"
|
||||
fi
|
||||
])
|
||||
|
||||
AC_DEFUN([AX_INIT_STANDARD_PROJECT], [
|
||||
AC_SUBST(HOME)
|
||||
README=$(tail -n +3 README)
|
||||
DESCRIPTION=$(head -1 README)
|
||||
AUTHOR=$(head -1 AUTHORS)
|
||||
AC_SUBST(AUTHOR)
|
||||
_AM_SUBST_NOTMAKE([AUTHOR])
|
||||
AC_SUBST(DESCRIPTION)
|
||||
_AM_SUBST_NOTMAKE([DESCRIPTION])
|
||||
AC_SUBST(README)
|
||||
_AM_SUBST_NOTMAKE([README])
|
||||
DISTRO=$(lsb_release -sc)
|
||||
AC_SUBST(DISTRO)
|
||||
BUILD_NUMBER=${BUILD_NUMBER:-1}
|
||||
AC_SUBST(BUILD_NUMBER)
|
||||
BUILD_DATE=$(date -R)
|
||||
AC_SUBST(BUILD_DATE)
|
||||
AC_CONFIG_FILES([makefile])
|
||||
AX_ADD_MAKEFILE_TARGET_DEP([clean-am], [clean-standard-project-targets], [makefile.in])
|
||||
AX_ADD_MAKEFILE_TARGET_DEP([distclean-am], [distclean-standard-project-targets], [makefile.in])
|
||||
AX_ADD_MAKEFILE_TARGET_DEP([maintainer-clean-am], [maintainer-clean-standard-project-targets], [makefile.in])
|
||||
test -f makefile.in && cat >> makefile.in <<EOF
|
||||
#### Begin: Appended by $0
|
||||
EXTRA_DIST = bootstrap.sh
|
||||
doc_DATA = AUTHORS NEWS README COPYING INSTALL ChangeLog @PACKAGE_NAME@.spec
|
||||
clean-standard-project-targets:
|
||||
-rm -rf \${PACKAGE_NAME}-\${PACKAGE_VERSION}
|
||||
-rm \${PACKAGE_TARNAME}-\${PACKAGE_VERSION}.tar.gz
|
||||
distclean-standard-project-targets:
|
||||
-rm -r autom4te.cache
|
||||
-rm aclocal.m4 config.guess config.sub configure depcomp compile install-sh ltmain.sh makefile missing mkinstalldirs
|
||||
maintainer-clean-standard-project-targets:
|
||||
-rm makefile.in
|
||||
#### End: $0
|
||||
EOF
|
||||
])
|
||||
|
||||
AC_DEFUN([AX_USE_CXX], [
|
||||
m4_include(ax_cxx_compile_stdcxx_11.m4)
|
||||
AC_LANG(C++)
|
||||
AX_CXX_COMPILE_STDCXX_11(noext, optional)
|
||||
AC_PROG_CXX
|
||||
AC_PROG_CPP
|
||||
|
||||
AC_CONFIG_FILES([src/makefile])
|
||||
|
||||
AM_CPPFLAGS="-DPACKAGE_VERSION='\"${PACKAGE_VERSION}\"' -DPACKAGE_NAME='\"${PACKAGE_NAME}\"'"
|
||||
|
||||
# Get rid of that stupid -O2 -g opions!
|
||||
CXXFLAGS="${CXXFLAGS:-}"
|
||||
|
||||
# pass compile flags to make distcheck
|
||||
AM_DISTCHECK_CONFIGURE_FLAGS="CXXFLAGS='${CXXFLAGS}' CPPFLAGS='${CPPFLAGS}' CFLAGS='${CFLAGS}' LDFLAGS='${LDFLAGS}'"
|
||||
AC_SUBST(AM_DISTCHECK_CONFIGURE_FLAGS)
|
||||
|
||||
AC_ARG_ENABLE(pedantic,
|
||||
[AS_HELP_STRING([--enable-pedantic],
|
||||
[enable all warnings and checks, abort on warnings])],
|
||||
[have_pedantic="$enableval"; test "$enableval" = "yes" && \
|
||||
AM_CXXFLAGS="${AM_CXXFLAGS:-} -pedantic-errors -Wall -W -Wfloat-equal -Wundef -Wendif-labels -Wpointer-arith -Wcast-align -Wwrite-strings -Wconversion -Wsign-compare -Wmissing-format-attribute -Wno-multichar -Wpacked -Wredundant-decls -Werror -Wshadow -Wcast-qual -Wno-ctor-dtor-privacy"])
|
||||
dnl problem in libs: -Wshadow -Wcast-qual
|
||||
dnl auto.hpp: -Wno-ctor-dtor-privacy (removed)
|
||||
AM_CONDITIONAL(PEDANTIC, test "$enableval" = "yes")
|
||||
if test "$have_pedantic" == "yes"; then
|
||||
AC_MSG_NOTICE([Pedantic compile mode enabled!
|
||||
- all warnings for GNU g++ are enabled
|
||||
- all warnings result in an error
|
||||
- doxygen warnings are treated as error too]); fi
|
||||
|
||||
MINGW32=no
|
||||
MAC=no
|
||||
case $host_os in
|
||||
*mingw32*) MINGW32=yes;;
|
||||
*darwin* | *rhapsody* | *macosx*) MAC=yes;;
|
||||
esac
|
||||
AM_CONDITIONAL(MINGW32, test "$MINGW32" = "yes")
|
||||
AM_CONDITIONAL(MAC, test "$MAC" = "yes")
|
||||
|
||||
AC_SUBST(AM_CXXFLAGS)
|
||||
AC_SUBST(AM_CPPFLAGS)
|
||||
])
|
||||
|
||||
AC_DEFUN([AX_USE_CPPUNIT], [
|
||||
AM_PATH_CPPUNIT([1.0.0], [have_cppunit="yes"], [have_cppunit="no"])
|
||||
# infos and warnings
|
||||
if test "$have_cppunit" = "no"; then
|
||||
AC_MSG_WARN([Missing cppunit development library!
|
||||
- you cannot check the library using "make check"
|
||||
- everything else works perfectly]); fi
|
||||
AC_CONFIG_FILES([test/makefile])
|
||||
])
|
||||
|
||||
AC_DEFUN([AX_BUILD_EXAMPLES], [
|
||||
AC_CONFIG_FILES([examples/makefile])
|
||||
])
|
||||
|
||||
AC_DEFUN([AX_USE_LIBTOOL], [
|
||||
# libtool versioning
|
||||
LIB_MAJOR=m4_eval(x_major+x_minor)
|
||||
LIB_MINOR=x_least
|
||||
LIB_LEAST=x_minor
|
||||
LIB_VERSION="${LIB_MAJOR}:${LIB_MINOR}:${LIB_LEAST}"
|
||||
AM_LDFLAGS = -version-info ${LIB_VERSION}
|
||||
AC_SUBST(AM_LDFLAGS)
|
||||
AC_SUBST(LIB_VERSION)
|
||||
AC_PROG_LIBTOOL
|
||||
AC_CONFIG_FILES([src/${PACKAGE_NAME}.pc])
|
||||
])
|
||||
|
||||
AC_DEFUN([AX_USE_DEBIAN_PACKAGING], [
|
||||
README_DEB=$(tail -n +3 README | sed -e 's/^$/./g' -e 's/^/ /g')
|
||||
AC_SUBST(README_DEB)
|
||||
_AM_SUBST_NOTMAKE([README_DEB])
|
||||
AC_CONFIG_FILES([debian/changelog debian/control])
|
||||
AX_ADD_MAKEFILE_TARGET_DEP([clean-am], [clean-debian-targets], [makefile.in])
|
||||
AX_ADD_MAKEFILE_TARGET_DEP([distclean-am], [distclean-debian-targets], [makefile.in])
|
||||
test -f makefile.in && cat >> makefile.in <<EOF
|
||||
#### Begin: Appended by $0
|
||||
EXTRA_DIST += debian
|
||||
clean-debian-targets:
|
||||
-rm -rf \${PACKAGE_NAME}_\${PACKAGE_VERSION}~\${DISTRO}.\${BUILD_NUMBER}.{dsc,tar.gz} \${PACKAGE_NAME}_\${PACKAGE_VERSION}~\${DISTRO}.\${BUILD_NUMBER}*.changes \$\$(sed -n 's,Package: \(.*\),\1_${PACKAGE_VERSION}~${DISTRO}.${BUILD_NUMBER}*.deb,p;' debian/control)
|
||||
deb: distdir
|
||||
cd \${PACKAGE_NAME}-\${PACKAGE_VERSION} && ( export CFLAGS="\${CFLAGS}"; export CPPFLAGS="\${CPPFLAGS}"; export CXXFLAGS="\${CXXFLAGS}"; export LDFLAGS="\${LDFLAGS}"; export DEB_CFLAGS_APPEND="\${CFLAGS}"; export DEB_CPPFLAGS_APPEND="\${CPPFLAGS}"; export DEB_CXXFLAGS_APPEND="\${CXXFLAGS}"; export DEB_LDFLAGS_APPEND="\${LDFLAGS}"; dpkg-buildpackage )
|
||||
distclean-debian-targets:
|
||||
-rm debian/changelog debian/control
|
||||
#### End: $0
|
||||
EOF
|
||||
])
|
||||
|
||||
AC_DEFUN([AX_USE_RPM_PACKAGING], [
|
||||
# m4_include(ax_rpm_rules.m4)
|
||||
AC_CONFIG_FILES([${PACKAGE_NAME}.spec])
|
||||
#AX_ADD_MAKEFILE_TARGET_DEP([clean-am], [clean-debian-targets], [makefile.in])
|
||||
AX_ADD_MAKEFILE_TARGET_DEP([.PHONY], [rpm], [makefile.in])
|
||||
test -f makefile.in && cat >> makefile.in <<EOF
|
||||
#### Begin: Appended by $0
|
||||
rpm: dist
|
||||
rpmbuild -ba --define "_topdir \$(pwd)" --define "_sourcedir \$(pwd)" \${PACKAGE_NAME}.spec
|
||||
#### End: $0
|
||||
EOF
|
||||
])
|
||||
|
||||
AC_DEFUN([AX_USE_DOXYGEN], [
|
||||
AC_CHECK_PROG(have_doxygen, doxygen, yes, no)
|
||||
AC_CHECK_PROG(have_dot, dot, yes, no)
|
||||
AC_CHECK_PROG(have_mscgen, mscgen, yes, no)
|
||||
if test "$have_doxygen" = "no"; then
|
||||
AC_MSG_WARN([Missing program doxygen!
|
||||
- you cannot rebuild the documentation
|
||||
- there are precompiled derived files in the distribution]); fi
|
||||
if test "$have_dot" = "no"; then
|
||||
AC_MSG_WARN([Missing program dot!
|
||||
- when you rebild documentation, there are no generated images
|
||||
- there are precompiled derived files in the distribution]); fi
|
||||
if test "$have_mscgen" = "no"; then
|
||||
AC_MSG_WARN([Missing program mscgen!
|
||||
- when you rebild documentation, there are no message state charts
|
||||
- there are precompiled derived files in the distribution]); fi
|
||||
AC_CONFIG_FILES([doc/makefile doc/doxyfile])
|
||||
AX_ADD_MAKEFILE_TARGET_DEP([clean-am], [clean-documentation], [doc/makefile.in])
|
||||
AX_ADD_MAKEFILE_TARGET_DEP([distclean-am], [distclean-documentation], [doc/makefile.in])
|
||||
AX_ADD_MAKEFILE_TARGET_DEP([maintainer-clean-am], [maintainer-clean-documentation], [doc/makefile.in])
|
||||
AX_ADD_MAKEFILE_TARGET_DEP([install-data-am], [install-data-documentation], [doc/makefile.in])
|
||||
AX_ADD_MAKEFILE_TARGET_DEP([uninstall-am], [uninstall-documentation], [doc/makefile.in])
|
||||
AX_ADD_MAKEFILE_TARGET_DEP([all], [doc], [doc/makefile.in])
|
||||
test -f doc/makefile.in && cat >> doc/makefile.in <<EOF
|
||||
#### Begin: Appended by $0
|
||||
doc: doxyfile
|
||||
doxygen doxyfile
|
||||
@PEDANTIC_TRUE@ test \! -s doxygen.errors
|
||||
clean-documentation:
|
||||
-rm doxygen.errors @PACKAGE_NAME@-@PACKAGE_VERSION@.pdf
|
||||
distclean-documentation:
|
||||
-rm -r html
|
||||
-rm @PACKAGE_NAME@.doxytag
|
||||
maintainer-clean-documentation:
|
||||
-rm makefile.in
|
||||
install-data-documentation:
|
||||
test -d \$(DESTDIR)\${docdir} || mkdir -p \$(DESTDIR)\${docdir}
|
||||
chmod -R u+w \$(DESTDIR)\${docdir}
|
||||
cp -r html \$(DESTDIR)\${docdir}/
|
||||
uninstall-documentation:
|
||||
-chmod -R u+w \$(DESTDIR)\${docdir}
|
||||
-rm -rf \$(DESTDIR)\${docdir}/*
|
||||
#### End: $0
|
||||
EOF
|
||||
])
|
||||
+97
-4
@@ -1,5 +1,4 @@
|
||||
#! /bin/sh
|
||||
|
||||
#! /bin/bash
|
||||
## @file
|
||||
##
|
||||
## $Id$
|
||||
@@ -15,5 +14,99 @@
|
||||
## added file header
|
||||
##
|
||||
|
||||
test -f makefile && make distclean
|
||||
aclocal && libtoolize --force && automake -a && autoconf
|
||||
MY_NAME=${0##*/}
|
||||
PROJECT_PATH=${0%*/*}
|
||||
DEFAULT_PROJECT_NAME=${PROJECT_PATH##*/}
|
||||
|
||||
HEADER='## @id $Id$
|
||||
#
|
||||
# This file has been added by '${MY_NAME}' on '$(date -R)'
|
||||
# Feel free to change it or even remove and rebuild it, up to your needs
|
||||
#
|
||||
## 1 2 3 4 5 6 7 8
|
||||
## 45678901234567890123456789012345678901234567890123456789012345678901234567890
|
||||
|
||||
'
|
||||
|
||||
function run {
|
||||
check=1
|
||||
while test $# -gt 0; do
|
||||
case "$1" in
|
||||
(--no-check) check=0;;
|
||||
(*) break;;
|
||||
esac
|
||||
shift;
|
||||
done
|
||||
echo -n "-> running: $* ..."
|
||||
result=$($* 2>&1)
|
||||
res=$?
|
||||
if test $res -ne 0; then
|
||||
if test $check -eq 1; then
|
||||
echo " error"
|
||||
echo "*** Failed with return code: $res"
|
||||
if test -n "$result"; then
|
||||
echo "$result"
|
||||
fi
|
||||
exit 1
|
||||
else
|
||||
echo " ignored"
|
||||
fi
|
||||
else
|
||||
echo " success"
|
||||
fi
|
||||
}
|
||||
|
||||
function to {
|
||||
cat > "$1"
|
||||
run svn add "$1"
|
||||
run svn propset svn:keywords "Id" "$1"
|
||||
}
|
||||
|
||||
# Initialize the environment:
|
||||
if ! test -f configure.ac; then
|
||||
echo "->generating configure.ac"
|
||||
to configure.ac <<EOF
|
||||
${HEADER}m4_define(x_package_name, ${DEFAULT_PROJECT_NAME}) # project's name
|
||||
m4_define(x_major, 0) # project's major version
|
||||
m4_define(x_minor, 0) # project's minor version
|
||||
m4_include(ax_init_standard_project.m4)
|
||||
AC_INIT(x_package_name, x_major.x_minor.x_least, x_bugreport, x_package_name)
|
||||
AM_INIT_AUTOMAKE([1.9 tar-pax])
|
||||
AX_INIT_STANDARD_PROJECT
|
||||
|
||||
# requirements, uncomment, what you need:
|
||||
#AX_USE_CXX
|
||||
#AX_USE_LIBTOOL
|
||||
#AX_USE_DOXYGEN
|
||||
#AX_USE_DEBIAN_PACKAGING
|
||||
#AX_USE_RPM_PACKAGING
|
||||
#AX_USE_CPPUNIT
|
||||
#AX_BUILD_EXAMPLES
|
||||
|
||||
# create output
|
||||
AC_OUTPUT
|
||||
EOF
|
||||
echo "please edit configure.ac, then rerun $0"
|
||||
fi
|
||||
if ! test -f makefile.am; then
|
||||
echo "-> generating makefile.am"
|
||||
SUBDIRS=""
|
||||
for d in src test doc examples; do
|
||||
test -d $d && SUBDIRS="${SUBDIRS} $d"
|
||||
done
|
||||
echo "${HEADER}SUBDIRS =${SUBDIRS}" | to makefile.am
|
||||
fi
|
||||
if ( test -d doc || grep -q AX_USE_DOXYGEN configure.ac ) \
|
||||
&& ! test -f doc/makefile.am; then
|
||||
echo "-> generating doc/makefile.am"
|
||||
test -d doc || ( mkdir doc && svn add doc )
|
||||
echo "${HEADER}" | to doc/makefile.am
|
||||
fi
|
||||
|
||||
if test -f makefile; then
|
||||
run --no-check make distclean
|
||||
fi
|
||||
run aclocal
|
||||
run libtoolize --force
|
||||
run automake -a
|
||||
run autoconf
|
||||
+15
-157
@@ -1,93 +1,29 @@
|
||||
# $Id$
|
||||
AC_CONFIG_MACRO_DIR([m4])
|
||||
|
||||
# prevent HAVE_QTxxx does not appear in AM_CONDITIONAL
|
||||
# in old ubuntu / debian distros
|
||||
m4_include(m4/ax_check_qt.m4)
|
||||
m4_include(m4/ax_cxx_compile_stdcxx_11.m4)
|
||||
|
||||
m4_define(x_package_name, libpcscxx)
|
||||
m4_define(x_major, 3)
|
||||
m4_define(x_minor, 1)
|
||||
|
||||
AC_ALIAS([AC_DEFINE_DIR], [AX_DEFINE_DIR])
|
||||
AC_DEFUN([AX_DEFINE_DIR], [
|
||||
prefix_NONE=
|
||||
exec_prefix_NONE=
|
||||
test "x$prefix" = xNONE && prefix_NONE=yes && prefix=$ac_default_prefix
|
||||
test "x$exec_prefix" = xNONE && exec_prefix_NONE=yes && exec_prefix=$prefix
|
||||
dnl In Autoconf 2.60, ${datadir} refers to ${datarootdir}, which in turn
|
||||
dnl refers to ${prefix}. Thus we have to use `eval' twice.
|
||||
eval ax_define_dir="\"[$]$2\""
|
||||
eval ax_define_dir="\"$ax_define_dir\""
|
||||
AC_SUBST($1, "$ax_define_dir")
|
||||
AC_DEFINE_UNQUOTED($1, "$ax_define_dir", [$3])
|
||||
test "$prefix_NONE" && prefix=NONE
|
||||
test "$exec_prefix_NONE" && exec_prefix=NONE
|
||||
])
|
||||
|
||||
m4_define(x_least, m4_esyscmd_s(
|
||||
LEAST="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')
|
||||
(cd $path && svn2cl)
|
||||
break;
|
||||
fi
|
||||
done
|
||||
echo -n $LEAST
|
||||
))
|
||||
m4_define(x_bugreport, m4_esyscmd_s(
|
||||
head -1 AUTHORS | \
|
||||
sed -n 's,.*<\([-_.a-z0-9A-Z]*@[-_.a-z0-9A-Z]*\)>.*,\1,gp'
|
||||
))
|
||||
m4_include(ax_init_standard_project.m4)
|
||||
AC_INIT(x_package_name, x_major.x_minor.x_least, x_bugreport, x_package_name)
|
||||
|
||||
AM_INIT_AUTOMAKE([1.9 tar-pax])
|
||||
|
||||
SRC_DIR=src
|
||||
TST_DIR=
|
||||
DOC_DIR=doc
|
||||
|
||||
# files to create
|
||||
AC_CONFIG_FILES([makefile ${PACKAGE_NAME}.spec
|
||||
src/makefile
|
||||
doc/doxyfile doc/examples/makefile doc/makefile
|
||||
src/${PACKAGE_NAME}.pc debian/changelog debian/control])
|
||||
|
||||
# libtool versioning
|
||||
LIB_MAJOR=m4_eval(x_major+x_minor)
|
||||
LIB_MINOR=x_least
|
||||
LIB_LEAST=x_minor
|
||||
LIB_VERSION="${LIB_MAJOR}:${LIB_MINOR}:${LIB_LEAST}"
|
||||
AC_SUBST(LIB_VERSION)
|
||||
|
||||
# home
|
||||
AC_SUBST(HOME)
|
||||
|
||||
# datadir for languages
|
||||
AX_DEFINE_DIR([DATADIR], [datadir])
|
||||
#AC_SUBST(DATADIR)
|
||||
|
||||
AM_CPPFLAGS="-DPACKAGE_VERSION='\"${PACKAGE_VERSION}\"' -DPACKAGE_NAME='\"${PACKAGE_NAME}\"'"
|
||||
|
||||
# Get rid of that stupid -O2 -g opions!
|
||||
CXXFLAGS="${CXXFLAGS:-}"
|
||||
AX_INIT_STANDARD_PROJECT
|
||||
|
||||
# languages
|
||||
AC_LANG(C++)
|
||||
AX_CXX_COMPILE_STDCXX_11(noext, optional)
|
||||
AX_USE_CXX
|
||||
AX_USE_LIBTOOL
|
||||
AX_USE_DOXYGEN
|
||||
AX_USE_DEBIAN_PACKAGING
|
||||
AX_USE_RPM_PACKAGING
|
||||
#AX_USE_CPPUNIT
|
||||
AX_BUILD_EXAMPLES
|
||||
|
||||
# qt features
|
||||
AX_CXX_CHECK_QT([QTGUI], [QtCore QtGui])
|
||||
AX_CXX_CHECK_QT([QTWIDGETS], [QtWidgets]) # optional, needed only for qt5
|
||||
AX_CXX_CHECK_QT([QTNETWORK], [QtNetwork])
|
||||
|
||||
# programs
|
||||
AC_PROG_CXX
|
||||
AC_PROG_CPP
|
||||
AC_PROG_INSTALL
|
||||
AC_PROG_LN_S
|
||||
AC_PROG_MAKE_SET
|
||||
AC_PROG_LIBTOOL
|
||||
AC_CHECK_PROG(have_doxygen, doxygen, yes, no)
|
||||
AC_CHECK_PROG(have_dot, dot, yes, no)
|
||||
PKG_PROG_PKG_CONFIG
|
||||
#PKG_PROG_PKG_CONFIG
|
||||
|
||||
# libraries
|
||||
AC_ARG_ENABLE(pkcs11-download,
|
||||
@@ -109,84 +45,6 @@ dnl auto.hpp: -Wno-ctor-dtor-privacy (removed)
|
||||
AC_CHECK_HEADER([pkcs11.h], [], [AC_MSG_ERROR([Header pkcs11.h is required])])
|
||||
AC_CHECK_HEADER([wintypes.h], [], [AC_MSG_ERROR([Header wintypes.h is required])])
|
||||
AC_CHECK_HEADER([mrw/checkcxx11.hxx], [], [AC_MSG_ERROR([please install mrw-c++])])
|
||||
AX_CXX_CHECK_QT([QTGUI], [QtCore QtGui])
|
||||
AX_CXX_CHECK_QT([QTWIDGETS], [QtWidgets]) # optional, needed only for qt5
|
||||
AX_CXX_CHECK_QT([QTNETWORK], [QtNetwork])
|
||||
|
||||
AC_ARG_ENABLE(pedantic,
|
||||
[AS_HELP_STRING([--enable-pedantic],
|
||||
[enable all warnings and checks, abort on warnings])],
|
||||
[have_pedantic="$enableval"; test "$enableval" = "yes" && \
|
||||
AM_CXXFLAGS="${AM_CXXFLAGS:-} -pedantic-errors -Wall -W -Wfloat-equal -Wundef -Wendif-labels -Wpointer-arith -Wcast-align -Wwrite-strings -Wconversion -Wsign-compare -Wmissing-format-attribute -Wno-multichar -Wpacked -Wredundant-decls -Werror -Wshadow -Wcast-qual -Wno-ctor-dtor-privacy"])
|
||||
dnl problem in libs: -Wshadow -Wcast-qual
|
||||
dnl auto.hpp: -Wno-ctor-dtor-privacy (removed)
|
||||
AM_CONDITIONAL(PEDANTIC, test "$enableval" = "yes")
|
||||
AC_ARG_ENABLE(dot,
|
||||
[AS_HELP_STRING([--disable-dot],
|
||||
[disable dot graphic tools for documentation])],
|
||||
[have_dot="$enableval"])
|
||||
test "$enableval" = "yes" && HAVE_DOT="YES" || HAVE_DOT="NO";
|
||||
AM_PATH_CPPUNIT([1.0.0], [have_cppunit="yes"], [have_cppunit="no"])
|
||||
|
||||
MINGW32=no
|
||||
MAC=no
|
||||
case $host_os in
|
||||
*mingw32*) MINGW32=yes;;
|
||||
*darwin* | *rhapsody* | *macosx*) MAC=yes;;
|
||||
esac
|
||||
AM_CONDITIONAL(MINGW32, test "$MINGW32" = "yes")
|
||||
AM_CONDITIONAL(MAC, test "$MAC" = "yes")
|
||||
|
||||
# macros
|
||||
README=$(tail -n +3 README)
|
||||
README_DEB=$(tail -n +3 README | sed -e 's/^$/./g' -e 's/^/ /g')
|
||||
DESCRIPTION=$(head -1 README)
|
||||
AUTHOR=$(head -1 AUTHORS)
|
||||
AC_SUBST(AUTHOR)
|
||||
_AM_SUBST_NOTMAKE([AUTHOR])
|
||||
AC_SUBST(DESCRIPTION)
|
||||
_AM_SUBST_NOTMAKE([DESCRIPTION])
|
||||
AC_SUBST(README)
|
||||
_AM_SUBST_NOTMAKE([README])
|
||||
AC_SUBST(README_DEB)
|
||||
_AM_SUBST_NOTMAKE([README_DEB])
|
||||
DISTRO=$(lsb_release -sc)
|
||||
AC_SUBST(DISTRO)
|
||||
BUILD_NUMBER=${BUILD_NUMBER:-1}
|
||||
AC_SUBST(BUILD_NUMBER)
|
||||
BUILD_DATE=$(date -R)
|
||||
AC_SUBST(BUILD_DATE)
|
||||
|
||||
# export macros
|
||||
SRCDIR=${srcdir}
|
||||
AC_SUBST(SRCDIR)
|
||||
AC_SUBST(SRC_DIR)
|
||||
AC_SUBST(TST_DIR)
|
||||
AC_SUBST(DOC_DIR)
|
||||
AC_SUBST(HAVE_DOT)
|
||||
AC_SUBST(THREADS)
|
||||
AC_SUBST(AM_CXXFLAGS)
|
||||
AC_SUBST(AM_CPPFLAGS)
|
||||
AC_SUBST(LIBS)
|
||||
|
||||
# create output
|
||||
AC_OUTPUT
|
||||
|
||||
# infos and warnings
|
||||
if test "$have_doxygen" = "no"; then
|
||||
AC_MSG_WARN([Missing program doxygen!
|
||||
- you cannot rebuild the documentation with make doc
|
||||
- there are precompiled derived files in the distribution]); fi
|
||||
if test "$have_dot" = "no"; then
|
||||
AC_MSG_WARN([Missing program dot!
|
||||
- when you rebild documentation with make doc, there are no generated images
|
||||
- there are precompiled derived files in the distribution]); fi
|
||||
if test "$have_cppunit" = "no"; then
|
||||
AC_MSG_WARN([Missing cppunit development library!
|
||||
- you cannot check the library using "make check"
|
||||
- everything else works perfectly]); fi
|
||||
if test "$have_pedantic" == "yes"; then
|
||||
AC_MSG_NOTICE([Pedantic compile mode enabled!
|
||||
- all warnings for GNU g++ are enabled
|
||||
- all warnings result in an error
|
||||
- doxygen warnings are treated as error too]); fi
|
||||
Vendored
+1
-1
@@ -1,5 +1,5 @@
|
||||
@PACKAGE@ (@PACKAGE_VERSION@~@DISTRO@.@BUILD_NUMBER@) @DISTRO@; urgency=low
|
||||
|
||||
* See https://dev.marc.waeckerlin.org/projects/@PACKAGE@ for changes
|
||||
* Please see ChangeLog of @PACKAGE@
|
||||
|
||||
-- @AUTHOR@ @BUILD_DATE@
|
||||
+3
-3
@@ -660,7 +660,7 @@ WARN_LOGFILE = doxygen.errors
|
||||
# directories like "/usr/src/myproject". Separate the files or directories
|
||||
# with spaces.
|
||||
|
||||
INPUT = @SRCDIR@/../src
|
||||
INPUT = @top_srcdir@/src
|
||||
|
||||
# This tag can be used to specify the character encoding of the source files
|
||||
# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is
|
||||
@@ -723,7 +723,7 @@ EXCLUDE_SYMBOLS =
|
||||
# directories that contain example code fragments that are included (see
|
||||
# the \include command).
|
||||
|
||||
EXAMPLE_PATH = examples
|
||||
EXAMPLE_PATH = @top_srcdir@/examples
|
||||
|
||||
# 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
|
||||
@@ -1220,7 +1220,7 @@ SERVER_BASED_SEARCH = NO
|
||||
# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will
|
||||
# generate Latex output.
|
||||
|
||||
GENERATE_LATEX = YES
|
||||
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
|
||||
|
||||
+5
-44
@@ -1,48 +1,9 @@
|
||||
## @file
|
||||
##
|
||||
## $Id$
|
||||
##
|
||||
## @id $Id$
|
||||
#
|
||||
# This file has been added by bootstrap.sh on Wed, 11 Mar 2015 16:57: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
|
||||
|
||||
SUBDIRS = examples
|
||||
ALL_SRC = ${top_srcdir}/src/*.[ch]xx ${top_srcdir}/src/*.doc
|
||||
# ${top_srcdir}/src/*.doc
|
||||
|
||||
DIRS = html
|
||||
#latex
|
||||
|
||||
all: ${DIRS}
|
||||
|
||||
.PHONY: doc clean-local distclean-local dist-hool install-data-hook \
|
||||
uninstall-hook
|
||||
|
||||
deps = ${top_srcdir}/COPYING ${top_srcdir}/README \
|
||||
${top_srcdir}/INSTALL ${top_srcdir}/NEWS ${top_srcdir}/ChangeLog
|
||||
|
||||
html: ${ALL_SRC} doxyfile ${deps}
|
||||
doxygen doxyfile
|
||||
if PEDANTIC
|
||||
test \! -s doxygen.errors
|
||||
endif
|
||||
# cd latex && make
|
||||
# mv latex/refman.pdf @PACKAGE_NAME@-@PACKAGE_VERSION@.pdf
|
||||
|
||||
CLEANFILES = doxygen.errors @PACKAGE_NAME@-@PACKAGE_VERSION@.pdf
|
||||
DISTCLEANFILES = @PACKAGE_NAME@.doxytag
|
||||
MAINTAINERCLEANFILES = makefile.in
|
||||
|
||||
distclean-local:
|
||||
- rm -r html latex
|
||||
|
||||
dist-hook: html
|
||||
# cp -r html latex ${distdir}/
|
||||
|
||||
install-data-hook:
|
||||
test -d $(DESTDIR)${docdir} || mkdir -p $(DESTDIR)${docdir}
|
||||
chmod -R u+w $(DESTDIR)${docdir}
|
||||
cp -r html $(DESTDIR)${docdir}/
|
||||
|
||||
uninstall-hook:
|
||||
-chmod -R u+w $(DESTDIR)${docdir}
|
||||
-rm -rf $(DESTDIR)${docdir}/*
|
||||
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
+6
-60
@@ -1,63 +1,9 @@
|
||||
## @file
|
||||
##
|
||||
## $Id$
|
||||
##
|
||||
## $Date: 2008-08-26 13:09:21 $
|
||||
## $Author: marc $
|
||||
##
|
||||
## @copy © Marc Wäckerlin
|
||||
## @license LGPL, see file <a href="license.html">COPYING</a>
|
||||
##
|
||||
## @id $Id$
|
||||
#
|
||||
# This file has been added by bootstrap.sh on Wed, 11 Mar 2015 16:57: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
|
||||
|
||||
SUBDIRS = @SRC_DIR@ @TST_DIR@ @DOC_DIR@
|
||||
|
||||
nobase_include_HEADERS =
|
||||
|
||||
EXTRA_DIST = bootstrap.sh debian
|
||||
|
||||
DISTCLEANFILES = debian/changelog
|
||||
|
||||
deb: dist
|
||||
tar xzvf @PACKAGE_TARNAME@-@VERSION@.tar.gz
|
||||
cd @PACKAGE_TARNAME@-@VERSION@ && dpkg-buildpackage
|
||||
rm -rf @PACKAGE_TARNAME@-@VERSION@
|
||||
|
||||
doc_DATA = AUTHORS NEWS README COPYING INSTALL ChangeLog @PACKAGE_NAME@.spec
|
||||
|
||||
RPMS = /usr/src/packages/RPMS/i586/@PACKAGE_NAME@-@PACKAGE_VERSION@-1.i586.rpm \
|
||||
/usr/src/packages/RPMS/i586/@PACKAGE_NAME@-devel-@PACKAGE_VERSION@-1.i586.rpm \
|
||||
/usr/src/packages/SRPMS/@PACKAGE_NAME@-@PACKAGE_VERSION@-1.src.rpm
|
||||
|
||||
.PHONY: release tag rpm webserver \
|
||||
doc clean-local distclean-local dist-hool install-data-hook \
|
||||
uninstall-hook
|
||||
|
||||
release: tag webserver
|
||||
|
||||
rpm: dist
|
||||
cp @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz \
|
||||
/usr/src/packages/SOURCES/
|
||||
rpmbuild -ba --clean @PACKAGE_NAME@.spec
|
||||
|
||||
deps = ${top_srcdir}/COPYING ${top_srcdir}/README ${top_srcdir}/INSTALL ${top_srcdir}/NEWS ${top_srcdir}/ChangeLog
|
||||
|
||||
clean-local:
|
||||
- rm doxygen.err lib@PACKAGE_NAME@.doxytag
|
||||
- rm @PACKAGE_NAME@-dev_@PACKAGE_VERSION@-*.deb \
|
||||
@PACKAGE_NAME@_@PACKAGE_VERSION@-*.changes \
|
||||
@PACKAGE_NAME@_@PACKAGE_VERSION@-1.tar.gz \
|
||||
@PACKAGE_NAME@_@PACKAGE_VERSION@-1.dsc \
|
||||
@PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz \
|
||||
@PACKAGE_NAME@_@PACKAGE_VERSION@-*.deb
|
||||
|
||||
distclean-local:
|
||||
- rm -r ${top_builddir}/@DOC_DIR@/html/* ${top_builddir}/@DOC_DIR@/latex/*
|
||||
- rm makefile makefile.in doxygen.err libmrw.doxytag
|
||||
- find . -name '*~' | xargs rm
|
||||
- rm -r autom4te.cache
|
||||
- rm aclocal.m4 config.guess config.sub configure depcomp \
|
||||
install-sh ltmain.sh makefile makefile.in missing \
|
||||
mkinstalldirs m4/libtool.m4 m4/ltoptions.m4 \
|
||||
m4/ltsugar.m4 m4/ltversion.m4 m4/lt~obsolete.m4 compile
|
||||
SUBDIRS = src doc examples
|
||||
+1
-7
@@ -5,10 +5,8 @@
|
||||
## 1 2 3 4 5 6 7 8
|
||||
## 45678901234567890123456789012345678901234567890123456789012345678901234567890
|
||||
|
||||
#MOC_FILES=moc_certimport.cxx
|
||||
include_HEADERS = pcsc.hxx cryptoki.hxx openssl.hxx cryptaux.hxx \
|
||||
openssl-engine.hxx suisseid.hxx cardos.hxx
|
||||
#certimport.hxx
|
||||
|
||||
noinst_HEADERS = cardgui.hxx cardgui-model.hxx
|
||||
|
||||
@@ -33,7 +31,6 @@ lib_LTLIBRARIES = libpcscxx.la
|
||||
|
||||
libpcscxx_la_SOURCES = cryptoki.cxx cryptoki.hxx pcsc.cxx version.cxx \
|
||||
openssl-engine.cxx
|
||||
#moc_certimport.cxx
|
||||
libpcscxx_la_LDFLAGS = -version-info ${LIB_VERSION}
|
||||
libpcscxx_la_LIBADD = -lssl -lcrypto
|
||||
if MINGW32
|
||||
@@ -58,9 +55,6 @@ endif
|
||||
noinst_PROGRAMS = versiontest
|
||||
versiontest_SOURCES = versiontest.cxx
|
||||
|
||||
clean-local:
|
||||
-rm -r ${QMAKE_TARGET}.app
|
||||
|
||||
CLEANFILES = ${MOC_FILES} ${BUILT_SOURCES}
|
||||
CLEANFILES = ${BUILT_SOURCES}
|
||||
DISTCLEANFILES = $(pkgconfig_DATA)
|
||||
MAINTAINERCLEANFILES = makefile.in
|
||||
Reference in new issue
Block a user