summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorelliott_c <ocielliottc@users.noreply.github.com>2006-04-14 14:59:20 +0000
committerelliott_c <ocielliottc@users.noreply.github.com>2006-04-14 14:59:20 +0000
commit861d2f93d76e853338070ec433de822e4500427a (patch)
tree92ede2d9109a5edd30f80c80c9efc9641fd0a385
parent42aa4f9f16fa62f9d6472e345a3ae9a4b2e84f0d (diff)
downloadATCD-861d2f93d76e853338070ec433de822e4500427a.tar.gz
ChangeLogTag: Fri Apr 14 14:57:12 UTC 2006 Chad Elliott <elliott_c@ociweb.com>
-rw-r--r--ChangeLog18
-rwxr-xr-xbin/msvc_static_compile.pl53
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;