diff options
| author | jow <jow@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2011-01-02 01:14:45 +0000 | 
|---|---|---|
| committer | jow <jow@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2011-01-02 01:14:45 +0000 | 
| commit | 379ea2fe107da3ecb56c91bce852efeb55279b00 (patch) | |
| tree | 6e2680e867baaa65f0330f8d53089d7fcff05247 /tools/missing-macros/src/m4 | |
| parent | 20a4e0bcbc2868cbc9ebcb579a7fc67587e0ca60 (diff) | |
[tools] missing-macros: add as-compiler-flag.m4 and as-version.m4
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@24877 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'tools/missing-macros/src/m4')
| -rw-r--r-- | tools/missing-macros/src/m4/as-compiler-flag.m4 | 62 | ||||
| -rw-r--r-- | tools/missing-macros/src/m4/as-version.m4 | 71 | 
2 files changed, 133 insertions, 0 deletions
| diff --git a/tools/missing-macros/src/m4/as-compiler-flag.m4 b/tools/missing-macros/src/m4/as-compiler-flag.m4 new file mode 100644 index 000000000..0f660cf07 --- /dev/null +++ b/tools/missing-macros/src/m4/as-compiler-flag.m4 @@ -0,0 +1,62 @@ +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/12/15 23:35:19 ds 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 +    m4_ifvaln([$2],[$2]) +    true +  else +    m4_ifvaln([$3],[$3]) +    true +  fi +  AC_MSG_RESULT([$flag_ok]) +]) + +dnl AS_COMPILER_FLAGS(VAR, FLAGS) +dnl Tries to compile with the given CFLAGS. + +AC_DEFUN([AS_COMPILER_FLAGS], +[ +  list=$2 +  flags_supported="" +  flags_unsupported="" +  AC_MSG_CHECKING([for supported compiler flags]) +  for each in $list +  do +    save_CFLAGS="$CFLAGS" +    CFLAGS="$CFLAGS $each" +    AC_TRY_COMPILE([ ], [], [flag_ok=yes], [flag_ok=no]) +    CFLAGS="$save_CFLAGS" + +    if test "X$flag_ok" = Xyes ; then +      flags_supported="$flags_supported $each" +    else +      flags_unsupported="$flags_unsupported $each" +    fi +  done +  AC_MSG_RESULT([$flags_supported]) +  if test "X$flags_unsupported" != X ; then +    AC_MSG_WARN([unsupported compiler flags: $flags_unsupported]) +  fi +  $1="$$1 $flags_supported" +]) + diff --git a/tools/missing-macros/src/m4/as-version.m4 b/tools/missing-macros/src/m4/as-version.m4 new file mode 100644 index 000000000..a5b439903 --- /dev/null +++ b/tools/missing-macros/src/m4/as-version.m4 @@ -0,0 +1,71 @@ +dnl as-version.m4 0.2.0 + +dnl autostars m4 macro for versioning + +dnl Thomas Vander Stichele <thomas at apestaart dot org> + +dnl $Id: as-version.m4,v 1.4 2004/06/01 09:40:05 thomasvs Exp $ + +dnl AS_VERSION + +dnl example +dnl AS_VERSION + +dnl this macro +dnl - AC_SUBST's PACKAGE_VERSION_MAJOR, _MINOR, _MICRO +dnl - AC_SUBST's PACKAGE_VERSION_RELEASE, +dnl    which can be used for rpm release fields +dnl - doesn't call AM_INIT_AUTOMAKE anymore because it prevents +dnl   maintainer mode from running correctly +dnl +dnl don't forget to put #undef PACKAGE_VERSION_RELEASE in acconfig.h +dnl if you use acconfig.h + +AC_DEFUN([AS_VERSION], +[ +  PACKAGE_VERSION_MAJOR=$(echo AC_PACKAGE_VERSION | cut -d'.' -f1) +  PACKAGE_VERSION_MINOR=$(echo AC_PACKAGE_VERSION | cut -d'.' -f2) +  PACKAGE_VERSION_MICRO=$(echo AC_PACKAGE_VERSION | cut -d'.' -f3) + +  AC_SUBST(PACKAGE_VERSION_MAJOR) +  AC_SUBST(PACKAGE_VERSION_MINOR) +  AC_SUBST(PACKAGE_VERSION_MICRO) +]) + +dnl AS_NANO(ACTION-IF-NO-NANO, [ACTION-IF-NANO]) + +dnl requires AC_INIT to be called before +dnl For projects using a fourth or nano number in your versioning to indicate +dnl development or prerelease snapshots, this macro allows the build to be +dnl set up differently accordingly. + +dnl this macro: +dnl - parses AC_PACKAGE_VERSION, set by AC_INIT, and extracts the nano number +dnl - sets the variable PACKAGE_VERSION_NANO +dnl - sets the variable PACKAGE_VERSION_RELEASE, which can be used +dnl   for rpm release fields +dnl - executes ACTION-IF-NO-NANO or ACTION-IF-NANO +     +dnl example: +dnl AS_NANO(RELEASE="yes", RELEASE="no") + +AC_DEFUN([AS_NANO], +[ +  AC_MSG_CHECKING(nano version) + +  NANO=$(echo AC_PACKAGE_VERSION | cut -d'.' -f4) + +  if test x"$NANO" = x || test "x$NANO" = "x0" ; then +    AC_MSG_RESULT([0 (release)]) +    NANO=0 +    PACKAGE_VERSION_RELEASE=1 +    ifelse([$1], , :, [$1]) +  else +    AC_MSG_RESULT($NANO) +    PACKAGE_VERSION_RELEASE=0.`date +%Y%m%d.%H%M%S` +    ifelse([$2], , :, [$2]) +  fi +  PACKAGE_VERSION_NANO=$NANO +  AC_SUBST(PACKAGE_VERSION_NANO) +  AC_SUBST(PACKAGE_VERSION_RELEASE) +]) | 
