-# Build control file for Stratus VOS
-# Contact: Paul.Green at stratus.com (paulg at samba.org)
-
-export CC="gcc"
-export CFLAGS=""
-export CPPFLAGS="-D_POSIX_C_SOURCE=200112L -D_SYSV -D_VOS_EXTENDED_NAMES"
-export MAXTIME=14400
-export TIMELIMIT_FLAGS="-D_POSIX_C_SOURCE=200112L"
-export noclean="yes"
-
-# avoid vos bug bin-340
-export LDFLAGS="-specs=/s/pg/bf/posix/command_library/pg.specs"
-
-# avoid vos bug ac-79
-export ac_cv_prog_cc_ccache_c_o=yes
-
-# ensure vos pathnames do not contain % or # characters
-# workaround until vos suggestion posix-1014 is implemented
-test_root=/build_farm
-
-############################
-# configure the tree
-# VOS: modified to print message and invoke bash explicitly
-action_configure() {
- echo " "
- echo "NOTE: VOS has some restrictions that cause build or test"
- echo " failures. I am working to resolve these."
- echo " 1. VOS does not implement Unix-domain sockets."
- echo " 2. VOS is missing some POSIX or Unix functions. I am"
- echo " supplying private versions to avoid build errors."
- echo " 3. VOS implements the POSIX-style shared memory API,"
- echo " not the System V-style shared memory API."
- echo " 4. VOS seems to have some bugs in POSIX file locking."
- echo " "
- echo "The following differences from standard POSIX systems are"
- echo "essentially unfixable:"
- echo " 5. VOS has symbolic links not hard links. link() is a dummy."
- echo " 6. VOS has a 256-character limit on pathnames."
- echo " 7. VOS does not implement shared libraries (no gcc -shared)."
- echo " "
- echo "Please contact Paul dot Green at stratus.com for further information."
- echo " "
- if [ ! -x $srcdir/configure ]; then
- ls -l $srcdir/configure
- echo "$srcdir/configure is missing"
- cstatus=255
- echo "CONFIGURE STATUS: $cstatus"
- return $cstatus;
- fi
- echo "CPPFLAGS=$CPPFLAGS"
- echo "CFLAGS=$CFLAGS"
- echo configure options: $config_and_prefix
- echo CC="$CCACHE $compiler" $srcdir/configure $config_and_prefix
- CC="$CCACHE $compiler"
- export CC
-# VOS: explicitly invoke bash here.
- ./timelimit $MAXTIME bash $srcdir/configure $config_and_prefix
- cstatus=$?
- if [ x"$cstatus" != x"0" ]; then
- if [ -f config.log ]; then
- echo "contents of config.log:"
- cat config.log
- fi
- fi
- echo "CONFIGURE STATUS: $cstatus"
- return $cstatus;
-}
-
-############################
-# VOS: apply any pending patches.
-apply_patches() {
- tree=$1
- if [ -f $tree.patch.txt ]; then
- cd $tree
- echo "Patching $tree with local changes."
- ../patch -u -b -p 2 -i ../$tree.patch.txt
- cd ..
- fi
-}
-
-############################
-# VOS: fake up df command, since VOS doesn't have it.
-function df {
- display_disk_info;
-}
-
-############################
-# fetch the latest copy of the tree
-# VOS: apply local patches to the tree, skip files w/long names.
-fetch_tree() {
- if [ "$norsync" = "yes" ]; then
- echo "skipping tree transfer"
- else
- fetchtree=$1
- if rsync --exclude=autom4te.cache/ --exclude=.svn/ --exclude=.git/ --delete-excluded -q --partial --timeout=200 -crlpz --delete --ignore-errors \
- samba.org::ftp/unpacked/$fetchtree/ $test_root/$fetchtree; then
- echo "transferred $fetchtree OK"
- else
- echo "transfer of $fetchtree failed code $?"
- return 1
- fi
- fi
- apply_patches "$fetchtree"
- return 0
-}
-
-############################
-# VOS: fake up mount command, since VOS doesn't have it.
-mount() {
- return 0;
-}
-
-############################
-# VOS: fake up ulimit command, since VOS doesn't have it.
-ulimit() {
- return 0;
-}
-
-############################
-# VOS: fake up vmstat command, since VOS doesn't have it.
-vmstat() {
- return 0;
-}
-
-per_run_hook
-
-. common.fns
-
-test_tree samba_3_current source3 gcc
-test_tree samba_3_next source3 gcc