diff --git a/scripts/activate-config.pl b/scripts/activate-config.pl
new file mode 100755
index 0000000..561e067
--- /dev/null
+++ b/scripts/activate-config.pl
@@ -0,0 +1,68 @@
+#!/usr/bin/perl
+
+# activate a pre-defined configuration
+
+use warnings;
+use strict;
+
+my $config_h = "../include/polarssl/config.h";
+
+exit( main() );
+
+sub read_default {
+    open my $fh, '<', $config_h or die "Failed to read $config_h: $!\n";
+
+    my (@pre, @post);
+    my $state = 'pre';
+
+    while( my $line = <$fh> ) {
+        if( $state eq 'pre' ) {
+            push @pre, $line;
+            $state = 'skip' if $line =~ /} name SECTION: System support/;
+        }
+        elsif( $state eq 'skip' ) {
+            $state = 'post' if $line =~/} name SECTION: PolarSSL modules/;
+        }
+        else {
+            push @post, $line;
+        }
+    }
+
+    die "Failed to parse $config_h\n" if( $state ne 'post' );
+
+    close $fh;
+
+    push @pre, "\n";
+
+    return \@pre, \@post;
+}
+
+sub read_custom {
+    my ($file_name) = @_;
+
+    open my $fh, '<', $file_name or die "Failed to read $file_name: $!\n";
+    my @content = <$fh>;
+    close $fh;
+
+    return \@content;
+}
+
+sub write_custom {
+    my ($pre, $mid, $post) = @_;
+
+    open my $fh, '>', $config_h or die "Failed to write $config_h: $!\n";
+    print $fh @$pre;
+    print $fh @$mid;
+    print $fh @$post;
+    close $fh;
+}
+
+sub main {
+    my $custom_file_name = $ARGV[0];
+
+    my ($pre, $post) = read_default();
+    my $mine = read_custom( $custom_file_name );
+    write_custom( $pre, $mine, $post );
+
+    return 0;
+}
