changeset 299:0885c930f214

Simplify autotools stuff
author hauberg
date Fri, 21 Mar 2008 19:05:44 +0000
parents fc2bf32365b8
children c9a9a29aae26
files src/Makeconf.in src/configure.base
diffstat 2 files changed, 10 insertions(+), 384 deletions(-) [+]
line wrap: on
line diff
--- a/src/Makeconf.in
+++ b/src/Makeconf.in
@@ -4,63 +4,6 @@
 ## create a new ./Makeconf.in, then use ./configure to generate a new
 ## Makeconf.
 
-OCTAVE_FORGE = 1
-
-SHELL = @SHELL@
-
-canonical_host_type = @canonical_host_type@
-prefix = @prefix@
-exec_prefix = @exec_prefix@
-bindir = @bindir@
-mandir = @mandir@
-libdir = @libdir@
-datadir = @datadir@
-infodir = @infodir@
-includedir = @includedir@
-datarootdir = @datarootdir@
-INSTALL = @INSTALL@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALLOCT=octinst.sh
-
-DESTDIR =
-
-RANLIB = @RANLIB@
-STRIP = @STRIP@
-LN_S = @LN_S@
-
-AWK = @AWK@
-
-# Most octave programs will be compiled with $(MKOCTFILE).  Those which
-# cannot use mkoctfile directly can request the flags that mkoctfile 
-# would use as follows:
-#    FLAG = $(shell $(MKOCTFILE) -p FLAG)
-# The following flags are for compiling programs that are independent
-# of Octave.  How confusing.
-CC = @CC@
-CFLAGS = @CFLAGS@
-CPPFLAGS = @CPPFLAGS@
-CPICFLAG = @CPICFLAG@
-CXX = @CXX@
-CXXFLAGS = @CXXFLAGS@
-CXXPICFLAG = @CXXPICFLAG@
-F77 = @F77@
-FFLAGS = @FFLAGS@
-FPICFLAG = @FPICFLAG@
-
-OCTAVE = @OCTAVE@
-OCTAVE_VERSION = @OCTAVE_VERSION@
-MKOCTFILE = @MKOCTFILE@ -DHAVE_OCTAVE_$(ver) -v
-SHLEXT = @SHLEXT@
-
-ver = @ver@
-MPATH = @mpath@
-OPATH = @opath@
-XPATH = @xpath@
-ALTMPATH = @altmpath@
-ALTOPATH = @altopath@
-
 @DEFHAVE_JPEG@
 @DEFHAVE_PNG@
 @DEFHAVE_MAGICKXX@
--- a/src/configure.base
+++ b/src/configure.base
@@ -7,312 +7,7 @@
 
 AC_INIT(configure.base)
 
-PACKAGE=octave-forge
-MAJOR_VERSION=0
-MINOR_VERSION=1
-PATCH_LEVEL=0
-
-dnl Kill caching --- this ought to be the default
-define([AC_CACHE_LOAD], )dnl
-define([AC_CACHE_SAVE], )dnl
-
-dnl uncomment to put support files in another directory
-dnl AC_CONFIG_AUX_DIR(admin)
-
-VERSION=$MAJOR_VERSION.$MINOR_VERSION.$PATCH_LEVEL
-AC_SUBST(PACKAGE)
-AC_SUBST(VERSION)
-
-dnl need to find admin files, so keep track of the top dir.
-TOPDIR=`pwd`
-AC_SUBST(TOPDIR)
-
-dnl if mkoctfile doesn't work, then we need the following:
-dnl AC_PROG_CXX
-dnl AC_PROG_F77
-
-dnl Need C compiler regardless so define it in a way that
-dnl makes autoconf happy and we can override whatever we
-dnl need with mkoctfile -p.
-dnl XXX FIXME XXX should use mkoctfile to get CC and CFLAGS
-AC_PROG_CC
-
-dnl XXX FIXME XXX need tests for -p -c -s in mkoctfile.
-
-dnl *******************************************************************
-dnl Sort out mkoctfile version number and install paths
-
-dnl XXX FIXME XXX latest octave has octave-config so we don't
-dnl need to discover things here.  Doesn't have --exe-site-dir
-dnl but defines --oct-site-dir and --m-site-dir
-
-dnl Check for mkoctfile
-AC_CHECK_PROG(MKOCTFILE,mkoctfile,mkoctfile)
-test -z "$MKOCTFILE" &&	AC_MSG_WARN([no mkoctfile found on path])
-
-AC_SUBST(ver)
-AC_SUBST(subver)
-AC_SUBST(mpath)
-AC_SUBST(opath)
-AC_SUBST(xpath)
-AC_SUBST(altpath)
-AC_SUBST(altmpath)
-AC_SUBST(altopath)
-
-AC_ARG_WITH(path, 
-	[  --with-path             install path prefix],
-	[ path=$withval ])
-AC_ARG_WITH(mpath,
-	[  --with-mpath            override path for m-files],
-	[mpath=$withval])
-AC_ARG_WITH(opath,
-	[  --with-opath            override path for oct-files],
-	[opath=$withval])
-AC_ARG_WITH(xpath,
-	[  --with-xpath            override path for executables],
-	[xpath=$withval])
-AC_ARG_WITH(altpath, 
-	[  --with-altpath          alternative functions install path prefix],
-	[ altpath=$withval ])
-AC_ARG_WITH(altmpath,
-	[  --with-altmpath         override path for alternative m-files],
-	[altmpath=$withval])
-AC_ARG_WITH(altopath,
-	[  --with-altopath         override path for alternative oct-files],
-	[altopath=$withval])	
-
-if test -n "$path" ; then
-   test -z "$mpath" && mpath=$path 
-   test -z "$opath" && opath=$path/oct 
-   test -z "$xpath" && xpath=$path/bin
-   test -z "$altpath" && altpath=$path-alternatives
-fi
-
-if test -n "$altpath" ; then
-   test -z "$altmpath" && altmpath=$altpath 
-   test -z "$altopath" && altopath=$altpath/oct 
-fi
-
-dnl Don't query if path/ver are given in the configure environment
-#if test -z "$mpath" || test -z "$opath" || test -z "$xpath" || test -z "$altmpath" || test -z "$altopath" || test -z "$ver" ; then
-if test -z "$mpath" || test -z "$opath" || test -z "$xpath" || test -z "$ver" ; then
-   dnl Construct program to get mkoctfile version and local install paths
-   cat > conftest.cc <<EOF
-#include <octave/config.h>
-#include <octave/version.h>
-#include <octave/defaults.h>
-
-#define INFOV "\nINFOV=" OCTAVE_VERSION "\n"
-
-#define INFOH "\nINFOH=" OCTAVE_CANONICAL_HOST_TYPE "\n"
-
-#ifdef OCTAVE_LOCALVERFCNFILEDIR
-# define INFOM "\nINFOM=" OCTAVE_LOCALVERFCNFILEDIR "\n"
-#else
-# define INFOM "\nINFOM=" OCTAVE_LOCALFCNFILEPATH "\n"
-#endif
-
-#ifdef OCTAVE_LOCALVEROCTFILEDIR
-# define INFOO "\nINFOO=" OCTAVE_LOCALVEROCTFILEDIR "\n"
-#else
-# define INFOO "\nINFOO=" OCTAVE_LOCALOCTFILEPATH  "\n"
-#endif
-
-#ifdef OCTAVE_LOCALVERARCHLIBDIR
-# define INFOX "\nINFOX=" OCTAVE_LOCALVERARCHLIBDIR  "\n"
-#else
-# define INFOX "\nINFOX=" OCTAVE_LOCALARCHLIBDIR  "\n"
-#endif
-
-const char *infom = INFOM;
-const char *infoo = INFOO;
-const char *infox = INFOX;
-const char *infoh = INFOH;
-const char *infov = INFOV;
-EOF
-
-   dnl Compile program perhaps with a special version of mkoctfile
-   $MKOCTFILE conftest.cc || AC_MSG_ERROR(Could not run $MKOCTFILE)
-
-   dnl Strip the config info from the compiled file
-   eval `strings conftest.o | grep "^INFO.=" | sed -e "s,//.*$,,"`
-   rm -rf conftest*
-
-   dnl set the appropriate variables if they are not already set
-   ver=`echo $INFOV | sed -e "s/\.//" -e "s/\..*$//"`
-   subver=`echo $INFOV | sed -e "[s/^[^.]*[.][^.]*[.]//]"`
-   alt_mbase=`echo $INFOM | sed -e "[s,\/[^\/]*$,,]"`
-   alt_obase=`echo $INFOO | sed -e "[s,/site.*$,/site,]"`
-   test -z "$mpath" && mpath=$INFOM/octave-forge
-   test -z "$opath" && opath=$INFOO/octave-forge
-   test -z "$xpath" && xpath=$INFOX
-   test -z "$altmpath" && altmpath=$alt_mbase/octave-forge-alternatives/m
-   test -z "$altopath" && altopath=$alt_obase/octave-forge-alternatives/oct/$INFOH
-fi
-
-dnl *******************************************************************
-
-dnl XXX FIXME XXX Should we allow the user to override these?
-dnl Do we even need them?  The individual makefiles can call mkoctfile -p
-dnl themselves, so the only reason to keep them is for configure, and
-dnl for those things which are not built using mkoctfile (e.g., aurecord)
-dnl but it is not clear we should be using octave compile flags for those.
-
-dnl C compiler and flags
-AC_MSG_RESULT([retrieving compile and link flags from $MKOCTFILE])
-CC=`$MKOCTFILE -p CC`
-CFLAGS=`$MKOCTFILE -p CFLAGS`
-CPPFLAGS=`$MKOCTFILE -p CPPFLAGS`
-CPICFLAG=`$MKOCTFILE -p CPICFLAG`
-LDFLAGS=`$MKOCTFILE -p LDFLAGS`
-LIBS=`$MKOCTFILE -p LIBS`
-AC_SUBST(CC)
-AC_SUBST(CFLAGS)
-AC_SUBST(CPPFLAGS)
-AC_SUBST(CPICFLAG)
-
-dnl Fortran compiler and flags
-F77=`$MKOCTFILE -p F77`
-FFLAGS=`$MKOCTFILE -p FFLAGS`
-FPICFLAG=`$MKOCTFILE -p FPICFLAG`
-AC_SUBST(F77)
-AC_SUBST(FFLAGS)
-AC_SUBST(FPICFLAG)
-
-dnl C++ compiler and flags
-CXX=`$MKOCTFILE -p CXX`
-CXXFLAGS=`$MKOCTFILE -p CXXFLAGS`
-CXXPICFLAG=`$MKOCTFILE -p CXXPICFLAG`
-AC_SUBST(CXX)
-AC_SUBST(CXXFLAGS)
-AC_SUBST(CXXPICFLAG)
-
-dnl *******************************************************************
-
-dnl Check for features of your version of mkoctfile.
-dnl All checks should be designed so that the default
-dnl action if the tests are not performed is to do whatever
-dnl is appropriate for the most recent version of Octave.
-
-dnl Define the following macro:
-dnl    OF_CHECK_LIB(lib,fn,true,false,helpers)
-dnl This is just like AC_CHECK_LIB, but it doesn't update LIBS
-AC_DEFUN(OF_CHECK_LIB,
-[save_LIBS="$LIBS"
-AC_CHECK_LIB($1,$2,$3,$4,$5)
-LIBS="$save_LIBS"
-])
-
-dnl Define the following macro:
-dnl    TRY_MKOCTFILE(msg,program,action_if_true,action_if_false)
-dnl
-AC_DEFUN(TRY_MKOCTFILE,
-[AC_MSG_CHECKING($1)
-cat > conftest.cc << EOF
-#include <octave/config.h>
-$2
-EOF
-ac_try="$MKOCTFILE -c conftest.cc"
-if AC_TRY_EVAL(ac_try) ; then
-   AC_MSG_RESULT(yes)
-   $3
-else
-   AC_MSG_RESULT(no)
-   $4
-fi
-])
-
-dnl
-dnl Check if F77_FUNC works with MKOCTFILE
-dnl
-TRY_MKOCTFILE([for F77_FUNC],
-[int F77_FUNC (hello, HELLO) (const int &n);],,
-[MKOCTFILE="$MKOCTFILE -DF77_FUNC=F77_FCN"])
-
-dnl
-dnl Check if octave still uses SLList.h
-dnl
-TRY_MKOCTFILE([for SLList.h],[#include <octave/SLList.h>],
-[MKOCTFILE="$MKOCTFILE -DHAVE_SLLIST_H"],)
-
-dnl
-dnl Check if octave has lo_ieee_nan_value
-dnl
-TRY_MKOCTFILE([for lo_ieee_nan_value],
-[ #include <octave/lo-ieee.h>
-int test(void) { lo_ieee_nan_value(); }],,
-[MKOCTFILE="$MKOCTFILE -DUSE_OCTAVE_NAN"])
-
-dnl
-dnl Check if octave is needs octave_idx_type
-dnl
-TRY_MKOCTFILE([for octave_idx_type],
-[#include <octave/oct-types.h>
-octave_idx_type test(void) { octave_idx_type idx = 1; return idx; }],,
-[MKOCTFILE="$MKOCTFILE -Doctave_idx_type=int"])
-
-dnl
-dnl Check if octave uses quit.h
-dnl
-TRY_MKOCTFILE([for quit.h],[#include <octave/quit.h>],,
-[MKOCTFILE="$MKOCTFILE -DNEED_OCTAVE_QUIT"])
-
-dnl **********************************************************
-
-dnl Evaluate an expression in octave
-dnl
-dnl OCTAVE_EVAL(expr,var) -> var=expr
-dnl
-AC_DEFUN(OCTAVE_EVAL,
-[AC_MSG_CHECKING([for $1 in Octave])
-$2=`echo "disp($1)" | $OCTAVE -qf`
-AC_MSG_RESULT($$2)
-AC_SUBST($2)
-])
-
-dnl Check status of an octave variable
-dnl
-dnl OCTAVE_CHECK_EXIST(variable,action_if_true,action_if_false)
-dnl
-AC_DEFUN(OCTAVE_CHECK_EXIST,
-[AC_MSG_CHECKING([for $1 in Octave])
-if test `echo 'disp(exist("$1"))' | $OCTAVE -qf`X != 0X ; then
-   AC_MSG_RESULT(yes)
-   $2
-else
-   AC_MSG_RESULT(no)
-   $3
-fi
-])
-
-dnl should check that $(OCTAVE) --version matches $(MKOCTFILE) --version
-AC_CHECK_PROG(OCTAVE,octave,octave)
-OCTAVE_EVAL(OCTAVE_VERSION,OCTAVE_VERSION)
-
-dnl grab canonical host type so we can write system specific install stuff
-OCTAVE_EVAL(octave_config_info('canonical_host_type'),canonical_host_type)
-
-dnl grab SHLEXT from octave config
-OCTAVE_EVAL(octave_config_info('SHLEXT'),SHLEXT)
-
-AC_PROG_LN_S
-
-AC_PROG_RANLIB
-
-dnl Use $(COPY_FLAGS) to set options for cp when installing .oct files.
-COPY_FLAGS="-Rfp"
-case "$canonical_host_type" in
-    *-*-linux*)
-        COPY_FLAGS="-fdp"
-    ;;
-esac
-AC_SUBST(COPY_FLAGS)
-
-dnl Use $(STRIP) in the makefile to strip executables.  If not found, 
-dnl STRIP expands to ':', which in the makefile does nothing.
-dnl Don't need this for .oct files since mkoctfile handles them directly
-STRIP=${STRIP-strip}
-AC_CHECK_PROG(STRIP,$STRIP,$STRIP,:)
+MKOCTFILE=mkoctfile
 
 dnl Strip on windows, don't strip on Mac OS/X or IRIX
 dnl For the rest, you can force strip using MKOCTFILE="mkoctfile -s"
@@ -326,6 +21,15 @@
     ;;
 esac
 
+dnl Define the following macro:
+dnl    OF_CHECK_LIB(lib,fn,true,false,helpers)
+dnl This is just like AC_CHECK_LIB, but it doesn't update LIBS
+AC_DEFUN([OF_CHECK_LIB],
+[save_LIBS="$LIBS"
+AC_CHECK_LIB($1,$2,$3,$4,$5)
+LIBS="$save_LIBS"
+])
+
 AC_DEFINE(have_jpeg)
 AC_CHECK_HEADER(jpeglib.h, have_jpeg=yes, have_jpeg=no)
 if test $have_jpeg = yes ; then
@@ -365,24 +69,3 @@
     IMAGESTATUS="$IMAGESTATUS, ImageMagick++ not found"
 fi
 
-
-CONFIGURE_OUTPUTS="Makeconf"
-STATUS_MSG="
-octave commands will install into the following directories:
-   m-files:   $mpath
-   oct-files: $opath
-   binaries:  $xpath
-alternatives:
-   m-files:   $altmpath
-   oct-files: $altopath
-
-shell commands will install into the following directories:
-   binaries:  $bindir
-   man pages: $mandir
-   libraries: $libdir
-   headers:   $includedir
-
-octave-forge is configured with
-   octave:      $OCTAVE (version $OCTAVE_VERSION)
-   mkoctfile:	$MKOCTFILE for Octave $subver
-   read/write image formats: $STATUS"