diff options
author | elliott_c <ocielliottc@users.noreply.github.com> | 2006-04-14 14:59:20 +0000 |
---|---|---|
committer | elliott_c <ocielliottc@users.noreply.github.com> | 2006-04-14 14:59:20 +0000 |
commit | 861d2f93d76e853338070ec433de822e4500427a (patch) | |
tree | 92ede2d9109a5edd30f80c80c9efc9641fd0a385 | |
parent | 42aa4f9f16fa62f9d6472e345a3ae9a4b2e84f0d (diff) | |
download | ATCD-861d2f93d76e853338070ec433de822e4500427a.tar.gz |
ChangeLogTag: Fri Apr 14 14:57:12 UTC 2006 Chad Elliott <elliott_c@ociweb.com>
-rw-r--r-- | ChangeLog | 18 | ||||
-rwxr-xr-x | bin/msvc_static_compile.pl | 53 |
2 files changed, 64 insertions, 7 deletions
diff --git a/ChangeLog b/ChangeLog index db6d4ae6bd7..9c3c90ffff8 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,14 +1,24 @@ +Fri Apr 14 14:57:12 UTC 2006 Chad Elliott <elliott_c@ociweb.com> + + * bin/msvc_static_compile.pl: + + Added a work-around for devenv using the solution file to build + additional projects even when the .vcproj is specified. This only + happens when using the -CORE option to this script. First, all + .sln files are temporarily renamed and then named back when the + build is done or a SIGINT or SIGTERM is detected. + Wed Apr 12 14:48:38 UTC 2006 William R. Otte <wotte@dre.vanderbilt.edu> * bin/MakeProjectCreator/config/ciao_component_dnc.mpb - + Fixes for linking errors in OS X. Tue Apr 11 20:06:12 2006 Douglas C. Schmidt <schmidt@cse.wustl.edu> - * ace/OS_NS_stdio.inl (rewind): Replaced SetFilePointer() with - fseek() on WinCE since it works better. Thanks to Andrey - Nechypurenko for reporting this. + * ace/OS_NS_stdio.inl (rewind): Replaced SetFilePointer() with + fseek() on WinCE since it works better. Thanks to Andrey + Nechypurenko for reporting this. Wed Apr 12 08:14:00 2006 Johnny Willemsen <jwillemsen@remedy.nl> diff --git a/bin/msvc_static_compile.pl b/bin/msvc_static_compile.pl index 38531cb0563..1580302d28e 100755 --- a/bin/msvc_static_compile.pl +++ b/bin/msvc_static_compile.pl @@ -115,6 +115,24 @@ sub Find_Sln (@) return @array; } +sub Rename_Files ($$) +{ + my ($target) = shift; + my ($newext) = shift; + my (@array) = (); + + sub wanted_file { + my ($text) = shift; + my ($next) = shift; + if ($File::Find::name =~ /^(.*)$text$/i) { + my ($newname) = $1 . $next; + rename ($File::Find::name, $newname); + } + } + + find (sub { wanted_file ($target, $newext) }, $ACE_ROOT); +} + # Only builds the core libraries. sub Build_Core () { @@ -138,9 +156,9 @@ sub Build_Core () foreach $test ($config_list->valid_entries ()) { if ($mod_name) { - @plist = split(/\//, $test); + @plist = split (/\//, $test); $fname = pop @plist; - $fname_mod = $name_mod; + $fname_mod = $name_mod; $fname_mod =~ s/\*/$fname/; push @plist,($fname_mod); push (@core_list, join('/', @plist) . $proj_ext); @@ -350,7 +368,36 @@ if ($#directories < 0) { print "msvc_static_compile: Begin\n"; print STDERR "Beginning Core Build\n" if ($print_status == 1); -Build_Core if (!$use_custom_dir || $build_core_only); +if (!$use_custom_dir || $build_core_only) { + if ($vc7) { + ## devenv is too smart for it's own good. When a .vcproj is specified, + ## as is done when building the CORE, it will find the solution to which + ## the .vcproj belongs and begin to build additional portions of the + ## solution. This is not what we want as dependencies are not set up + ## between library projects. + my($sln) = '.sln'; + my($core_sln) = $sln . '.build_core'; + + Rename_Files ($sln, $core_sln); + + foreach my $sig ('INT', 'TERM') { + $SIG{$sig} = sub { print STDERR "Renaming solution files, please be patient...\n"; + Rename_Files ($core_sln, $sln); + exit(1); }; + } + + Build_Core (); + + Rename_Files ($core_sln, $sln); + + foreach my $sig ('INT', 'TERM') { + $SIG{$sig} = 'DEFAULT'; + } + } + else { + Build_Core (); + } +} print STDERR "Beginning Full Build\n" if ($print_status == 1); if ( $vc7 ) { Build_All_VC7 if !$build_core_only; |