summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorelliott_c <ocielliottc@users.noreply.github.com>2003-07-28 17:51:27 +0000
committerelliott_c <ocielliottc@users.noreply.github.com>2003-07-28 17:51:27 +0000
commit0afb2105b9462242288c15c1bca774894eba031c (patch)
tree47b4810af560f33a393ec4d01ec19f905ecd36c8
parentf18e94f1eafeb7f145ff441a02aac821961a58ce (diff)
downloadATCD-0afb2105b9462242288c15c1bca774894eba031c.tar.gz
ChangeLogTag: Mon Jul 28 12:49:23 2003 Chad Elliott <elliott_c@ociweb.com>
-rw-r--r--ChangeLog161
-rw-r--r--bin/MakeProjectCreator/USAGE8
-rw-r--r--bin/MakeProjectCreator/modules/AutomakeProjectCreator.pm104
-rw-r--r--bin/MakeProjectCreator/modules/AutomakeWorkspaceCreator.pm76
-rw-r--r--bin/MakeProjectCreator/modules/TemplateParser.pm30
-rw-r--r--bin/MakeProjectCreator/templates/automake.mpd120
-rwxr-xr-xbin/mpc.pl1
-rwxr-xr-xbin/mwc.pl1
8 files changed, 426 insertions, 75 deletions
diff --git a/ChangeLog b/ChangeLog
index f6158d41369..b1e207d003d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,7 +1,26 @@
+Mon Jul 28 12:49:23 2003 Chad Elliott <elliott_c@ociweb.com>
+
+ * bin/MakeProjectCreator/modules/TemplateParser.pm:
+
+ Added the ability to uppercase and lowercase strings within the
+ templates.
+
+ * bin/MakeProjectCreator/USAGE:
+ * bin/MakeProjectCreator/modules/AutomakeProjectCreator.pm:
+ * bin/MakeProjectCreator/modules/AutomakeWorkspaceCreator.pm:
+ * bin/MakeProjectCreator/templates/automake.mpd:
+ * bin/mpc.pl:
+ * bin/mwc.pl:
+
+ Added initial support for Automake. This is by no means complete
+ or even correct, but it's a starting point. Perhaps someone who
+ knows something about Automake could make the automake template
+ better (correct).
+
Mon Jul 28 09:36:15 2003 Gan Deng <gan.deng@vanderbilt.edu>
- * bin/tao_orb_tests.lst
- Put the Bug_1551_Regression test into the daily builds.
+ * bin/tao_orb_tests.lst
+ Put the Bug_1551_Regression test into the daily builds.
Sun Jul 27 20:19:48 UTC 2003 Don Hinton <dhinton@dresystems.com>
@@ -198,38 +217,38 @@ Sun Jul 27 20:19:48 UTC 2003 Don Hinton <dhinton@dresystems.com>
Sun Jul 27 12:51:14 2003 Venkita Subramonian <venkita@cs.wustl.edu>
- * Kokyu/DSRT_Dispatcher_Impl.{cpp,h,i}:
- Deleted these files.
-
- * Kokyu/Kokyu.dsp:
- * Kokyu/Kokyu_Static.dsp:
- Updated due to the above deletion.
+ * Kokyu/DSRT_Dispatcher_Impl.{cpp,h,i}:
+ Deleted these files.
+
+ * Kokyu/Kokyu.dsp:
+ * Kokyu/Kokyu_Static.dsp:
+ Updated due to the above deletion.
Sun Jul 27 12:13:31 2003 Venkita Subramonian <venkita@cs.wustl.edu>
- * Kokyu/DSRT_Schedulers.{cpp,h):
- Removed this file.
-
- * Kokyu/Kokyu_DLL.dsp:
- Replaced with Kokyu.dsp.
-
- * Kokyu/Kokyu.mwc:
- Deleted this until I am able to get the mwc based generation
- working.
-
- * Kokyu/Kokyu.mpc:
- Changed "dllflags" keyword to "dynamicflags". This was causing
- build errors in Win2K_VC71_NET_DLL Remedy build. Thanks to
- Johnny Willemsen for pointing this out.
-
- * Kokyu/Makefile.Kokyu:
- Updated dependencies.
-
- * Kokyu/Kokyu.dsp:
- * Kokyu/Kokyu_Static.dsp:
- * Kokyu/Kokyu.dsw:
- Updated project and workspace files with newly added DSRT files.
-
+ * Kokyu/DSRT_Schedulers.{cpp,h):
+ Removed this file.
+
+ * Kokyu/Kokyu_DLL.dsp:
+ Replaced with Kokyu.dsp.
+
+ * Kokyu/Kokyu.mwc:
+ Deleted this until I am able to get the mwc based generation
+ working.
+
+ * Kokyu/Kokyu.mpc:
+ Changed "dllflags" keyword to "dynamicflags". This was causing
+ build errors in Win2K_VC71_NET_DLL Remedy build. Thanks to
+ Johnny Willemsen for pointing this out.
+
+ * Kokyu/Makefile.Kokyu:
+ Updated dependencies.
+
+ * Kokyu/Kokyu.dsp:
+ * Kokyu/Kokyu_Static.dsp:
+ * Kokyu/Kokyu.dsw:
+ Updated project and workspace files with newly added DSRT files.
+
Sat Jul 26 22:08:48 UTC 2003 Don Hinton <dhinton@dresystems.com>
* ace/OS.h (getmacaddress):
@@ -243,62 +262,62 @@ Sat Jul 26 13:25:12 UTC 2003 Johnny Willemsen <jwillemsen@remedy.nl>
needed because of the ACE_OS::getmacaddress() addition
Fri Jul 25 22:01:14 2003 Venkita Subramonian <venkita@cse.wustl.edu>
- * Kokyu/Kokyu.dsp:
- * Kokyu/Kokyu_DLL.dsp:
- * Kokyu/Kokyu_Static.dsp:
+ * Kokyu/Kokyu.dsp:
+ * Kokyu/Kokyu_DLL.dsp:
+ * Kokyu/Kokyu_Static.dsp:
- No .cpp extension was generated in MPC created .dsp
- file. Corrected this manually.
+ No .cpp extension was generated in MPC created .dsp
+ file. Corrected this manually.
Fri Jul 25 17:41:08 2003 Venkita Subramonian <venkita@cse.wustl.edu>
- * Kokyu/Kokyu_DLL.dsp:
- * Kokyu/DSRT_Schedulers.cpp:
- * Kokyu/DSRT_Scheduler.h:
+ * Kokyu/Kokyu_DLL.dsp:
+ * Kokyu/DSRT_Schedulers.cpp:
+ * Kokyu/DSRT_Scheduler.h:
- Removed these files from CVS. Kokyu_DLL.dsp is renamed to
- Kokyu.dsp after conversion to MPC.
+ Removed these files from CVS. Kokyu_DLL.dsp is renamed to
+ Kokyu.dsp after conversion to MPC.
- * Kokyu/DSRT_Direct_Dispatcher_Impl_T.{cpp,h}:
- * Kokyu/DSRT_Dispatch_Item_T.{cpp,h,i}:
- * Kokyu/DSRT_Dispatcher_Impl_T.{cpp,h,i}:
- * Kokyu/DSRT_Sched_Queue_T.{cpp,h}:
- * Kokyu/Kokyu_dsrt.{cpp,h,i}
+ * Kokyu/DSRT_Direct_Dispatcher_Impl_T.{cpp,h}:
+ * Kokyu/DSRT_Dispatch_Item_T.{cpp,h,i}:
+ * Kokyu/DSRT_Dispatcher_Impl_T.{cpp,h,i}:
+ * Kokyu/DSRT_Sched_Queue_T.{cpp,h}:
+ * Kokyu/Kokyu_dsrt.{cpp,h,i}
- Added new files to implement dynamic scheduling schedulers.
+ Added new files to implement dynamic scheduling schedulers.
- * Kokyu/Kokyu.dsp:
- * Kokyu/Kokyu.mwc:
- * Kokyu/Kokyu.mpc:
- * Kokyu/Makefile.Kokyu:
- * Kokyu/Makefile.Kokyu.bor:
- * Kokyu/Makefile.bor:
- * Kokyu/Kokyu.dsw:
- * Kokyu/Kokyu_Static.dsp:
- * Kokyu/Makefile:
+ * Kokyu/Kokyu.dsp:
+ * Kokyu/Kokyu.mwc:
+ * Kokyu/Kokyu.mpc:
+ * Kokyu/Makefile.Kokyu:
+ * Kokyu/Makefile.Kokyu.bor:
+ * Kokyu/Makefile.bor:
+ * Kokyu/Kokyu.dsw:
+ * Kokyu/Kokyu_Static.dsp:
+ * Kokyu/Makefile:
- Created MPC file for Kokyu and generated project files from MPC.
+ Created MPC file for Kokyu and generated project files from MPC.
- * Kokyu/Kokyu_defs.{cpp,h,i}
- * Kokyu/Default_Dispatcher_Impl.{cpp,h,i}
- * Kokyu/Dispatcher_Impl.{h,cpp,i}
- * Kokyu/Dispatcher_Task.{h,cpp,i}
- * Kokyu/Kokyu.{cpp,h,i}
- * Kokyu/kokyu_export.h
+ * Kokyu/Kokyu_defs.{cpp,h,i}
+ * Kokyu/Default_Dispatcher_Impl.{cpp,h,i}
+ * Kokyu/Dispatcher_Impl.{h,cpp,i}
+ * Kokyu/Dispatcher_Task.{h,cpp,i}
+ * Kokyu/Kokyu.{cpp,h,i}
+ * Kokyu/kokyu_export.h
- Reorganized files and updated comments and doxygen documentation.
+ Reorganized files and updated comments and doxygen documentation.
- * Kokyu/tests/DSRT_MIF/MIF.cpp
+ * Kokyu/tests/DSRT_MIF/MIF.cpp
- Modified example to reflect new Kokyu dispatcher class.
+ Modified example to reflect new Kokyu dispatcher class.
Thu Jul 24 14:23:44 2003 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
- * ace/Future.{h,cpp}: Removed the operator new/delete/& so
- that ACE_Future can be stored in STL containers (e.g.,
- sets/maps/etc.). Thanks to Felix Wyss <FelixW@inin.com>,
- Patrick Bennett <Patrick.Bennett@inin.com>, and Johnny Tucker
- for helping with this.
+ * ace/Future.{h,cpp}: Removed the operator new/delete/& so
+ that ACE_Future can be stored in STL containers (e.g.,
+ sets/maps/etc.). Thanks to Felix Wyss <FelixW@inin.com>,
+ Patrick Bennett <Patrick.Bennett@inin.com>, and Johnny Tucker
+ for helping with this.
Fri Jul 25 17:32:58 UTC 2003 Don Hinton <dhinton@dresystems.com>
diff --git a/bin/MakeProjectCreator/USAGE b/bin/MakeProjectCreator/USAGE
index 943a857423c..cce92786d0c 100644
--- a/bin/MakeProjectCreator/USAGE
+++ b/bin/MakeProjectCreator/USAGE
@@ -16,8 +16,8 @@ Usage: mwc.pl [-global <file>] [-include <directory>] [-recurse]
[-value_template <NAME+=VAL | NAME=VAL | NAME-=VAL>]
[-value_project <NAME+=VAL | NAME=VAL | NAME-=VAL>]
[-feature_file <file name>] [-make_coexistence]
- [-type <borland | em3 | ghs | gnuace | make | nmake |
- va4 | vc6 | vc7 | vc71>]
+ [-type <automake | borland | em3 | ghs | gnuace | make |
+ nmake | va4 | vc6 | vc7 | vc71>]
[files]
-base Add <project> as a base project to each generated
@@ -124,8 +124,8 @@ Usage: mpc.pl [-global <file>] [-include <directory>] [-recurse]
[-value_template <NAME+=VAL | NAME=VAL | NAME-=VAL>]
[-value_project <NAME+=VAL | NAME=VAL | NAME-=VAL>]
[-feature_file <file name>] [-make_coexistence]
- [-type <borland | em3 | ghs | gnuace | make | nmake |
- va4 | vc6 | vc7 | vc71>]
+ [-type <automake | borland | em3 | ghs | gnuace | make |
+ nmake | va4 | vc6 | vc7 | vc71>]
[files]
-base Add <project> as a base project to each generated
diff --git a/bin/MakeProjectCreator/modules/AutomakeProjectCreator.pm b/bin/MakeProjectCreator/modules/AutomakeProjectCreator.pm
new file mode 100644
index 00000000000..a0c95fa4bef
--- /dev/null
+++ b/bin/MakeProjectCreator/modules/AutomakeProjectCreator.pm
@@ -0,0 +1,104 @@
+package AutomakeProjectCreator;
+
+# ************************************************************
+# Description : A Automake Project Creator
+# Author : Chad Elliott
+# Create Date : 2/26/2003
+# ************************************************************
+
+# ************************************************************
+# Pragmas
+# ************************************************************
+
+use strict;
+use File::Basename;
+
+use ProjectCreator;
+
+use vars qw(@ISA);
+@ISA = qw(ProjectCreator);
+
+# ************************************************************
+# Subroutine Section
+# ************************************************************
+
+sub sort_files {
+ #my($self) = shift;
+ return 0;
+}
+
+
+sub convert_slashes {
+ #my($self) = shift;
+ return 0;
+}
+
+
+sub fill_value {
+ my($self) = shift;
+ my($name) = shift;
+ my($value) = undef;
+
+ if ($name eq 'vpath') {
+ my(%vpath) = ();
+ my($names) = $self->{'source_files'};
+ foreach my $name (keys %$names) {
+ my($comps) = $$names{$name};
+ foreach my $key (sort keys %$comps) {
+ foreach my $item (@{$$comps{$key}}) {
+ my($dname) = dirname($item);
+ if ($dname ne '.' && $dname !~ /^\.\.\//) {
+ $vpath{$dname} = 1;
+ }
+ }
+ }
+ }
+ my($str) = join(':', keys %vpath);
+ if ($str ne '') {
+ $value = 'VPATH = .:' . $str . $self->crlf();
+ }
+ }
+ elsif ($name eq 'tao') {
+ my($incs) = $self->get_assignment('includes');
+ my($libs) = $self->get_assignment('libpaths');
+ if ((defined $incs && $incs =~ /tao/i) ||
+ (defined $libs && $libs =~ /tao/i)) {
+ $value = 1;
+ }
+ }
+
+ return $value;
+}
+
+
+sub project_file_name {
+ my($self) = shift;
+ my($name) = shift;
+
+ if (!defined $name) {
+ $name = $self->project_name();
+ }
+
+ return 'Makefile' . ($name eq '' ? '' : ".$name") . '.am';
+}
+
+
+sub get_dll_exe_template_input_file {
+ #my($self) = shift;
+ return 'automakeexe';
+}
+
+
+sub get_dll_template_input_file {
+ #my($self) = shift;
+ return 'automakedll';
+}
+
+
+sub get_template {
+ #my($self) = shift;
+ return 'automake';
+}
+
+
+1;
diff --git a/bin/MakeProjectCreator/modules/AutomakeWorkspaceCreator.pm b/bin/MakeProjectCreator/modules/AutomakeWorkspaceCreator.pm
new file mode 100644
index 00000000000..f55713951c1
--- /dev/null
+++ b/bin/MakeProjectCreator/modules/AutomakeWorkspaceCreator.pm
@@ -0,0 +1,76 @@
+package AutomakeWorkspaceCreator;
+
+# ************************************************************
+# Description : A Automake Workspace (Makefile) creator
+# Author : Chad Elliott
+# Create Date : 5/13/2002
+# ************************************************************
+
+# ************************************************************
+# Pragmas
+# ************************************************************
+
+use strict;
+use File::Basename;
+
+use AutomakeProjectCreator;
+use WorkspaceCreator;
+
+use vars qw(@ISA);
+@ISA = qw(WorkspaceCreator);
+
+# ************************************************************
+# Subroutine Section
+# ************************************************************
+
+sub workspace_file_name {
+ my($self) = shift;
+ return $self->get_modified_workspace_name('Makefile', '.am');
+}
+
+
+sub pre_workspace {
+ my($self) = shift;
+ my($fh) = shift;
+ my($crlf) = $self->crlf();
+
+ print $fh "##$crlf" .
+ "## Process this file with automake$crlf" .
+ "##$crlf" .
+ "$crlf" .
+ "## The number in AUTOMAKE_OPTIONS is the minimum required version automake$crlf" .
+ "## needed to process this file.$crlf" .
+ "AUTOMAKE_OPTIONS = 1.4$crlf$crlf";
+}
+
+
+sub write_comps {
+ my($self) = shift;
+ my($fh) = shift;
+ my($projects) = $self->get_projects();
+ my($pjs) = $self->get_project_info();
+ my(@list) = $self->sort_dependencies($projects, $pjs);
+ my($crlf) = $self->crlf();
+ my(%unique) = ();
+ my(@dirs) = ();
+
+ ## Get a unique list of directories while
+ ## preserving the order of the original @list
+ foreach my $dep (@list) {
+ my($dir) = dirname($dep);
+ if (!defined $unique{$dir}) {
+ $unique{$dir} = 1;
+ unshift(@dirs, $dir);
+ }
+ }
+
+ ## Print out the subdirectories
+ print $fh 'SUBDIRS =';
+ foreach my $dir (@dirs) {
+ print $fh " \\$crlf $dir";
+ }
+ print $fh $crlf;
+}
+
+
+1;
diff --git a/bin/MakeProjectCreator/modules/TemplateParser.pm b/bin/MakeProjectCreator/modules/TemplateParser.pm
index 9414115744b..9922045f2d5 100644
--- a/bin/MakeProjectCreator/modules/TemplateParser.pm
+++ b/bin/MakeProjectCreator/modules/TemplateParser.pm
@@ -37,6 +37,8 @@ my(%keywords) = ('if' => 1,
'comment' => 1,
'flag_overrides' => 1,
'marker' => 1,
+ 'uc' => 1,
+ 'lc' => 1,
);
# ************************************************************
@@ -614,6 +616,28 @@ sub handle_special {
}
+sub handle_uc {
+ my($self) = shift;
+ my($name) = shift;
+
+ if (!$self->{'if_skip'}) {
+ my($val) = uc($self->get_value_with_default($name));
+ $self->append_current($val);
+ }
+}
+
+
+sub handle_lc {
+ my($self) = shift;
+ my($name) = shift;
+
+ if (!$self->{'if_skip'}) {
+ my($val) = lc($self->get_value_with_default($name));
+ $self->append_current($val);
+ }
+}
+
+
sub handle_noextension {
my($self) = shift;
my($name) = shift;
@@ -771,6 +795,12 @@ sub process_name {
elsif ($name eq 'marker') {
$self->handle_marker($val);
}
+ elsif ($name eq 'uc') {
+ $self->handle_uc($val);
+ }
+ elsif ($name eq 'lc') {
+ $self->handle_lc($val);
+ }
elsif ($name eq 'noextension') {
$self->handle_noextension($val);
}
diff --git a/bin/MakeProjectCreator/templates/automake.mpd b/bin/MakeProjectCreator/templates/automake.mpd
new file mode 100644
index 00000000000..c020bed7d82
--- /dev/null
+++ b/bin/MakeProjectCreator/templates/automake.mpd
@@ -0,0 +1,120 @@
+##
+## Automake Template
+##
+
+## The number in AUTOMAKE_OPTIONS is the minimum required version automake
+## needed to process this file.
+AUTOMAKE_OPTIONS = 1.4
+
+<%if(idl_files)%>
+<%if(idlflags)%>
+TAO_IDLFLAGS = <%idlflags%>
+<%endif%>
+<%endif%>
+<%if(includes)%>
+INCLUDES =<%foreach(includes)%> -I<%include%><%endfor%>
+<%endif%>
+
+<%if(exename)%>
+bin_PROGRAMS = <%exename%>
+
+<%exename%>_SOURCES = \
+<%foreach(source_files)%>
+ <%source_file%><%fornotlast(" \\")%>
+<%endfor%>
+<%if(header_files)%>
+
+noinst_HEADERS = \
+<%foreach(header_files)%>
+ <%header_file%><%fornotlast(" \\")%>
+<%endfor%>
+<%endif%>
+<%else%>
+<%if(grouped_source_files)%>
+<%foreach(grouped_source_files)%>
+lib<%sharedname%>_<%uc(grouped_source_file)%>_la_SOURCES = \
+<%foreach(grouped_source_file->files)%>
+ <%grouped_source_file->file%><%fornotlast(" \\")%>
+<%endfor%>
+
+<%endfor%>
+<%foreach(grouped_source_files)%>
+if BUILD_<%uc(grouped_source_file)%>_FILES
+LIB<%sharedname%>_<%uc(grouped_source_file)%> = lib<%sharedname%>_<%grouped_source_file%>.la
+else
+LIB<%sharedname%>_<%uc(grouped_source_file)%> =
+endif
+
+<%endfor%>
+
+lib_LTLIBRARIES = \
+ $(LIB<%sharedname%>) \
+<%foreach(grouped_source_files)%>
+ $(LIB<%sharedname%>_<%uc(grouped_source_file)%>)<%fornotlast(" \\")%>
+<%endfor%>
+
+lib<%sharedname%>_la_SOURCES = \
+<%foreach(grouped_source_files)%>
+ $(lib<%sharedname%>_<%uc(grouped_source_file)%>_la_SOURCES)<%fornotlast(" \\")%>
+<%endfor%>
+
+<%foreach(grouped_source_files)%>
+lib<%sharedname%>_<%uc(grouped_source_file)%>_la_SOURCES = \
+<%foreach(grouped_source_file->files)%>
+ <%grouped_source_file->file%><%fornotlast(" \\")%>
+<%endfor%>
+
+<%endfor%>
+lib<%sharedname%>_la_LDFLAGS = $(X_LIBS) \
+ -version-info <%if(tao)%>@TAO_CURRENT@:@TAO_REVISION@:@TAO_AGE@<%else%>@ACE_CURRENT@:@ACE_REVISION@:@ACE_AGE@<%endif%>
+
+lib<%sharedname%>_la_LIBADD = $(X_PRE_LIBS) $(<%sharedname%>_XLIBS) $(X_EXTRA_LIBS)
+<%else%>
+lib_LTLIBRARIES = lib<%sharedname%>.la
+
+lib<%sharedname%>_la_SOURCES = \
+<%foreach(source_files)%>
+ <%source_file%><%fornotlast(" \\")%>
+<%endfor%>
+<%endif%>
+
+<%if(template_files)%>
+TEMPLATE_FILES = \
+<%foreach(template_files)%>
+ <%template_file%><%fornotlast(" \\")%>
+<%endfor%>
+
+<%endif%>
+<%if(header_files)%>
+HEADER_FILES = \
+<%foreach(header_files)%>
+ <%header_file%><%fornotlast(" \\")%>
+<%endfor%>
+
+<%endif%>
+<%if(inline_files)%>
+INLINE_FILES = \
+<%foreach(inline_files)%>
+ <%inline_file%><%fornotlast(" \\")%>
+<%endfor%>
+
+<%endif%>
+
+pkginclude_HEADERS = \
+<%if(template_files)%>
+ $(INLINE_FILES) \
+<%endif%>
+<%if(inline_files)%>
+ $(INLINE_FILES) \
+<%endif%>
+<%if(header_files)%>
+ $(HEADER_FILES)
+<%endif%>
+<%endif%>
+<%vpath%>
+
+## Clean up template repositories, etc.
+clean-local:
+ -rm -f *.bak *.rpo *.sym lib*.*_pure_* Makefile.old core
+ -rm -f gcctemp.c gcctemp so_locations
+ -rm -rf ptrepository SunWS_cache Templates.DB
diff --git a/bin/mpc.pl b/bin/mpc.pl
index af2560d3fee..7ad98f325db 100755
--- a/bin/mpc.pl
+++ b/bin/mpc.pl
@@ -35,6 +35,7 @@ my(@creators) = ('GNUACEProjectCreator',
'EM3ProjectCreator',
'VA4ProjectCreator',
'MakeProjectCreator',
+ 'AutomakeProjectCreator',
);
# ************************************************************
diff --git a/bin/mwc.pl b/bin/mwc.pl
index b579c8343e5..c9891f4ca17 100755
--- a/bin/mwc.pl
+++ b/bin/mwc.pl
@@ -35,6 +35,7 @@ my(@creators) = ('GNUACEWorkspaceCreator',
'EM3WorkspaceCreator',
'VA4WorkspaceCreator',
'MakeWorkspaceCreator',
+ 'AutomakeWorkspaceCreator',
);
# ************************************************************