Adds 'get' command to scripts/config.pl to retrieve config state

Adds 'get' command to indicate if the option is enabled in the given
configuration file, and to returns it's value if one has been set.
diff --git a/scripts/config.pl b/scripts/config.pl
index 84ec38e..04a9a74 100755
--- a/scripts/config.pl
+++ b/scripts/config.pl
@@ -7,12 +7,13 @@
 # Purpose
 #
 # Comments and uncomments #define lines in the given header file and optionally
-# sets their value. This is to provide scripting control of what preprocessor
-# symbols, and therefore what build time configuration flags are set in the
-# 'config.h' file.
+# sets their value or can get the value. This is to provide scripting control of
+# what preprocessor symbols, and therefore what build time configuration flags
+# are set in the 'config.h' file.
 #
 # Usage: config.pl [-f <file> | --file <file>] [-o | --force]
-#                   [set <symbol> <value> | unset <symbol> | full | realfull]
+#                   [set <symbol> <value> | unset <symbol> | get <symbol> |
+#                       full | realfull]
 #
 # Full usage description provided below.
 #
@@ -43,18 +44,23 @@
 my $config_file = "include/mbedtls/config.h";
 my $usage = <<EOU;
 $0 [-f <file> | --file <file>] [-o | --force]
-                   [set <symbol> <value> | unset <symbol> | full | realfull]
+                   [set <symbol> <value> | unset <symbol> | get <symbol> |
+                        full | realfull]
 
 Commands
-    set <symbol> [<value]   - Uncomments or adds a #define for the <symnol> to
+    set <symbol> [<value>]  - Uncomments or adds a #define for the <symbol> to
                               the configuration file, and optionally making it
                               of <value>.
                               If the symbol isn't present in the file an error
                               is returned.
-    unset <symbol>          - Comments out any #define present in the
-                              configuration file.
+    unset <symbol>          - Comments out the #define for the given symbol if
+                              present in the configuration file.
+    get <symbol>            - Finds the #define for the given symbol, returning
+                              an exitcode of 0 if the symbol is found, and -1 if
+                              not. The value of the symbol is output if one is
+                              specified in the configuration file.
     full                    - Uncomments all #define's in the configuration file
-                              excluding some reserved symbols, until the 
+                              excluding some reserved symbols, until the
                               'Module configuration options' section
     realfull                - Uncomments all #define's with no exclusions
 
@@ -122,7 +128,7 @@
             die $usage if @ARGV;
 
         }
-        elsif ($action eq "unset") {
+        elsif ($action eq "unset" || $action eq "get") {
             die $usage unless @ARGV;
             $name = shift;
 
@@ -195,6 +201,11 @@
             $line .= "\n";
             $done = 1;
         }
+    } elsif (!$done && $action eq "get") {
+        if ($line =~ /^\s*#define\s*$name\s*(.*)\s*\b/) {
+            $value = $1;
+            $done = 1;
+        }
     }
 
     print $config_write $line;
@@ -214,6 +225,15 @@
 
 close $config_write;
 
+if ($action eq "get" && $done) {
+    if ($value ne '') {
+        print $value;
+    }
+    exit 0;
+} else {
+    exit -1;
+}
+
 if ($action eq "full" && !$done) {
     die "Configuration section was not found in $config_file\n";