Initial commit

This commit is contained in:
Gergely Polonkai
2015-12-04 15:39:39 +01:00
commit b060ac5a76
31 changed files with 1379 additions and 0 deletions

4
m4/Makefile.am Normal file
View File

@@ -0,0 +1,4 @@
EXTRA_DIST = \
as-compiler-flag.m4 \
as-version.m4 \
as-ac-expand.m4

40
m4/as-ac-expand.m4 Normal file
View File

@@ -0,0 +1,40 @@
dnl AS_AC_EXPAND(VAR, CONFIGURE_VAR)
dnl
dnl example
dnl AS_AC_EXPAND(SYSCONFDIR, $sysconfdir)
dnl will set SYSCONFDIR to /usr/local/etc if prefix=/usr/local
AC_DEFUN([AS_AC_EXPAND],
[
EXP_VAR=[$1]
FROM_VAR=[$2]
dnl first expand prefix and exec_prefix if necessary
prefix_save=$prefix
exec_prefix_save=$exec_prefix
dnl if no prefix given, then use /usr/local, the default prefix
if test "x$prefix" = "xNONE"; then
prefix=$ac_default_prefix
fi
dnl if no exec_prefix given, then use prefix
if test "x$exec_prefix" = "xNONE"; then
exec_prefix=$prefix
fi
full_var="$FROM_VAR"
dnl loop until it doesn't change anymore
while true; do
new_full_var="`eval echo $full_var`"
if test "x$new_full_var"="x$full_var"; then break; fi
full_var=$new_full_var
done
dnl clean up
full_var=$new_full_var
AC_SUBST([$1], "$full_var")
dnl restore prefix and exec_prefix
prefix=$prefix_save
exec_prefix=$exec_prefix_save
])

33
m4/as-compiler-flag.m4 Normal file
View File

@@ -0,0 +1,33 @@
dnl as-compiler-flag.m4 0.1.0
dnl autostars m4 macro for detection of compiler flags
dnl David Schleef <ds@schleef.org>
dnl $Id: as-compiler-flag.m4,v 1.1 2005/06/18 18:02:46 burgerman Exp $
dnl AS_COMPILER_FLAG(CFLAGS, ACTION-IF-ACCEPTED, [ACTION-IF-NOT-ACCEPTED])
dnl Tries to compile with the given CFLAGS.
dnl Runs ACTION-IF-ACCEPTED if the compiler can compile with the flags,
dnl and ACTION-IF-NOT-ACCEPTED otherwise.
AC_DEFUN([AS_COMPILER_FLAG],
[
AC_MSG_CHECKING([to see if compiler understands $1])
save_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS $1"
AC_TRY_COMPILE([ ], [], [flag_ok=yes], [flag_ok=no])
CFLAGS="$save_CFLAGS"
if test "X$flag_ok" = Xyes ; then
$2
true
else
$3
true
fi
AC_MSG_RESULT([$flag_ok])
])

66
m4/as-version.m4 Normal file
View File

@@ -0,0 +1,66 @@
dnl as-version.m4 0.1.0
dnl autostars m4 macro for versioning
dnl Thomas Vander Stichele <thomas at apestaart dot org>
dnl $Id: as-version.m4,v 1.1 2005/06/18 18:02:46 burgerman Exp $
dnl AS_VERSION(PACKAGE, PREFIX, MAJOR, MINOR, MICRO, NANO,
dnl ACTION-IF-NO-NANO, [ACTION-IF-NANO])
dnl example
dnl AS_VERSION(gstreamer, GST_VERSION, 0, 3, 2,)
dnl for a 0.3.2 release version
dnl this macro
dnl - defines [$PREFIX]_MAJOR, MINOR and MICRO
dnl - if NANO is empty, then we're in release mode, else in cvs/dev mode
dnl - defines [$PREFIX], VERSION, and [$PREFIX]_RELEASE
dnl - executes the relevant action
dnl - AC_SUBST's PACKAGE, VERSION, [$PREFIX] and [$PREFIX]_RELEASE
dnl as well as the little ones
dnl - doesn't call AM_INIT_AUTOMAKE anymore because it prevents
dnl maintainer mode from running ok
dnl
dnl don't forget to put #undef [$2] and [$2]_RELEASE in acconfig.h
dnl if you use acconfig.h
AC_DEFUN([AS_VERSION],
[
PACKAGE=[$1]
[$2]_MAJOR=[$3]
[$2]_MINOR=[$4]
[$2]_MICRO=[$5]
NANO=[$6]
[$2]_NANO=$NANO
if test "x$NANO" = "x" || test "x$NANO" = "x0";
then
AC_MSG_NOTICE(configuring [$1] for release)
VERSION=[$3].[$4].[$5]
[$2]_RELEASE=1
dnl execute action
ifelse([$7], , :, [$7])
else
AC_MSG_NOTICE(configuring [$1] for development with nano $NANO)
VERSION=[$3].[$4].[$5].$NANO
[$2]_RELEASE=0.`date +%Y%m%d.%H%M%S`
dnl execute action
ifelse([$8], , :, [$8])
fi
[$2]=$VERSION
AC_DEFINE_UNQUOTED([$2], "$[$2]", [Define the version])
AC_SUBST([$2])
AC_DEFINE_UNQUOTED([$2]_RELEASE, "$[$2]_RELEASE", [Define the release version])
AC_SUBST([$2]_RELEASE)
AC_SUBST([$2]_MAJOR)
AC_SUBST([$2]_MINOR)
AC_SUBST([$2]_MICRO)
AC_SUBST([$2]_NANO)
AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Define the package name])
AC_SUBST(PACKAGE)
AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Define the version])
AC_SUBST(VERSION)
])

43
m4/tp-compiler-flag.m4 Normal file
View File

@@ -0,0 +1,43 @@
dnl A version of AS_COMPILER_FLAG that supports both C and C++.
dnl Based on:
dnl as-compiler-flag.m4 0.1.0
dnl autostars m4 macro for detection of compiler flags
dnl David Schleef <ds@schleef.org>
dnl $Id: as-compiler-flag.m4,v 1.1 2005/06/18 18:02:46 burgerman Exp $
dnl TP_COMPILER_FLAG(CFLAGS, ACTION-IF-ACCEPTED, [ACTION-IF-NOT-ACCEPTED])
dnl Tries to compile with the given CFLAGS and CXXFLAGS.
dnl
dnl Runs ACTION-IF-ACCEPTED if the compiler for the currently selected
dnl AC_LANG can compile with the flags, and ACTION-IF-NOT-ACCEPTED otherwise.
AC_DEFUN([TP_COMPILER_FLAG],
[
AC_MSG_CHECKING([to see if compiler understands $1])
save_CFLAGS="$CFLAGS"
save_CXXFLAGS="$CXXFLAGS"
CFLAGS="$CFLAGS $1"
CXXFLAGS="$CXXFLAGS $1"
AC_TRY_COMPILE([ ], [], [flag_ok=yes], [flag_ok=no])
CFLAGS="$save_CFLAGS"
CXXFLAGS="$save_CXXFLAGS"
if test "X$flag_ok" = Xyes ; then
$2
true
else
$3
true
fi
AC_MSG_RESULT([$flag_ok])
])
dnl TP_ADD_COMPILER_FLAG(VARIABLE, CFLAGS)
dnl Append CFLAGS to VARIABLE if the compiler supports them.
AC_DEFUN([TP_ADD_COMPILER_FLAG],
[
TP_COMPILER_FLAG([$2], [$1="[$]$1 $2"])
])

View File

@@ -0,0 +1,49 @@
dnl TP_COMPILER_WARNINGS(VARIABLE, WERROR_BY_DEFAULT, DESIRABLE, UNDESIRABLE)
dnl $1 (VARIABLE): the variable to put flags into
dnl $2 (WERROR_BY_DEFAULT): a command returning true if -Werror should be the
dnl default
dnl $3 (DESIRABLE): warning flags we want (e.g. all extra shadow)
dnl $4 (UNDESIRABLE): warning flags we don't want (e.g.
dnl missing-field-initializers unused-parameter)
AC_DEFUN([TP_COMPILER_WARNINGS],
[
AC_REQUIRE([AC_ARG_ENABLE])dnl
AC_REQUIRE([AC_HELP_STRING])dnl
AC_REQUIRE([TP_COMPILER_FLAG])dnl
tp_warnings=""
for tp_flag in $3; do
TP_COMPILER_FLAG([-W$tp_flag], [tp_warnings="$tp_warnings -W$tp_flag"])
done
tp_error_flags="-Werror"
TP_COMPILER_FLAG([-Werror], [tp_werror=yes], [tp_werror=no])
for tp_flag in $4; do
TP_COMPILER_FLAG([-Wno-$tp_flag],
[tp_warnings="$tp_warnings -Wno-$tp_flag"])
dnl Yes, we do need to use both -Wno-foo and -Wno-error=foo. Simon says:
dnl some warnings we explicitly don't want, like unused-parameter, but
dnl they're in -Wall. when a distro using cdbs compiles us, we have:
dnl -Werror -Wno-unused-parameter -Wall
dnl ^ from us ^ from cdbs
dnl which turns -Wunused-parameter back on, in effect
TP_COMPILER_FLAG([-Wno-error=$tp_flag],
[tp_error_flags="$tp_error_flags -Wno-error=$tp_flag"], [tp_werror=no])
done
AC_ARG_ENABLE([Werror],
AC_HELP_STRING([--disable-Werror],
[compile without -Werror (normally enabled in development builds)]),
tp_werror=$enableval, :)
if test "x$tp_werror" = xyes && $2; then
dnl We put -Wno-error=foo before -Wno-foo because clang interprets -Wall
dnl -Werror -Wno-foo -Wno-error=foo as “make foo a non-fatal warning”, but does
dnl what we want if you reverse them.
$1="$tp_error_flags $tp_warnings"
else
$1="$tp_warnings"
fi
])

44
m4/tp-linker-flag.m4 Normal file
View File

@@ -0,0 +1,44 @@
dnl A version of AS_COMPILER_FLAG that supports linker flags
dnl Based on:
dnl as-compiler-flag.m4 0.1.0
dnl autostars m4 macro for detection of compiler flags
dnl David Schleef <ds@schleef.org>
dnl $Id: as-compiler-flag.m4,v 1.1 2005/06/18 18:02:46 burgerman Exp $
dnl TP_LINKER_FLAG(LDFLAGS, ACTION-IF-ACCEPTED, [ACTION-IF-NOT-ACCEPTED])
dnl Tries to compile with the given LDFLAGS.
dnl
dnl Runs ACTION-IF-ACCEPTED if the compiler/linker for the currently selected
dnl AC_LANG can compile with the flags, and ACTION-IF-NOT-ACCEPTED otherwise.
dnl
dnl Note that LDFLAGS are passed to the linker via the compiler, so you
dnl should check for -Wl,--no-add-needed rather than --no-add-needed.
AC_DEFUN([TP_LINKER_FLAG],
[
AC_MSG_CHECKING([to see if compiler/linker understand $1])
save_LDFLAGS="$LDFLAGS"
LDFLAGS="$LDFLAGS $1"
AC_COMPILE_IFELSE(AC_LANG_SOURCE([]), [flag_ok=yes], [flag_ok=no])
LDFLAGS="$save_LDFLAGS"
if test "X$flag_ok" = Xyes ; then
$2
true
else
$3
true
fi
AC_MSG_RESULT([$flag_ok])
])
dnl TP_ADD_LINKER_FLAG(VARIABLE, LDFLAGS)
dnl Append LDFLAGS to VARIABLE if the linker supports them.
AC_DEFUN([TP_ADD_LINKER_FLAG],
[
TP_LINKER_FLAG([$2], [$1="[$]$1 $2"])
])