diff options
author | elliott_c <ocielliottc@users.noreply.github.com> | 2005-08-11 11:47:23 +0000 |
---|---|---|
committer | elliott_c <ocielliottc@users.noreply.github.com> | 2005-08-11 11:47:23 +0000 |
commit | 55ff369099707a66e8589168bd5f3384b05e12b2 (patch) | |
tree | f78cb461d740af3adfdc2ccc272099139d946c4f | |
parent | b03265addb0a808db842e35a799f597733c54b98 (diff) | |
download | ATCD-55ff369099707a66e8589168bd5f3384b05e12b2.tar.gz |
ChangeLogTag: Thu Aug 11 06:44:44 2005 Chad Elliott <elliott_c@ociweb.com>
-rw-r--r-- | ChangeLog | 153 | ||||
-rw-r--r-- | bin/DependencyGenerator/DependencyWriterFactory.pm | 2 | ||||
-rw-r--r-- | bin/DependencyGenerator/MakeDependencyWriter.pm | 32 | ||||
-rw-r--r-- | bin/DependencyGenerator/MakeObjectGenerator.pm | 47 | ||||
-rw-r--r-- | bin/DependencyGenerator/ObjectGeneratorFactory.pm | 2 | ||||
-rw-r--r-- | bin/MakeProjectCreator/config/smart_proxies.mpb | 2 | ||||
-rw-r--r-- | bin/MakeProjectCreator/modules/AutomakeWorkspaceHelper.pm | 58 | ||||
-rw-r--r-- | bin/MakeProjectCreator/templates/gnu.mpd | 9 | ||||
-rwxr-xr-x | bin/depgen.pl | 1 |
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'], |