]> git.donarmstrong.com Git - lilypond.git/blobdiff - stepmake/aclocal.m4
* stepmake/stepmake/*:
[lilypond.git] / stepmake / aclocal.m4
index 88bed517906a5f3bddc98db0c0db3750a300e7f4..8df5168b8c9d11947ebefbbf0ea659d0bf59a5f7 100644 (file)
@@ -11,7 +11,7 @@ AC_DEFUN(STEPMAKE_GET_EXECUTABLE, [
     ## command -v doesn't work in zsh
     ## command -v "$1" 2>&1
     ## this test should work in ash, bash, pdksh (ksh), zsh
-    type -p "$1" 2>/dev/null | tail -n 1 | awk '{print $NF}'
+    type -p $1 2>/dev/null | tail -n 1 | awk '{print $NF}'
 ])
 
 
@@ -25,8 +25,7 @@ AC_DEFUN(STEPMAKE_GET_VERSION, [
     ##
     ## -V: Workaround for python
 
-    changequote(<<, >>)dnl
-    ##set -x
+    changequote(<<, >>)#dnl
     ## Assume and hunt for dotted version multiplet.
     ## use eval trickery, because we cannot use multi-level $() instead of ``
     ## for compatibility reasons.
@@ -42,8 +41,7 @@ AC_DEFUN(STEPMAKE_GET_VERSION, [
            | sed -e 's/^[^.0-9]*//' -e 's/[^.0-9]*$//'\`\"
     fi
     echo "$_ver"
-    ##set +x
-    changequote([, ])dnl
+    changequote([, ])#dnl
 ])
 
 # Calculate simplistic numeric version from version string ($1)
@@ -197,7 +195,7 @@ AC_DEFUN(STEPMAKE_COMPILE, [
     fi
 
     if test $profile_b = yes; then
-       EXTRA_LIBES="-pg"
+       EXTRA_LIBS="-pg"
        OPTIMIZE="$OPTIMIZE -pg"
     fi
 
@@ -245,10 +243,8 @@ AC_DEFUN(STEPMAKE_COMPILE, [
     AC_SUBST(CFLAGS)
     AC_SUBST(CPPFLAGS)
     AC_SUBST(LDFLAGS)
-    AC_SUBST(ICFLAGS)
-    AC_SUBST(ILDFLAGS)
     AC_SUBST(DEFINES)
-    AC_SUBST(EXTRA_LIBES)
+    AC_SUBST(EXTRA_LIBS)
 ])
 
 AC_DEFUN(STEPMAKE_CXX, [
@@ -256,13 +252,11 @@ AC_DEFUN(STEPMAKE_CXX, [
     AC_PROG_CXX
     STEPMAKE_OPTIONAL_REQUIRED(CXX, c++, $1)
 
-    CPPFLAGS="$CPPFLAGS $DEFINES"
     CXXFLAGS="$CXXFLAGS $OPTIMIZE"
-    LDFLAGS="$LDFLAGS $EXTRA_LIBES"
+    LD='$(CXX)'
 
-    AC_SUBST(CXXFLAGS)
     AC_SUBST(CXX)
-    LD='$(CXX)'
+    AC_SUBST(CXXFLAGS)
     AC_SUBST(LD)
 ])
 
@@ -360,10 +354,26 @@ AC_DEFUN(STEPMAKE_END, [
        rm -f $srcdir/GNUmakefile
        cp $srcdir/GNUmakefile.in $srcdir/GNUmakefile
        chmod 444 $srcdir/GNUmakefile
-    else # --srcdir build
-        rm -f GNUmakefile
-       cp $srcdir/make/srcdir.make.in GNUmakefile
-       chmod 444 GNUmakefile
+    else
+       if test -f $srcdir/GNUmakefile; then
+           cat <<EOF
+Source directory already configured.  Please clean the source directory
+
+     make -C $srcdir distclean
+
+and rerun configure.
+EOF
+           exit 2
+       fi
+       rm -f GNUmakefile
+       cp $srcdir/GNUmakefile.in GNUmakefile
+       ## (cd $srcdir && find . -name GNUmakefile -o -name '*.make' | grep -v config.make | xargs tar -cf-) | tar -xf-
+       for i in $(cd $srcdir && find . -name GNUmakefile -o -name '*.make' | grep -v config.make); do
+           mkdir -p $(dirname $i)
+           ln -sf $srcdir/$i $i
+       done
+       ln -sf $srcdir/VERSION .
+       AC_SUBST(VPATH)
     fi
 ])
 
@@ -412,6 +422,23 @@ class yy_flex_lexer: public yyFlexLexer
 ])
   
 
+
+AC_DEFUN(STEPMAKE_FLEXLEXER_LOCATION, [
+       AC_MSG_CHECKING([FlexLexer.h path])
+
+       # ugh.
+       cat <<EOF > conftest.cc
+using namespace std;
+#include <FlexLexer.h>
+EOF
+       FLEXLEXER_PATH=`$CXX -E conftest.cc | \
+         sed 's!# 1 "\(.*\)FlexLexer.h"!@FLEXLEXER@\1@@!g' | grep '@@' | \
+         sed 's!.*@FLEXLEXER@\(.*\)@@.*$!\1!g' ` >& /dev/null
+       rm conftest.cc
+       AC_SUBST(FLEXLEXER_PATH)
+        AC_MSG_RESULT($FLEXLEXER_PATH)
+])
+
 AC_DEFUN(STEPMAKE_GCC, [
     if test "$GCC" = "yes"; then
         STEPMAKE_CHECK_VERSION(CC, $1, $2)
@@ -519,11 +546,11 @@ AC_DEFUN(STEPMAKE_GUILE_DEVEL, [
     AC_SUBST(GUILE_CONFIG)
     
     guile_version="$ver"
-    changequote(<<, >>)dnl
+    changequote(<<, >>)#dnl
     GUILE_MAJOR_VERSION=`expr $guile_version : '\([0-9]*\)'`
     GUILE_MINOR_VERSION=`expr $guile_version : '[0-9]*\.\([0-9]*\)'`
     GUILE_PATCH_LEVEL=`expr $guile_version : '[0-9]*\.[0-9]*\.\([0-9]*\)'`
-    changequote([, ])dnl
+    changequote([, ])#dnl
     STEPMAKE_GUILE_FLAGS
     save_CPPFLAGS="$CPPFLAGS"
     save_LIBS="$LIBS"
@@ -565,15 +592,18 @@ AC_DEFUN(STEPMAKE_INIT, [
     AC_PREREQ(2.50)
     . $srcdir/VERSION
     FULL_VERSION=$MAJOR_VERSION.$MINOR_VERSION.$PATCH_LEVEL
+    MICRO_VERSION=$PATCH_LEVEL
+    TOPLEVEL_VERSION=$FULL_VERSION
     if test x$MY_PATCH_LEVEL != x; then
        FULL_VERSION=$FULL_VERSION.$MY_PATCH_LEVEL
     fi
+    VERSION=$FULL_VERSION
     export MAJOR_VERSION MINOR_VERSION PATCH_LEVEL
     # urg: don't "fix" this: irix doesn't know about [:lower:] and [:upper:]
-    changequote(<<, >>)dnl
+    changequote(<<, >>)#dnl
     PACKAGE=`echo $PACKAGE_NAME | tr '[a-z]' '[A-Z]'`
     package=`echo $PACKAGE_NAME | tr '[A-Z]' '[a-z]'`
-    changequote([, ])dnl
+    changequote([, ])#dnl
 
     # No versioning on directory names of sub-packages 
     # urg, urg
@@ -643,12 +673,19 @@ AC_DEFUN(STEPMAKE_INIT, [
     fi
 
     AC_SUBST(ugh_ugh_autoconf250_builddir)
+    AC_SUBST(srcdir)
     AC_SUBST(stepmake)
     AC_SUBST(package)
     AC_SUBST(PACKAGE)
     AC_SUBST(PACKAGE_NAME)
+    AC_SUBST(VERSION)
     AC_SUBST(MAJOR_VERSION)
     AC_SUBST(MINOR_VERSION)
+    AC_SUBST(MICRO_VERSION)
+
+    # stepmake nonstandard names
+    AC_SUBST(PATCH_LEVEL)
+    AC_SUBST(TOPLEVEL_VERSION)
     
     # We don't need the upper case variant,
     # so stick to macros are uppercase convention.
@@ -708,26 +745,16 @@ AC_DEFUN(STEPMAKE_INIT, [
            # STEPMAKE_WARN($warn)
            STEPMAKE_ADD_ENTRY(REQUIRED, $warn)
         fi
-    fi 
-
-    if test "$OSTYPE" = "cygwin" -o "$OSTYPE" = "cygwin32" -o "$OSTYPE" = "Windows_NT"; then
-       LN=cp # hard link does not work under cygnus-nt
-       LN_S='cp -r' # symbolic link does not work for native nt
-       ZIP="zip -r -9" #
-       program_suffix=.exe
-       ROOTSEP=':'
-        DIRSEP='/'
-       PATHSEP=':'
-       INSTALL="\$(SHELL) \$(stepdir)/../bin/install-dot-exe.sh -c"
-    else
-       ROOTSEP=':'
-       DIRSEP='/'
-       PATHSEP=':'
-       LN=ln
-       LN_S='ln -s'
-       ZIP="zip -r -9"
-        INSTALL="\$(SHELL) \$(stepdir)/../bin/install-sh -c"
     fi
+
+    ROOTSEP=':'
+    DIRSEP='/'
+    PATHSEP=':'
+    LN=ln
+    LN_S='ln -s'
+    ZIP="zip -r -9"
+    INSTALL="\$(SHELL) \$(stepdir)/../bin/install-sh -c"
+
     AC_SUBST(program_prefix)
     AC_SUBST(program_suffix)
     AC_SUBST(ZIP)
@@ -780,14 +807,7 @@ AC_DEFUN(STEPMAKE_KPATHSEA, [
        AC_CHECK_LIB(kpathsea, kpse_find_file)
        AC_CHECK_FUNCS(kpse_find_file,,kpathsea_b=no)
        if test "$kpathsea_b" = "no"; then
-           warn='kpathsea (libkpathsea-dev, kpathsea-devel or tetex-devel
-   package).
-   Else, please specify the directories where kpathsea/kpathsea.h and
-   libkpathsea.a are installed using --with-kpathsea-include and
-   --with-kpathsea-lib options.  You should install kpathsea; see
-   INSTALL.txt.  Rerun ./configure --without-kpathsea only if kpathsea
-   is not available for your platform.'
-           STEPMAKE_ADD_ENTRY(REQUIRED, $warn)
+           STEPMAKE_ADD_ENTRY(OPTIONAL, $warn)
        fi
     fi
 
@@ -797,12 +817,12 @@ AC_DEFUN(STEPMAKE_KPATHSEA, [
     AC_TRY_LINK([#include <kpathsea/kpathsea.h>],
                  [kpse_var_expand ("\$TEXMF");],
                  [have_libkpathsea_so=maybe;
-                 shared_size=`wc -c conftest`;
+                 shared_size=`wc -c conftest$ac_exeext`;
                  shared_size=`echo $shared_size | sed -e 's/ .*//g'`],
                  [have_libkpathsea_so=no])
 
     if test "$have_libkpathsea_so" = "maybe"; then
-       if test $shared_size -lt 40000 ; then
+       if test "$shared_size" -lt 40000 ; then
          have_libkpathsea_so=yes
        else
          have_libkpathsea_so=no
@@ -971,11 +991,11 @@ AC_DEFUN(STEPMAKE_PYTHON, [
 AC_DEFUN(STEPMAKE_PYTHON_DEVEL, [
     unset PYTHON_HEADER PYTHON_INCLUDE
     if test -n "$PYTHON"; then
-       changequote(<<, >>)dnl
+       changequote(<<, >>)#dnl
        # alternatively, for python >= 2.0
        # 'import sys, distutils.sysconfig; sys.stdout.write (distutils.sysconfig.get_python_inc ())'
        PYTHON_INCLUDE=`$PYTHON -c 'import sys; sys.stdout.write ("%s/include/python%s" % (sys.prefix, sys.version[:3]))'`
-       changequote([, ])dnl
+       changequote([, ])#dnl
     fi
     
     ##AC_CHECK_HEADERS([Python.h],[PYTHON_HEADER=yes])
@@ -993,40 +1013,11 @@ AC_DEFUN(STEPMAKE_PYTHON_DEVEL, [
     fi
 ])
 
-
 AC_DEFUN(STEPMAKE_TEXMF_DIRS, [
-    AC_ARG_ENABLE(tfm-path,
-    [  --enable-tfm-path=PATH  set path of tex directories where tfm files live,
-                            esp.: cmr10.tfm.  Default: use kpsewhich],
-    [tfm_path=$enableval],
-    [tfm_path=auto] )
-
     # ugh
     STEPMAKE_PROGS(KPSEWHICH, kpsewhich, OPTIONAL)
-    AC_MSG_CHECKING(for tfm path)
-
-    TFM_FONTS="cmr msam"
-
-    if test "x$tfm_path" = xauto ; then
-       if test "x$KPSEWHICH" != "xno" ; then
-           for i in $TFM_FONTS; do
-               dir=`$KPSEWHICH tfm ${i}10.tfm`
-               TFM_PATH="$TFM_PATH `dirname $dir`"
-           done
-       else
-           STEPMAKE_WARN(Please specify where cmr10.tfm lives:
-    ./configure --enable-tfm-path=/usr/local/TeX/lib/tex/fonts)
-       fi
-    else
-         TFM_PATH=$tfm_path
-    fi
-
-    TFM_PATH=`echo $TFM_PATH | tr ':' ' '`
-    AC_MSG_RESULT($TFM_PATH)
-    AC_SUBST(TFM_PATH)
 ])
 
-
 AC_DEFUN(STEPMAKE_TEXMF, [
     STEPMAKE_PROGS(METAFONT, mf-nowin mf mfw mfont, $1)
     # STEPMAKE_PROGS(INIMETAFONT, inimf inimfont "$METAFONT -ini", $1)
@@ -1109,10 +1100,18 @@ AC_DEFUN(STEPMAKE_FREETYPE2, [
     PKG_CHECK_MODULES(FREETYPE2, $1 >= $3, have_freetype2=yes, true)
     if test "$have_freetype2" = yes; then
        AC_DEFINE(HAVE_FREETYPE2)
+        save_CPPFLAGS="$CPPFLAGS"
+        save_LIBS="$LIBS"
+       CPPFLAGS="$FREETYPE2_CFLAGS $CPPFLAGS"
+       LIBS="$FREETYPE2_LIBS $LIBS"
        AC_SUBST(FREETYPE2_CFLAGS)
        AC_SUBST(FREETYPE2_LIBS)
+       CPPFLAGS="$save_CPPFLAGS"
+       LIBS="$save_LIBS"
     else
-       r="lib$1-dev or $1-devel"
+       # UGR
+       #r="lib$1-dev or $1-devel"
+       r="libfreetype6-dev or freetype?-devel"
        ver="$(pkg-config --modversion $1)"
        STEPMAKE_ADD_ENTRY($2, ["$r >= $3 (installed: $ver)"])
     fi
@@ -1122,12 +1121,19 @@ AC_DEFUN(STEPMAKE_GTK2, [
     PKG_CHECK_MODULES(GTK2, $1 >= $3, have_gtk2=yes, true)
     if test "$have_gtk2" = yes ; then
        AC_DEFINE(HAVE_GTK2)
+       # Do not pollute user-CPPFLAGS with configure-CPPFLAGS
+        save_CPPFLAGS="$CPPFLAGS"
+        save_LIBS="$LIBS"
+       CPPFLAGS="$GTK2_CFLAGS $CPPFLAGS"
+       LIBS="$GTK2_LIBS $LIBS"
        AC_SUBST(GTK2_CFLAGS)
        AC_SUBST(GTK2_LIBS)
+       CPPFLAGS="$save_CPPFLAGS"
+       LIBS="$save_LIBS"
     else
        # UGR
        # r="lib$1-dev or $1-devel"
-       r="libgtk+2.0-dev or gtk2-devel"
+       r="libgtk2.0-dev or gtk2-devel"
        ver="$(pkg-config --modversion $1)"
        STEPMAKE_ADD_ENTRY($2, ["$r >= $3 (installed: $ver)"])
     fi
@@ -1137,11 +1143,11 @@ AC_DEFUN(STEPMAKE_PANGO, [
     PKG_CHECK_MODULES(PANGO, $1 >= $3, have_pango16=yes, true)
     if test "$have_pango16" = yes ; then
        AC_DEFINE(HAVE_PANGO16)
-       PANGO_CFLAGS="$PANGO_CFLAGS $GTK2_CFLAGS"
-       PANGO_LIBS="$PANGO_LIBS $GTK2_LIBS"
        # Do not pollute user-CPPFLAGS with configure-CPPFLAGS
         save_CPPFLAGS="$CPPFLAGS"
         save_LIBS="$LIBS"
+       CPPFLAGS="$PANGO_CFLAGS $CPPFLAGS"
+       LIBS="$PANGO_LIBS $LIBS"
        AC_CHECK_HEADERS([pango/pangofc-fontmap.h])
        AC_CHECK_FUNCS([pango_fc_font_map_add_decoder_find_func])
        AC_SUBST(PANGO_CFLAGS)
@@ -1162,8 +1168,6 @@ AC_DEFUN(STEPMAKE_PANGO_FT2, [
     if test "$have_pangoft2" = yes ; then
        AC_DEFINE(HAVE_PANGO16)
        AC_DEFINE(HAVE_PANGO_FT2)
-       PANGO_FT2_CFLAGS="$PANGO_FT2_CFLAGS $GTK2_CFLAGS"
-       PANGO_FT2_LIBS="$PANGO_FT2_LIBS $GTK2_LIBS"
        # Do not pollute user-CPPFLAGS with configure-CPPFLAGS
         save_CPPFLAGS="$CPPFLAGS"
         save_LIBS="$LIBS"
@@ -1177,8 +1181,8 @@ AC_DEFUN(STEPMAKE_PANGO_FT2, [
        LIBS="$save_LIBS"
     else
        # UGR
-       #r="lib$1-dev or $1-devel"
-       r="libpango1.0-dev or pango1.0-devel"
+       #r="lib$1-dev or $1-devel"e
+       r="libpango1.0-dev or pango?-devel"
        ver="$(pkg-config --modversion $1)"
        STEPMAKE_ADD_ENTRY($2, ["$r >= $3 (installed: $ver)"])
     fi
@@ -1188,12 +1192,10 @@ AC_DEFUN(STEPMAKE_FONTCONFIG, [
     PKG_CHECK_MODULES(FONTCONFIG, $1 >= $3, have_fontconfig=yes, true)
     if test "$have_fontconfig" = yes ; then
        AC_DEFINE(HAVE_FONTCONFIG)
-       FONTCONFIG_CFLAGS="$FONTCONFIG_CFLAGS"
-       FONTCONFIG_LIBS="$FONTCONFIG_LIBS"
        # Do not pollute user-CPPFLAGS with configure-CPPFLAGS
         save_CPPFLAGS="$CPPFLAGS"
         save_LIBS="$LIBS"
-       CPPFLAGS="$CPPFLAGS $FONTCONFIG_CFLAGS"
+       CPPFLAGS="$FONTCONFIG_CFLAGS $CPPFLAGS"
        LIBS="$FONTCONFIG_LIBS $LIBS"
        AC_SUBST(FONTCONFIG_CFLAGS)
        AC_SUBST(FONTCONFIG_LIBS)
@@ -1205,3 +1207,40 @@ AC_DEFUN(STEPMAKE_FONTCONFIG, [
        STEPMAKE_ADD_ENTRY($2, ["$r >= $3 (installed: $ver)"])
     fi
 ])
+
+AC_DEFUN(STEPMAKE_WINDOWS, [
+    AC_CYGWIN
+    AC_MINGW32
+
+    if test "$CYGWIN" == "yes"; then
+       LN_S='cp -r' # Cygwin symbolic links do not work for native apps.
+       program_suffix=.exe
+       INSTALL="\$(SHELL) \$(stepdir)/../bin/install-dot-exe.sh -c"
+    elif test "$MINGW32" == "yes"; then
+       LN='cp -r'
+       LN_S='cp -r'
+       program_suffix=.exe
+       INSTALL="\$(SHELL) \$(stepdir)/../bin/install-dot-exe.sh -c"
+       PATHSEP=';'
+    fi
+
+    AC_SUBST(LN)
+    AC_SUBST(LN_S)
+    AC_SUBST(INSTALL)
+    AC_DEFINE_UNQUOTED(DIRSEP, ['${DIRSEP}'])
+    AC_DEFINE_UNQUOTED(PATHSEP, ['${PATHSEP}'])
+    AC_SUBST(DIRSEP)
+    AC_SUBST(PATHSEP)
+    AC_SUBST(program_suffix)
+
+    AC_MSG_CHECKING([for some flavor of Windows])
+    if test "$CYGWIN$MINGW32" == "nono"; then
+        PLATFORM_WINDOWS=no
+    else
+        PLATFORM_WINDOWS=yes
+    fi
+    AC_MSG_RESULT([$PLATFORM_WINDOWS])
+    AC_SUBST(PLATFORM_WINDOWS)
+    STEPMAKE_PROGS(WINDRES, $target-windres windres, x)
+    AC_SUBST(WINDRES)
+])