diff options
Diffstat (limited to 'bin/create_ace_build')
-rwxr-xr-x | bin/create_ace_build | 134 |
1 files changed, 0 insertions, 134 deletions
diff --git a/bin/create_ace_build b/bin/create_ace_build deleted file mode 100755 index b61ebe8472d..00000000000 --- a/bin/create_ace_build +++ /dev/null @@ -1,134 +0,0 @@ -#! /bin/sh -- # perl -# $Id$ -# -# Creates an ACE build tree in directory "build/<build name>" below the current -# directory, which must be a ACE "top level" directory (such as $WRAPPER_ROOT). -# The build tree directory structure mirrors that of the ACE top level -# directory structure, except that instead of containing any plain files, -# it contains only symlinks to the files in the ACE top level structure. -# -# This program has a similar purpose to "clone", but in addition to -# only creating symlinks (clone creates hard links, by default), this -# script: -# 1) uses relative rather than absolute symlinks, -# 2) tries not to put junk files into the build tree, -# 3) only creates a new tree in a build/ directory below the current, -# top level ACE directory (it's a feature :-), but it does enforce -# consistency), and -# 4) is ACE-specific, so it can always create the ChangeLog symlink, -# for example. -# -# This program can be re-run on a build tree at any time in order to -# update it. It will only add new symlinks, it won't remove any that -# are no longer valid. If you want to do that, it's easiest just to -# remove the build completely and start from scratch. -# -# If the <build name> starts with "build/", that part will be removed -# from it. -# -# The first line above and the following one let this script run without -# specifying the full path to perl, as long as it is in the user's PATH. -# Taken from perlrun man page. - -eval 'exec perl -S $0 ${1+"$@"}' - if 0; - -$usage = "usage: $0 -? | [-d <directory mode>] [-v] <build name>\n"; -$directory_mode = 042755; #### fine on Suns, but maybe not all Unix platforms -$verbose = 0; - - -#### -#### process command line args -#### -while ( $#ARGV >= 0 && $ARGV[0] =~ /^-/ ) { - if ( $ARGV[0] eq '-v' ) { - $verbose = 1; - } elsif ( $ARGV[0] eq '-d' ) { - if ( $ARGV[1] =~ /^\d+$/ ) { - $directory_mode = $ARGV[1]; shift; - } else { - warn "$0: must provide argument for -d option\n"; - die $usage; - } - } elsif ( $ARGV[0] eq '-?' ) { - print "$usage"; - exit; - } else { - warn "$0: unknown option $ARGV[0]\n"; - die $usage; - } - shift; -} - -die $usage unless $#ARGV == 0; -$build = $ARGV[0]; -$build =~ s%^build/%%; #### remove leading "build/", if any -$build = "build/$build"; - -#### -#### check that we're in an ACE "top level" directory -#### -( -d 'ace' && -d 'examples' && -d 'netsvcs' ) || - die "$0: must be in an ACE top level (WRAPPER_ROOT) directory!\n"; - -#### -#### create build directories, if needed. -#### --d 'build' || mkdir 'build', $directory_mode; --d "$build" || mkdir "$build", $directory_mode; - -#### -#### get all ACE plain file and directory names -#### -@files = ( `/usr/bin/find . -name CVS -prune -o -name build -prune -o \\\ - -name '.*obj' -prune -o -name Templates.DB -prune -o \\\ - \\( ! -type l ! -name core ! -name '*.state' ! -name '*.so' \\\ - ! -name '*.[oa]' ! -name '*~' ! -name '.' ! -name '.#*' \\\ - ! -name '*.log' \\) \\\ - -print` ); - -#### -#### create directories and symlinks to files -#### -foreach $file ( @files ) { - chop $file; #### remove trailing newline (from find command above) - $file =~ s%^\./%%g; #### excise leading ./ directory component - - if ( -d $file ) { - unless ( -d "$build/$file" ) { - print "mkdir $build/$file, $directory_mode\n" if $verbose; - mkdir "$build/$file", $directory_mode; - } - } else { - unless ( -e "$build/$file" ) { - $up = '../..'; - while ( $file =~ m%/%g ) { $up .= '/..'; } - - print "symlink $up/$file $build/$file\n" if $verbose; - symlink "$up/$file", "$build/$file" || - die "$0 symlink to $build/$file failed\n"; - } - } -} - -#### -#### create symlink to ChangeLog symlink -#### -unless ( -e "$build/ChangeLog" ) { - symlink '../../ChangeLog', "$build/ChangeLog" || - die "$0: unable to create $build/ChangeLog symlink\n"; -} - -#### -#### done: print message -#### -print "\nCompleted creation of $build/.\n"; - -unless ( -e "$build/ace/config.h" && - -e "$build/include/makeinclude/platform_macros.GNU" ) { - print "Be sure to setup $build/ace/config.h and\n" . - "$build/include/makeinclude/platform_macros.GNU symlinks.\n"; -} - -#### EOF |