Mercurial > mxe-octave
diff src/graphicsmagick-2-dynamicpath.patch @ 4773:7c3e3151bf58
graphicsmagic: enable modules, allow dynaic paths in windows
* src/graphicsmagick-2-dynamicpath.patch: new file
* dist-files.mk: ref graphicsmagick-2-dynamicpath.patch
* src/graphicsmagick.mk; enable modules
author | John Donoghue |
---|---|
date | Tue, 17 Jul 2018 11:41:39 -0400 |
parents | |
children | 7ac858194666 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/graphicsmagick-2-dynamicpath.patch Tue Jul 17 11:41:39 2018 -0400 @@ -0,0 +1,71 @@ +diff -ur GraphicsMagick-1.3.30.orig/magick/blob.c GraphicsMagick-1.3.30/magick/blob.c +--- GraphicsMagick-1.3.30.orig/magick/blob.c 2018-07-16 08:55:01.552444311 -0400 ++++ GraphicsMagick-1.3.30/magick/blob.c 2018-07-17 09:27:05.584144673 -0400 +@@ -1955,6 +1955,29 @@ + AddConfigurePath(path_map,&path_index,MagickLibConfigPath,exception); + # endif /* defined(MagickLibConfigPath) */ + ++#if defined(MSWINDOWS) ++ { ++ char buf[FILENAME_MAX+100]; ++ if (GetModuleFileName(NULL, buf, FILENAME_MAX + 1)) ++ { ++ char *ptr = strrchr(buf, '\\'); ++ if(ptr) { ++ *(ptr+1) = 0; ++ strcat(buf, "..\\lib\\"); ++ strcat(buf, MagickShareConfigSubDir); ++ strcat(buf, "\\"); ++ AddConfigurePath(path_map,&path_index,buf,exception); ++ ++ *(ptr+1) = 0; ++ strcat(buf, "..\\share\\"); ++ strcat(buf, MagickLibConfigSubDir); ++ strcat(buf, "\\"); ++ AddConfigurePath(path_map,&path_index,buf,exception); ++ } ++ } ++ } ++#endif ++ + # if defined(MSWINDOWS) && !(defined(MagickLibConfigPath) || defined(MagickShareConfigPath)) + { + char +Only in GraphicsMagick-1.3.30/magick: .blob.c.swp +diff -ur GraphicsMagick-1.3.30.orig/magick/module.c GraphicsMagick-1.3.30/magick/module.c +--- GraphicsMagick-1.3.30.orig/magick/module.c 2018-07-16 08:55:01.539443999 -0400 ++++ GraphicsMagick-1.3.30/magick/module.c 2018-07-17 08:22:22.161123799 -0400 +@@ -1021,6 +1021,33 @@ + start += length+1; + } + } ++#if defined(MSWINDOWS) ++ { ++ char buf[FILENAME_MAX+100]; ++ if (GetModuleFileName(NULL, buf, FILENAME_MAX + 1)) ++ { ++ char *ptr = strrchr(buf, '\\'); ++ if(ptr) ++ { ++ *(ptr+1) = 0; ++ strcat(buf, "..\\lib\\"); ++ switch (module_type) ++ { ++ case MagickCoderModule: ++ default: ++ strcat(buf, MagickCoderModulesSubdir); ++ break; ++ case MagickFilterModule: ++ strcat(buf, MagickFilterModulesSubdir); ++ break; ++ } ++ strcat(buf, "\\"); ++ AddModulePath(path_map,&path_index,buf,exception); ++ } ++ } ++ } ++#endif ++ + + #if defined(UseInstalledMagick) + # if defined(MagickCoderModulesPath)