# 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 source gcc test_tree samba_3_next source gcc test_tree samba_3_master source gcc