diff options
-rw-r--r-- | ChangeLog | 33 | ||||
-rwxr-xr-x | devtools/document_template.pl | 10 | ||||
-rw-r--r-- | docs/MPC.sgml | 8 | ||||
-rw-r--r-- | docs/USAGE | 3 | ||||
-rw-r--r-- | docs/templates/vc7.txt | 1 | ||||
-rw-r--r-- | docs/templates/vc8.txt | 42 | ||||
-rw-r--r-- | modules/AutomakeWorkspaceCreator.pm | 5 | ||||
-rw-r--r-- | modules/BDS4WorkspaceCreator.pm | 5 | ||||
-rw-r--r-- | modules/Driver.pm | 8 | ||||
-rw-r--r-- | modules/EM3WorkspaceCreator.pm | 5 | ||||
-rw-r--r-- | modules/HTMLWorkspaceCreator.pm | 7 | ||||
-rw-r--r-- | modules/MakeWorkspaceBase.pm | 5 | ||||
-rw-r--r-- | modules/Options.pm | 10 | ||||
-rw-r--r-- | modules/ProjectCreator.pm | 1 | ||||
-rw-r--r-- | modules/VC6WorkspaceCreator.pm | 5 | ||||
-rw-r--r-- | modules/VC71WorkspaceCreator.pm | 5 | ||||
-rw-r--r-- | modules/VC7WorkspaceCreator.pm | 5 | ||||
-rw-r--r-- | modules/VC8WorkspaceCreator.pm | 5 | ||||
-rw-r--r-- | modules/WorkspaceCreator.pm | 17 |
19 files changed, 152 insertions, 28 deletions
@@ -1,3 +1,36 @@ +Thu Jan 4 16:08:51 UTC 2007 Chad Elliott <elliott_c@ociweb.com> + + * devtools/document_template.pl: + + Changed the table style for the html output. + + * docs/templates/vc7.txt: + + Added the output_subdir definition. + + * docs/templates/vc8.txt: + + Began documenting the vc8 template. + + * docs/MPC.sgml: + * docs/USAGE: + * modules/AutomakeWorkspaceCreator.pm: + * modules/BDS4WorkspaceCreator.pm: + * modules/Driver.pm: + * modules/EM3WorkspaceCreator.pm: + * modules/HTMLWorkspaceCreator.pm: + * modules/MakeWorkspaceBase.pm: + * modules/Options.pm: + * modules/ProjectCreator.pm: + * modules/VC6WorkspaceCreator.pm: + * modules/VC71WorkspaceCreator.pm: + * modules/VC7WorkspaceCreator.pm: + * modules/VC8WorkspaceCreator.pm: + * modules/WorkspaceCreator.pm: + + Added an option, -nocomments, which causes MPC to generate + workspaces without comments at the top. + Tue Jan 2 20:07:32 UTC 2007 Chad Elliott <elliott_c@ociweb.com> * modules/ProjectCreator.pm: diff --git a/devtools/document_template.pl b/devtools/document_template.pl index 329233e4..21ce5e99 100755 --- a/devtools/document_template.pl +++ b/devtools/document_template.pl @@ -89,10 +89,18 @@ sub display_template { print $fh '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">', "\n", "<head>\n", " <title>$input</title>\n", + " <style type=\"text/css\">\n", + " h1 {font: 36pt verdana, lucida; width: 800px; color: darkcyan;}\n", + " td {font: 12pt verdana, lucida; color: white; padding: 3px; background-color: cadetblue;}\n", + " td.sub {font: 12pt verdana, lucida; color: white; padding: 3px; background-color: darkcyan;}\n", + " td.subsub {font: 12pt verdana, lucida; color: white; padding: 3px; padding-left: 12px; background-color: darkcyan;}\n", + " thead tr td {font: 16pt \"trebuchet ms\", helvetica; color: white; padding: 3px; background-color: teal;}\n", + " th {font: 14pt bold verdana, lucida; background-color: teal; color: white; padding: 3px;}\n", + " </style>\n", "</head>\n", "<body>\n", " <h1>$input</h1>\n", - " <table border=2 cellspacing=1>\n", + " <table>\n", " <tr>\n", " <th>Template Variable</th>\n", " <th>Default Value</th>\n", diff --git a/docs/MPC.sgml b/docs/MPC.sgml index 36608154..c91a056b 100644 --- a/docs/MPC.sgml +++ b/docs/MPC.sgml @@ -153,6 +153,14 @@ </listitem> </varlistentry> <varlistentry> + <term><parameter>-nocomments</parameter></term> + <listitem> + <para> + do not place comments in the generated files + </para> + </listitem> + </varlistentry> + <varlistentry> <term><parameter>-noreldefs</parameter></term> <listitem> <para> @@ -19,7 +19,7 @@ Usage: mwc.pl [-global <file>] [-include <directory>] [-recurse] [-expand_vars] [-features <feature definitions>] [-gendot] [-exclude <directories>] [-name_modifier <pattern>] [-apply_project] [-version] [-into <directory>] - [-gfeature_file <file name>] + [-gfeature_file <file name>] [-nocomments] [-language <cplusplus | csharp | java | vb>] [-type <automake | bds4 | bmake | cc | em3 | ghs | html | make | nmake | sle | vc6 | vc7 | vc71 | vc8>] @@ -60,6 +60,7 @@ Usage: mwc.pl [-global <file>] [-include <directory>] [-recurse] actual output name. Ex. *_Static -apply_project When used in conjunction with -name_modifier, it applies the name modifier to the project name also. + -nocomments Do not place comments in the generated files. -noreldefs Do not try to generate default relative definitions. -notoplevel Do not generate the top level target file. Files are still process, but no top level file is created. diff --git a/docs/templates/vc7.txt b/docs/templates/vc7.txt index 97395a72..46648938 100644 --- a/docs/templates/vc7.txt +++ b/docs/templates/vc7.txt @@ -33,6 +33,7 @@ minimalrebuild = This corresponds to the C/C++ Code Generation property "Enable moduledefinitionfile = This setting corresponds to the Linker Input property "Module Definition File". opticf = This corresponds to the Linker Optimization property "Enable COMDAT Folding". The value 1 corresponds to "Do Not Remove Redundant COMDATs" and 2 corresponds to "Remove Redundant COMDATs". optref = This corresponds to the Linker Optimization property "References". The value 1 corresponds to "Keep Unreferenced Data" and 2 corresponds to "Eliminate Unreferenced Data". +output_subdir = This is used in determining the sub-directory under which intermediate files will be placed. pdbc = If this boolean template variable is set, the C/C++ Output Files property "Program Database File Name" will be set according to the project target. pdbl = If this boolean template variable is set, the Linker Debugging property "Generate Program Database File" will be set according to the project target. platform = Specifies the target platform. diff --git a/docs/templates/vc8.txt b/docs/templates/vc8.txt new file mode 100644 index 00000000..e69a7e13 --- /dev/null +++ b/docs/templates/vc8.txt @@ -0,0 +1,42 @@ +// Current as of 1/4/2007 +// This defines the role of all the template variables specific to the +// 'vc8' project type. +// +// Please try to keep this alphabetically sorted. +// +basicruntimechecks = This corresponds to the C/C++ Code Generation property "Basic Runtime Checks". The numeric value specifies the pull-down value in the IDE. +buffersecuritycheck = This corresponds to the C/C++ Code Generation property "Buffer Security Check". The boolean value specifies the pull-down value in the IDE. +charset = This setting specifies the "Character Set" in the General properties. The values 0, 1, and 2 specify Not Set, Unicode, and Multi-Byte respectively. +common_defines = Specifies macros that are common to all target types. +culture = This corresponds to the Resources General property "Culture". The numeric value corresponds to the pull-down values in the IDE. +debug_format = This setting specifies the "Debug Information Format" found in the C/C++ General properties. The numeric value specifies the pull-down value in the IDE. +debug_prj = This is an internally used template variable to determine if the configuration originated as "Debug". In the event that the 'optimize' template variable is overridden, debug_prj allows the correct run-time library to be chosen. +defines = Macros that are specific to a particular configuration. +detect64bitportabilityproblems = This corresponds to the C/C++ Code Generation property "Detect 64-bit Portability Issues". The boolean value specifies the pull-down value in the IDE. +enablefunctionlevellinking = This corresponds to the C/C++ Code Generation property "Enable Function-Level Linking". The boolean value specifies the pull-down value in the IDE. +encoding = Specifies the XML encoding for the generated .vcproj file. +fixedbaseaddress = This corresponds to the Linker Advanced property "Fixed Base Address". The values 1 and 2 correspond to Relocatable (not fixed) and Load at a Fixed Address respectively. +generatemapfile = This corresponds to the Linker Debugging property "Generate Map File". The boolean value specifies the pull-down value in the IDE. +guid = The value for this variable is generated during project generation. +ignore_default_library_names = The value for this is evaluated as a space separated list of default library names to ignore. It corresponds to the Linker Input property "Ignore Specific Library". +inlinefunctionexpansion = This corresponds to the C/C++ Optimization property "Inline Function Expansion". A value of 1 indicates /Ob1 (inline only those designated to be inlined). A value of 2 indicates /Ob2 (inline any suitable function). +link_options = Allows passing arbitrary options to the linker. +linkincremental = This setting corresponds to the Linker General property "Enable Incremental Linking". The values 1 and 2 correspond to NO and YES respectively. +midl_defines = Macros specified here correspond to the MIDL General property "Preprocessor Definitions". +midl_flags = The value for this variable is passed to the MIDL command as "Additional Options". +midl_includes = This correspond to the MIDL General property "Additional Include Directories". +minimalrebuild = This corresponds to the C/C++ Code Generation property "Enable Minimal Rebuild". The boolean value specifies the pull-down value in the IDE. +moduledefinitionfile = This setting corresponds to the Linker Input property "Module Definition File". +output_subdir = This is used in determining the sub-directory under which intermediate files will be placed. +pdbc = If this boolean template variable is set, the C/C++ Output Files property "Program Database File Name" will be set according to the project target. +pdbl = If this boolean template variable is set, the Linker Debugging property "Generate Program Database File" will be set according to the project target. +platform = Specifies the target platform. +runtime_library = This corresponds to the C/C++ Code Generation property "Runtime Library". If the template variable is set, the numeric value will be used. Otherwise, it will be determined based on the target and debug/optimize configuration. The numeric value specifies the pull-down value in the IDE. +stringpooling = This corresponds to the C/C++ Code Generation property "Enable String Pooling". The boolean value specifies the pull-down value in the IDE. +subsystem = This corresponds to the Linker System property "SubSystem". This variable should not be set directly by the user; instead the project should inherit from 'mfc'. +unicode = If this boolean template variable is set, the UNICODE and _UNICODE macros are added to the C/C++ Preprocessor property "Preprocessor Definitions". +unicode_mfc_entry = This corresponds to the Linker Advanced property "Entry Point". This variable should not be set directly by the user; instead the project should inherit from 'mfc'. +vcprojecttype = Specifies the ProjectType setting within the generated .vcproj file. +vcversion = Specifies the version of the generated .vcproj file. This value is determined by the VC8ProjectCreator. +warning_level = This setting corresponds to the C/C++ General property "Warning Level". Valid values are 0 through 4. +xml_version = Specifies the XML version for the generated .vcproj file. diff --git a/modules/AutomakeWorkspaceCreator.pm b/modules/AutomakeWorkspaceCreator.pm index 36a2f051..2b348313 100644 --- a/modules/AutomakeWorkspaceCreator.pm +++ b/modules/AutomakeWorkspaceCreator.pm @@ -47,7 +47,8 @@ sub pre_workspace { my($fh) = shift; my($crlf) = $self->crlf(); - print $fh '## Process this file with automake to create Makefile.in', $crlf, + $self->print_workspace_comment($fh, + '## Process this file with automake to create Makefile.in', $crlf, '##', $crlf, '## ', '$', 'Id', '$', $crlf, '##', $crlf, @@ -55,7 +56,7 @@ sub pre_workspace { '## this file will be lost the next time it is generated.', $crlf, '##', $crlf, '## MPC Command:', $crlf, - '## ', $self->create_command_line_string($0, @ARGV), $crlf, $crlf; + '## ', $self->create_command_line_string($0, @ARGV), $crlf, $crlf); } diff --git a/modules/BDS4WorkspaceCreator.pm b/modules/BDS4WorkspaceCreator.pm index 67f9f6a3..f84d2549 100644 --- a/modules/BDS4WorkspaceCreator.pm +++ b/modules/BDS4WorkspaceCreator.pm @@ -40,11 +40,12 @@ sub pre_workspace { my($fh) = shift; my($crlf) = $self->crlf(); - print $fh '<?xml version="1.0" encoding="utf-8"?>', $crlf, + print $fh '<?xml version="1.0" encoding="utf-8"?>', $crlf; + $self->print_workspace_comment($fh, '<!-- $Id$ -->', $crlf, '<!-- MPC Command -->', $crlf, '<!-- ', $self->create_command_line_string($0, @ARGV), ' -->', - $crlf; + $crlf); } diff --git a/modules/Driver.pm b/modules/Driver.pm index 29e67377..83f3d05e 100644 --- a/modules/Driver.pm +++ b/modules/Driver.pm @@ -24,9 +24,8 @@ use vars qw(@ISA); # Data Section # ************************************************************ -my($index) = 0; -my(@progress) = ('|', '/', '-', '\\'); - +my($index) = 0; +my(@progress) = ('|', '/', '-', '\\'); my(%valid_cfg) = ('command_line' => 1, 'default_type' => 1, 'dynamic_types' => 1, @@ -531,7 +530,8 @@ sub run { $options->{'language'}, $options->{'use_env'}, $options->{'expand_vars'}, - $options->{'gendot'}); + $options->{'gendot'}, + $options->{'comments'}); ## Update settings based on the configuration file $creator->set_verbose_ordering($cfg->get_value('verbose_ordering')); diff --git a/modules/EM3WorkspaceCreator.pm b/modules/EM3WorkspaceCreator.pm index 595d850a..1d312211 100644 --- a/modules/EM3WorkspaceCreator.pm +++ b/modules/EM3WorkspaceCreator.pm @@ -34,7 +34,8 @@ sub pre_workspace { my($fh) = shift; my($crlf) = $self->crlf(); - print $fh 'Microsoft eMbedded Visual Tools Workspace File, Format Version 3.00', $crlf, + print $fh 'Microsoft eMbedded Visual Tools Workspace File, Format Version 3.00', $crlf; + $self->print_workspace_comment($fh, '#', $crlf, '# $Id$', $crlf, '#', $crlf, @@ -43,7 +44,7 @@ sub pre_workspace { '#', $crlf, '# MPC Command:', $crlf, '# ', $self->create_command_line_string($0, @ARGV), $crlf, - $crlf; + $crlf); } diff --git a/modules/HTMLWorkspaceCreator.pm b/modules/HTMLWorkspaceCreator.pm index 5bddc3e8..67e895dd 100644 --- a/modules/HTMLWorkspaceCreator.pm +++ b/modules/HTMLWorkspaceCreator.pm @@ -34,11 +34,12 @@ sub pre_workspace { my($crlf) = $self->crlf(); print $fh '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">', $crlf, - '<html>', $crlf, + '<html>', $crlf; + $self->print_workspace_comment($fh, '<!-- $Id$ -->', $crlf, '<!-- MPC Command: -->', $crlf, - '<!-- ', $self->create_command_line_string($0, @ARGV),' -->', $crlf, - '<head>', $crlf, + '<!-- ', $self->create_command_line_string($0, @ARGV),' -->', $crlf); + print $fh '<head>', $crlf, '<title>', $self->get_workspace_name(), '</title>', $crlf, ' <style type="text/css">', $crlf, ' a {font: 12pt bold verdana, lucida; color: white; padding: 3px;}', $crlf, diff --git a/modules/MakeWorkspaceBase.pm b/modules/MakeWorkspaceBase.pm index 6f6ff603..ceaa5191 100644 --- a/modules/MakeWorkspaceBase.pm +++ b/modules/MakeWorkspaceBase.pm @@ -56,7 +56,8 @@ sub workspace_preamble { my($name) = shift; my($id) = shift; - print $fh '#----------------------------------------------------------------------------', $crlf, + $self->print_workspace_comment($fh, + '#----------------------------------------------------------------------------', $crlf, '# ', $name, $crlf, '#', $crlf, '# ', $id, $crlf, @@ -68,7 +69,7 @@ sub workspace_preamble { '# ', $self->create_command_line_string($0, @ARGV), $crlf, '#', $crlf, '#----------------------------------------------------------------------------', $crlf, - $crlf; + $crlf); } diff --git a/modules/Options.pm b/modules/Options.pm index 17983cbe..eca06a6a 100644 --- a/modules/Options.pm +++ b/modules/Options.pm @@ -53,7 +53,7 @@ sub printUsage { $spaces . "[-expand_vars] [-features <feature definitions>]\n" . $spaces . "[-exclude <directories>] [-name_modifier <pattern>]\n" . $spaces . "[-apply_project] [-version] [-into <directory>]\n" . - $spaces . "[-gfeature_file <file name>]\n" . + $spaces . "[-gfeature_file <file name>] [-nocomments]\n" . $spaces . "[-language <"; my($olen) = length($spaces) + 12; @@ -131,6 +131,7 @@ sub printUsage { " actual output name. Ex. *_Static\n" . " -apply_project When used in conjunction with -name_modifier, it applies\n" . " the name modifier to the project name also.\n" . +" -nocomments Do not place comments in the generated files.\n" . " -noreldefs Do not try to generate default relative definitions.\n" . " -notoplevel Do not generate the top level target file. Files\n" . " are still process, but no top level file is created.\n" . @@ -181,7 +182,7 @@ sub completion_command { "ti static noreldefs notoplevel feature_file use_env " . "value_template value_project make_coexistence language " . "hierarchy exclude name_modifier apply_project version " . - "expand_vars gfeature_file)/' " . + "expand_vars gfeature_file nocomments)/' " . "'c/dll:/f/' 'c/dll_exe:/f/' 'c/lib_exe:/f/' 'c/lib:/f/' " . "'n/-ti/(dll lib dll_exe lib_exe)/:' "; @@ -232,6 +233,7 @@ sub options { my($hierarchy) = 0; my($language) = ($defaults ? $deflang : undef); my($dynamic) = ($defaults ? 1 : undef); + my($comments) = ($defaults ? 1 : undef); my($reldefs) = ($defaults ? 1 : undef); my($toplevel) = ($defaults ? 1 : undef); my($use_env) = ($defaults ? 0 : undef); @@ -391,6 +393,9 @@ sub options { $nmodifier = $nmod; } } + elsif ($arg eq '-nocomments') { + $comments = 0; + } elsif ($arg eq '-noreldefs') { $reldefs = 0; } @@ -529,6 +534,7 @@ sub options { 'features' => \@features, 'include' => \@include, 'input' => \@input, + 'comments' => $comments, 'creators' => \@creators, 'baseprojs' => \@baseprojs, 'template' => $template, diff --git a/modules/ProjectCreator.pm b/modules/ProjectCreator.pm index bf372d4c..2d9699da 100644 --- a/modules/ProjectCreator.pm +++ b/modules/ProjectCreator.pm @@ -258,6 +258,7 @@ sub new { my($use_env) = shift; my($expandvars) = shift; my($gendot) = shift; + my($comments) = shift; my($self) = $class->SUPER::new($global, $inc, $template, $ti, $dynamic, $static, $relative, $addtemp, $addproj, diff --git a/modules/VC6WorkspaceCreator.pm b/modules/VC6WorkspaceCreator.pm index d997188e..3616d9f4 100644 --- a/modules/VC6WorkspaceCreator.pm +++ b/modules/VC6WorkspaceCreator.pm @@ -46,7 +46,8 @@ sub pre_workspace { my($fh) = shift; my($crlf) = $self->crlf(); - print $fh 'Microsoft Developer Studio Workspace File, Format Version 6.00', $crlf, + print $fh 'Microsoft Developer Studio Workspace File, Format Version 6.00', $crlf; + $self->print_workspace_comment($fh, '#', $crlf, '# $Id$', $crlf, '#', $crlf, @@ -54,7 +55,7 @@ sub pre_workspace { '# this file will be lost the next time it is generated.', $crlf, '#', $crlf, '# MPC Command:', $crlf, - '# ', $self->create_command_line_string($0, @ARGV), $crlf, $crlf; + '# ', $self->create_command_line_string($0, @ARGV), $crlf, $crlf); } diff --git a/modules/VC71WorkspaceCreator.pm b/modules/VC71WorkspaceCreator.pm index 146b23dc..adaa8931 100644 --- a/modules/VC71WorkspaceCreator.pm +++ b/modules/VC71WorkspaceCreator.pm @@ -28,7 +28,8 @@ sub pre_workspace { my($fh) = shift; my($crlf) = $self->crlf(); - print $fh 'Microsoft Visual Studio Solution File, Format Version 8.00', $crlf, + print $fh 'Microsoft Visual Studio Solution File, Format Version 8.00', $crlf; + $self->print_workspace_comment($fh, '#', $crlf, '# $Id$', $crlf, '#', $crlf, @@ -36,7 +37,7 @@ sub pre_workspace { '# this file will be lost the next time it is generated.', $crlf, '#', $crlf, '# MPC Command:', $crlf, - '# ', $self->create_command_line_string($0, @ARGV), $crlf; + '# ', $self->create_command_line_string($0, @ARGV), $crlf); } diff --git a/modules/VC7WorkspaceCreator.pm b/modules/VC7WorkspaceCreator.pm index 425077c0..a4e2ecbe 100644 --- a/modules/VC7WorkspaceCreator.pm +++ b/modules/VC7WorkspaceCreator.pm @@ -56,7 +56,8 @@ sub pre_workspace { my($fh) = shift; my($crlf) = $self->crlf(); - print $fh 'Microsoft Visual Studio Solution File, Format Version 7.00', $crlf, + print $fh 'Microsoft Visual Studio Solution File, Format Version 7.00', $crlf; + $self->print_workspace_comment($fh, '#', $crlf, '# $Id$', $crlf, '#', $crlf, @@ -64,7 +65,7 @@ sub pre_workspace { '# this file will be lost the next time it is generated.', $crlf, '#', $crlf, '# MPC Command:', $crlf, - '# ', $self->create_command_line_string($0, @ARGV), $crlf; + '# ', $self->create_command_line_string($0, @ARGV), $crlf); } diff --git a/modules/VC8WorkspaceCreator.pm b/modules/VC8WorkspaceCreator.pm index 5aaa7021..c0c31bc7 100644 --- a/modules/VC8WorkspaceCreator.pm +++ b/modules/VC8WorkspaceCreator.pm @@ -37,7 +37,8 @@ sub pre_workspace { my($crlf) = $self->crlf(); print $fh '', $crlf, - 'Microsoft Visual Studio Solution File, Format Version 9.00', $crlf, + 'Microsoft Visual Studio Solution File, Format Version 9.00', $crlf; + $self->print_workspace_comment($fh, '# Visual Studio 2005', $crlf, '# $Id$', $crlf, '#', $crlf, @@ -45,7 +46,7 @@ sub pre_workspace { '# this file will be lost the next time it is generated.', $crlf, '#', $crlf, '# MPC Command:', $crlf, - '# ', $self->create_command_line_string($0, @ARGV), $crlf; + '# ', $self->create_command_line_string($0, @ARGV), $crlf); } sub adjust_names { diff --git a/modules/WorkspaceCreator.pm b/modules/WorkspaceCreator.pm index 0e410b18..d192d380 100644 --- a/modules/WorkspaceCreator.pm +++ b/modules/WorkspaceCreator.pm @@ -77,6 +77,7 @@ sub new { my($use_env) = shift; my($expandvars) = shift; my($gendot) = shift; + my($comments) = shift; my($self) = Creator::new($class, $global, $inc, $template, $ti, $dynamic, $static, $relative, $addtemp, $addproj, @@ -114,6 +115,7 @@ sub new { $self->{'generate_ins'} = $genins; $self->{'verbose_ordering'} = undef; $self->{'wctype'} = $self->extractType("$self"); + $self->{'workspace_comments'} = $comments; if (defined $$exclude[0]) { my($type) = $self->{'wctype'}; @@ -2024,7 +2026,8 @@ sub project_creator { $parameters{'language'}, $parameters{'use_env'}, $parameters{'expand_vars'}, - $self->{'gendot'}); + $self->{'gendot'}, + $parameters{'comments'}); } @@ -2255,6 +2258,18 @@ sub create_command_line_string { } +sub print_workspace_comment { + my($self) = shift; + my($fh) = shift; + + if ($self->{'workspace_comments'}) { + foreach my $line (@_) { + print $fh $line; + } + } +} + + sub get_initial_relative_values { my($self) = shift; return $self->get_relative(), $self->get_expand_vars(); |