summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorelliott_c <ocielliottc@users.noreply.github.com>2005-08-11 11:47:23 +0000
committerelliott_c <ocielliottc@users.noreply.github.com>2005-08-11 11:47:23 +0000
commit55ff369099707a66e8589168bd5f3384b05e12b2 (patch)
treef78cb461d740af3adfdc2ccc272099139d946c4f
parentb03265addb0a808db842e35a799f597733c54b98 (diff)
downloadATCD-55ff369099707a66e8589168bd5f3384b05e12b2.tar.gz
ChangeLogTag: Thu Aug 11 06:44:44 2005 Chad Elliott <elliott_c@ociweb.com>
-rw-r--r--ChangeLog153
-rw-r--r--bin/DependencyGenerator/DependencyWriterFactory.pm2
-rw-r--r--bin/DependencyGenerator/MakeDependencyWriter.pm32
-rw-r--r--bin/DependencyGenerator/MakeObjectGenerator.pm47
-rw-r--r--bin/DependencyGenerator/ObjectGeneratorFactory.pm2
-rw-r--r--bin/MakeProjectCreator/config/smart_proxies.mpb2
-rw-r--r--bin/MakeProjectCreator/modules/AutomakeWorkspaceHelper.pm58
-rw-r--r--bin/MakeProjectCreator/templates/gnu.mpd9
-rwxr-xr-xbin/depgen.pl1
9 files changed, 229 insertions, 77 deletions
diff --git a/ChangeLog b/ChangeLog
index 0648b452b21..72827734659 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,30 @@
+Thu Aug 11 06:44:44 2005 Chad Elliott <elliott_c@ociweb.com>
+
+ * bin/depgen.pl:
+ * bin/DependencyGenerator/DependencyWriterFactory.pm:
+ * bin/DependencyGenerator/MakeDependencyWriter.pm:
+ * bin/DependencyGenerator/MakeObjectGenerator.pm:
+ * bin/DependencyGenerator/ObjectGeneratorFactory.pm:
+
+ Added a generic make dependency generator.
+
+ * bin/MakeProjectCreator/config/smart_proxies.mpb:
+
+ Switched orbsvcslib with taolib_with_idl since Smart Proxies have
+ nothing to do with orbsvcs.
+
+ * bin/MakeProjectCreator/modules/AutomakeWorkspaceHelper.pm:
+
+ Added support for CIAO and a hook for correctly modifying the
+ library path to account for differences with the automake layout
+ of ACE and TAO.
+
+ * bin/MakeProjectCreator/templates/gnu.mpd:
+
+ If static_libs_only is set to 1, build up a list of libraries upon
+ which the BIN target will be dependent. This will cause binaries
+ to re-link in the event that a static library is updated.
+
Thu Aug 11 09:44:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
* ace/OS_NS_stdio.inl:
@@ -16,26 +43,26 @@ Thu Aug 11 07:44:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
Wed Aug 10 15:43:37 2005 Gary Maxey <gary.maxey@hp.com>
- * tests/run_test.lst:
- Excluded tests inappropriate for HP-NSK platform
+ * tests/run_test.lst:
+ Excluded tests inappropriate for HP-NSK platform
Wed Aug 10 11:27:01 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
- * ace/OS_NS_stdio.inl (vsnprintf):
+ * ace/OS_NS_stdio.inl (vsnprintf):
- Fixed "no return statement in function returning non-void"
- warning.
+ Fixed "no return statement in function returning non-void"
+ warning.
- Removed uses of deprecated ACE_OSCALL macro.
+ Removed uses of deprecated ACE_OSCALL macro.
Wed Aug 10 10:03:40 2005 Gary Maxey <gary.maxey@hp.com>
- * ace/OS_NS_stdio.inl:
- * ace/Process.cpp
+ * ace/OS_NS_stdio.inl:
+ * ace/Process.cpp
- Regarding change:
+ Regarding change:
Fri Jul 22 13:29:32 2005 Douglas C. Schmidt <schmidt@cs.wustl.edu>
- use vsnprintf only if the platform supports it.
+ use vsnprintf only if the platform supports it.
Wed Aug 10 07:37:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
@@ -79,8 +106,8 @@ Tue Aug 9 11:11:50 2005 Phil Mesnier <mesnier_p@ociweb.com>
Tue Aug 9 10:48:39 2005 Douglas C. Schmidt <schmidt@cs.wustl.edu>
- * ace/OS_NS_stdio.cpp (snprintf): Added a wchar_t version of
- snprintf(). Thanks to Simon Massey for reporting this.
+ * ace/OS_NS_stdio.cpp (snprintf): Added a wchar_t version of
+ snprintf(). Thanks to Simon Massey for reporting this.
Tue Aug 9 13:22:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
@@ -113,54 +140,54 @@ Tue Aug 9 10:59:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
Mon Aug 8 12:54:51 2005 Steve Huston <shuston@riverace.com>
- * ace/Log_Msg.cpp (open): Reverted these changes:
- Fri Apr 22 18:02:37 2005 Douglas C. Schmidt <schmidt@cs.wustl.edu>
+ * ace/Log_Msg.cpp (open): Reverted these changes:
+ Fri Apr 22 18:02:37 2005 Douglas C. Schmidt <schmidt@cs.wustl.edu>
* ace/Log_Msg.cpp (open): Fixed a problem with LOGGER and logger_key
and the backend_->open() call. Thanks to Jerry D. De Master
<jdemaste at rite-solutions dot com> for reporting this.
- Tue Jan 18 08:17:10 2005 Douglas C. Schmidt <schmidt@cs.wustl.edu>
+ Tue Jan 18 08:17:10 2005 Douglas C. Schmidt <schmidt@cs.wustl.edu>
* ace/Log_Msg.cpp (open): Fixed the logic to pass prog_name
rather than logger_key, which fixes a bug with syslog. Thanks
to Robert Iakobashvili <roberti@GoNetworks.com> for this fix.
- They broke a fix from:
- Sat Dec 1 19:39:22 2001 Steve Huston <shuston@riverace.com>
+ They broke a fix from:
+ Sat Dec 1 19:39:22 2001 Steve Huston <shuston@riverace.com>
- * ace/Log_Msg.h: Improved the documentation for open() to note the
- role of the logger_key argument when LOGGER and SYSLOG are set in
- flags.
- To get the progr_name used as the syslog/event log source ID, pass
- a 0 logger_key.
+ * ace/Log_Msg.h: Improved the documentation for open() to note the
+ role of the logger_key argument when LOGGER and SYSLOG are set in
+ flags.
+ To get the progr_name used as the syslog/event log source ID, pass
+ a 0 logger_key.
- * ace/SOCK_Dgram_Mcast.h: Clarified that instead of using set_option,
- use ACE_SOCK::set_option().
+ * ace/SOCK_Dgram_Mcast.h: Clarified that instead of using set_option,
+ use ACE_SOCK::set_option().
- * ace/DEV_Addr.{h inl cpp}: Fix non-0-terminated name possibility
- when setting a new name. Thanks to James Damour
- <james dot damour at request dot com> for this fix.
- Also introduced a private enum to define the length of the name
- buffer and use the new value to limit string copy sizes.
+ * ace/DEV_Addr.{h inl cpp}: Fix non-0-terminated name possibility
+ when setting a new name. Thanks to James Damour
+ <james dot damour at request dot com> for this fix.
+ Also introduced a private enum to define the length of the name
+ buffer and use the new value to limit string copy sizes.
- * THANKS: Added James Damour to the Hall of Fame.
+ * THANKS: Added James Damour to the Hall of Fame.
Mon Aug 8 10:44:16 2005 William Otte <wotte@dre.vanderbilt.edu>
- * ace/OS_NS_stdio.inl
- * ace/Process.cpp
+ * ace/OS_NS_stdio.inl
+ * ace/Process.cpp
- Fixed a compilation problem from:
+ Fixed a compilation problem from:
- Fri Jul 22 13:29:32 2005 Douglas C. Schmidt <schmidt@cs.wustl.edu>
+ Fri Jul 22 13:29:32 2005 Douglas C. Schmidt <schmidt@cs.wustl.edu>
Mon Aug 8 09:57:15 2005 William Otte <wotte@dre.vanderbilt.edu>
- * ace/config-macosx-tiger.h
- * include/makeinclude/platform_macosx_tiger_gcc4.GNU
+ * ace/config-macosx-tiger.h
+ * include/makeinclude/platform_macosx_tiger_gcc4.GNU
- Adding preliminary support for OS X 10.4
+ Adding preliminary support for OS X 10.4
Mon Aug 8 13:58:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
@@ -170,36 +197,36 @@ Mon Aug 8 13:58:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
Sat Aug 6 17:25:04 2005 Douglas C. Schmidt <schmidt@cs.wustl.edu>
- * ace/Svc_Conf.l: Removed the ' and " characters to avoid
- problems with Lex. Thanks to Rohini Madhavan <ro_madhavan at
- sify dot com> and Brian Buesker <bbuesker at qualcomm dot com>
- for helping with this.
+ * ace/Svc_Conf.l: Removed the ' and " characters to avoid
+ problems with Lex. Thanks to Rohini Madhavan <ro_madhavan at
+ sify dot com> and Brian Buesker <bbuesker at qualcomm dot com>
+ for helping with this.
Wed Aug 3 12:35:23 2005 Douglas C. Schmidt <schmidt@cs.wustl.edu>
- * ace/Asynch_Acceptor.{h,cpp}:
- * ace/Asynch_Connector.{h,cpp}: Fixed the code so it doesn't try
- to build on Windows CE. Thanks to Alan Anderson
- <Alan.Anderson@sdsmt.edu> for reporting this.
+ * ace/Asynch_Acceptor.{h,cpp}:
+ * ace/Asynch_Connector.{h,cpp}: Fixed the code so it doesn't try
+ to build on Windows CE. Thanks to Alan Anderson
+ <Alan.Anderson@sdsmt.edu> for reporting this.
- * ace/DEV_Addr.cpp (set): NULL-terminate the devname_ string.
- Thanks to James Damour <james.damour@request.com> for reporting
- this problem.
+ * ace/DEV_Addr.cpp (set): NULL-terminate the devname_ string.
+ Thanks to James Damour <james.damour@request.com> for reporting
+ this problem.
Tue Aug 2 14:01:39 2005 Douglas C. Schmidt <schmidt@cs.wustl.edu>
- * THANKS: Added Abdel Rigumye <rigumyea at ociweb dot com>,
- who is the 2000th contributor to ACE+TAO+CIAO!!!!
+ * THANKS: Added Abdel Rigumye <rigumyea at ociweb dot com>,
+ who is the 2000th contributor to ACE+TAO+CIAO!!!!
Fri Jul 22 13:29:32 2005 Douglas C. Schmidt <schmidt@cs.wustl.edu>
- * ace/Process.cpp (command_line): Changed the use of
- ACE_OS::vsprintf() to use the new ACE_OS::vsnprintf(). Thanks
- to Xue for this suggestion, as well.
+ * ace/Process.cpp (command_line): Changed the use of
+ ACE_OS::vsprintf() to use the new ACE_OS::vsnprintf(). Thanks
+ to Xue for this suggestion, as well.
- * ace/OS_NS_stdio.{h,inl}: Added support for ACE_OS::vsnprintf().
- Thanks to Xue Yong Zhi <seclib at seclib dot com> for this
- suggestion.
+ * ace/OS_NS_stdio.{h,inl}: Added support for ACE_OS::vsnprintf().
+ Thanks to Xue Yong Zhi <seclib at seclib dot com> for this
+ suggestion.
Mon Aug 8 08:58:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
@@ -389,13 +416,13 @@ Sat Jul 23 16:36:36 2005 Jaiganesh B <jai@dre.vanderbilt.edu>
Fri Jul 22 16:31:29 2005 Steve Huston <shuston@riverace.com>
- * ace/Basic_Types.h: The change from:
- Fri Jul 8 15:42:18 2005 Steve Huston <shuston@riverace.com>
- turned a previous warning into an error on newer g++ versions.
- Instead, moved the __hi_lo struct definition out of the
- anonymous union and renamed it to not be a compiler-private name
- (with 2 leading underscores). This should resolve all the
- issues. Thanks to Simon Massey for figuring this out.
+ * ace/Basic_Types.h: The change from:
+ Fri Jul 8 15:42:18 2005 Steve Huston <shuston@riverace.com>
+ turned a previous warning into an error on newer g++ versions.
+ Instead, moved the __hi_lo struct definition out of the
+ anonymous union and renamed it to not be a compiler-private name
+ (with 2 leading underscores). This should resolve all the
+ issues. Thanks to Simon Massey for figuring this out.
Fri Jul 22 11:13:12 UTC 2005 Johnny Willemsen <jwillemsen@remedy.nl>
diff --git a/bin/DependencyGenerator/DependencyWriterFactory.pm b/bin/DependencyGenerator/DependencyWriterFactory.pm
index d791dc3fc42..74fdbe2d871 100644
--- a/bin/DependencyGenerator/DependencyWriterFactory.pm
+++ b/bin/DependencyGenerator/DependencyWriterFactory.pm
@@ -14,6 +14,7 @@ use strict;
use GNUDependencyWriter;
use NMakeDependencyWriter;
+use MakeDependencyWriter;
# ************************************************************
# Subroutine Section
@@ -23,6 +24,7 @@ sub create {
switch: {
$_[0] eq 'gnu' && do { return new GNUDependencyWriter(); };
$_[0] eq 'nmake' && do { return new NMakeDependencyWriter(); };
+ $_[0] eq 'make' && do { return new MakeDependencyWriter(); };
print STDERR "WARNING: Invalid dependency writer type: $_[0]\n";
}
diff --git a/bin/DependencyGenerator/MakeDependencyWriter.pm b/bin/DependencyGenerator/MakeDependencyWriter.pm
new file mode 100644
index 00000000000..ee9d0db4a89
--- /dev/null
+++ b/bin/DependencyGenerator/MakeDependencyWriter.pm
@@ -0,0 +1,32 @@
+package MakeDependencyWriter;
+
+# ************************************************************
+# Description : Generates generic Makefile dependencies.
+# Author : Chad Elliott
+# Create Date : 2/10/2002
+# ************************************************************
+
+# ************************************************************
+# Pragmas
+# ************************************************************
+
+use strict;
+use DependencyWriter;
+
+use vars qw(@ISA);
+@ISA = qw(DependencyWriter);
+
+# ************************************************************
+# Subroutine Section
+# ************************************************************
+
+sub process {
+ my($objects) = $_[1];
+ my($files) = $_[2];
+
+ ## Sort the dependencies to make them reproducible
+ return "@$objects: \\\n " . join(" \\\n ", sort @$files) . "\n";
+}
+
+
+1;
diff --git a/bin/DependencyGenerator/MakeObjectGenerator.pm b/bin/DependencyGenerator/MakeObjectGenerator.pm
new file mode 100644
index 00000000000..5bc4c3d8edd
--- /dev/null
+++ b/bin/DependencyGenerator/MakeObjectGenerator.pm
@@ -0,0 +1,47 @@
+package MakeObjectGenerator;
+
+# ************************************************************
+# Description : Generates object files for generic Makefiles.
+# Author : Chad Elliott
+# Create Date : 5/23/2003
+# ************************************************************
+
+# ************************************************************
+# Pragmas
+# ************************************************************
+
+use strict;
+use ObjectGenerator;
+
+use vars qw(@ISA);
+@ISA = qw(ObjectGenerator);
+
+# ************************************************************
+# Subroutine Section
+# ************************************************************
+
+sub process {
+ my($noext) = $_[1];
+ my($objects) = [];
+ my(@exts) = ('o');
+ my(@dirs) = (defined $ENV{VDIR} ? $ENV{VDIR} : '');
+ $noext =~ s/\.[^\.]+$//o;
+
+ if (defined $ENV{SOEXT}) {
+ push(@exts, $ENV{SOEXT});
+ }
+ if (defined $ENV{VSHDIR}) {
+ push(@dirs, $ENV{VSHDIR});
+ }
+
+ foreach my $dirs (@dirs) {
+ foreach my $ext (@exts) {
+ push(@$objects, "$dirs$noext.$ext");
+ }
+ }
+
+ return $objects;
+}
+
+
+1;
diff --git a/bin/DependencyGenerator/ObjectGeneratorFactory.pm b/bin/DependencyGenerator/ObjectGeneratorFactory.pm
index 2b4072010e7..e161db948ab 100644
--- a/bin/DependencyGenerator/ObjectGeneratorFactory.pm
+++ b/bin/DependencyGenerator/ObjectGeneratorFactory.pm
@@ -14,6 +14,7 @@ use strict;
use GNUObjectGenerator;
use NMakeObjectGenerator;
+use MakeObjectGenerator;
# ************************************************************
# Subroutine Section
@@ -23,6 +24,7 @@ sub create {
switch: {
$_[0] eq 'gnu' && do { return new GNUObjectGenerator(); };
$_[0] eq 'nmake' && do { return new NMakeObjectGenerator(); };
+ $_[0] eq 'make' && do { return new MakeObjectGenerator(); };
print STDERR "WARNING: Invalid object generator type: $_[0]\n";
}
diff --git a/bin/MakeProjectCreator/config/smart_proxies.mpb b/bin/MakeProjectCreator/config/smart_proxies.mpb
index 0e69cdfeed8..b1fc95d4b6c 100644
--- a/bin/MakeProjectCreator/config/smart_proxies.mpb
+++ b/bin/MakeProjectCreator/config/smart_proxies.mpb
@@ -1,7 +1,7 @@
// -*- MPC -*-
// $Id$
-project : orbsvcslib {
+project: taolib_with_idl {
after += SmartProxies
libs += TAO_SmartProxies
idlflags += -Gsp
diff --git a/bin/MakeProjectCreator/modules/AutomakeWorkspaceHelper.pm b/bin/MakeProjectCreator/modules/AutomakeWorkspaceHelper.pm
index e75247ab41e..ae97cfeec0f 100644
--- a/bin/MakeProjectCreator/modules/AutomakeWorkspaceHelper.pm
+++ b/bin/MakeProjectCreator/modules/AutomakeWorkspaceHelper.pm
@@ -22,17 +22,27 @@ use vars qw(@ISA);
# Data Section
# ************************************************************
-my(%vals) = ('ACE_ROOT' => '$(top_srcdir)',
- 'TAO_ROOT' => '$(top_srcdir)',
- 'ACE_BUILDDIR' => '$(top_builddir)',
- 'TAO_BUILDDIR' => '$(top_builddir)',
- 'TAO_IDL' => 'ACE_ROOT=$(ACE_ROOT) TAO_ROOT=$(TAO_ROOT) $(TAO_BUILDDIR)/TAO_IDL/tao_idl' . "\n" .
- 'TAO_IDLFLAGS = -Ge 1 -Wb,pre_include=ace/pre.h -Wb,post_include=ace/post.h -I$(TAO_ROOT) -I$(srcdir) -g $(ACE_BUILDDIR)/apps/gperf/src/gperf',
+my(%vals) = ('ACE_ROOT' => '$(top_srcdir)',
+ 'TAO_ROOT' => '$(top_srcdir)',
+ 'CIAO_ROOT' => '$(top_srcdir)',
+ 'ACE_BUILDDIR' => '$(top_builddir)',
+ 'TAO_BUILDDIR' => '$(top_builddir)',
+ 'CIAO_BUILDDIR' => '$(top_builddir)',
+ 'TAO_IDL' => 'ACE_ROOT=$(ACE_ROOT) TAO_ROOT=$(TAO_ROOT) $(TAO_BUILDDIR)/TAO_IDL/tao_idl' . "\n" .
+ 'TAO_IDLFLAGS = -Ge 1 -Wb,pre_include=ace/pre.h -Wb,post_include=ace/post.h -I$(TAO_ROOT) -I$(srcdir) -g $(ACE_BUILDDIR)/apps/gperf/src/gperf',
);
-my(%addon) = ('ACE_ROOT' => {'TAO_ROOT' => '/..',
- 'TAO_BUILDDIR' => '/..'},
- 'ACE_BUILDDIR' => {'TAO_ROOT' => '/..',
- 'TAO_BUILDDIR' => '/..'},
+my(%addon) = ('ACE_ROOT' => {'CIAO_ROOT' => '/../..',
+ 'TAO_ROOT' => '/..',
+ 'CIAO_BUILDDIR' => '/../..',
+ 'TAO_BUILDDIR' => '/..'},
+ 'ACE_BUILDDIR' => {'CIAO_ROOT' => '/../..',
+ 'TAO_ROOT' => '/..',
+ 'CIAO_BUILDDIR' => '/../..',
+ 'TAO_BUILDDIR' => '/..'},
+ 'TAO_ROOT' => {'CIAO_ROOT' => '/..',
+ 'CIAO_BUILDDIR' => '/..'},
+ 'TAO_BUILDDIR' => {'CIAO_ROOT' => '/..',
+ 'CIAO_BUILDDIR' => '/..'},
);
# ************************************************************
@@ -57,6 +67,30 @@ sub modify_value {
return $value;
}
+sub modify_libpath {
+ my($self) = shift;
+ my($str) = shift;
+ my($reldir) = shift;
+ my($libname) = shift;
+
+ if ($libname =~ /libace/i) {
+ $str =~ s!$libname!\$(ACE_BUILDDIR)/$reldir/$libname!;
+ return $str;
+ }
+ elsif ($libname =~ /libtao/i) {
+ $reldir =~ s!TAO/!!;
+ $str =~ s!$libname!\$(TAO_BUILDDIR)/$reldir/$libname!;
+ return $str;
+ }
+ elsif ($libname =~ /libciao/i) {
+ $reldir =~ s!TAO/CIAO/!!;
+ $str =~ s!$libname!\$(CIAO_BUILDDIR)/$reldir/$libname!;
+ return $str;
+ }
+
+ return undef;
+}
+
sub write_settings {
my($self) = shift;
my($wsc) = shift;
@@ -89,7 +123,9 @@ sub write_settings {
foreach my $key (sort keys %seen) {
print $fh "$key = $seen{$key}";
if (defined $addon{$key}) {
- foreach my $add (keys %{$addon{$key}}) {
+ foreach my $add (
+ sort { length($addon{$key}->{$b}) <=>
+ length($addon{$key}->{$a}) } keys %{$addon{$key}}) {
if ($seen{$add}) {
print $fh $addon{$key}->{$add};
last;
diff --git a/bin/MakeProjectCreator/templates/gnu.mpd b/bin/MakeProjectCreator/templates/gnu.mpd
index be0a3d1f56f..87714d46ba5 100644
--- a/bin/MakeProjectCreator/templates/gnu.mpd
+++ b/bin/MakeProjectCreator/templates/gnu.mpd
@@ -591,11 +591,16 @@ endif
<%if(exename)%>
ifneq ($(VXWORKSLINK),true)
+<%if(libs && libpaths)%>
+ifeq ($(static_libs_only), 1)
+ DEPLIBS = $(foreach lib, <%libs%> <%lit_libs%>, $(foreach libpath, <%libpaths%>, $(wildcard $(libpath)/lib$(lib).a)))
+endif
+
+<%endif%>
+$(BIN): $(addprefix $(VDIR), $(OBJS)) $(DEPLIBS)
ifndef kylix
-$(BIN): $(addprefix $(VDIR), $(OBJS))
$(LINK.cc) $(LDFLAGS) $(CC_OUTPUT_FLAG) $@ $^ $(VLDLIBS) $(POSTLINK)
else
-$(BIN): $(addprefix $(VDIR), $(OBJS))
$(LINK.cc) $(LDFLAGS) $(CC_OUTPUT_FLAG) $(VLDLIBS) $(BORINITEXEOBJ) $(POSTLINK) $^, $@,,
endif
endif
diff --git a/bin/depgen.pl b/bin/depgen.pl
index f8159dbdedd..fc16d03fe7e 100755
--- a/bin/depgen.pl
+++ b/bin/depgen.pl
@@ -36,6 +36,7 @@ my($version) = '0.9';
my($os) = ($^O eq 'MSWin32' ? 'Windows' : 'UNIX');
my(%types) = ('gnu' => 1,
'nmake' => 1,
+ 'make' => 1,
);
my(%defaults) = ('UNIX' => ['gnu'],
'Windows' => ['nmake'],