fix option handling in Makefile.PL

the call to GetOptions() must be unique.

Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
see https://github.com/lstein/Perl-GD/pull/6

Index: b/Makefile.PL
===================================================================
--- a/Makefile.PL
+++ b/Makefile.PL
@@ -24,7 +24,15 @@
 my ($options,$lib_gd_path,$lib_ft_path,$lib_png_path,$lib_jpeg_path,$lib_xpm_path,$lib_zlib_path,$force);
 
 use Getopt::Long;
-GetOptions("ignore_missing_gd" => \$force);
+my $result = GetOptions("options=s"         => \$options,
+			"lib_gd_path=s"     => \$lib_gd_path,
+			"lib_ft_path=s"     => \$lib_ft_path,
+			"lib_png_path=s"    => \$lib_png_path,
+			"lib_jpeg_path=s"   => \$lib_jpeg_path,
+			"lib_xpm_path=s"    => \$lib_xpm_path,
+			"lib_zlib_path=s"   => \$lib_zlib_path,
+			"ignore_missing_gd" => \$force,
+		       );
 
 unless (try_to_autoconfigure(\$options,\$lib_gd_path,\@INC,\@LIBPATH,\@LIBS) || $force) {
     die <<END;
@@ -47,14 +55,6 @@
 #############################################################################################
 # Build options passed in to script to support reproducible builds via Makefiles
 #############################################################################################
-my $result = GetOptions("options=s"       => \$options,
-			"lib_gd_path=s"   => \$lib_gd_path,
-			"lib_ft_path=s"   => \$lib_ft_path,
-			"lib_png_path=s"  => \$lib_png_path,
-			"lib_jpeg_path=s" => \$lib_jpeg_path,
-			"lib_xpm_path=s"  => \$lib_xpm_path,
-			"lib_zlib_path=s" => \$lib_zlib_path,
-		       );
 unless ($result) {
   print STDERR <<END;
 Usage: perl Makefile.PL [options]
