diff --git a/MagickCore/configure.c b/MagickCore/configure.c
index 3e2cfda..9fc26f0 100644
--- a/MagickCore/configure.c
+++ b/MagickCore/configure.c
@@ -672,6 +672,10 @@
#if defined(MAGICKCORE_SHARE_PATH)
(void) AppendValueToLinkedList(paths,ConstantString(MAGICKCORE_SHARE_PATH));
#endif
+#if defined(MAGICKCORE_SHAREARCH_PATH)
+ (void) AppendValueToLinkedList(paths,ConstantString(
+ MAGICKCORE_SHAREARCH_PATH));
+#endif
#if defined(MAGICKCORE_CONFIGURE_PATH)
(void) AppendValueToLinkedList(paths,ConstantString(
MAGICKCORE_CONFIGURE_PATH));
diff --git a/MagickCore/display.c b/MagickCore/display.c
index e519246..ecd5ee7 100644
--- a/MagickCore/display.c
+++ b/MagickCore/display.c
@@ -3543,7 +3543,7 @@
break;
if (entry != 5)
{
- (*image)->fuzz=SiPrefixToDouble(FuzzMenu[entry],(double)
+ (*image)->fuzz=InterpretLocaleInterval(FuzzMenu[entry],(double)
QuantumRange+1.0);
break;
}
@@ -3553,7 +3553,7 @@
if (*fuzz == '\0')
break;
(void) ConcatenateMagickString(fuzz,"%",MaxTextExtent);
- (*image)->fuzz=SiPrefixToDouble(fuzz,(double) QuantumRange+1.0);
+ (*image)->fuzz=InterpretLocaleInterval(fuzz,(double) QuantumRange+1.0);
break;
}
case ColorEditUndoCommand:
@@ -7728,7 +7728,7 @@
(void) XDialogWidget(display,windows,"Trim","Enter fuzz factor:",fuzz);
if (*fuzz == '\0')
break;
- (*image)->fuzz=SiPrefixToDouble(fuzz,(double) QuantumRange+1.0);
+ (*image)->fuzz=InterpretLocaleInterval(fuzz,(double) QuantumRange+1.0);
/*
Trim image.
*/
@@ -8310,7 +8310,7 @@
*/
XSetCursorState(display,windows,MagickTrue);
XCheckRefreshWindows(display,windows);
- threshold=SiPrefixToDouble(factor,QuantumRange);
+ threshold=InterpretLocaleInterval(factor,QuantumRange);
(void) BilevelImage(*image,threshold,exception);
XSetCursorState(display,windows,MagickFalse);
if (windows->image.orphan != MagickFalse)
@@ -8512,7 +8512,7 @@
*/
XSetCursorState(display,windows,MagickTrue);
XCheckRefreshWindows(display,windows);
- threshold=SiPrefixToDouble(factor,QuantumRange);
+ threshold=InterpretLocaleInterval(factor,QuantumRange);
sepia_image=SepiaToneImage(*image,threshold,exception);
if (sepia_image != (Image *) NULL)
{
@@ -8547,7 +8547,7 @@
*/
XSetCursorState(display,windows,MagickTrue);
XCheckRefreshWindows(display,windows);
- threshold=SiPrefixToDouble(factor,QuantumRange);
+ threshold=InterpretLocaleInterval(factor,QuantumRange);
(void) SolarizeImage(*image,threshold,exception);
XSetCursorState(display,windows,MagickFalse);
if (windows->image.orphan != MagickFalse)
@@ -9864,7 +9864,7 @@
break;
if (entry != 5)
{
- (*image)->fuzz=SiPrefixToDouble(FuzzMenu[entry],(double)
+ (*image)->fuzz=InterpretLocaleInterval(FuzzMenu[entry],(double)
QuantumRange+1.0);
break;
}
@@ -9874,7 +9874,7 @@
if (*fuzz == '\0')
break;
(void) ConcatenateMagickString(fuzz,"%",MaxTextExtent);
- (*image)->fuzz=SiPrefixToDouble(fuzz,(double) QuantumRange+1.0);
+ (*image)->fuzz=InterpretLocaleInterval(fuzz,(double) QuantumRange+1.0);
break;
}
case MatteEditValueCommand:
diff --git a/MagickCore/fx.c b/MagickCore/fx.c
index 787958e..2403059 100644
--- a/MagickCore/fx.c
+++ b/MagickCore/fx.c
@@ -194,60 +194,6 @@
Force right-to-left associativity for unary negation.
*/
(void) SubstituteString(&fx_info->expression,"-","-1.0*");
- if ((strstr(fx_info->expression,"e+") != (char *) NULL) ||
- (strstr(fx_info->expression,"e-") != (char *) NULL))
- {
- /*
- Convert scientific notation.
- */
- (void) SubstituteString(&fx_info->expression,"0e+","0**10^");
- (void) SubstituteString(&fx_info->expression,"1e+","1**10^");
- (void) SubstituteString(&fx_info->expression,"2e+","2**10^");
- (void) SubstituteString(&fx_info->expression,"3e+","3**10^");
- (void) SubstituteString(&fx_info->expression,"4e+","4**10^");
- (void) SubstituteString(&fx_info->expression,"5e+","5**10^");
- (void) SubstituteString(&fx_info->expression,"6e+","6**10^");
- (void) SubstituteString(&fx_info->expression,"7e+","7**10^");
- (void) SubstituteString(&fx_info->expression,"8e+","8**10^");
- (void) SubstituteString(&fx_info->expression,"9e+","9**10^");
- (void) SubstituteString(&fx_info->expression,"0e-1.0*","0**10^-");
- (void) SubstituteString(&fx_info->expression,"1e-1.0*","1**10^-");
- (void) SubstituteString(&fx_info->expression,"2e-1.0*","2**10^-");
- (void) SubstituteString(&fx_info->expression,"3e-1.0*","3**10^-");
- (void) SubstituteString(&fx_info->expression,"4e-1.0*","4**10^-");
- (void) SubstituteString(&fx_info->expression,"5e-1.0*","5**10^-");
- (void) SubstituteString(&fx_info->expression,"6e-1.0*","6**10^-");
- (void) SubstituteString(&fx_info->expression,"7e-1.0*","7**10^-");
- (void) SubstituteString(&fx_info->expression,"8e-1.0*","8**10^-");
- (void) SubstituteString(&fx_info->expression,"9e-1.0*","9**10^-");
- }
- if ((strstr(fx_info->expression,"E+") != (char *) NULL) ||
- (strstr(fx_info->expression,"E-") != (char *) NULL))
- {
- /*
- Convert scientific notation.
- */
- (void) SubstituteString(&fx_info->expression,"0E+","0**10^");
- (void) SubstituteString(&fx_info->expression,"1E+","1**10^");
- (void) SubstituteString(&fx_info->expression,"2E+","2**10^");
- (void) SubstituteString(&fx_info->expression,"3E+","3**10^");
- (void) SubstituteString(&fx_info->expression,"4E+","4**10^");
- (void) SubstituteString(&fx_info->expression,"5E+","5**10^");
- (void) SubstituteString(&fx_info->expression,"6E+","6**10^");
- (void) SubstituteString(&fx_info->expression,"7E+","7**10^");
- (void) SubstituteString(&fx_info->expression,"8E+","8**10^");
- (void) SubstituteString(&fx_info->expression,"9E+","9**10^");
- (void) SubstituteString(&fx_info->expression,"0E-1.0*","0**10^-");
- (void) SubstituteString(&fx_info->expression,"1E-1.0*","1**10^-");
- (void) SubstituteString(&fx_info->expression,"2E-1.0*","2**10^-");
- (void) SubstituteString(&fx_info->expression,"3E-1.0*","3**10^-");
- (void) SubstituteString(&fx_info->expression,"4E-1.0*","4**10^-");
- (void) SubstituteString(&fx_info->expression,"5E-1.0*","5**10^-");
- (void) SubstituteString(&fx_info->expression,"6E-1.0*","6**10^-");
- (void) SubstituteString(&fx_info->expression,"7E-1.0*","7**10^-");
- (void) SubstituteString(&fx_info->expression,"8E-1.0*","8**10^-");
- (void) SubstituteString(&fx_info->expression,"9E-1.0*","9**10^-");
- }
/*
Convert complex to simple operators.
*/
@@ -2765,6 +2711,8 @@
case 'P':
case 'p':
{
+ if (LocaleCompare(expression,"phi") == 0)
+ return((MagickRealType) MagickPHI);
if (LocaleCompare(expression,"pi") == 0)
return((MagickRealType) MagickPI);
if (LocaleNCompare(expression,"pow",3) == 0)
diff --git a/MagickCore/image-private.h b/MagickCore/image-private.h
index d19dc11..5cd5bde 100644
--- a/MagickCore/image-private.h
+++ b/MagickCore/image-private.h
@@ -23,6 +23,7 @@
#endif
#define Magick2PI 6.28318530717958647692528676655900576839433879875020L
+#define MagickPHI 1.61803398874989484820
#define MagickPI2 1.57079632679489661923132169163975144209858469968755L
#define MagickSQ1_2 0.70710678118654752440084436210484903928483593768847L
#define MagickSQ2 1.41421356237309504880168872420969807856967187537695L
diff --git a/MagickCore/image.c b/MagickCore/image.c
index 41abdc7..2d54db2 100644
--- a/MagickCore/image.c
+++ b/MagickCore/image.c
@@ -4130,7 +4130,7 @@
exception);
option=GetImageOption(image_info,"bias");
if (option != (const char *) NULL)
- image->bias=SiPrefixToDouble(option,QuantumRange);
+ image->bias=InterpretLocaleInterval(option,QuantumRange);
option=GetImageOption(image_info,"black-point-compensation");
if (option != (const char *) NULL)
image->black_point_compensation=(MagickBooleanType) ParseCommandOption(
@@ -4185,7 +4185,7 @@
MagickFalse,option);
option=GetImageOption(image_info,"fuzz");
if (option != (const char *) NULL)
- image->fuzz=SiPrefixToDouble(option,(double) QuantumRange+1.0);
+ image->fuzz=InterpretLocaleInterval(option,(double) QuantumRange+1.0);
option=GetImageOption(image_info,"gravity");
if (option != (const char *) NULL)
image->gravity=(GravityType) ParseCommandOption(MagickGravityOptions,
diff --git a/MagickCore/locale.c b/MagickCore/locale.c
index 0460481..64a15d6 100644
--- a/MagickCore/locale.c
+++ b/MagickCore/locale.c
@@ -879,23 +879,84 @@
MagickExport double InterpretLocaleValue(const char *restrict string,
char **restrict sentinal)
{
+ char
+ *q;
+
double
value;
-#if defined(MAGICKCORE_HAVE_STRTOD_L)
- {
- locale_t
- locale;
+ static const double
+ SIPrefixes['z'-'E'+1] =
+ {
+ ['y'-'E'] = (-24.0),
+ ['z'-'E'] = (-21.0),
+ ['a'-'E'] = (-18.0),
+ ['f'-'E'] = (-15.0),
+ ['p'-'E'] = (-12.0),
+ ['n'-'E'] = (-9.0),
+ ['u'-'E'] = (-6.0),
+ ['m'-'E'] = (-3.0),
+ ['c'-'E'] = (-2.0),
+ ['d'-'E'] = (-1.0),
+ ['h'-'E'] = 2.0,
+ ['k'-'E'] = 3.0,
+ ['K'-'E'] = 3.0,
+ ['M'-'E'] = 6.0,
+ ['G'-'E'] = 9.0,
+ ['T'-'E'] = 12.0,
+ ['P'-'E'] = 15.0,
+ ['E'-'E'] = 18.0,
+ ['Z'-'E'] = 21.0,
+ ['Y'-'E'] = 24.0
+ };
- locale=AcquireCLocale();
- if (locale == (locale_t) NULL)
- value=strtod(string,sentinal);
- else
- value=strtod_l(string,sentinal,locale);
- }
+ if ((*string == '0') && ((string[1] | 0x20)=='x'))
+ value=(double) strtoul(string,&q,16);
+ else
+ {
+#if defined(MAGICKCORE_HAVE_STRTOD_L)
+ locale_t
+ locale;
+
+ locale=AcquireCLocale();
+ if (locale == (locale_t) NULL)
+ value=strtod(string,&q);
+ else
+ value=strtod_l(string,&q,locale);
#else
- value=strtod(string,sentinal);
+ value=strtod(string,&q);
#endif
+ }
+ if (q != string)
+ {
+ if ((*q >= 'E') && (*q <= 'z'))
+ {
+ double
+ e;
+
+ e=SIPrefixes[*q-'E'];
+ if (e >= MagickEpsilon)
+ {
+ if (q[1] == 'i')
+ {
+ value*=pow(2.0,e/0.3);
+ q+=2;
+ }
+ else
+ {
+ value*=pow(10.0,e);
+ q++;
+ }
+ }
+ }
+ if (*q == 'B')
+ {
+ value*=8.0;
+ q++;
+ }
+ }
+ if (sentinal != (char **) NULL)
+ *sentinal=q;
return(value);
}
diff --git a/MagickCore/magick-config.h b/MagickCore/magick-config.h
index 2eb6a0f..b807d4c 100644
--- a/MagickCore/magick-config.h
+++ b/MagickCore/magick-config.h
@@ -1356,6 +1356,17 @@
#endif
/* Directory where architecture-independent configuration files live. */
+#ifndef MAGICKCORE_SHAREARCH_PATH
+#define MAGICKCORE_SHAREARCH_PATH "/usr/local/share/ImageMagick-7.0.0/"
+#endif
+
+/* Subdirectory of lib where architecture-independent configuration files
+ live. */
+#ifndef MAGICKCORE_SHAREARCH_RELATIVE_PATH
+#define MAGICKCORE_SHAREARCH_RELATIVE_PATH "ImageMagick-7.0.0"
+#endif
+
+/* Directory where architecture-independent configuration files live. */
#ifndef MAGICKCORE_SHARE_PATH
#define MAGICKCORE_SHARE_PATH "/usr/local/share/ImageMagick-7.0.0/"
#endif
diff --git a/MagickCore/property.c b/MagickCore/property.c
index 42159a0..da7e19c 100644
--- a/MagickCore/property.c
+++ b/MagickCore/property.c
@@ -3200,7 +3200,7 @@
}
if (LocaleCompare(property,"bias") == 0)
{
- image->bias=SiPrefixToDouble(value,QuantumRange);
+ image->bias=InterpretLocaleInterval(value,QuantumRange);
break;
}
status=AddValueToSplayTree((SplayTreeInfo *) image->properties,
diff --git a/MagickCore/resource.c b/MagickCore/resource.c
index 567d9fc..1c417d0 100644
--- a/MagickCore/resource.c
+++ b/MagickCore/resource.c
@@ -899,7 +899,7 @@
double
value;
- value=SiPrefixToDouble(string,interval);
+ value=InterpretLocaleInterval(string,interval);
if (value >= (double) MagickULLConstant(~0))
return(MagickULLConstant(~0));
return((MagickSizeType) value);
diff --git a/MagickCore/string-private.h b/MagickCore/string-private.h
index 6e4308c..3a0d4ea 100644
--- a/MagickCore/string-private.h
+++ b/MagickCore/string-private.h
@@ -22,35 +22,20 @@
extern "C" {
#endif
-static inline double SiPrefixToDouble(const char *string,const double interval)
+static inline double InterpretLocaleInterval(const char *string,const double interval)
{
char
*q;
double
- scale,
value;
/*
Interpret string with International System of Units (SI) unit prefix.
*/
value=InterpretLocaleValue(string,&q);
- scale=1000.0;
- if ((*q != '\0') && (tolower((int) ((unsigned char) *(q+1))) == 'i'))
- scale=1024.0;
- switch (tolower((int) ((unsigned char) *q)))
- {
- case '%': value*=pow(scale,0)*interval/100.0; break;
- case 'k': value*=pow(scale,1); break;
- case 'm': value*=pow(scale,2); break;
- case 'g': value*=pow(scale,3); break;
- case 't': value*=pow(scale,4); break;
- case 'p': value*=pow(scale,5); break;
- case 'e': value*=pow(scale,6); break;
- case 'z': value*=pow(scale,7); break;
- case 'y': value*=pow(scale,8); break;
- default: break;
- }
+ if (*q == '%')
+ value*=interval/100.0;
return(value);
}
diff --git a/MagickCore/string.c b/MagickCore/string.c
index 621eb2b..dd6ded7 100644
--- a/MagickCore/string.c
+++ b/MagickCore/string.c
@@ -3,24 +3,24 @@
% %
% %
% %
-% sssss ttttt rrrr iiiii n n gggg %
-% ss t r r i nn n g %
-% sss t rrrr i n n n g ggg %
-% ss t r r i n nn g g %
-% sssss t r r iiiii n n gggg %
+% SSSSS TTTTT RRRR IIIII N N GGGG %
+% SS T R R I NN N G %
+% SSS T RRRR I N N N G GGG %
+% SS T R R I N NN G G %
+% SSSSS T R R IIIII N N GGGG %
% %
% %
-% MagickCore string methods %
+% MagickCore String Methods %
% %
-% software design %
-% john cristy %
-% august 2003 %
+% Software Design %
+% John Cristy %
+% August 2003 %
% %
% %
-% copyright 1999-2011 imagemagick studio llc, a non-profit organization %
+% Copyright 1999-2011 ImageMagick Studio LLC, a non-profit organization %
% dedicated to making software imaging solutions freely available. %
% %
-% you may not use this file except in compliance with the license. you may %
+% You may not use this file except in compliance with the license. You may %
% obtain a copy of the license at %
% %
% http://www.imagemagick.org/script/license.php %
@@ -28,7 +28,7 @@
% unless required by applicable law or agreed to in writing, software %
% distributed under the license is distributed on an "as is" basis, %
% without warranties or conditions of any kind, either express or implied. %
-% see the license for the specific language governing permissions and %
+% See the license for the specific language governing permissions and %
% limitations under the license. %
% %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
diff --git a/MagickCore/version.h b/MagickCore/version.h
index 08ca793..2378578 100644
--- a/MagickCore/version.h
+++ b/MagickCore/version.h
@@ -27,14 +27,14 @@
*/
#define MagickPackageName "ImageMagick"
#define MagickCopyright "Copyright (C) 1999-2011 ImageMagick Studio LLC"
-#define MagickSVNRevision "5819"
+#define MagickSVNRevision "5835"
#define MagickLibVersion 0x700
#define MagickLibVersionText "7.0.0"
#define MagickLibVersionNumber 7,0,0
#define MagickLibAddendum "-0"
#define MagickLibInterface 7
#define MagickLibMinInterface 7
-#define MagickReleaseDate "2011-10-30"
+#define MagickReleaseDate "2011-11-02"
#define MagickChangeDate "20110801"
#define MagickAuthoritativeURL "http://www.imagemagick.org"
#if defined(MAGICKCORE_OPENMP_SUPPORT)
diff --git a/MagickWand/mogrify.c b/MagickWand/mogrify.c
index c70f7be..f961d3e 100644
--- a/MagickWand/mogrify.c
+++ b/MagickWand/mogrify.c
@@ -1309,7 +1309,7 @@
if (*option == '+')
threshold=40.0*QuantumRange/100.0;
else
- threshold=SiPrefixToDouble(argv[i+1],QuantumRange);
+ threshold=InterpretLocaleInterval(argv[i+1],QuantumRange);
mogrify_image=DeskewImage(*image,threshold,exception);
break;
}
@@ -1507,7 +1507,7 @@
(void) SyncImageSettings(mogrify_info,*image,exception);
op=(MagickEvaluateOperator) ParseCommandOption(
MagickEvaluateOptions,MagickFalse,argv[i+1]);
- constant=SiPrefixToDouble(argv[i+2],QuantumRange);
+ constant=InterpretLocaleInterval(argv[i+2],QuantumRange);
(void) EvaluateImage(*image,op,constant,exception);
break;
}
@@ -2618,7 +2618,7 @@
Sepia-tone image.
*/
(void) SyncImageSettings(mogrify_info,*image,exception);
- threshold=SiPrefixToDouble(argv[i+1],QuantumRange);
+ threshold=InterpretLocaleInterval(argv[i+1],QuantumRange);
mogrify_image=SepiaToneImage(*image,threshold,exception);
break;
}
@@ -2782,7 +2782,7 @@
threshold;
(void) SyncImageSettings(mogrify_info,*image,exception);
- threshold=SiPrefixToDouble(argv[i+1],QuantumRange);
+ threshold=InterpretLocaleInterval(argv[i+1],QuantumRange);
(void) SolarizeImage(*image,threshold,exception);
break;
}
@@ -2930,7 +2930,7 @@
if (*option == '+')
threshold=(double) QuantumRange/2;
else
- threshold=SiPrefixToDouble(argv[i+1],QuantumRange);
+ threshold=InterpretLocaleInterval(argv[i+1],QuantumRange);
(void) BilevelImage(*image,threshold,exception);
break;
}
@@ -6247,7 +6247,7 @@
limit=MagickResourceInfinity;
if (LocaleCompare("unlimited",argv[i+1]) != 0)
- limit=(MagickSizeType) SiPrefixToDouble(argv[i+1],100.0);
+ limit=(MagickSizeType) InterpretLocaleInterval(argv[i+1],100.0);
(void) SetMagickResourceLimit(MemoryResource,limit);
(void) SetMagickResourceLimit(MapResource,2*limit);
break;
@@ -6525,7 +6525,7 @@
(void) SetImageOption(image_info,option+1,"0");
break;
}
- image_info->fuzz=SiPrefixToDouble(argv[i+1],(double) QuantumRange+
+ image_info->fuzz=InterpretLocaleInterval(argv[i+1],(double) QuantumRange+
1.0);
(void) SetImageOption(image_info,option+1,argv[i+1]);
break;
@@ -6653,7 +6653,7 @@
MagickFalse,argv[i+1]);
limit=MagickResourceInfinity;
if (LocaleCompare("unlimited",argv[i+2]) != 0)
- limit=(MagickSizeType) SiPrefixToDouble(argv[i+2],100.0);
+ limit=(MagickSizeType) InterpretLocaleInterval(argv[i+2],100.0);
(void) SetMagickResourceLimit(type,limit);
break;
}
diff --git a/MagickWand/operation.c b/MagickWand/operation.c
index b2ad693..1b9e729 100644
--- a/MagickWand/operation.c
+++ b/MagickWand/operation.c
@@ -557,7 +557,7 @@
limit=MagickResourceInfinity;
if (LocaleCompare("unlimited",arg) != 0)
- limit=(MagickSizeType) SiPrefixToDouble(arg,100.0);
+ limit=(MagickSizeType) InterpretLocaleInterval(arg,100.0);
(void) SetMagickResourceLimit(MemoryResource,limit);
(void) SetMagickResourceLimit(MapResource,2*limit);
break;
@@ -832,7 +832,7 @@
*/
if (IfSetOption)
{
- image_info->fuzz=SiPrefixToDouble(arg,(double) QuantumRange+1.0);
+ image_info->fuzz=InterpretLocaleInterval(arg,(double) QuantumRange+1.0);
(void) SetImageOption(image_info,option,arg);
break;
}
@@ -965,7 +965,7 @@
MagickFalse,arg);
limit=MagickResourceInfinity;
if (LocaleCompare("unlimited",argv[2]) != 0)
- limit=(MagickSizeType) SiPrefixToDouble(argv[2],100.0);
+ limit=(MagickSizeType) InterpretLocaleInterval(argv[2],100.0);
(void) SetMagickResourceLimit(type,limit);
break;
}
@@ -2115,7 +2115,7 @@
if (*argv[0] == '+')
threshold=40.0*QuantumRange/100.0;
else
- threshold=SiPrefixToDouble(args[0],QuantumRange);
+ threshold=InterpretLocaleInterval(args[0],QuantumRange);
new_image=DeskewImage(*image,threshold,exception);
break;
}
@@ -2276,7 +2276,7 @@
(void) SyncImageSettings(image_info,*image,exception);
op=(MagickEvaluateOperator) ParseCommandOption(
MagickEvaluateOptions,MagickFalse,args[0]);
- constant=SiPrefixToDouble(argv[2],QuantumRange);
+ constant=InterpretLocaleInterval(argv[2],QuantumRange);
(void) EvaluateImage(*image,op,constant,exception);
break;
}
@@ -3218,7 +3218,7 @@
threshold;
(void) SyncImageSettings(image_info,*image,exception);
- threshold=SiPrefixToDouble(args[0],QuantumRange);
+ threshold=InterpretLocaleInterval(args[0],QuantumRange);
new_image=SepiaToneImage(*image,threshold,exception);
break;
}
@@ -3354,7 +3354,7 @@
threshold;
(void) SyncImageSettings(image_info,*image,exception);
- threshold=SiPrefixToDouble(args[0],QuantumRange);
+ threshold=InterpretLocaleInterval(args[0],QuantumRange);
(void) SolarizeImage(*image,threshold,exception);
break;
}
@@ -3433,7 +3433,7 @@
if (*argv[0] == '+')
threshold=(double) QuantumRange/2;
else
- threshold=SiPrefixToDouble(args[0],QuantumRange);
+ threshold=InterpretLocaleInterval(args[0],QuantumRange);
(void) BilevelImage(*image,threshold,exception);
break;
}
diff --git a/Makefile.in b/Makefile.in
index b7c8295..c6e861e 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -341,8 +341,8 @@
"$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)" \
"$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)" \
"$(DESTDIR)$(configlibdir)" "$(DESTDIR)$(configsharedir)" \
- "$(DESTDIR)$(docdir)" "$(DESTDIR)$(pkgconfigdir)" \
- "$(DESTDIR)$(MagickCoreincdir)" \
+ "$(DESTDIR)$(configsharearchdir)" "$(DESTDIR)$(docdir)" \
+ "$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(MagickCoreincdir)" \
"$(DESTDIR)$(MagickWandincdir)" "$(DESTDIR)$(includedir)" \
"$(DESTDIR)$(ltdlincludedir)" "$(DESTDIR)$(magickppincdir)" \
"$(DESTDIR)$(magickpptopincdir)"
@@ -2183,8 +2183,8 @@
man1dir = $(mandir)/man1
NROFF = nroff
MANS = $(man_MANS)
-DATA = $(configlib_DATA) $(configshare_DATA) $(doc_DATA) \
- $(pkgconfig_DATA)
+DATA = $(configlib_DATA) $(configshare_DATA) $(configsharearch_DATA) \
+ $(doc_DATA) $(pkgconfig_DATA)
am__include_HEADERS_DIST = ltdl/ltdl.h
am__ltdlinclude_HEADERS_DIST = ltdl/libltdl/lt_system.h \
ltdl/libltdl/lt_error.h ltdl/libltdl/lt_dlloader.h
@@ -2374,7 +2374,7 @@
ILBMDecodeDelegate = @ILBMDecodeDelegate@
ILBMEncodeDelegate = @ILBMEncodeDelegate@
INCLTDL = @INCLTDL@
-INCLUDEDIR_ARCH = @INCLUDEDIR_ARCH@
+INCLUDEARCH_DIR = @INCLUDEARCH_DIR@
INCLUDE_DIR = @INCLUDE_DIR@
INCLUDE_PATH = @INCLUDE_PATH@
INFO_DIR = @INFO_DIR@
@@ -2535,7 +2535,8 @@
SCANDecodeDelegate = @SCANDecodeDelegate@
SED = @SED@
SET_MAKE = @SET_MAKE@
-SHAREDIR_ARCH = @SHAREDIR_ARCH@
+SHAREARCH_DIR = @SHAREARCH_DIR@
+SHAREARCH_PATH = @SHAREARCH_PATH@
SHAREDSTATE_DIR = @SHAREDSTATE_DIR@
SHARE_PATH = @SHARE_PATH@
SHELL = @SHELL@
@@ -2776,12 +2777,18 @@
# (share/ImageMagick-version)
configsharedir = $(SHARE_PATH)
configshare_DATA = \
- config/configure.xml \
config/english.xml \
config/francais.xml \
config/locale.xml
+# Where architecture-independent configuration files get installed
+# (share/arch/ImageMagick-version)
+configsharearchdir = $(SHAREARCH_PATH)
+configsharearch_DATA = \
+ config/configure.xml
+
+
# Where architecture-dependent configuration files get installed
# (share/ImageMagick-version)
configlibdir = $(CONFIGURE_PATH)
@@ -10746,6 +10753,26 @@
test -n "$$files" || exit 0; \
echo " ( cd '$(DESTDIR)$(configsharedir)' && rm -f" $$files ")"; \
cd "$(DESTDIR)$(configsharedir)" && rm -f $$files
+install-configsharearchDATA: $(configsharearch_DATA)
+ @$(NORMAL_INSTALL)
+ test -z "$(configsharearchdir)" || $(MKDIR_P) "$(DESTDIR)$(configsharearchdir)"
+ @list='$(configsharearch_DATA)'; test -n "$(configsharearchdir)" || list=; \
+ for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(configsharearchdir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(configsharearchdir)" || exit $$?; \
+ done
+
+uninstall-configsharearchDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(configsharearch_DATA)'; test -n "$(configsharearchdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ test -n "$$files" || exit 0; \
+ echo " ( cd '$(DESTDIR)$(configsharearchdir)' && rm -f" $$files ")"; \
+ cd "$(DESTDIR)$(configsharearchdir)" && rm -f $$files
install-docDATA: $(doc_DATA)
@$(NORMAL_INSTALL)
test -z "$(docdir)" || $(MKDIR_P) "$(DESTDIR)$(docdir)"
@@ -11290,7 +11317,7 @@
install-binPROGRAMS: install-libLTLIBRARIES
installdirs:
- for dir in "$(DESTDIR)$(codersdir)" "$(DESTDIR)$(filtersdir)" "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(configlibdir)" "$(DESTDIR)$(configsharedir)" "$(DESTDIR)$(docdir)" "$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(MagickCoreincdir)" "$(DESTDIR)$(MagickWandincdir)" "$(DESTDIR)$(includedir)" "$(DESTDIR)$(ltdlincludedir)" "$(DESTDIR)$(magickppincdir)" "$(DESTDIR)$(magickpptopincdir)"; do \
+ for dir in "$(DESTDIR)$(codersdir)" "$(DESTDIR)$(filtersdir)" "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(configlibdir)" "$(DESTDIR)$(configsharedir)" "$(DESTDIR)$(configsharearchdir)" "$(DESTDIR)$(docdir)" "$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(MagickCoreincdir)" "$(DESTDIR)$(MagickWandincdir)" "$(DESTDIR)$(includedir)" "$(DESTDIR)$(ltdlincludedir)" "$(DESTDIR)$(magickppincdir)" "$(DESTDIR)$(magickpptopincdir)"; do \
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
install: $(BUILT_SOURCES)
@@ -11376,10 +11403,11 @@
install-data-am: install-MagickCoreincHEADERS \
install-MagickWandincHEADERS install-codersLTLIBRARIES \
install-configlibDATA install-configshareDATA \
- install-data-local install-docDATA install-filtersLTLIBRARIES \
- install-includeHEADERS install-ltdlincludeHEADERS \
- install-magickppincHEADERS install-magickpptopincHEADERS \
- install-man install-pkgconfigDATA
+ install-configsharearchDATA install-data-local install-docDATA \
+ install-filtersLTLIBRARIES install-includeHEADERS \
+ install-ltdlincludeHEADERS install-magickppincHEADERS \
+ install-magickpptopincHEADERS install-man \
+ install-pkgconfigDATA
install-dvi: install-dvi-am
@@ -11433,11 +11461,12 @@
uninstall-MagickWandincHEADERS uninstall-binPROGRAMS \
uninstall-binSCRIPTS uninstall-codersLTLIBRARIES \
uninstall-configlibDATA uninstall-configshareDATA \
- uninstall-docDATA uninstall-filtersLTLIBRARIES \
- uninstall-includeHEADERS uninstall-libLTLIBRARIES \
- uninstall-local uninstall-ltdlincludeHEADERS \
- uninstall-magickppincHEADERS uninstall-magickpptopincHEADERS \
- uninstall-man uninstall-pkgconfigDATA
+ uninstall-configsharearchDATA uninstall-docDATA \
+ uninstall-filtersLTLIBRARIES uninstall-includeHEADERS \
+ uninstall-libLTLIBRARIES uninstall-local \
+ uninstall-ltdlincludeHEADERS uninstall-magickppincHEADERS \
+ uninstall-magickpptopincHEADERS uninstall-man \
+ uninstall-pkgconfigDATA
uninstall-man: uninstall-man1
@@ -11457,9 +11486,10 @@
html-am info info-am install install-MagickCoreincHEADERS \
install-MagickWandincHEADERS install-am install-binPROGRAMS \
install-binSCRIPTS install-codersLTLIBRARIES \
- install-configlibDATA install-configshareDATA install-data \
- install-data-am install-data-local install-docDATA install-dvi \
- install-dvi-am install-exec install-exec-am install-exec-local \
+ install-configlibDATA install-configshareDATA \
+ install-configsharearchDATA install-data install-data-am \
+ install-data-local install-docDATA install-dvi install-dvi-am \
+ install-exec install-exec-am install-exec-local \
install-filtersLTLIBRARIES install-html install-html-am \
install-includeHEADERS install-info install-info-am \
install-libLTLIBRARIES install-ltdlincludeHEADERS \
@@ -11473,12 +11503,12 @@
uninstall-MagickCoreincHEADERS uninstall-MagickWandincHEADERS \
uninstall-am uninstall-binPROGRAMS uninstall-binSCRIPTS \
uninstall-codersLTLIBRARIES uninstall-configlibDATA \
- uninstall-configshareDATA uninstall-docDATA \
- uninstall-filtersLTLIBRARIES uninstall-includeHEADERS \
- uninstall-libLTLIBRARIES uninstall-local \
- uninstall-ltdlincludeHEADERS uninstall-magickppincHEADERS \
- uninstall-magickpptopincHEADERS uninstall-man uninstall-man1 \
- uninstall-pkgconfigDATA
+ uninstall-configshareDATA uninstall-configsharearchDATA \
+ uninstall-docDATA uninstall-filtersLTLIBRARIES \
+ uninstall-includeHEADERS uninstall-libLTLIBRARIES \
+ uninstall-local uninstall-ltdlincludeHEADERS \
+ uninstall-magickppincHEADERS uninstall-magickpptopincHEADERS \
+ uninstall-man uninstall-man1 uninstall-pkgconfigDATA
# We need the following in order to create an <argz.h> when the system
diff --git a/PerlMagick/Magick.xs b/PerlMagick/Magick.xs
index ecc723d..8bc91dd 100644
--- a/PerlMagick/Magick.xs
+++ b/PerlMagick/Magick.xs
@@ -1026,7 +1026,7 @@
%
*/
-static double SiPrefixToDouble(const char *string,const double interval)
+static double InterpretLocaleInterval(const char *string,const double interval)
{
char
*q;
@@ -1137,7 +1137,7 @@
limit=MagickResourceInfinity;
if (LocaleCompare(SvPV(sval,na),"unlimited") != 0)
- limit=(MagickSizeType) SiPrefixToDouble(SvPV(sval,na),100.0);
+ limit=(MagickSizeType) InterpretLocaleInterval(SvPV(sval,na),100.0);
(void) SetMagickResourceLimit(AreaResource,limit);
break;
}
@@ -1175,7 +1175,7 @@
if (LocaleCompare(attribute,"bias") == 0)
{
for ( ; image; image=image->next)
- image->bias=SiPrefixToDouble(SvPV(sval,na),QuantumRange);
+ image->bias=InterpretLocaleInterval(SvPV(sval,na),QuantumRange);
break;
}
if (LocaleCompare(attribute,"blue-primary") == 0)
@@ -1213,9 +1213,9 @@
if (LocaleCompare(attribute,"cache-threshold") == 0)
{
(void) SetMagickResourceLimit(MemoryResource,(MagickSizeType)
- SiPrefixToDouble(SvPV(sval,na),100.0));
+ InterpretLocaleInterval(SvPV(sval,na),100.0));
(void) SetMagickResourceLimit(MapResource,(MagickSizeType)
- (2*SiPrefixToDouble(SvPV(sval,na),100.0)));
+ (2*InterpretLocaleInterval(SvPV(sval,na),100.0)));
break;
}
if (LocaleCompare(attribute,"clip-mask") == 0)
@@ -1340,7 +1340,7 @@
limit=MagickResourceInfinity;
if (LocaleCompare(SvPV(sval,na),"unlimited") != 0)
- limit=(MagickSizeType) SiPrefixToDouble(SvPV(sval,na),100.0);
+ limit=(MagickSizeType) InterpretLocaleInterval(SvPV(sval,na),100.0);
(void) SetMagickResourceLimit(DiskResource,limit);
break;
}
@@ -1505,9 +1505,9 @@
if (LocaleCompare(attribute,"fuzz") == 0)
{
if (info)
- info->image_info->fuzz=SiPrefixToDouble(SvPV(sval,na),QuantumRange);
+ info->image_info->fuzz=InterpretLocaleInterval(SvPV(sval,na),QuantumRange);
for ( ; image; image=image->next)
- image->fuzz=SiPrefixToDouble(SvPV(sval,na),QuantumRange);
+ image->fuzz=InterpretLocaleInterval(SvPV(sval,na),QuantumRange);
break;
}
if (info)
@@ -1665,7 +1665,7 @@
limit=MagickResourceInfinity;
if (LocaleCompare(SvPV(sval,na),"unlimited") != 0)
- limit=(MagickSizeType) SiPrefixToDouble(SvPV(sval,na),100.0);
+ limit=(MagickSizeType) InterpretLocaleInterval(SvPV(sval,na),100.0);
(void) SetMagickResourceLimit(MapResource,limit);
break;
}
@@ -1712,7 +1712,7 @@
limit=MagickResourceInfinity;
if (LocaleCompare(SvPV(sval,na),"unlimited") != 0)
- limit=(MagickSizeType) SiPrefixToDouble(SvPV(sval,na),100.0);
+ limit=(MagickSizeType) InterpretLocaleInterval(SvPV(sval,na),100.0);
(void) SetMagickResourceLimit(MemoryResource,limit);
break;
}
@@ -2035,7 +2035,7 @@
limit=MagickResourceInfinity;
if (LocaleCompare(SvPV(sval,na),"unlimited") != 0)
- limit=(MagickSizeType) SiPrefixToDouble(SvPV(sval,na),100.0);
+ limit=(MagickSizeType) InterpretLocaleInterval(SvPV(sval,na),100.0);
(void) SetMagickResourceLimit(ThreadResource,limit);
break;
}
@@ -2060,7 +2060,7 @@
limit=MagickResourceInfinity;
if (LocaleCompare(SvPV(sval,na),"unlimited") != 0)
- limit=(MagickSizeType) SiPrefixToDouble(SvPV(sval,na),100.0);
+ limit=(MagickSizeType) InterpretLocaleInterval(SvPV(sval,na),100.0);
(void) SetMagickResourceLimit(TimeResource,limit);
break;
}
@@ -3180,7 +3180,7 @@
{
if (LocaleCompare(attribute,"fuzz") == 0)
{
- image->fuzz=SiPrefixToDouble(SvPV(ST(i),na),100.0);
+ image->fuzz=InterpretLocaleInterval(SvPV(ST(i),na),100.0);
break;
}
ThrowPerlException(exception,OptionError,"UnrecognizedAttribute",
@@ -7623,7 +7623,7 @@
geometry.y=argument_list[4].integer_reference;
if (attribute_flag[5] != 0)
image->fuzz=
- SiPrefixToDouble(argument_list[5].string_reference,QuantumRange);
+ InterpretLocaleInterval(argument_list[5].string_reference,QuantumRange);
image=CropImage(image,&geometry,exception);
break;
}
@@ -8222,7 +8222,7 @@
invert=MagickTrue;
}
if (attribute_flag[5] != 0)
- image->fuzz=SiPrefixToDouble(argument_list[5].string_reference,
+ image->fuzz=InterpretLocaleInterval(argument_list[5].string_reference,
QuantumRange);
if (attribute_flag[6] != 0)
invert=(MagickBooleanType) argument_list[6].integer_reference;
@@ -8258,7 +8258,7 @@
{
if (compose != DissolveCompositeOp)
(void) SetImageAlpha(composite_image,(Quantum)
- SiPrefixToDouble(argument_list[6].string_reference,
+ InterpretLocaleInterval(argument_list[6].string_reference,
QuantumRange),exception);
else
{
@@ -8286,7 +8286,7 @@
*/
(void) CloneString(&image->geometry,
argument_list[6].string_reference);
- opacity=(Quantum) SiPrefixToDouble(
+ opacity=(Quantum) InterpretLocaleInterval(
argument_list[6].string_reference,QuantumRange);
if (composite_image->matte != MagickTrue)
(void) SetImageAlpha(composite_image,OpaqueAlpha,exception);
@@ -8789,10 +8789,10 @@
QueryColorCompliance(argument_list[4].string_reference,
AllCompliance,&target,exception);
if (attribute_flag[3] != 0)
- target.alpha=SiPrefixToDouble(argument_list[3].string_reference,
+ target.alpha=InterpretLocaleInterval(argument_list[3].string_reference,
QuantumRange);
if (attribute_flag[5] != 0)
- image->fuzz=SiPrefixToDouble(argument_list[5].string_reference,
+ image->fuzz=InterpretLocaleInterval(argument_list[5].string_reference,
QuantumRange);
invert=MagickFalse;
if (attribute_flag[6] != 0)
@@ -8887,7 +8887,7 @@
(void) QueryColorCompliance(argument_list[1].string_reference,
AllCompliance,&fill_color,exception);
if (attribute_flag[2] != 0)
- image->fuzz=SiPrefixToDouble(argument_list[2].string_reference,
+ image->fuzz=InterpretLocaleInterval(argument_list[2].string_reference,
QuantumRange);
if (attribute_flag[3] != 0)
channel=(ChannelType) argument_list[3].integer_reference;
@@ -9006,7 +9006,7 @@
flags=ParseGeometry(argument_list[0].string_reference,
&geometry_info);
if (attribute_flag[1] != 0)
- geometry_info.rho=SiPrefixToDouble(
+ geometry_info.rho=InterpretLocaleInterval(
argument_list[1].string_reference,QuantumRange);
(void) SolarizeImage(image,geometry_info.rho,exception);
break;
@@ -9059,10 +9059,10 @@
AllCompliance,&target,exception);
opacity=TransparentAlpha;
if (attribute_flag[1] != 0)
- opacity=SiPrefixToDouble(argument_list[1].string_reference,
+ opacity=InterpretLocaleInterval(argument_list[1].string_reference,
QuantumRange);
if (attribute_flag[2] != 0)
- image->fuzz=SiPrefixToDouble(argument_list[2].string_reference,
+ image->fuzz=InterpretLocaleInterval(argument_list[2].string_reference,
QuantumRange);
if (attribute_flag[3] == 0)
argument_list[3].integer_reference=0;
@@ -9082,7 +9082,7 @@
argument_list[0].string_reference="50%";
if (attribute_flag[1] != 0)
channel=(ChannelType) argument_list[1].integer_reference;
- threshold=SiPrefixToDouble(argument_list[0].string_reference,
+ threshold=InterpretLocaleInterval(argument_list[0].string_reference,
QuantumRange);
channel_mask=SetPixelChannelMask(image,channel);
(void) BilevelImage(image,threshold,exception);
@@ -9111,7 +9111,7 @@
case 59: /* Trim */
{
if (attribute_flag[0] != 0)
- image->fuzz=SiPrefixToDouble(argument_list[0].string_reference,
+ image->fuzz=InterpretLocaleInterval(argument_list[0].string_reference,
QuantumRange);
image=TrimImage(image,exception);
break;
@@ -9247,7 +9247,7 @@
if (attribute_flag[1] != 0)
channel=(ChannelType) argument_list[1].integer_reference;
if (attribute_flag[2] != 0)
- image->bias=SiPrefixToDouble(argument_list[2].string_reference,
+ image->bias=InterpretLocaleInterval(argument_list[2].string_reference,
QuantumRange);
if (attribute_flag[3] != 0)
{
@@ -9600,7 +9600,7 @@
goto PerlException;
}
if (attribute_flag[1] != 0)
- image->fuzz=SiPrefixToDouble(argument_list[1].string_reference,
+ image->fuzz=InterpretLocaleInterval(argument_list[1].string_reference,
QuantumRange);
(void) IsImagesEqual(image,argument_list[0].image_reference,
exception);
@@ -9773,7 +9773,7 @@
if (attribute_flag[4] != 0)
geometry.y=argument_list[4].integer_reference;
if (attribute_flag[5] != 0)
- image->fuzz=SiPrefixToDouble(argument_list[5].string_reference,
+ image->fuzz=InterpretLocaleInterval(argument_list[5].string_reference,
QuantumRange);
if (attribute_flag[6] != 0)
(void) QueryColorCompliance(argument_list[6].string_reference,
@@ -9898,7 +9898,7 @@
if (attribute_flag[4] != 0)
geometry.y=argument_list[4].integer_reference;
if (attribute_flag[5] != 0)
- image->fuzz=SiPrefixToDouble(argument_list[5].string_reference,
+ image->fuzz=InterpretLocaleInterval(argument_list[5].string_reference,
QuantumRange);
if (attribute_flag[6] != 0)
(void) QueryColorCompliance(argument_list[6].string_reference,
@@ -10273,7 +10273,7 @@
QueryColorCompliance(argument_list[4].string_reference,
AllCompliance,&target,exception);
if (attribute_flag[5] != 0)
- image->fuzz=SiPrefixToDouble(argument_list[5].string_reference,
+ image->fuzz=InterpretLocaleInterval(argument_list[5].string_reference,
QuantumRange);
if (attribute_flag[6] != 0)
channel=(ChannelType) argument_list[6].integer_reference;
@@ -10392,7 +10392,7 @@
flags=ParseGeometry(argument_list[0].string_reference,
&geometry_info);
if (attribute_flag[1] != 0)
- geometry_info.rho=SiPrefixToDouble(
+ geometry_info.rho=InterpretLocaleInterval(
argument_list[1].string_reference,QuantumRange);
image=DeskewImage(image,geometry_info.rho,exception);
break;
diff --git a/coders/jpeg.c b/coders/jpeg.c
index ece1a9a..65549e5 100644
--- a/coders/jpeg.c
+++ b/coders/jpeg.c
@@ -1991,7 +1991,7 @@
Search for compression quality that does not exceed image extent.
*/
jpeg_info->quality=0;
- extent=(MagickSizeType) SiPrefixToDouble(option,100.0);
+ extent=(MagickSizeType) InterpretLocaleInterval(option,100.0);
(void) DeleteImageOption(jpeg_info,"jpeg:extent");
(void) AcquireUniqueFilename(jpeg_image->filename);
maximum=101;
diff --git a/coders/msl.c b/coders/msl.c
index c540367..b9de76e 100644
--- a/coders/msl.c
+++ b/coders/msl.c
@@ -8000,7 +8000,7 @@
limit=MagickResourceInfinity;
if (LocaleCompare(value,"unlimited") != 0)
- limit=(MagickSizeType) SiPrefixToDouble(value,100.0);
+ limit=(MagickSizeType) InterpretLocaleInterval(value,100.0);
(void) SetMagickResourceLimit(AreaResource,limit);
break;
}
@@ -8030,7 +8030,7 @@
{
if (image == (Image *) NULL)
break;
- image->bias=SiPrefixToDouble(value,QuantumRange);
+ image->bias=InterpretLocaleInterval(value,QuantumRange);
break;
}
if (LocaleCompare(keyword,"blue-primary") == 0)
diff --git a/config/Makefile.am b/config/Makefile.am
index e496fb8..9e4bc04 100644
--- a/config/Makefile.am
+++ b/config/Makefile.am
@@ -18,11 +18,16 @@
# (share/ImageMagick-version)
configsharedir = $(SHARE_PATH)
configshare_DATA = \
- config/configure.xml \
config/english.xml \
config/francais.xml \
config/locale.xml
+# Where architecture-independent configuration files get installed
+# (share/arch/ImageMagick-version)
+configsharearchdir = $(SHAREARCH_PATH)
+configsharearch_DATA = \
+ config/configure.xml
+
# Where architecture-dependent configuration files get installed
# (share/ImageMagick-version)
configlibdir = $(CONFIGURE_PATH)
diff --git a/config/config.h.in b/config/config.h.in
index 48c1bdd..4f621e4 100644
--- a/config/config.h.in
+++ b/config/config.h.in
@@ -895,6 +895,13 @@
#undef SELECT_TYPE_ARG5
/* Directory where architecture-independent configuration files live. */
+#undef SHAREARCH_PATH
+
+/* Subdirectory of lib where architecture-independent configuration files
+ live. */
+#undef SHAREARCH_RELATIVE_PATH
+
+/* Directory where architecture-independent configuration files live. */
#undef SHARE_PATH
/* Subdirectory of lib where architecture-independent configuration files
diff --git a/config/configure.xml b/config/configure.xml
index fca8b55..bd235cb 100644
--- a/config/configure.xml
+++ b/config/configure.xml
@@ -10,8 +10,8 @@
<configure name="VERSION" value="7.0.0"/>
<configure name="LIB_VERSION" value="0x700"/>
<configure name="LIB_VERSION_NUMBER" value="7,0,0,0"/>
- <configure name="SVN_REVISION" value="5819" />
- <configure name="RELEASE_DATE" value="2011-10-30"/>
+ <configure name="SVN_REVISION" value="5835" />
+ <configure name="RELEASE_DATE" value="2011-11-02"/>
<configure name="CONFIGURE" value="./configure "/>
<configure name="PREFIX" value="/usr/local"/>
<configure name="EXEC-PREFIX" value="/usr/local"/>
diff --git a/configure b/configure
index c99582d..cc20ec7 100755
--- a/configure
+++ b/configure
@@ -721,6 +721,7 @@
BZIPDelegate
BlenderDecodeDelegate
AutotraceDecodeDelegate
+SHAREARCH_PATH
SHARE_PATH
CONFIGURE_PATH
DOCUMENTATION_PATH
@@ -918,8 +919,8 @@
PTHREAD_LIBS
PTHREAD_CC
ax_pthread_config
-SHAREDIR_ARCH
-INCLUDEDIR_ARCH
+SHAREARCH_DIR
+INCLUDEARCH_DIR
WinPathScript
USING_CL_FALSE
USING_CL_TRUE
@@ -1086,8 +1087,8 @@
with_dmalloc
enable_bounds_checking
enable_osx_universal_binary
-with_includedir_arch
-with_sharedir_arch
+with_includearch_dir
+with_sharearch_dir
with_threads
enable_openmp
enable_opencl
@@ -1855,8 +1856,8 @@
--with-gnu-ld assume the C compiler uses GNU ld [default=no]
--with-dmalloc use dmalloc, as in
http://www.dmalloc.com/dmalloc.tar.gz
- --includedir-arch=DIR ARCH specific include directory
- --sharedir-arch=DIR ARCH specific config directory
+ --includearch-dir=DIR ARCH specific include directory
+ --sharearch-dir=DIR ARCH specific config directory
--without-threads disable threads support
--with-pic try to use only PIC/non-PIC objects [default=use
both]
@@ -3603,7 +3604,7 @@
MAGICK_LIBRARY_VERSION_INFO=$MAGICK_LIBRARY_CURRENT:$MAGICK_LIBRARY_REVISION:$MAGICK_LIBRARY_AGE
-MAGICK_SVN_REVISION=5819
+MAGICK_SVN_REVISION=5835
@@ -8260,31 +8261,31 @@
# ARCH specific include directory
#
-# Check whether --with-includedir-arch was given.
-if test "${with_includedir_arch+set}" = set; then :
- withval=$with_includedir_arch; includedir_arch=$withval
+# Check whether --with-includearch-dir was given.
+if test "${with_includearch_dir+set}" = set; then :
+ withval=$with_includearch_dir; includearch_dir=$withval
else
- includedir_arch=$INCLUDE_DIR
+ includearch_dir=$INCLUDE_DIR
fi
-eval "eval INCLUDEDIR_ARCH=$includedir_arch"
+eval "eval INCLUDEARCH_DIR=$includearch_dir"
#
# ARCH specific configuration directory
#
-# Check whether --with-sharedir-arch was given.
-if test "${with_sharedir_arch+set}" = set; then :
- withval=$with_sharedir_arch; sharedir_arch=$withval
+# Check whether --with-sharearch-dir was given.
+if test "${with_sharearch_dir+set}" = set; then :
+ withval=$with_sharearch_dir; sharearch_dir=$withval
else
- sharedir_arch="${DATA_DIR}"
+ sharearch_dir="${DATA_DIR}"
fi
-eval "eval SHAREDIR_ARCH=$sharedir_arch"
-SHAREDIR_ARCH="$sharedir_arch"
+eval "eval SHAREARCH_DIR=$sharearch_dir"
+SHAREARCH_DIR="$sharearch_dir"
#
@@ -31909,8 +31910,8 @@
# Path to ImageMagick header files
INCLUDE_RELATIVE_PATH="ImageMagick"
-INCLUDE_PATH="${INCLUDEDIR_ARCH}/${INCLUDE_RELATIVE_PATH}"
-DEFINE_INCLUDE_PATH="${INCLUDEDIR_ARCH}/${INCLUDE_RELATIVE_PATH}/"
+INCLUDE_PATH="${INCLUDEARCH_DIR}/${INCLUDE_RELATIVE_PATH}"
+DEFINE_INCLUDE_PATH="${INCLUDEARCH_DIR}/${INCLUDE_RELATIVE_PATH}/"
case "${build_os}" in
mingw* )
DEFINE_INCLUDE_PATH=`$WinPathScript "$DEFINE_INCLUDE_PATH" 1`
@@ -32050,7 +32051,7 @@
#define SHARE_RELATIVE_PATH "$SHARE_RELATIVE_PATH"
_ACEOF
-SHARE_PATH="${SHAREDIR_ARCH}/${SHARE_RELATIVE_PATH}"
+SHARE_PATH="${DATA_DIR}/${SHARE_RELATIVE_PATH}"
DEFINE_SHARE_PATH="${DATA_DIR}/${SHARE_RELATIVE_PATH}/"
case "${build_os}" in
mingw* )
@@ -32064,6 +32065,27 @@
+# Subdirectory to place architecture-independent configuration files
+SHAREARCH_RELATIVE_PATH="${LIBRARY_RELATIVE_PATH}"
+
+cat >>confdefs.h <<_ACEOF
+#define SHAREARCH_RELATIVE_PATH "$SHAREARCH_RELATIVE_PATH"
+_ACEOF
+
+SHAREARCH_PATH="${DATA_DIR}/${SHAREARCH_RELATIVE_PATH}"
+DEFINE_SHAREARCH_PATH="${DATA_DIR}/${SHAREARCH_RELATIVE_PATH}/"
+case "${build_os}" in
+ mingw* )
+ DEFINE_SHAREARCH_PATH=`$WinPathScript "$DEFINE_SHAREARCH_PATH" 1`
+ ;;
+esac
+
+cat >>confdefs.h <<_ACEOF
+#define SHAREARCH_PATH "$DEFINE_SHAREARCH_PATH"
+_ACEOF
+
+
+
#
# program_transform_name is formed for use in a Makefile, so create a
# modified version for use in a shell script.
diff --git a/configure.ac b/configure.ac
index c539308..e1d6ad3 100755
--- a/configure.ac
+++ b/configure.ac
@@ -379,27 +379,27 @@
#
# ARCH specific include directory
#
-AC_ARG_WITH([includedir-arch],
- [AC_HELP_STRING([--includedir-arch=DIR],
+AC_ARG_WITH([includearch-dir],
+ [AC_HELP_STRING([--includearch-dir=DIR],
[ARCH specific include directory])],
- [includedir_arch=$withval],
- [includedir_arch=$INCLUDE_DIR])
+ [includearch_dir=$withval],
+ [includearch_dir=$INCLUDE_DIR])
-eval "eval INCLUDEDIR_ARCH=$includedir_arch"
-AC_SUBST(INCLUDEDIR_ARCH)
+eval "eval INCLUDEARCH_DIR=$includearch_dir"
+AC_SUBST(INCLUDEARCH_DIR)
#
# ARCH specific configuration directory
#
-AC_ARG_WITH([sharedir-arch],
- [AC_HELP_STRING([--sharedir-arch=DIR],
+AC_ARG_WITH([sharearch-dir],
+ [AC_HELP_STRING([--sharearch-dir=DIR],
[ARCH specific config directory])],
- [sharedir_arch=$withval],
- [sharedir_arch="${DATA_DIR}"])
+ [sharearch_dir=$withval],
+ [sharearch_dir="${DATA_DIR}"])
-eval "eval SHAREDIR_ARCH=$sharedir_arch"
-SHAREDIR_ARCH="$sharedir_arch"
-AC_SUBST(SHAREDIR_ARCH)
+eval "eval SHAREARCH_DIR=$sharearch_dir"
+SHAREARCH_DIR="$sharearch_dir"
+AC_SUBST(SHAREARCH_DIR)
#
# Enable support for threads
@@ -2876,8 +2876,8 @@
# Path to ImageMagick header files
INCLUDE_RELATIVE_PATH="ImageMagick"
-INCLUDE_PATH="${INCLUDEDIR_ARCH}/${INCLUDE_RELATIVE_PATH}"
-DEFINE_INCLUDE_PATH="${INCLUDEDIR_ARCH}/${INCLUDE_RELATIVE_PATH}/"
+INCLUDE_PATH="${INCLUDEARCH_DIR}/${INCLUDE_RELATIVE_PATH}"
+DEFINE_INCLUDE_PATH="${INCLUDEARCH_DIR}/${INCLUDE_RELATIVE_PATH}/"
case "${build_os}" in
mingw* )
DEFINE_INCLUDE_PATH=`$WinPathScript "$DEFINE_INCLUDE_PATH" 1`
@@ -2969,7 +2969,7 @@
# Subdirectory to place architecture-independent configuration files
SHARE_RELATIVE_PATH="${LIBRARY_RELATIVE_PATH}"
AC_DEFINE_UNQUOTED(SHARE_RELATIVE_PATH,"$SHARE_RELATIVE_PATH",Subdirectory of lib where architecture-independent configuration files live.)
-SHARE_PATH="${SHAREDIR_ARCH}/${SHARE_RELATIVE_PATH}"
+SHARE_PATH="${DATA_DIR}/${SHARE_RELATIVE_PATH}"
DEFINE_SHARE_PATH="${DATA_DIR}/${SHARE_RELATIVE_PATH}/"
case "${build_os}" in
mingw* )
@@ -2979,6 +2979,19 @@
AC_DEFINE_UNQUOTED(SHARE_PATH,"$DEFINE_SHARE_PATH",Directory where architecture-independent configuration files live.)
AC_SUBST(SHARE_PATH)
+# Subdirectory to place architecture-independent configuration files
+SHAREARCH_RELATIVE_PATH="${LIBRARY_RELATIVE_PATH}"
+AC_DEFINE_UNQUOTED(SHAREARCH_RELATIVE_PATH,"$SHAREARCH_RELATIVE_PATH",Subdirectory of lib where architecture-independent configuration files live.)
+SHAREARCH_PATH="${DATA_DIR}/${SHAREARCH_RELATIVE_PATH}"
+DEFINE_SHAREARCH_PATH="${DATA_DIR}/${SHAREARCH_RELATIVE_PATH}/"
+case "${build_os}" in
+ mingw* )
+ DEFINE_SHAREARCH_PATH=`$WinPathScript "$DEFINE_SHAREARCH_PATH" 1`
+ ;;
+esac
+AC_DEFINE_UNQUOTED(SHAREARCH_PATH,"$DEFINE_SHAREARCH_PATH",Directory where architecture-independent configuration files live.)
+AC_SUBST(SHAREARCH_PATH)
+
#
# program_transform_name is formed for use in a Makefile, so create a
# modified version for use in a shell script.