diff options
author | michel_j <michel_j@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2003-08-23 01:30:37 +0000 |
---|---|---|
committer | michel_j <michel_j@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2003-08-23 01:30:37 +0000 |
commit | d6173b9e003b0c115987fcbed352bb35911e39f0 (patch) | |
tree | ac5f04218739d810813ca795b79ad0de6db13b81 /bin | |
parent | c7d54253bee42d7d49637e1ac5a4f58cf4ca1031 (diff) | |
download | ATCD-d6173b9e003b0c115987fcbed352bb35911e39f0.tar.gz |
Fri Aug 22 20:10:41 UTC 2003 Justin Michel <michel_j@ociweb.com>
Diffstat (limited to 'bin')
-rw-r--r-- | bin/MakeProjectCreator/config/acedefaults.mpb | 7 | ||||
-rw-r--r-- | bin/MakeProjectCreator/config/openssl.mpb | 15 | ||||
-rw-r--r-- | bin/MakeProjectCreator/config/ssl.mpb | 7 | ||||
-rw-r--r-- | bin/MakeProjectCreator/modules/ProjectCreator.pm | 24 | ||||
-rw-r--r-- | bin/MakeProjectCreator/modules/VC6WorkspaceCreator.pm | 18 | ||||
-rw-r--r-- | bin/MakeProjectCreator/modules/VC71WorkspaceCreator.pm | 27 | ||||
-rw-r--r-- | bin/MakeProjectCreator/modules/VC7ProjectCreator.pm | 34 | ||||
-rw-r--r-- | bin/MakeProjectCreator/modules/VC7WorkspaceCreator.pm | 38 | ||||
-rw-r--r-- | bin/MakeProjectCreator/modules/WorkspaceCreator.pm | 41 | ||||
-rw-r--r-- | bin/MakeProjectCreator/templates/bor.mpd | 8 | ||||
-rw-r--r-- | bin/MakeProjectCreator/templates/vc7.mpd | 75 |
11 files changed, 142 insertions, 152 deletions
diff --git a/bin/MakeProjectCreator/config/acedefaults.mpb b/bin/MakeProjectCreator/config/acedefaults.mpb index 676857a6317..f316f344eeb 100644 --- a/bin/MakeProjectCreator/config/acedefaults.mpb +++ b/bin/MakeProjectCreator/config/acedefaults.mpb @@ -1,10 +1,5 @@ -project: qt, zzip, openssl { +project: qt, zzip { staticflags += ACE_AS_STATIC_LIBS includes += $(ACE_ROOT) libpaths += $(ACE_ROOT)/lib - - // The following is a temporary workaround so that mpc-generated projects - // can work with an ACE/TAO that was built without mpc. This should be - // removed as soon as MPC is used for all project generation. - // libpaths += $(ACE_ROOT)/ace $(ACE_ROOT)/ace/QoS $(ACE_ROOT)/ace/SSL $(ACE_ROOT)/ACEXML/common $(ACE_ROOT)/ACEXML/parser/parser $(TAO_ROOT)/orbsvcs/IFR_Service $(TAO_ROOT)/orbsvcs/orbsvcs $(TAO_ROOT)/tao $(TAO_ROOT)/tao/BiDir_GIOP $(TAO_ROOT)/tao/Domain $(TAO_ROOT)/tao/DynamicAny $(TAO_ROOT)/tao/DynamicInterface $(TAO_ROOT)/tao/IFR_Client $(TAO_ROOT)/tao/IORManipulation $(TAO_ROOT)/tao/IORTable $(TAO_ROOT)/tao/Messaging $(TAO_ROOT)/tao/Messaging $(TAO_ROOT)/tao/PortableServer $(TAO_ROOT)/tao/RTCORBA $(TAO_ROOT)/tao/RTPortableServer $(TAO_ROOT)/tao/SmartProxies $(TAO_ROOT)/tao/Strategies $(TAO_ROOT)/tao/TypeCodeFactory $(TAO_ROOT)/TAO_IDL $(TAO_ROOT)/orbsvcs/orbsvcs/ETCL } diff --git a/bin/MakeProjectCreator/config/openssl.mpb b/bin/MakeProjectCreator/config/openssl.mpb index 04313394a02..876750f80c6 100644 --- a/bin/MakeProjectCreator/config/openssl.mpb +++ b/bin/MakeProjectCreator/config/openssl.mpb @@ -1,14 +1,17 @@ -feature(ssl) { -// When all of ACE and TAO are switched over to MPC, uncomment the -// following lines and remove this comment. -// includes += $(SSL_ROOT)/include -// libpaths += $(SSL_ROOT)/lib - +// openssl is a completely different feature than ssl. +// Currently ssl uses openssl, and openssl is enabled by +// default. If we ever add a new ssl library, then you +// would likely enable only one ssl library feature. +feature(openssl) { specific(borland, nmake, em3, vc6, vc7, vc71) { lit_libs += libeay32 ssleay32 + includes += $(SSL_ROOT)/inc32 + libpaths += $(SSL_ROOT)/out32dll } specific(gnuace, make) { lit_libs += ssl crypto + includes += $(SSL_ROOT)/include + libpaths += $(SSL_ROOT)/lib } } diff --git a/bin/MakeProjectCreator/config/ssl.mpb b/bin/MakeProjectCreator/config/ssl.mpb index 4e7373191c9..8b9cfe673e2 100644 --- a/bin/MakeProjectCreator/config/ssl.mpb +++ b/bin/MakeProjectCreator/config/ssl.mpb @@ -1,6 +1,9 @@ -project : acelib { +// In the future, other ssl libraries could be supported +// by creating a new xyzssl.mpb similar to openssl.mpb. +// You would then derive the following project from this base. +project : acelib, openssl { after += SSL libs += ACE_SSL requires += ssl - ssl = 1 + macros += ACE_HAS_SSL=1 } diff --git a/bin/MakeProjectCreator/modules/ProjectCreator.pm b/bin/MakeProjectCreator/modules/ProjectCreator.pm index 753209db4cf..9b12a2caabb 100644 --- a/bin/MakeProjectCreator/modules/ProjectCreator.pm +++ b/bin/MakeProjectCreator/modules/ProjectCreator.pm @@ -2076,7 +2076,7 @@ sub write_project { my($self) = shift; my($status) = 1; my($error) = ''; - my($name) = $self->transform_file_name($self->project_file_name()); + my($file_name) = $self->transform_file_name($self->project_file_name()); my($progress) = $self->get_progress_callback(); if (defined $progress) { @@ -2089,17 +2089,17 @@ sub write_project { ## Writing the non-static file so set it to 0 if ($self->get_dynamic()) { $self->{'writing_type'} = 0; - ($status, $error) = $self->write_output_file($name); + ($status, $error) = $self->write_output_file($file_name); } if ($status && $self->get_static() && $self->separate_static_project()) { - $name = $self->transform_file_name( + $file_name = $self->transform_file_name( $self->static_project_file_name()); ## Writing the static file so set it to 1 $self->{'writing_type'} = 1; - ($status, $error) = $self->write_output_file($name); + ($status, $error) = $self->write_output_file($file_name); } } } @@ -2225,7 +2225,7 @@ sub update_project_info { ## If we haven't seen this value yet, put it on the array if (!defined $self->{'project_info_hash_table'}->{"@narr $value"}) { $self->{'project_info_hash_table'}->{"@narr $value"} = 1; - $self->save_project_value("@narr", $value); + #$self->save_project_value("@narr", $value); push(@$arr, $value); } @@ -2355,20 +2355,6 @@ sub get_default_element_name { # Virtual Methods To Be Overridden # ************************************************************ -sub specific_lookup { - #my($self) = shift; - #my($key) = shift; - return undef; -} - - -sub save_project_value { - #my($self) = shift; - #my($name) = shift; - #my($value) = shift; -} - - sub translate_value { my($self) = shift; my($key) = shift; diff --git a/bin/MakeProjectCreator/modules/VC6WorkspaceCreator.pm b/bin/MakeProjectCreator/modules/VC6WorkspaceCreator.pm index cbb1cfe80bf..92ac7e8866b 100644 --- a/bin/MakeProjectCreator/modules/VC6WorkspaceCreator.pm +++ b/bin/MakeProjectCreator/modules/VC6WorkspaceCreator.pm @@ -46,6 +46,10 @@ sub pre_workspace { $crlf; } +sub allow_duplicates { + my($self) = shift; + return 0; +} sub write_comps { my($self) = shift; @@ -53,19 +57,10 @@ sub write_comps { my($projects) = $self->get_projects(); my($pjs) = $self->get_project_info(); my($crlf) = $self->crlf(); - my(%names) = (); - my($dupfound) = 0; foreach my $project (@$projects) { my($name) = $$pjs{$project}->[0]; my($deps) = $self->get_validated_ordering($project); - if (defined $names{$name}) { - ## Having duplicate project names is an error in a VC6 Workspace. - ++$dupfound; - } - else { - $names{$name} = 1; - } print $fh "###############################################################################$crlf" . $crlf . @@ -94,11 +89,6 @@ sub write_comps { print $fh "}}}$crlf$crlf"; } - if ($dupfound > 0) { - print "WARNING: $dupfound duplicate project" . - ($dupfound == 1 ? '' : 's') . - " found. This workspace will not load properly.\n"; - } } diff --git a/bin/MakeProjectCreator/modules/VC71WorkspaceCreator.pm b/bin/MakeProjectCreator/modules/VC71WorkspaceCreator.pm index 3d15b1ba472..8f9d499956e 100644 --- a/bin/MakeProjectCreator/modules/VC71WorkspaceCreator.pm +++ b/bin/MakeProjectCreator/modules/VC71WorkspaceCreator.pm @@ -38,19 +38,22 @@ sub print_inner_project { my($gen) = shift; my($pguid) = shift; my($deps) = shift; + my($project_name) = shift; + my($name_to_guid_map) = shift; - if (defined $deps && $deps ne '') { - my($crlf) = $self->crlf(); - print $fh "\tProjectSection(ProjectDependencies) = postProject$crlf"; - my($darr) = $self->create_array($deps); - foreach my $dep (@$darr) { - my($val) = $gen->specific_lookup($dep); - if (defined $val && $pguid ne $val) { - print $fh "\t\t{$val} = {$val}$crlf"; + my($crlf) = $self->crlf(); + print $fh "\tProjectSection(ProjectDependencies) = postProject$crlf"; + my($darr) = $self->create_array($deps); + foreach my $dep (@$darr) { + ## Avoid cirular dependencies + if ($project_name ne $dep) { + my($guid) = $name_to_guid_map->{$dep}; + if (defined $guid) { + print $fh "\t\t{$guid} = {$guid}$crlf"; } } - print $fh "\tEndProjectSection$crlf"; } + print $fh "\tEndProjectSection$crlf"; } @@ -66,12 +69,6 @@ sub print_configs { sub print_dependencies { - #my($self) = shift; - #my($fh) = shift; - #my($gen) = shift; - #my($list) = shift; - #my($pjs) = shift; - ## These are done in the print_inner_project method } diff --git a/bin/MakeProjectCreator/modules/VC7ProjectCreator.pm b/bin/MakeProjectCreator/modules/VC7ProjectCreator.pm index bf18200244b..6be9b130f17 100644 --- a/bin/MakeProjectCreator/modules/VC7ProjectCreator.pm +++ b/bin/MakeProjectCreator/modules/VC7ProjectCreator.pm @@ -29,32 +29,20 @@ sub file_sorter { return lc($left) cmp lc($right); } - -sub specific_lookup { +sub translate_value { my($self) = shift; - my($tag) = shift; - my($val) = undef; - - if (defined $self->{'guid_names'} && - defined $self->{'guid_names'}->{$tag}) { - $val = $self->{'guid_names'}->{$tag}; - } - - return $val; -} - - -sub save_project_value { - my($self) = shift; - my($name) = shift; - my($value) = shift; - - if ($name eq 'guid') { - if (!defined $self->{'guid_names'}) { - $self->{'guid_names'} = {}; + my($key) = shift; + my($val) = shift; + + if ($key eq 'after' && $val ne '') { + my($arr) = $self->create_array($val); + $val = ''; + foreach my $entry (@$arr) { + $val .= '"' . $entry . '" '; } - $self->{'guid_names'}->{$self->project_file_name()} = $value; + $val =~ s/\s+$//; } + return $val; } diff --git a/bin/MakeProjectCreator/modules/VC7WorkspaceCreator.pm b/bin/MakeProjectCreator/modules/VC7WorkspaceCreator.pm index 146a775d033..a1161200cd9 100644 --- a/bin/MakeProjectCreator/modules/VC7WorkspaceCreator.pm +++ b/bin/MakeProjectCreator/modules/VC7WorkspaceCreator.pm @@ -22,6 +22,10 @@ use vars qw(@ISA); # Subroutine Section # ************************************************************ +sub allow_duplicates { + my($self) = shift; + return 0; +} sub crlf { my($self) = shift; @@ -51,6 +55,7 @@ sub print_inner_project { #my($gen) = shift; #my($pguid) = shift; #my($deps) = shift; + #my($name) = shift; } @@ -76,18 +81,26 @@ sub print_dependencies { my($pjs) = shift; my($crlf) = $self->crlf(); + ## I hate to add yet another loop through all the projects, but + ## we must have some way to map plain project names to guids. + my(%name_to_guid_map) = (); + foreach my $project(@$list) { + my($name, $deps, $guid) = @{$$pjs{$project}}; + $name_to_guid_map{$name} = $guid; + } + ## Project Dependencies print $fh "\tGlobalSection(ProjectDependencies) = postSolution$crlf"; foreach my $project (@$list) { - my($name, $rawdeps, $pguid) = @{$$pjs{$project}}; + my($name, $rawdeps, $project_guid) = @{$$pjs{$project}}; my($deps) = $self->get_validated_ordering($project); if (defined $deps && $deps ne '') { my($darr) = $self->create_array($deps); my($i) = 0; foreach my $dep (@$darr) { - my($val) = $gen->specific_lookup($dep); - if (defined $val && $pguid ne $val) { - print $fh "\t\t{$pguid}.$i = {$val}$crlf"; + my($guid) = $name_to_guid_map{$dep}; + if (defined $guid && $guid ne $project_guid) { + print $fh "\t\t{$project_guid}.$i = {$guid}$crlf"; $i++; } } @@ -102,22 +115,27 @@ sub write_comps { my($fh) = shift; my($gen) = shift; my($projects) = $self->get_projects(); - my($guid) = '8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942'; + my($vc7guid) = '8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942'; my($pjs) = $self->get_project_info(); my(@list) = $self->sort_dependencies($projects, $pjs); my($crlf) = $self->crlf(); - ## $guid above is the VC7 Project GUID. It should not change. + ## I hate to add yet another loop through all the projects, but + ## we must have some way to map plain project names to guids. + my(%name_to_guid_map) = (); + foreach my $project(sort @list) { + my($name, $deps, $guid) = @{$$pjs{$project}}; + $name_to_guid_map{$name} = $guid; + } ## Project Information foreach my $project (sort @list) { - my($name, $rawdeps, $pguid) = @{$$pjs{$project}}; + my($name, $rawdeps, $guid) = @{$$pjs{$project}}; my($deps) = $self->get_validated_ordering($project); - ## Convert all /'s to \ my($cpy) = $self->slash_to_backslash($project); - print $fh "Project(\"{$guid}\") = \"$name\", \"$cpy\", \"{$pguid}\"$crlf"; - $self->print_inner_project($fh, $gen, $pguid, $deps); + print $fh "Project(\"{$vc7guid}\") = \"$name\", \"$cpy\", \"{$guid}\"$crlf"; + $self->print_inner_project($fh, $gen, $guid, $deps, $name, \%name_to_guid_map); print $fh "EndProject$crlf"; } diff --git a/bin/MakeProjectCreator/modules/WorkspaceCreator.pm b/bin/MakeProjectCreator/modules/WorkspaceCreator.pm index 4ed23b3db8e..89618c48ea1 100644 --- a/bin/MakeProjectCreator/modules/WorkspaceCreator.pm +++ b/bin/MakeProjectCreator/modules/WorkspaceCreator.pm @@ -468,22 +468,18 @@ sub write_workspace { my($addfile) = shift; my($status) = 1; my($error) = ''; + my($duplicates) = 0; if ($self->get_toplevel()) { if ($addfile) { - ## NOTE: If support for VC6 is ever removed, then we can remove - ## this block of code. So far, VC6 is the only tool we support - ## that can not handle projects that exist in different directories - ## but have the same name. + ## VC6 is the only tool that currently cannot work with duplicate names, but + ## duplicates really don't make sense for anything but Makefile-style projects. my(%names) = (); foreach my $project (@{$self->{'projects'}}) { my($name) = $self->{'project_info'}->{$project}->[0]; if (defined $names{$name}) { - ## Having duplicate project names is an error in a VC6 Workspace. - ## We will create the project, but we will warn the user that - ## the project has duplicate names. - print "WARNING: A duplicate project named '$name' " . - "has already been added.\n"; + ++$duplicates; + print "WARNING: Duplicate project '$name'.\n"; } else { $names{$name} = 1; @@ -493,8 +489,22 @@ sub write_workspace { else { $self->{'per_project_workspace_name'} = 1; } + my($name) = $self->transform_file_name($self->workspace_file_name()); - if (defined $self->{'projects'}->[0]) { + + my($abort_creation) = 0; + + if ($duplicates > 0 && ! $self->allow_duplicates()) { + print "WARNING: Duplicates not allowed.\n"; + $abort_creation = 1; + } else { + if (! defined $self->{'projects'}->[0]) { + print "WARNING: No projects were created.\n"; + $abort_creation = 1; + } + } + + if (! $abort_creation) { my($fh) = new FileHandle(); my($dir) = dirname($name); @@ -548,10 +558,8 @@ sub write_workspace { } } } - } - else { - print "WARNING: No projects were created.\n" . - " Workspace $name has not been created.\n"; + } else { + print " Workspace $name has not been created.\n"; } if (!$addfile) { $self->{'per_project_workspace_name'} = undef; @@ -1048,6 +1056,11 @@ sub get_validated_ordering { # Virtual Methods To Be Overridden # ************************************************************ +sub allow_duplicates { + my($self) = shift; + return 1; +} + sub workspace_file_name { #my($self) = shift; return ''; diff --git a/bin/MakeProjectCreator/templates/bor.mpd b/bin/MakeProjectCreator/templates/bor.mpd index a1ef5bb5f49..cc033c17cb0 100644 --- a/bin/MakeProjectCreator/templates/bor.mpd +++ b/bin/MakeProjectCreator/templates/bor.mpd @@ -1,13 +1,5 @@ # Makefile for building the <%if(exename)%><%exename%> exe<%endif%><%if(sharedname)%><%sharedname%> library<%endif%> with Borland C++ Builder -<%if(ssl)%> -!ifdef SSL_ROOT -<%endif%> -NAME = <%if(exename)%><%exename%><%endif%><%if(sharedname)%><%sharedname%><%endif%> -<%if(ssl)%> -!endif -<%endif%> - <%if(idl_files)%> TAO_IDL = $(CORE_BINDIR)\tao_idl -g $(CORE_BINDIR)\gperf.exe diff --git a/bin/MakeProjectCreator/templates/vc7.mpd b/bin/MakeProjectCreator/templates/vc7.mpd index fe547b05150..51c97474d20 100644 --- a/bin/MakeProjectCreator/templates/vc7.mpd +++ b/bin/MakeProjectCreator/templates/vc7.mpd @@ -14,8 +14,8 @@ <%foreach(configurations)%> <Configuration Name="<%configuration%>|<%platform%>" - OutputDirectory=".\<%if(type_is_dynamic)%><%libout%><%else%><%output_dir%><%endif%>" - IntermediateDirectory=".\<%intermediate_dir%>\<%noextension(project_file)%>" + OutputDirectory="<%if(type_is_dynamic)%><%if(dllout)%><%dllout%><%else%><%libout%><%endif%><%else%><%if(type_is_static)%><%libout%><%else%><%if(install)%><%install%><%else%><%output_dir%><%endif%><%endif%><%endif%>" + IntermediateDirectory="<%intermediate_dir%>/<%noextension(project_file)%>" ConfigurationType="<%configuration_type("2")%>" UseOfMFC="<%use_mfc("0")%>" ATLMinimizesCRunTimeLibraryUsage="FALSE"> @@ -24,61 +24,66 @@ <%if(optimization)%> Optimization="<%optimization%>" <%endif%> -<%if(!debug)%> - InlineFunctionExpansion="<%inline("2")%>" +<%if(OptimizeForProcessor)%> + Optimization="<%OptimizeForProcessor%>" <%endif%> AdditionalIncludeDirectories="<%foreach(includes)%><%include%><%fornotlast(",")%><%endfor%>" - PreprocessorDefinitions="<%if(type_is_dynamic)%><%foreach(dynamicflags)%><%dynamicflag%>;<%endfor%><%endif%><%if(need_staticflags)%><%foreach(staticflags)%><%libflag%>;<%endfor%><%endif%><%if(pch_header)%><%foreach(pch_defines)%><%pch_define%>;<%endfor%><%endif%><%foreach(defines common_defines macros)%><%define%><%fornotlast(";")%><%endfor%>" -<%if(!debug)%> - StringPooling="<%string_pooling("TRUE")%>" + PreprocessorDefinitions="<%if(type_is_dynamic)%><%foreach(dynamicflags)%><%dynamicflag%>;<%endfor%><%endif%><%if(need_staticflags)%><%foreach(staticflags)%><%staticflag%>;<%endfor%><%endif%><%if(pch_header)%><%foreach(pch_defines)%><%pch_define%>;<%endfor%><%endif%><%foreach(defines common_defines macros)%><%define%><%fornotlast(";")%><%endfor%>" + MinimalRebuild="<%MinimalRebuild("FALSE")%>" + ExceptionHandling="TRUE" +<%if(debug)%> + BasicRuntimeChecks="<%BasicRuntimeChecks("3")%>" +<%endif%> +<%if(StringPooling)%> + StringPooling="<%StringPooling%>" <%endif%> - RuntimeLibrary="<%runtime_library%>" - EnableFunctionLevelLinking="TRUE" + RuntimeLibrary="<%if(debug)%><%runtime_library("3")%><%else%><%runtime_library("2")%><%endif%>" + BufferSecurityCheck="<%BufferSecurityCheck("TRUE")%>" + EnableFunctionLevelLinking="<%EnableFunctionLevelLinking("TRUE")%>" + TreatWChar_tAsBuiltInType="TRUE" + ForceConformanceInForLoopScope="TRUE" RuntimeTypeInfo="<%rtti("TRUE")%>" <%if(pch_header)%> - UsePrecompiledHeader="3" - PrecompiledHeaderThrough="<%pch_header%>" <%if(pch_source)%> - PrecompiledHeaderFile=".\<%intermediate_dir%>\<%noextension(project_file)%>\<%noextension(pch_source)%>.pch" + UsePrecompiledHeader="3" +<%else%> + UsePrecompiledHeader="2" <%endif%> + PrecompiledHeaderThrough="<%pch_header%>" <%endif%> - AssemblerListingLocation=".\<%intermediate_dir%>\<%noextension(project_file)%>" - ObjectFile=".\<%intermediate_dir%>\<%noextension(project_file)%>\" WarningLevel="<%warning_level("3")%>" SuppressStartupBanner="TRUE" - DebugInformationFormat="<%debug_format("3")%>" - CompileAs="0"/> + Detect64BitPortabilityProblems="<%Detect64BitPortabilityProblems("FALSE")%>" + DebugInformationFormat="<%debug_format("3")%>"/> <Tool Name="VCCustomBuildTool"/> <Tool Name="VCLinkerTool" - AdditionalOptions="/MACHINE:<%machine("I386")%>" <%if(type_is_binary)%> AdditionalDependencies="<%foreach(lit_libs)%><%lit_lib%>.lib <%endfor%><%foreach(libs defaultlibs)%><%lib%><%lib_modifier%>.lib<%fornotlast(" ")%><%endfor%>" <%endif%> - OutputFile="<%if(type_is_dynamic)%><%if(dllout)%><%dllout%><%else%><%libout%><%endif%>\<%sharedname%><%lib_modifier%>.dll<%endif%><%if(exename)%><%if(install)%><%install%><%else%><%output_dir%><%endif%>\<%exename%>.exe<%endif%><%if(type_is_static)%><%libout%>\<%staticname%><%lib_modifier%>.lib<%endif%>" + OutputFile="$(OutDir)/<%if(type_is_dynamic)%><%sharedname%><%lib_modifier%>.dll<%else%><%if(type_is_static)%><%staticname%><%lib_modifier%>.lib<%else%><%exename%>.exe<%endif%><%endif%>" Version="<%version("1.0")%>" - LinkIncremental="<%incremental("1")%>" + LinkIncremental="<%LinkIncremental("1")%>" SuppressStartupBanner="TRUE" AdditionalLibraryDirectories="<%foreach(libpaths)%><%libpath%><%fornotlast(";")%><%endfor%>" -<%if(debug)%> GenerateDebugInformation="TRUE" -<%endif%> -<%if(pdb)%> -<%if(sharedname)%> - ProgramDatabaseFile="<%if(dllout)%><%dllout%><%else%><%libout%><%endif%>\<%sharedname%><%lib_modifier%>.pdb" +<%if(type_is_dynamic)%> + ProgramDatabaseFile="$(OutDir)/<%sharedname%><%lib_modifier%>.pdb" <%else%> -<%if(exename)%> - ProgramDatabaseFile="<%if(install)%><%install%><%else%><%output_dir%><%endif%>\<%exename%>.pdb" -<%endif%> + <%if(type_is_binary)%> + ProgramDatabaseFile="$(OutDir)/<%exename%>.pdb" + <%endif%> <%endif%> + SubSystem="<%subsystem("1")%>" +<%if(!debug)%> + OptimizeReferences="<%optref("2")%>" + EnableCOMDATFolding="<%opticf("2")%>" <%endif%> <%if(type_is_dynamic)%> - SubSystem="<%subsystem("2")%>" - ImportLibrary="<%libout%>\<%sharedname%><%lib_modifier%>.lib"/> -<%else%> - SubSystem="<%subsystem("2")%>"/> + ImportLibrary="$(OutDir)/<%sharedname%><%lib_modifier%>.lib" <%endif%> + /> <Tool Name="VCMIDLTool"/> <Tool @@ -155,21 +160,21 @@ Description="Invoking IDL Compiler on <%basename(idl_file)%> located in <%dirname(idl_file)%>" <%if(flag_overrides(idl_file, idlgendir))%> CommandLine="PATH=%PATH%;<%idl_compiler_libs%> -<%idl_compiler%> -o <%flag_overrides(idl_file, idlgendir)%> <%if(flag_overrides(idl_file, idlflags))%><%flag_overrides(idl_file, idlflags)%><%else%><%idlflags%><%endif%> <%idl_file%>" +<%idl_compiler%> -o <%flag_overrides(idl_file, idlgendir)%> <%if(flag_overrides(idl_file, idlflags))%><%flag_overrides(idl_file, idlflags)%><%else%><%idlflags("-Sc")%><%endif%> <%idl_file%>" Outputs="<%flag_overrides(idl_file, idlgendir)%>\<%basenoextension(idl_file)%>C.h;<%flag_overrides(idl_file, idlgendir)%>\<%basenoextension(idl_file)%>C.i;<%flag_overrides(idl_file, idlgendir)%>\<%basenoextension(idl_file)%>C.cpp;<%flag_overrides(idl_file, idlgendir)%>\<%basenoextension(idl_file)%>S.h;<%flag_overrides(idl_file, idlgendir)%>\<%basenoextension(idl_file)%>S.i;<%flag_overrides(idl_file, idlgendir)%>\<%basenoextension(idl_file)%>S.cpp"/> <%else%> <%if(idlgendir)%> CommandLine="PATH=%PATH%;<%idl_compiler_libs%> -<%idl_compiler%> -o <%idlgendir%> <%if(flag_overrides(idl_file, idlflags))%><%flag_overrides(idl_file, idlflags)%><%else%><%idlflags%><%endif%> <%idl_file%>" +<%idl_compiler%> -o <%idlgendir%> <%if(flag_overrides(idl_file, idlflags))%><%flag_overrides(idl_file, idlflags)%><%else%><%idlflags("-Sc")%><%endif%> <%idl_file%>" Outputs="<%idlgendir%>\<%basenoextension(idl_file)%>C.h;<%idlgendir%>\<%basenoextension(idl_file)%>C.i;<%idlgendir%>\<%basenoextension(idl_file)%>C.cpp;<%idlgendir%>\<%basenoextension(idl_file)%>S.h;<%idlgendir%>\<%basenoextension(idl_file)%>S.i;<%idlgendir%>\<%basenoextension(idl_file)%>S.cpp"/> <%else%> <%if(dirname_found)%> CommandLine="PATH=%PATH%;<%idl_compiler_libs%> -<%idl_compiler%> -o <%dirname(idl_file)%> <%if(flag_overrides(idl_file, idlflags))%><%flag_overrides(idl_file, idlflags)%><%else%><%idlflags%><%endif%> <%idl_file%>" +<%idl_compiler%> -o <%dirname(idl_file)%> <%if(flag_overrides(idl_file, idlflags))%><%flag_overrides(idl_file, idlflags)%><%else%><%idlflags("-Sc")%><%endif%> <%idl_file%>" Outputs="<%basenoextension(idl_file)%>C.h;<%basenoextension(idl_file)%>C.i;<%basenoextension(idl_file)%>C.cpp;<%basenoextension(idl_file)%>S.h;<%basenoextension(idl_file)%>S.i;<%basenoextension(idl_file)%>S.cpp"/> <%else%> CommandLine="PATH=%PATH%;<%idl_compiler_libs%> -<%idl_compiler%> <%if(flag_overrides(idl_file, idlflags))%><%flag_overrides(idl_file, idlflags)%><%else%><%idlflags%><%endif%> <%idl_file%>" +<%idl_compiler%> <%if(flag_overrides(idl_file, idlflags))%><%flag_overrides(idl_file, idlflags)%><%else%><%idlflags("-Sc")%><%endif%> <%idl_file%>" Outputs="<%noextension(idl_file)%>C.h;<%noextension(idl_file)%>C.i;<%noextension(idl_file)%>C.cpp;<%noextension(idl_file)%>S.h;<%noextension(idl_file)%>S.i;<%noextension(idl_file)%>S.cpp"/> <%endif%> <%endif%> |