axiom-developer
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Axiom-developer] [build-improvements] rationalize lsp/


From: Gabriel Dos Reis
Subject: [Axiom-developer] [build-improvements] rationalize lsp/
Date: 27 Aug 2006 02:00:19 -0500

this patchlet rationalizes the logic for lsp/Makefile.  In particular,
it factorizes the various stanzas in lsp/Makefile.pamphlet, delegating
administrative bits to configure.

built and tested on an x86_64-suse-linux.

Nest step is to implement --with-gcl (similar to --with-noweb).

-- Gaby

2006-08-26  Gabriel Dos Reis  <address@hidden>

        * build-setup.sh: Regenerate lsp/Makefile.in too.

        * config/var-def.mk: New file.  Hold boileplate definition of
        standard Autoconf/Automake variables.
        * config/axiom.m4: New file.  
        * configure.ac.pamphlet: Include it.  Add configuration macro
        directory.  Use AXIOM_MAKEFILE from config/axiom.m4.
        Create lsp/Makefile at configure time.
        * configure.ac: Regenerate.
        * configure: Likewise.

        * Makefile.pamphlet: Move standard Autoconf variables to
        config/var-def.mk.
        (noweb): Fix thinko in TEXINPUTS substitution.
        (\subsubsection{LSPMakefile}): Remove, as lsp/Makefile is now
        created by configure at configure-time.
        (stamp-gcldir): Rename from gcldir throughout.
        * Makefile.in: Regenerate.

lsp/
2006-08-26  Gabriel Dos Reis  <address@hidden>

        * Makefile.pamphlet: Rework.  Factorize stanzas.
        (gcl-2.6.8predir): Rename from gcl-2.6.8pre.
        (gcl-systemdir): Rename from gcl-system.
        (stamp-gcldir): Rename from all.
        * Makefile.in: Generate.

*** Makefile.in (revision 15050)
--- Makefile.in (local)
***************
*** 1,38 ****
- ## ---------------------------------
- ## -- Standard Autoconf variables --
- ## ---------------------------------
- 
- prefix = @prefix@
- exec_prefix = @exec_prefix@
- 
- host = @host@
- host_alias = @host_alias@
- build = @build@
- build_alias = @build_alias@
- target = @target@
- target_alias = @target_alias@
- 
- srcdir = @srcdir@
- top_srcdir = @top_srcdir@
- abs_srcdir = @abs_srcdir@
- 
- builddir = @builddir@
- abs_top_builddir = @abs_top_builddir@
- datadir = @datadir@
- 
- AR = @AR@
- CC = @CC@
- CFLAGS = @CFLAGS@
- 
- AUTOCONF = autoconf
- AWK = @AWK@
- INSTALL = @INSTALL@
- PATCH = @PATCH@
- RANLIB = @RANLIB@
- TAR = @TAR@
- 
- STAMP = echo timestamp >
- 
  ## ---------------------
  ## -- Axiom variables --
  ## ---------------------
--- 1,3 ----
*************** noweb:
*** 162,168 ****
              | sed -e "s|^BIN=.*|BIN=$(axiom_build_bindir)|" \
                      -e "s|^LIB=.*|LIB=$(axiom_build_libdir)|" \
                    -e "s|^MAN=.*|MAN=$(axiom_build_mandir)|" \
!                     -e "s|TEXINPUTS=.*|TEXINPUTS=$(axiom_build_texdir)|" \
                    -e 's/ make / $$\(MAKE\) /' \
              > Makefile.tmp && mv Makefile.tmp Makefile && \
          ./awkname $(AWK) && \
--- 127,133 ----
              | sed -e "s|^BIN=.*|BIN=$(axiom_build_bindir)|" \
                      -e "s|^LIB=.*|LIB=$(axiom_build_libdir)|" \
                    -e "s|^MAN=.*|MAN=$(axiom_build_mandir)|" \
!                     -e "s|^TEXINPUTS=.*|TEXINPUTS=$(axiom_build_texdir)|" \
                    -e 's/ make / $$\(MAKE\) /' \
              > Makefile.tmp && mv Makefile.tmp Makefile && \
          ./awkname $(AWK) && \
*** Makefile.pamphlet   (revision 15050)
--- Makefile.pamphlet   (local)
***************
*** 3,9 ****
  \usepackage{src/scripts/tex/axiom}
  \begin{document}
  \title{The Top Level Makefile}
! \author{Timothy Daly}
  \maketitle
  \begin{abstract}
  \end{abstract}
--- 3,9 ----
  \usepackage{src/scripts/tex/axiom}
  \begin{document}
  \title{The Top Level Makefile}
! \author{Timothy Daly \and Gabriel Dos~Reis}
  \maketitle
  \begin{abstract}
  \end{abstract}
*************** The [[DOCUMENT]] variable is now set to 
*** 328,368 ****
  to the [[$SPADBIN/document]] command. This will allow it to be
  changed on the command line.
  <<environment>>=
- ## ---------------------------------
- ## -- Standard Autoconf variables --
- ## ---------------------------------
- 
- prefix = @prefix@
- exec_prefix = @exec_prefix@
- 
- host = @host@
- host_alias = @host_alias@
- build = @build@
- build_alias = @build_alias@
- target = @target@
- target_alias = @target_alias@
- 
- srcdir = @srcdir@
- top_srcdir = @top_srcdir@
- abs_srcdir = @abs_srcdir@
- 
- builddir = @builddir@
- abs_top_builddir = @abs_top_builddir@
- datadir = @datadir@
- 
- AR = @AR@
- CC = @CC@
- CFLAGS = @CFLAGS@
- 
- AUTOCONF = autoconf
- AWK = @AWK@
- INSTALL = @INSTALL@
- PATCH = @PATCH@
- RANLIB = @RANLIB@
- TAR = @TAR@
- 
- STAMP = echo timestamp >
- 
  ## ---------------------
  ## -- Axiom variables --
  ## ---------------------
--- 328,333 ----
*************** common failure of boxing up a file into 
*** 504,513 ****
  file lives in the [[ZIPS]] directory and will be applied
  after noweb is untarred but before the make occurs.
  
- We have added a patch to the [[${SPAD}/obj/noweb/src/Makefile]]
- which does two things. First it uses [[${TMP}/null]] rather than
- [[/dev/null]] as we do not wish to write outside our own build tree.
- 
  We also patch the use of [[make]] to use [[${MAKE}]]. BSD style
  systems use [[gmake]] rather than [[make]] so we need to pass this
  information from above for the build to succeed.
--- 469,474 ----
*************** noweb:
*** 580,586 ****
              | sed -e "s|^BIN=.*|BIN=$(axiom_build_bindir)|" \
                      -e "s|^LIB=.*|LIB=$(axiom_build_libdir)|" \
                    -e "s|^MAN=.*|MAN=$(axiom_build_mandir)|" \
!                     -e "s|TEXINPUTS=.*|TEXINPUTS=$(axiom_build_texdir)|" \
                    -e 's/ make / $$\(MAKE\) /' \
              > Makefile.tmp && mv Makefile.tmp Makefile && \
          ./awkname $(AWK) && \
--- 541,547 ----
              | sed -e "s|^BIN=.*|BIN=$(axiom_build_bindir)|" \
                      -e "s|^LIB=.*|LIB=$(axiom_build_libdir)|" \
                    -e "s|^MAN=.*|MAN=$(axiom_build_mandir)|" \
!                     -e "s|^TEXINPUTS=.*|TEXINPUTS=$(axiom_build_texdir)|" \
                    -e 's/ make / $$\(MAKE\) /' \
              > Makefile.tmp && mv Makefile.tmp Makefile && \
          ./awkname $(AWK) && \
*************** the subtree. We need only ensure that th
*** 642,673 ****
  We build two lisps, Codemist Common Lisp (CCL) and Gnu Common Lisp (GCL)
  at the current time. Carnegie-Mellon University Common Lisp (CMUCL) is 
planned.
  
! When we first make GCL we the src/Makefile will create a marker file
! called gcldir. This file has the same name as the stanza to create
  GCL and thus will prevent GCL from rebuilding. We need to do this
  since we have no control over the GCL makefiles.
  
  The [[${OBJ}/${SYS}/bin]] directory is where the lisps get built.
- \subsubsection{LSPMakefile}
- We need to specialize the Makefile stanza based on the version
- of Lisp we plan to use. At the moment there are 3 GCL versions
- which run Axiom: 2.4.1, 2.5, and 2.6 These are incompatible versions
- so we have different patches against them. The details are in
- the lsp/Makefile.pamphlet file. Here we just decide which section
- to choose. The default is 2.4.1 but if the GCLVERSION is changed
- then the Makefile is rewritten to extract the later version.
- It looks for a chunk name that matches the version number.
- <<LSPMakefile>>=
- ${LSP}/Makefile: ${LSP}/Makefile.pamphlet
-       @echo 20 making ${LSP}/Makefile from ${LSP}/Makefile.pamphlet
-       @( cd lsp ; \
-        ${DOCUMENT} ${NOISE} Makefile ; \
-        if [ "${GCLVERSION}" != "gcl-2.4.1" ] ; then \
-        ${TANGLE} -t8 -R"${GCLVERSION}" Makefile.pamphlet >Makefile ; \
-          fi )
-        @cp Makefile.dvi ${MNT}/${SYS}/doc/src
  
! @
  Here we add [[mkdir -p ${OBJ}/${SYS}/lsp]] because we need to rename the
  [[gcl_collectfn.lsp]] back to collectfn.lsp. We also start adding support
  for [[sys-proclaim.lsp]] and other dynamically collected proclaim information.
--- 603,617 ----
  We build two lisps, Codemist Common Lisp (CCL) and Gnu Common Lisp (GCL)
  at the current time. Carnegie-Mellon University Common Lisp (CMUCL) is 
planned.
  
! When we first make GCL the src/Makefile will create a marker file
! called [[stamp-gcldir]]. This file has the same name as the stanza to create 
  GCL and thus will prevent GCL from rebuilding. We need to do this
  since we have no control over the GCL makefiles.
  
  The [[${OBJ}/${SYS}/bin]] directory is where the lisps get built.
  
! \subsubsection{[[lsp]]}
! 
  Here we add [[mkdir -p ${OBJ}/${SYS}/lsp]] because we need to rename the
  [[gcl_collectfn.lsp]] back to collectfn.lsp. We also start adding support
  for [[sys-proclaim.lsp]] and other dynamically collected proclaim information.
*************** lspdir: stamp-rootdirs stamp-build-scrip
*** 686,701 ****
        @echo 19 making ${LSP}
        @mkdir -p ${OBJ}/${SYS}/bin
        @mkdir -p ${OBJ}/${SYS}/lsp
!       @(cd lsp ; ${ENV} ${MAKE} gcldir )
  #     @(cd lsp ; ${ENV} ${MAKE} ccldir )
  
- <<LSPMakefile>>
  lspclean:
        @echo 21 cleaning ${OBJ}/${SYS}/ccl
        @rm -rf ${LSP}/${GCLVERSION}
        @rm -rf ${INT}/ccl
        @rm -rf ${OBJ}/${SYS}/ccl
!       @rm -rf ${LSP}/gcldir
        @rm -f ${LSP}/Makefile ${LSP}/Makefile.dvi
  
  @
--- 630,644 ----
        @echo 19 making ${LSP}
        @mkdir -p ${OBJ}/${SYS}/bin
        @mkdir -p ${OBJ}/${SYS}/lsp
!       @(cd lsp ; ${ENV} ${MAKE} stamp-gcldir )
  #     @(cd lsp ; ${ENV} ${MAKE} ccldir )
  
  lspclean:
        @echo 21 cleaning ${OBJ}/${SYS}/ccl
        @rm -rf ${LSP}/${GCLVERSION}
        @rm -rf ${INT}/ccl
        @rm -rf ${OBJ}/${SYS}/ccl
!       @rm -rf ${LSP}/stamp-gcldir
        @rm -f ${LSP}/Makefile ${LSP}/Makefile.dvi
  
  @
*** build-setup.sh      (revision 15050)
--- build-setup.sh      (local)
*************** notangle ./configure.ac.pamphlet > ./con
*** 12,17 ****
--- 12,20 ----
  notangle -t8 ./Makefile.pamphlet > ./Makefile.in \
     || error "could not extract Makefile.in from pamphlet file"
  
+ notangle -t8 ./lsp/Makefile.pamphlet > ./lsp/Makefile.in \
+    || error "could not extract Makefile.in from pamphlet file"
+ 
  autoconf || error "could not re-generate configure"
  
  
*** config/setup-dep.mk (revision 15050)
--- config/setup-dep.mk (local)
***************
*** 1,14 ****
  build_setup_files= $(top_srcdir)/configure.ac.pamphlet \
                   $(top_srcdir)/Makefile.pamphlet \
                   $(top_srcdir)/build-setup.sh
  
  
! $(top_srcdir)/configure: $(build_setup_files)
        cd $(top_srcdir) && \
!       notangle ./configure.ac.pamphlet > configure.ac && \
!       $(AUTOCONF)
  
! $(srcdir)/Makefile.in: $(build_setup_files)
        cd $(srcdir) && notangle -t8 Makefile.pamphlet > ./Makefile.in
  
  .PRECIOUS: Makefile
--- 1,20 ----
+ ## ---------------------------------------
+ ## -- Standard boilerplate dependencies --
+ ## ---------------------------------------
+ 
  build_setup_files= $(top_srcdir)/configure.ac.pamphlet \
                   $(top_srcdir)/Makefile.pamphlet \
                   $(top_srcdir)/build-setup.sh
  
  
! $(top_srcdir)/configure.ac: $(top_srcdir)/configure.ac.pamphlet
        cd $(top_srcdir) && \
!       notangle ./configure.ac.pamphlet > configure.ac
! 
! $(top_srcdir)/configure: $(top_srcdir)/configure.ac
!       cd $(top_srcdir) && $(AUTOCONF)
  
! $(srcdir)/Makefile.in: $(srcdir)/Makefile.pamphlet $(top_srcdir)/configure.ac
        cd $(srcdir) && notangle -t8 Makefile.pamphlet > ./Makefile.in
  
  .PRECIOUS: Makefile
*** config/axiom.m4     (revision 15050)
--- config/axiom.m4     (local)
***************
*** 0 ****
--- 1,3 ----
+ AC_DEFUN([AXIOM_MAKEFILE],
+ [AC_CONFIG_FILES([$1:config/var-def.mk:$2:config/setup-dep.mk])])
+ 
*** config/var-def.mk   (revision 15050)
--- config/var-def.mk   (local)
***************
*** 0 ****
--- 1,47 ----
+ ## ---------------------------------
+ ## -- Standard Autoconf variables --
+ ## ---------------------------------
+ 
+ prefix = @prefix@
+ exec_prefix = @exec_prefix@
+ 
+ host = @host@
+ host_alias = @host_alias@
+ build = @build@
+ build_alias = @build_alias@
+ target = @target@
+ target_alias = @target_alias@
+ 
+ srcdir = @srcdir@
+ abs_srcdir = @abs_srcdir@
+ top_srcdir = @top_srcdir@
+ abs_top_srcdir = @abs_top_srcdir@
+ 
+ builddir = @builddir@
+ top_builddir = @top_builddir@
+ abs_top_builddir = @abs_top_builddir@
+ datadir = @datadir@
+ 
+ AR = @AR@
+ CC = @CC@
+ CFLAGS = @CFLAGS@
+ 
+ AUTOCONF = autoconf
+ AWK = @AWK@
+ INSTALL = @INSTALL@
+ install_sh = @install_sh@
+ install_sh_DATA = $(install_sh) -c -m 644
+ install_sh_PROGRAM = $(install_sh) -c
+ install_sh_script = $(install_sh) -c
+ mkinstalldirs = $(install_sh) -d
+ INSTALL_DATA = @INSTALL_DATA@
+ INSTALL_PROGRAM = @INSTALL_PROGRAM@
+ INSTALL_SCRIPT = @INSTALL_SCRIPT@
+ PATCH = @PATCH@
+ RANLIB = @RANLIB@
+ TAR = @TAR@
+ 
+ mkdir_p = @mkdir_p@
+ 
+ STAMP = echo timestamp >
+ 
*** configure   (revision 15050)
--- configure   (local)
***************
*** 1,6 ****
  #! /bin/sh
  # Guess values for system-dependent variables and create Makefiles.
! # Generated by GNU Autoconf 2.59 for Axiom silver branch 2006-07-15.
  #
  # Report bugs to <address@hidden>.
  #
--- 1,6 ----
  #! /bin/sh
  # Guess values for system-dependent variables and create Makefiles.
! # Generated by GNU Autoconf 2.59 for Axiom build improvements branch 
2006-08-26.
  #
  # Report bugs to <address@hidden>.
  #
*************** SHELL=${CONFIG_SHELL-/bin/sh}
*** 267,276 ****
  : ${ac_max_here_lines=38}
  
  # Identity of this package.
! PACKAGE_NAME='Axiom silver branch'
! PACKAGE_TARNAME='axiom-silver-branch'
! PACKAGE_VERSION='2006-07-15'
! PACKAGE_STRING='Axiom silver branch 2006-07-15'
  PACKAGE_BUGREPORT='address@hidden'
  
  ac_unique_file="src/Makefile.pamphlet"
--- 267,276 ----
  : ${ac_max_here_lines=38}
  
  # Identity of this package.
! PACKAGE_NAME='Axiom build improvements branch'
! PACKAGE_TARNAME='axiom-build-improvements-branch'
! PACKAGE_VERSION='2006-08-26'
! PACKAGE_STRING='Axiom build improvements branch 2006-08-26'
  PACKAGE_BUGREPORT='address@hidden'
  
  ac_unique_file="src/Makefile.pamphlet"
*************** if test "$ac_init_help" = "long"; then
*** 743,749 ****
    # Omit some internal or obsolete options to make the list less imposing.
    # This message is too long to be a string in the A/UX 3.1 sh.
    cat <<_ACEOF
! \`configure' configures Axiom silver branch 2006-07-15 to adapt to many kinds 
of systems.
  
  Usage: $0 [OPTION]... [VAR=VALUE]...
  
--- 743,749 ----
    # Omit some internal or obsolete options to make the list less imposing.
    # This message is too long to be a string in the A/UX 3.1 sh.
    cat <<_ACEOF
! \`configure' configures Axiom build improvements branch 2006-08-26 to adapt 
to many kinds of systems.
  
  Usage: $0 [OPTION]... [VAR=VALUE]...
  
*************** fi
*** 809,815 ****
  
  if test -n "$ac_init_help"; then
    case $ac_init_help in
!      short | recursive ) echo "Configuration of Axiom silver branch 
2006-07-15:";;
     esac
    cat <<\_ACEOF
  
--- 809,815 ----
  
  if test -n "$ac_init_help"; then
    case $ac_init_help in
!      short | recursive ) echo "Configuration of Axiom build improvements 
branch 2006-08-26:";;
     esac
    cat <<\_ACEOF
  
*************** fi
*** 927,933 ****
  test -n "$ac_init_help" && exit 0
  if $ac_init_version; then
    cat <<\_ACEOF
! Axiom silver branch configure 2006-07-15
  generated by GNU Autoconf 2.59
  
  Copyright (C) 2003 Free Software Foundation, Inc.
--- 927,933 ----
  test -n "$ac_init_help" && exit 0
  if $ac_init_version; then
    cat <<\_ACEOF
! Axiom build improvements branch configure 2006-08-26
  generated by GNU Autoconf 2.59
  
  Copyright (C) 2003 Free Software Foundation, Inc.
*************** cat >&5 <<_ACEOF
*** 941,947 ****
  This file contains any messages produced by compilers while
  running configure, to aid debugging if configure makes a mistake.
  
! It was created by Axiom silver branch $as_me 2006-07-15, which was
  generated by GNU Autoconf 2.59.  Invocation command line was
  
    $ $0 $@
--- 941,947 ----
  This file contains any messages produced by compilers while
  running configure, to aid debugging if configure makes a mistake.
  
! It was created by Axiom build improvements branch $as_me 2006-08-26, which was
  generated by GNU Autoconf 2.59.  Invocation command line was
  
    $ $0 $@
*************** ac_config_guess="$SHELL $ac_aux_dir/conf
*** 1303,1308 ****
--- 1303,1319 ----
  ac_config_sub="$SHELL $ac_aux_dir/config.sub"
  ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure.
  
+ case config in
+   [\\/]* | ?:[\\/]* ) ac_macro_dir=config         ;;
+   *)                      ac_macro_dir=$srcdir/config ;;
+ esac
+ if test -d "$ac_macro_dir"; then :
+ else
+   { { echo "$as_me:$LINENO: error: cannot find macro directory \`config'" >&5
+ echo "$as_me: error: cannot find macro directory \`config'" >&2;}
+    { (exit 1); exit 1; }; }
+ fi
+ 
  
  # AM_INIT_AUTOMAKE([foreign])
  
*************** echo "$as_me: make" >&6;}
*** 4685,4691 ****
  fi
  AXIOM=`pwd`/mnt/$SYSNAME
  
!           ac_config_files="$ac_config_files 
Makefile:Makefile.in:config/setup-dep.mk"
  
  
  ## We now generate the "document" script and support files at configure time.
--- 4696,4704 ----
  fi
  AXIOM=`pwd`/mnt/$SYSNAME
  
!           ac_config_files="$ac_config_files 
Makefile:config/var-def.mk:Makefile.in:config/setup-dep.mk"
! 
!           ac_config_files="$ac_config_files 
lsp/Makefile:config/var-def.mk:lsp/Makefile.in:config/setup-dep.mk"
  
  
  ## We now generate the "document" script and support files at configure time.
*************** _ASBOX
*** 5094,5100 ****
  } >&5
  cat >&5 <<_CSEOF
  
! This file was extended by Axiom silver branch $as_me 2006-07-15, which was
  generated by GNU Autoconf 2.59.  Invocation command line was
  
    CONFIG_FILES    = $CONFIG_FILES
--- 5107,5113 ----
  } >&5
  cat >&5 <<_CSEOF
  
! This file was extended by Axiom build improvements branch $as_me 2006-08-26, 
which was
  generated by GNU Autoconf 2.59.  Invocation command line was
  
    CONFIG_FILES    = $CONFIG_FILES
*************** _ACEOF
*** 5149,5155 ****
  
  cat >>$CONFIG_STATUS <<_ACEOF
  ac_cs_version="\\
! Axiom silver branch config.status 2006-07-15
  configured by $0, generated by GNU Autoconf 2.59,
    with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
  
--- 5162,5168 ----
  
  cat >>$CONFIG_STATUS <<_ACEOF
  ac_cs_version="\\
! Axiom build improvements branch config.status 2006-08-26
  configured by $0, generated by GNU Autoconf 2.59,
    with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
  
*************** for ac_config_target in $ac_config_targe
*** 5252,5258 ****
  do
    case "$ac_config_target" in
    # Handling of arguments.
!   "Makefile" ) CONFIG_FILES="$CONFIG_FILES 
Makefile:Makefile.in:config/setup-dep.mk" ;;
    "build/scripts/document" ) CONFIG_FILES="$CONFIG_FILES 
build/scripts/document:$srcdir/src/scripts/document.in" ;;
    *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
  echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
--- 5265,5272 ----
  do
    case "$ac_config_target" in
    # Handling of arguments.
!   "Makefile" ) CONFIG_FILES="$CONFIG_FILES 
Makefile:config/var-def.mk:Makefile.in:config/setup-dep.mk" ;;
!   "lsp/Makefile" ) CONFIG_FILES="$CONFIG_FILES 
lsp/Makefile:config/var-def.mk:lsp/Makefile.in:config/setup-dep.mk" ;;
    "build/scripts/document" ) CONFIG_FILES="$CONFIG_FILES 
build/scripts/document:$srcdir/src/scripts/document.in" ;;
    *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
  echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
*** configure.ac        (revision 15050)
--- configure.ac        (local)
***************
*** 1,6 ****
! AC_INIT([Axiom silver branch], [2006-07-15], address@hidden)
  
  AC_CONFIG_AUX_DIR(config)
  
  # AM_INIT_AUTOMAKE([foreign])
  
--- 1,9 ----
! sinclude(config/axiom.m4)
! AC_INIT([Axiom build improvements branch], [2006-08-26], 
!         address@hidden)
  
  AC_CONFIG_AUX_DIR(config)
+ AC_CONFIG_MACRO_DIR(config)
  
  # AM_INIT_AUTOMAKE([foreign])
  
*************** else
*** 164,170 ****
  fi
  AXIOM=`pwd`/mnt/$SYSNAME
  AC_SUBST(AXIOM)
! AC_CONFIG_FILES(Makefile:Makefile.in:config/setup-dep.mk)
  
  ## We now generate the "document" script and support files at configure time.
  ## We put them in the build directory because they are intended to be 
--- 167,174 ----
  fi
  AXIOM=`pwd`/mnt/$SYSNAME
  AC_SUBST(AXIOM)
! AXIOM_MAKEFILE([Makefile], [Makefile.in])
! AXIOM_MAKEFILE([lsp/Makefile], [lsp/Makefile.in])
  
  ## We now generate the "document" script and support files at configure time.
  ## We put them in the build directory because they are intended to be 
*** configure.ac.pamphlet       (revision 15050)
--- configure.ac.pamphlet       (local)
*************** information:
*** 100,112 ****
    suffer from traffic...
  \end{itemize}
  <<Autoconf init>>=
! AC_INIT([Axiom silver branch], [2006-07-15], address@hidden)
  @
  
  Autoconf needs some auxilary files that are present in the sub-directory
  \file{config}.  Autoconf needs to be told about that.
  <<auxiliary config files>>=
  AC_CONFIG_AUX_DIR(config)
  @
  
  Notice that since we don't use Automake (yet), we don't initialize
--- 100,115 ----
    suffer from traffic...
  \end{itemize}
  <<Autoconf init>>=
! sinclude(config/axiom.m4)
! AC_INIT([Axiom build improvements branch], [2006-08-26], 
!         address@hidden)
  @
  
  Autoconf needs some auxilary files that are present in the sub-directory
  \file{config}.  Autoconf needs to be told about that.
  <<auxiliary config files>>=
  AC_CONFIG_AUX_DIR(config)
+ AC_CONFIG_MACRO_DIR(config)
  @
  
  Notice that since we don't use Automake (yet), we don't initialize
*************** AC_SUBST(AXIOM)
*** 329,335 ****
  \subsubsection{Instantiating configuration files}
  
  <<instantiate config files>>=
! AC_CONFIG_FILES(Makefile:Makefile.in:config/setup-dep.mk)
  
  ## We now generate the "document" script and support files at configure time.
  ## We put them in the build directory because they are intended to be 
--- 332,339 ----
  \subsubsection{Instantiating configuration files}
  
  <<instantiate config files>>=
! AXIOM_MAKEFILE([Makefile], [Makefile.in])
! AXIOM_MAKEFILE([lsp/Makefile], [lsp/Makefile.in])
  
  ## We now generate the "document" script and support files at configure time.
  ## We put them in the build directory because they are intended to be 
*** lsp/Makefile.pamphlet       (revision 15050)
--- lsp/Makefile.pamphlet       (local)
***************
*** 10,18 ****
  \tableofcontents
  \eject
  \section{The Makefile}
! We create a dummy file {\bf gcldir} after gcl has been built so
  it is not rebuilt. We need to do this because we have no control
! over the gcl Makefiles.
  
  \section{Configure and Make GCL}
  We enable several features of GCL.
--- 10,18 ----
  \tableofcontents
  \eject
  \section{The Makefile}
! We create a dummy file {\bf stamp-gcldir} after GCL has been built so
  it is not rebuilt. We need to do this because we have no control
! over the GCL Makefiles.
  
  \section{Configure and Make GCL}
  We enable several features of GCL.
*************** file contains the proclaims for GCL's fu
*** 96,135 ****
  
  \subsection{The GCL-2.6.8pre stanza}
  <<gcl-2.6.8pre>>=
! # gcl version 2.6.8pre
! OUT=${OBJ}/${SYS}/bin
! 
! all:
!       @echo 1 building ${LSP} ${GCLVERSION}
! 
! gcldir: 
!       @echo 2 building ${GCLVERSION}
        @tar -zxf ${ZIPS}/${GCLVERSION}.tgz
  <<gcl-2.6.8pre.socket.patch>>
  <<gcl-2.6.8pre.libspad.patch>>
  <<gcl-2.6.8pre.toploop.patch>>
  <<gcl-2.6.8pre.collectfn.fix>>
  <<gclConfigureMake>>
!       @echo 13 finished system build on `date` | tee >gcldir
! 
! ccldir: ${LSP}/ccl/Makefile
!       @echo 14 building CCL
!       @mkdir -p ${INT}/ccl
!       @mkdir -p ${OBJ}/${SYS}/ccl
!       @( cd ccl ; ${ENV} ${MAKE} )
! 
! ${LSP}/ccl/Makefile: ${LSP}/ccl/Makefile.pamphlet
!       @echo 15 making ${LSP}/ccl/Makefile from ${LSP}/ccl/Makefile.pamphlet
!       @( cd ccl ; ${DOCUMENT} ${NOISE} Makefile )
! 
! document:
!       @echo 16 making docs in ${LSP}
!       @mkdir -p ${INT}/doc/lsp/ccl
!       @( cd ccl ; ${ENV} ${MAKE} document )
! 
! clean:
!       @echo 17 cleaning ${LSP}/ccl
!       @( cd ccl ; ${ENV} ${MAKE} clean )
  
  @
  
--- 96,110 ----
  
  \subsection{The GCL-2.6.8pre stanza}
  <<gcl-2.6.8pre>>=
! # Rules for building GCL from Axiom distribution.
! gcl-2.6.8predir: 
        @tar -zxf ${ZIPS}/${GCLVERSION}.tgz
  <<gcl-2.6.8pre.socket.patch>>
  <<gcl-2.6.8pre.libspad.patch>>
  <<gcl-2.6.8pre.toploop.patch>>
  <<gcl-2.6.8pre.collectfn.fix>>
  <<gclConfigureMake>>
!       $(STAMP) stamp-gcldir
  
  @
  
*************** On some systems, notably freebsd, we ass
*** 140,182 ****
  installed and available using the command [[gcl]]. In that case
  we need to extract this Makefile instead of the standard one.
  <<gcl-system>>=
! # locally installed GCL
  OUT=${OBJ}/${SYS}/bin
  
! all:
!       @echo 21 building ${LSP} ${GCLVERSION}
  
! gcldir: 
!       @echo 22 building for ${GCLVERSION}
!       echo '(compiler::link nil "${OUT}/lisp" (format nil "(progn (let 
((*load-path* (cons ~S *load-path*))(si::*load-types* ~S)) (compiler::emit-fn 
t))(when (fboundp (quote si::sgc-on)) (si::sgc-on t))(setq 
compiler::*default-system-p* t))" si::*system-directory* (quote (list ".lsp"))) 
"${OBJ}/${SYS}/lib/cfuns-c.o ${OBJ}/${SYS}/lib/sockio-c.o 
${OBJ}/${SYS}/lib/libspad.a")' | gcl
!       @echo 23 finished gcl build on `date` | tee >gcldir
  
  ccldir: ${LSP}/ccl/Makefile
!       @echo 21 building CCL
        @mkdir -p ${INT}/ccl
        @mkdir -p ${OBJ}/${SYS}/ccl
        @( cd ccl ; ${ENV} ${MAKE} )
  
  ${LSP}/ccl/Makefile: ${LSP}/ccl/Makefile.pamphlet
!       @echo 22 making ${LSP}/ccl/Makefile from ${LSP}/ccl/Makefile.pamphlet
        @( cd ccl ; ${DOCUMENT} ${NOISE} Makefile )
  
  document:
!       @echo 23 making docs in ${LSP}
        @mkdir -p ${INT}/doc/lsp/ccl
        @( cd ccl ; ${ENV} ${MAKE} document )
  
  clean:
!       @echo 24 cleaning ${LSP}/ccl
        @( cd ccl ; ${ENV} ${MAKE} clean )
- @
- 
- This stanza will be written out when the GCLVERSION variable is
- ``gcl-2.6.8pre''. It will overwrite the default version. See the 
- top level Makefile.pamphlet.
  
- <<*>>=
- <<gcl-2.6.8pre>>
  @
  \eject
  \begin{thebibliography}{99}
--- 115,156 ----
  installed and available using the command [[gcl]]. In that case
  we need to extract this Makefile instead of the standard one.
  <<gcl-system>>=
! # Rules for preparing system-installed GCL for use within Axiom.
! gcl-systemdir: 
!       echo '(compiler::link nil "${OUT}/lisp" (format nil "(progn (let 
((*load-path* (cons ~S *load-path*))(si::*load-types* ~S)) (compiler::emit-fn 
t))(when (fboundp (quote si::sgc-on)) (si::sgc-on t))(setq 
compiler::*default-system-p* t))" si::*system-directory* (quote (list ".lsp"))) 
"${OBJ}/${SYS}/lib/cfuns-c.o ${OBJ}/${SYS}/lib/sockio-c.o 
${OBJ}/${SYS}/lib/libspad.a")' | gcl
!       @echo 23 finished gcl build on `date` | tee > stamp-gcldir
! @
! 
! <<*>>=
  OUT=${OBJ}/${SYS}/bin
  
! stamp-gcldir:
!       @echo 1 building ${LSP} ${GCLVERSION}
!       @$(ENV) $(MAKE) $(GCLVERSION)dir
  
! <<gcl-2.6.8pre>>
! 
! <<gcl-system>>
  
  ccldir: ${LSP}/ccl/Makefile
!       @echo 14 building CCL
        @mkdir -p ${INT}/ccl
        @mkdir -p ${OBJ}/${SYS}/ccl
        @( cd ccl ; ${ENV} ${MAKE} )
  
  ${LSP}/ccl/Makefile: ${LSP}/ccl/Makefile.pamphlet
!       @echo 15 making ${LSP}/ccl/Makefile from ${LSP}/ccl/Makefile.pamphlet
        @( cd ccl ; ${DOCUMENT} ${NOISE} Makefile )
  
  document:
!       @echo 16 making docs in ${LSP}
        @mkdir -p ${INT}/doc/lsp/ccl
        @( cd ccl ; ${ENV} ${MAKE} document )
  
  clean:
!       @echo 17 cleaning ${LSP}/ccl
        @( cd ccl ; ${ENV} ${MAKE} clean )
  
  @
  \eject
  \begin{thebibliography}{99}
*** lsp/Makefile.in     (revision 15050)
--- lsp/Makefile.in     (local)
***************
*** 0 ****
--- 1,58 ----
+ OUT=${OBJ}/${SYS}/bin
+ 
+ stamp-gcldir:
+       @echo 1 building ${LSP} ${GCLVERSION}
+       @$(ENV) $(MAKE) $(GCLVERSION)dir
+ 
+ # Rules for building GCL from Axiom distribution.
+ gcl-2.6.8predir: 
+       @tar -zxf ${ZIPS}/${GCLVERSION}.tgz
+       @(cd ${GCLVERSION}/h ; \
+         echo 3 applying EXTRAS patch to h/linux.defs ; \
+         ${PATCH} <${SPD}/zips/${GCLVERSION}.h.linux.defs.patch )
+       @(echo 4 setup ini files for EXTRAS patch ; \
+         touch ${OBJ}/${SYS}/lib/cfuns-c.ini ; \
+         touch ${OBJ}/${SYS}/lib/sockio-c.ini )
+       @(cd ${GCLVERSION}/unixport ; \
+         echo 6 applying libspad.a patch to unixport/makefile ; \
+         ${PATCH} <${SPD}/zips/${GCLVERSION}.unixport.makefile.patch )
+       @(cd ${GCLVERSION}/unixport ; \
+         echo 7 applying toploop patch to unixport/init_gcl.lsp ; \
+         ${PATCH} <${SPD}/zips/${GCLVERSION}.unixport.init_gcl.lsp.in.patch )
+       @(cd ${GCLVERSION}/cmpnew ; \
+         echo 26 copy gcl_collectfn.lsp to ${OBJ}/${SYS}/lsp/collectfn.lsp ; \
+         cp gcl_collectfn.lsp ${OBJ}/${SYS}/lsp/collectfn.lsp )
+       @(cd ${GCLVERSION}/lsp ; \
+         echo 27 copy sys-proclaim.lisp to ${OBJ}/${SYS}/lsp/sys-proclaim.lisp 
; \
+         cp sys-proclaim.lisp ${OBJ}/${SYS}/lsp/sys-proclaim.lisp )
+       @(cd ${GCLVERSION} ; \
+       ./configure ${GCLOPTS} ; \
+       ${ENV} ${MAKE} ; \
+       echo '(progn (load "cmpnew/gcl_collectfn.lsp") (load 
"lsp/sys-proclaim.lisp") (compiler::emit-fn t) (system::save-system 
"${OUT}/lisp"))' | unixport/saved_gcl )
+       $(STAMP) stamp-gcldir
+ 
+ 
+ # Rules for preparing system-installed GCL for use within Axiom.
+ gcl-systemdir: 
+       echo '(compiler::link nil "${OUT}/lisp" (format nil "(progn (let 
((*load-path* (cons ~S *load-path*))(si::*load-types* ~S)) (compiler::emit-fn 
t))(when (fboundp (quote si::sgc-on)) (si::sgc-on t))(setq 
compiler::*default-system-p* t))" si::*system-directory* (quote (list ".lsp"))) 
"${OBJ}/${SYS}/lib/cfuns-c.o ${OBJ}/${SYS}/lib/sockio-c.o 
${OBJ}/${SYS}/lib/libspad.a")' | gcl
+       @echo 23 finished gcl build on `date` | tee > stamp-gcldir
+ 
+ ccldir: ${LSP}/ccl/Makefile
+       @echo 14 building CCL
+       @mkdir -p ${INT}/ccl
+       @mkdir -p ${OBJ}/${SYS}/ccl
+       @( cd ccl ; ${ENV} ${MAKE} )
+ 
+ ${LSP}/ccl/Makefile: ${LSP}/ccl/Makefile.pamphlet
+       @echo 15 making ${LSP}/ccl/Makefile from ${LSP}/ccl/Makefile.pamphlet
+       @( cd ccl ; ${DOCUMENT} ${NOISE} Makefile )
+ 
+ document:
+       @echo 16 making docs in ${LSP}
+       @mkdir -p ${INT}/doc/lsp/ccl
+       @( cd ccl ; ${ENV} ${MAKE} document )
+ 
+ clean:
+       @echo 17 cleaning ${LSP}/ccl
+       @( cd ccl ; ${ENV} ${MAKE} clean )
+ 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]