#!/bin/sh - # # $Id: chk.build,v 12.6 2006/09/16 13:16:07 bostic Exp $ # # Build a program that calls the run-time API configuration functions. trap 'rm -rf scr030 ; exit 0' 0 trap 'rm -rf scr030 ; exit 1' 1 2 3 13 15 [ -d ../../dist ] || { echo 'FAIL: unable to find top-level dist directory' exit 1 } # Flags to build Java. JAVA_HOME=/usr/local/linux-sun-jdk1.4.2 JAVA_FLAGS="-I$JAVA_HOME/include -I$JAVA_HOME/include/linux" # Configure and build. # $1: config flags config() { echo "run: $1: $dir (`date`)" | tee CONFIGURATION ../../../dist/configure $1 > config.OUT 2>&1 if test $? -ne 0; then echo "$i: FAILED in configure" return fi (echo /^CFLAGS=/ && # Configure gcc to complain about everything, and make warnings fatal # errors. echo \ 's/-c /-c -W -Werror -Wall -Wpointer-arith -Wmissing-prototypes /' && # Warnings are fatal errors, so don't set gcc warning flags for files # where we can't avoid warnings. echo '/^db_server_svc.*: db_server_svc.c$/' && echo '+1s/\$(CFLAGS)/-c \$(CPPFLAGS)/' && echo '/^db_server_xdr.*: db_server_xdr.c$/' && echo '+1s/\$(CFLAGS)/-c \$(CPPFLAGS)/' && echo '/^gen_db_server.*: gen_db_server.c$/' && echo '+1s/\$(CFLAGS)/-c \$(CPPFLAGS)/' && echo '/^db_java_wrap.*: .*db_java_wrap.c$/' && echo '+1s/\$(CFLAGS)/-c \$(CPPFLAGS)/' && echo '/^tcl_db_pkg.*: .*tcl_db_pkg.c$/' && echo '+1s/\$(CFLAGS)/-c \$(CPPFLAGS)/' && echo w && echo q) | ed Makefile > /dev/null # If we're compiling Java, we'll need to set up the path. echo "$1" | grep enable-java > /dev/null if test $? -eq 0; then (echo /^CPPFLAGS=/ && echo "s;\$; $JAVA_FLAGS;" && echo w && echo q) | ed Makefile > /dev/null fi make > mklog 2>&1 } # Run a test. # $1: config flags count=0 r() { count=$(expr $count + 1) dir="scr030.$count" (rm -rf $dir && mkdir $dir && cd $dir && config "$1") if test $? -eq 0; then rm -rf $dir else echo "$1: FAILED to build" fi } # Run through all of the standard single options. s="\ --disable-cryptography \ --disable-hash \ --disable-largefile \ --disable-queue \ --disable-replication \ --disable-statistics \ --disable-verify \ --enable-compat185 \ --enable-debug \ --enable-debug_rop \ --enable-debug_wop \ --enable-diagnostic \ --enable-dump185 \ --enable-posixmutexes \ --enable-rpc \ --enable-smallbuild \ --enable-umrw \ --with-mutex=UNIX/fcntl \ --with-mutex=x86/gcc-assembly \ --with-uniquename=__KEITH__" for i in $s; do r "$i --disable-shared" done # Build specific runs of interest. r r "--disable-static" r "--enable-cxx" r "--enable-java" r "--with-tcl=/usr/local/lib/tcl8.4" r "--enable-test --with-tcl=/usr/local/lib/tcl8.4" r "--enable-cxx --enable-java --with-tcl=/usr/local/lib/tcl8.4"