diff options
author | elliott_c <ocielliottc@users.noreply.github.com> | 2005-01-04 13:49:23 +0000 |
---|---|---|
committer | elliott_c <ocielliottc@users.noreply.github.com> | 2005-01-04 13:49:23 +0000 |
commit | 6fb6091fdae18c3d3138cfaa71092bf82daff0d2 (patch) | |
tree | e5723bf13ac9a24574e6949cfd0a55c9a3cc6ba5 | |
parent | d7aca39576d15de560f2ad2bb96e5ade39a7729a (diff) | |
download | MPC-6fb6091fdae18c3d3138cfaa71092bf82daff0d2.tar.gz |
ChangeLogTag: Tue Jan 4 07:48:20 2005 Chad Elliott <elliott_c@ociweb.com>
-rw-r--r-- | ChangeLog | 8 | ||||
-rw-r--r-- | modules/AutomakeWorkspaceCreator.pm | 33 |
2 files changed, 36 insertions, 5 deletions
@@ -1,3 +1,11 @@ +Tue Jan 4 07:48:20 2005 Chad Elliott <elliott_c@ociweb.com> + + * modules/AutomakeWorkspaceCreator.pm: + + Added code to support the use of nobase_include_HEADERS and + nobase_pkginclude_HEADERS in the case where 'includedir' isn't + set. + Mon Jan 3 13:12:23 2005 Chad Elliott <elliott_c@ociweb.com> * modules/AutomakeWorkspaceCreator.pm: diff --git a/modules/AutomakeWorkspaceCreator.pm b/modules/AutomakeWorkspaceCreator.pm index b7ca0d53..28e62c55 100644 --- a/modules/AutomakeWorkspaceCreator.pm +++ b/modules/AutomakeWorkspaceCreator.pm @@ -200,17 +200,15 @@ sub write_comps { || /(^noinst_HEADERS)\s*\+=\s*/ || /(^BUILT_SOURCES)\s*\+=\s*/ || /(^CLEANFILES)\s*\+=\s*/ - || /(^$inc_pattern)\s*=\s*/ - || /(^$pkg_pattern)\s*=\s*/ || /(^EXTRA_DIST)\s*\+=\s*/ ) { if ($in_condition && !defined ($conditional_targets{$1})) { $conditional_targets{$1} = 1; unshift(@need_blanks, $1); } - if ($1 eq $inc_pattern || $1 eq $pkg_pattern) { - $installable_headers = 1; - } + } + elsif (/^$inc_pattern\s*=\s*/ || /^$pkg_pattern\s*=\s*/) { + $installable_headers = 1; } elsif (/includedir\s*=\s*(.*)/) { $includedir = $1; @@ -228,11 +226,13 @@ sub write_comps { ## Print out the Makefile.am. my($wsHelper) = WorkspaceHelper::get($self); + my($convert_header_name) = undef; if (!defined $includedir && $installable_headers) { my($incdir) = $wsHelper->modify_value('includedir', $self->get_includedir()); if ($incdir ne '') { print $fh "includedir = \@includedir\@$incdir$crlf$crlf"; + $convert_header_name = 1; } } @@ -270,6 +270,7 @@ sub write_comps { my($here) = $self->getcwd(); my($start) = $self->getstartdir(); foreach my $local (reverse @locals) { + if (open($pfh, $local)) { print $fh "## $local $crlf"; @@ -295,6 +296,28 @@ sub write_comps { s/\+=/=/; } } + elsif ($convert_header_name) { + if ($local =~ /Makefile\.(.*)\.am/) { + $project_name = $1; + } + else { + $project_name = 'nobase'; + } + my($inc_pattern) = $project_name . '_include_HEADERS'; + my($pkg_pattern) = $project_name . '_pkginclude_HEADERS'; + if (/^$inc_pattern\s*=\s*/ || /^$pkg_pattern\s*=\s*/) { + $_ =~ s/^$project_name/nobase/; + if (/^(nobase_include_HEADERS)\s*=\s*/ || + /^(nobase_pkginclude_HEADERS)\s*=\s*/) { + if (defined $seen{$1}) { + $_ =~ s/=/+=/; + } + else { + $seen{$1} = 1; + } + } + } + } ## This scheme relies on automake.mpd emitting the 'la' libs first. ## Look for all the libXXXX.la, find out where they are located |