#! /bin/sh # ------------------------------------------------------------------------- # $Id$ # # Bootstrap ACE/TAO configuration tools when checked out from CVS. # Requires GNU autoconf, GNU automake and GNU libtool. # # This script is only meant to be run by ACE/TAO maintainers. # # ------------------------------------------------------------------------- # Copyright (C) 1999 Ossama Othman # # All Rights Reserved # # This library is free software; you can redistribute it and/or # modify it under the current ACE distribution terms. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. set -e # If paginator environment variable isn't set then use `more'. test -z $PAGER && PAGER=more # Flag that determines if dependency tracking should be enabled in # GNU Automake generated Makefile.in files. enable_deps=no # By default, assume that a workspace, not a release, is being bootstrapped. bootstrap_release=no usage() { cat < /dev/null 2>&1); then PATH=/project/danzon/pkg/gnu/bin:$PATH export PATH fi # Provide some "useful" information. echo Bootstrapping... # Update the NEWS file # For now just copy the contents of the `VERSION' file to make automake # happy. Eventually, we should start putting real news in to it. echo Creating a NEWS file cp VERSION NEWS # Generate an `aclocal.m4' file from all existing m4 macro files # including those in the `m4' directory. echo Running aclocal aclocal -I m4 # Generate a `config.h.in' configuration header template from `acconfig.h'. echo 'Running autoheader (expect some "AC_TRY_RUN" warnings)' autoheader # Generate the `configure' script from the `configure.in'. echo 'Running autoconf (expect some "AC_TRY_RUN" warnings)' autoconf # Generate all `Makefile.in' templates in the directories listed in # `configure.in' and add any missing files that GNU Automake needs so # that the distribution and configuration processes will run properly. echo Running automake if test $bootstrap_release = no && test $enable_deps = no; then automake --add-missing --include-deps #--verbose else automake --add-missing #--verbose fi # Generate the man pages. # Only generate man pages if bootstrapping a release. if test $bootstrap_release = yes; then if test -f man/man3/ACE.3; then echo ACE man pages have already been generated. else echo 'Generating the ACE man pages (this may take several minutes)' (cd man/man3; \ ACE_ROOT=../..; \ export ACE_ROOT; \ ACE_HEADERS=`find $ACE_ROOT/ace -name CLASSIX -prune -o \ -name '*.h' ! -name 'config*.h' ! -name \ 'ws2tcpip.h' -print`; \ $ACE_ROOT/bin/class2man $ACE_HEADERS > /dev/null) fi # test -f man/man3/ACE.3 fi # test $bootstrap_release = yes # Regenerate the man pages lists in the man page Makefiles. if test -f man/man3/Makefile.am && test -f man/html/Makefile.am; then # Only insert man page lists if bootstrapping a release. if test $bootstrap_release = yes; then echo 'Inserting ACE man page lists into appropriate Makefile.am files.' ACE_MAN_PAGES=`(cd man/man3 && echo *.3)` ACE_HTML_MAN_PAGES=`echo $ACE_MAN_PAGES | sed -e 's/.3$/.html/g'` else ACE_MAN_PAGES= ACE_HTML_MAN_PAGES= fi (cd man/man3; \ eval "sed -e 's/^man_MANS =.*$/man_MANS = $ACE_MAN_PAGES/' \ Makefile.am > Makefile.am.new"; \ mv Makefile.am.new Makefile.am) (cd man/html; \ eval "sed -e 's/^html_DATA =.*$/html_DATA = $ACE_HTML_MAN_PAGES/' \ Makefile.am > Makefile.am.new"; \ mv Makefile.am.new Makefile.am) else test -f man/man3/Makefile.am || echo 'man/man3/Makefile.am is missing!' test -f man/html/Makefile.am || echo 'man/html/Makefile.am is missing!' exit 1; fi # test -f man/man3/Makefile.am && test -f man/html/Makefile.am # Provide some more "useful" information. echo Done bootstrapping. else echo ACE must be bootstrapped from the top-level ACE source directory. exit 1; fi # test -d m4