Am 29.12.2012 um 03:35 schrieb Daniel Macks:

> On Fri, 28 Dec 2012 23:42:45 +0100, Peter Dyballa 
> <[email protected]> wrote:
> There is also the question what sense the imagemagick2-svg package 
> makes. It contains effectively two files:
>> 
>> -rwxr-xr-x  0 root   admin    1430 26 Dez 00:56 
>> ./sw/lib/ImageMagick-6.8.1/modules-Q16HDRI/coders/svg.la
>> -rwxr-xr-x  0 root   admin   74124 26 Dez 00:56 
>> ./sw/lib/ImageMagick-6.8.1/modules-Q16HDRI/coders/svg.so
>> 
>> It would make some sense to have sets ImageMagick package which 
>> either uses the ImageMagick code to handle SVG images or librsvg. 
> 
> It would seem that those two files are "the ImageMagick code to handle 
> SVG images", and that they have a number of non-trivial dependencies 
> beyond those of imagemagick itself. So if a user doesn't need svg 
> support, he can avoid installing that package and therefore not need to 
> haul in a whole dependency tree that would solely be used for a feature 
> he doesn't want. That's the whole point of having specialized support 
> as modular plugins rather than directly built into a monolithic binary. 

For the nox static libraries build, libtool in compile mode is invoked 239 
times. 39,955 C header files are used – some of course a few hundred times or 
such. This makes almost 170 C header files per C or C++ source code file. To 
compile the SVG module, 200 C header files are used (it's actually 172, some 
are included more than once, determined by setting CPPFLAGS to contain -H):

        /bin/sh ./libtool  --tag=CC   --mode=compile gcc-4 -std=gnu99 
-std=gnu99 -DHAVE_CONFIG_H -I. -I./config  -I./ltdl -I./ltdl  
-I/sw/include/pango-1.0 -I/sw/include -I/sw/include/freetype2 
-I/sw/include/cairo -I/sw/include/glib-2.0 -I/sw/lib/glib-2.0/include 
-I/usr/X11R6/include -I/usr/X11/include -I/sw/include -I/sw/include/graphviz 
-I/sw/include -H -I/sw/lib/pango-ft219/include -I/sw/lib/fontconfig2/include 
-I/sw/lib/freetype219/include -I/sw/lib/freetype219/include/freetype2 
-I/sw/include -I/sw/include/freetype2 -I/sw/include/libxml2  
-I/sw/include/OpenEXR -D_THREAD_SAFE -fopenmp -g -O2 -Wall -march=corei7 
-D_THREAD_SAFE -pthread -MT coders/magick_libMagickCore_Q16HDRI_la-svg.lo -MD 
-MP -MF coders/.deps/magick_libMagickCore_Q16HDRI_la-svg.Tpo -c -o 
coders/magick_libMagickCore_Q16HDRI_la-svg.lo `test -f 'coders/svg.c' || echo 
'./'`coders/svg.c
        libtool: compile:  gcc-4 -std=gnu99 -std=gnu99 -DHAVE_CONFIG_H -I. 
-I./config -I./ltdl -I./ltdl -I/sw/include/pango-1.0 -I/sw/include 
-I/sw/include/freetype2 -I/sw/include/cairo -I/sw/include/glib-2.0 
-I/sw/lib/glib-2.0/include -I/usr/X11R6/include -I/usr/X11/include 
-I/sw/include -I/sw/include/graphviz -I/sw/include -H 
-I/sw/lib/pango-ft219/include -I/sw/lib/fontconfig2/include 
-I/sw/lib/freetype219/include -I/sw/lib/freetype219/include/freetype2 
-I/sw/include -I/sw/include/freetype2 -I/sw/include/libxml2 
-I/sw/include/OpenEXR -D_THREAD_SAFE -fopenmp -g -O2 -Wall -march=corei7 
-D_THREAD_SAFE -pthread -MT coders/magick_libMagickCore_Q16HDRI_la-svg.lo -MD 
-MP -MF coders/.deps/magick_libMagickCore_Q16HDRI_la-svg.Tpo -c coders/svg.c -o 
coders/magick_libMagickCore_Q16HDRI_la-svg.o
        . ./magick/studio.h
        .. ./magick/magick-config.h
        ... ./magick/magick-baseconfig.h
        .. /sw/lib/gcc4.7/lib/gcc/i386-apple-darwin10.8.0/4.7.2/include/stdarg.h
        .. /usr/include/stdio.h
        ... /usr/include/_types.h
        .... /usr/include/sys/_types.h
        ..... /usr/include/sys/cdefs.h
        ..... /usr/include/machine/_types.h
        ...... /usr/include/i386/_types.h
        ... /usr/include/secure/_stdio.h
        .... /usr/include/secure/_common.h
        .. /usr/include/sys/stat.h
        ... /usr/include/Availability.h
        .... /usr/include/AvailabilityInternal.h
        ... /usr/include/sys/_structs.h
        .. /usr/include/stdlib.h
        ... /usr/include/sys/wait.h
        .... /usr/include/sys/signal.h
        ..... /usr/include/sys/appleapiopts.h
        ..... /usr/include/machine/signal.h
        ...... /usr/include/i386/signal.h
        ....... /usr/include/i386/_structs.h
        ..... /usr/include/sys/_structs.h
        ...... /usr/include/machine/_structs.h
        ....... /usr/include/i386/_structs.h
        ........ /usr/include/mach/i386/_structs.h
        .... /usr/include/sys/resource.h
        ..... /usr/include/sys/_structs.h
        .... /usr/include/machine/endian.h
        ..... /usr/include/i386/endian.h
        ...... /usr/include/sys/_endian.h
        ....... /usr/include/libkern/_OSByteOrder.h
        ........ /usr/include/libkern/i386/_OSByteOrder.h
        ... /usr/include/alloca.h
        ... /usr/include/machine/types.h
        .... /usr/include/i386/types.h
        .. /sw/lib/gcc4.7/lib/gcc/i386-apple-darwin10.8.0/4.7.2/include/stddef.h
        .. /usr/include/memory.h
        ... /usr/include/string.h
        .... /usr/include/secure/_string.h
        .. /usr/include/strings.h
        .. /usr/include/inttypes.h
        ... 
/sw/lib/gcc4.7/lib/gcc/i386-apple-darwin10.8.0/4.7.2/include/stdint.h
        .... 
/sw/lib/gcc4.7/lib/gcc/i386-apple-darwin10.8.0/4.7.2/include-fixed/stdint.h
        .. /usr/include/unistd.h
        ... /usr/include/sys/unistd.h
        ... /usr/include/sys/select.h
        .... /usr/include/sys/_structs.h
        .... /usr/include/sys/_select.h
        .. /usr/include/ctype.h
        ... /usr/include/runetype.h
        .. /usr/include/locale.h
        ... /usr/include/_locale.h
        .. /usr/include/errno.h
        ... /usr/include/sys/errno.h
        .. /usr/include/fcntl.h
        ... /usr/include/sys/fcntl.h
        .. /usr/include/math.h
        ... /usr/include/architecture/i386/math.h
        .... /usr/include/AvailabilityMacros.h
        .. /usr/include/time.h
        ... /usr/include/_structs.h
        .... /usr/include/sys/_structs.h
        .. 
/sw/lib/gcc4.7/lib/gcc/i386-apple-darwin10.8.0/4.7.2/include-fixed/limits.h
        ... 
/sw/lib/gcc4.7/lib/gcc/i386-apple-darwin10.8.0/4.7.2/include-fixed/syslimits.h
        .... 
/sw/lib/gcc4.7/lib/gcc/i386-apple-darwin10.8.0/4.7.2/include-fixed/limits.h
        ..... /usr/include/limits.h
        ...... /usr/include/machine/limits.h
        ....... /usr/include/i386/limits.h
        ........ /usr/include/i386/_limits.h
        ...... /usr/include/sys/syslimits.h
        .. /usr/include/signal.h
        .. /usr/include/assert.h
        .. /usr/include/xlocale.h
        ... /usr/include/_xlocale.h
        ... /usr/include/xlocale/_ctype.h
        ... /usr/include/xlocale/_inttypes.h
        ... /usr/include/xlocale/_stdio.h
        ... /usr/include/xlocale/_stdlib.h
        ... /usr/include/xlocale/_string.h
        ... /usr/include/xlocale/_time.h
        .. /usr/include/pthread.h
        ... /usr/include/pthread_impl.h
        ... /usr/include/sched.h
        .. /sw/lib/gcc4.7/lib/gcc/i386-apple-darwin10.8.0/4.7.2/include/omp.h
        .. ./magick/method-attribute.h
        .. /usr/include/sys/types.h
        ... /usr/include/sys/_structs.h
        .. /usr/include/sys/timeb.h
        .. /usr/include/dirent.h
        ... /usr/include/sys/dirent.h
        .. /usr/include/pwd.h
        .. ./magick/magick-type.h
        .. /usr/include/sys/time.h
        ... /usr/include/sys/_structs.h
        .. /usr/include/sys/times.h
        .. /usr/include/sys/mman.h
        . ./magick/annotate.h
        .. ./magick/draw.h
        ... ./magick/geometry.h
        ... ./magick/image.h
        .... ./magick/color.h
        ..... ./magick/pixel.h
        ...... ./magick/colorspace.h
        ...... ./magick/constitute.h
        ..... ./magick/exception.h
        ...... ./magick/semaphore.h
        .... ./magick/blob.h
        ..... ./magick/image.h
        ..... ./magick/stream.h
        .... ./magick/cache-view.h
        .... ./magick/composite.h
        .... ./magick/compress.h
        .... ./magick/effect.h
        ..... ./magick/morphology.h
        .... ./magick/layer.h
        .... ./magick/locale_.h
        ..... ./magick/hashmap.h
        .... ./magick/monitor.h
        .... ./magick/profile.h
        ..... ./magick/string_.h
        .... ./magick/quantum.h
        .... ./magick/resample.h
        .... ./magick/resize.h
        .... ./magick/timer.h
        ... ./magick/type.h
        . ./magick/artifact.h
        . ./magick/attribute.h
        . ./magick/blob-private.h
        . ./magick/cache.h
        . ./magick/composite-private.h
        .. ./magick/image-private.h
        .. ./magick/pixel-private.h
        ... ./magick/memory_.h
        ... ./magick/pixel-accessor.h
        .... ./magick/gem.h
        ..... ./magick/fx.h
        ..... ./magick/random_.h
        ... ./magick/quantum-private.h
        . ./magick/delegate.h
        . ./magick/delegate-private.h
        . ./magick/exception-private.h
        .. ./magick/log.h
        .. ./magick/magick.h
        . ./magick/list.h
        . ./magick/module.h
        .. ./magick/version.h
        . ./magick/monitor-private.h
        . ./magick/property.h
        . ./magick/resource_.h
        . ./magick/static.h
        . ./magick/string-private.h
        . ./magick/token.h
        . ./magick/utility.h
        . /sw/include/libxml2/libxml/parser.h
        .. /sw/include/libxml2/libxml/xmlversion.h
        ... /sw/include/libxml2/libxml/xmlexports.h
        .. /sw/include/libxml2/libxml/tree.h
        ... /sw/include/libxml2/libxml/xmlstring.h
        ... /sw/include/libxml2/libxml/xmlregexp.h
        .... /sw/include/libxml2/libxml/tree.h
        .... /sw/include/libxml2/libxml/dict.h
        .. /sw/include/libxml2/libxml/hash.h
        ... /sw/include/libxml2/libxml/parser.h
        .. /sw/include/libxml2/libxml/valid.h
        ... /sw/include/libxml2/libxml/xmlerror.h
        ... /sw/include/libxml2/libxml/list.h
        ... /sw/include/libxml2/libxml/xmlautomata.h
        .. /sw/include/libxml2/libxml/entities.h
        .. /sw/include/libxml2/libxml/xmlerror.h
        .. /sw/include/libxml2/libxml/encoding.h
        ... /sw/include/iconv.h
        .... 
/sw/lib/gcc4.7/lib/gcc/i386-apple-darwin10.8.0/4.7.2/include/stddef.h
        .... /usr/include/errno.h
        .. /sw/include/libxml2/libxml/xmlIO.h
        ... /sw/include/libxml2/libxml/globals.h
        .... /sw/include/libxml2/libxml/xmlerror.h
        .... /sw/include/libxml2/libxml/SAX.h
        ..... /sw/include/libxml2/libxml/xlink.h
        .... /sw/include/libxml2/libxml/SAX2.h
        .... /sw/include/libxml2/libxml/xmlmemory.h
        .... /sw/include/libxml2/libxml/threads.h
        ..... /sw/include/libxml2/libxml/globals.h
        . /sw/include/libxml2/libxml/parserInternals.h
        .. /sw/include/libxml2/libxml/HTMLparser.h
        .. /sw/include/libxml2/libxml/chvalid.h
        . /sw/include/libxml2/libxml/xmlerror.h
        Multiple include guards may be useful for:
        
/sw/lib/gcc4.7/lib/gcc/i386-apple-darwin10.8.0/4.7.2/include-fixed/syslimits.h
        /usr/include/_structs.h
        /usr/include/assert.h
        /usr/include/fcntl.h
        /usr/include/inttypes.h
        /usr/include/machine/_structs.h
        /usr/include/machine/limits.h
        /usr/include/memory.h
        /usr/include/secure/_stdio.h
        /usr/include/secure/_string.h
        /usr/include/strings.h
        mv -f coders/.deps/magick_libMagickCore_Q16HDRI_la-svg.Tpo 
coders/.deps/magick_libMagickCore_Q16HDRI_la-svg.Plo

The C header files used here, minus those from GCC, are used during the whole 
build process that many times:

        ./magick/annotate.h                                   63
        ./magick/artifact.h                                   78
        ./magick/attribute.h                                  90
        ./magick/blob-private.h                              132
        ./magick/blob.h                                      374
        ./magick/cache-view.h                                243
        ./magick/cache.h                                     221
        ./magick/color.h                                     243
        ./magick/colorspace.h                                243
        ./magick/composite-private.h                          19
        ./magick/composite.h                                 243
        ./magick/compress.h                                  243
        ./magick/constitute.h                                243
        ./magick/delegate-private.h                            3
        ./magick/delegate.h                                   69
        ./magick/draw.h                                      217
        ./magick/effect.h                                    243
        ./magick/exception-private.h                         197
        ./magick/exception.h                                 249
        ./magick/fx.h                                        213
        ./magick/gem.h                                       213
        ./magick/geometry.h                                  243
        ./magick/hashmap.h                                   246
        ./magick/image-private.h                             161
        ./magick/image.h                                     486
        ./magick/layer.h                                     243
        ./magick/list.h                                      201
        ./magick/locale_.h                                   245
        ./magick/log.h                                       246
        ./magick/magick-baseconfig.h                         250
        ./magick/magick-config.h                             250
        ./magick/magick-type.h                               250
        ./magick/magick.h                                    244
        ./magick/memory_.h                                   245
        ./magick/method-attribute.h                          250
        ./magick/module.h                                    169
        ./magick/monitor-private.h                           129
        ./magick/monitor.h                                   243
        ./magick/morphology.h                                243
        ./magick/pixel-accessor.h                            210
        ./magick/pixel-private.h                              60
        ./magick/pixel.h                                     243
        ./magick/profile.h                                   243
        ./magick/property.h                                  127
        ./magick/quantum-private.h                           157
        ./magick/quantum.h                                   243
        ./magick/random_.h                                   217
        ./magick/resample.h                                  243
        ./magick/resize.h                                    243
        ./magick/resource_.h                                 139
        ./magick/semaphore.h                                 249
        ./magick/static.h                                    115
        ./magick/stream.h                                    243
        ./magick/string-private.h                             65
        ./magick/string_.h                                   249
        ./magick/studio.h                                    202
        ./magick/timer.h                                     244
        ./magick/token.h                                      97
        ./magick/type.h                                      217
        ./magick/utility.h                                   150
        ./magick/version.h                                   180
        /sw/include/iconv.h                                    3
        /sw/include/libxml2/libxml/HTMLparser.h                2
        /sw/include/libxml2/libxml/SAX.h                       3
        /sw/include/libxml2/libxml/SAX2.h                      3
        /sw/include/libxml2/libxml/chvalid.h                   2
        /sw/include/libxml2/libxml/dict.h                      3
        /sw/include/libxml2/libxml/encoding.h                  3
        /sw/include/libxml2/libxml/entities.h                  3
        /sw/include/libxml2/libxml/globals.h                   6
        /sw/include/libxml2/libxml/hash.h                      3
        /sw/include/libxml2/libxml/list.h                      3
        /sw/include/libxml2/libxml/parser.h                    6
        /sw/include/libxml2/libxml/parserInternals.h           2
        /sw/include/libxml2/libxml/threads.h                   3
        /sw/include/libxml2/libxml/tree.h                      6
        /sw/include/libxml2/libxml/valid.h                     3
        /sw/include/libxml2/libxml/xlink.h                     3
        /sw/include/libxml2/libxml/xmlIO.h                     3
        /sw/include/libxml2/libxml/xmlautomata.h               3
        /sw/include/libxml2/libxml/xmlerror.h                 11
        /sw/include/libxml2/libxml/xmlexports.h                3
        /sw/include/libxml2/libxml/xmlmemory.h                 3
        /sw/include/libxml2/libxml/xmlregexp.h                 3
        /sw/include/libxml2/libxml/xmlstring.h                 3
        /sw/include/libxml2/libxml/xmlversion.h                3
        /usr/include/Availability.h                          250
        /usr/include/AvailabilityInternal.h                  250
        /usr/include/AvailabilityMacros.h                    250
        /usr/include/_locale.h                               248
        /usr/include/_structs.h                              250
        /usr/include/_types.h                                250
        /usr/include/_xlocale.h                              233
        /usr/include/alloca.h                                250
        /usr/include/architecture/i386/math.h                250
        /usr/include/assert.h                                236
        /usr/include/ctype.h                                 248
        /usr/include/dirent.h                                233
        /usr/include/errno.h                                 240
        /usr/include/fcntl.h                                 234
        /usr/include/i386/_limits.h                          233
        /usr/include/i386/_structs.h                         500
        /usr/include/i386/_types.h                           250
        /usr/include/i386/endian.h                           250
        /usr/include/i386/limits.h                           233
        /usr/include/i386/signal.h                           250
        /usr/include/i386/types.h                            250
        /usr/include/inttypes.h                              234
        /usr/include/libkern/_OSByteOrder.h                  250
        /usr/include/libkern/i386/_OSByteOrder.h             250
        /usr/include/limits.h                                233
        /usr/include/locale.h                                248
        /usr/include/mach/i386/_structs.h                    250
        /usr/include/machine/_structs.h                      250
        /usr/include/machine/_types.h                        250
        /usr/include/machine/endian.h                        250
        /usr/include/machine/limits.h                        233
        /usr/include/machine/signal.h                        250
        /usr/include/machine/types.h                         250
        /usr/include/math.h                                  250
        /usr/include/memory.h                                233
        /usr/include/pthread.h                               248
        /usr/include/pthread_impl.h                          248
        /usr/include/pwd.h                                   233
        /usr/include/runetype.h                              248
        /usr/include/sched.h                                 248
        /usr/include/secure/_common.h                        234
        /usr/include/secure/_stdio.h                         234
        /usr/include/secure/_string.h                        234
        /usr/include/signal.h                                233
        /usr/include/stdio.h                                 250
        /usr/include/stdlib.h                                250
        /usr/include/string.h                                243
        /usr/include/strings.h                               234
        /usr/include/sys/_endian.h                           250
        /usr/include/sys/_select.h                           233
        /usr/include/sys/_structs.h                         1699
        /usr/include/sys/_types.h                            250
        /usr/include/sys/appleapiopts.h                      250
        /usr/include/sys/cdefs.h                             251
        /usr/include/sys/dirent.h                            233
        /usr/include/sys/errno.h                             235
        /usr/include/sys/fcntl.h                             233
        /usr/include/sys/mman.h                              233
        /usr/include/sys/resource.h                          250
        /usr/include/sys/select.h                            233
        /usr/include/sys/signal.h                            250
        /usr/include/sys/stat.h                              233
        /usr/include/sys/syslimits.h                         233
        /usr/include/sys/time.h                              233
        /usr/include/sys/timeb.h                             233
        /usr/include/sys/times.h                             233
        /usr/include/sys/types.h                             250
        /usr/include/sys/unistd.h                            233
        /usr/include/sys/wait.h                              250
        /usr/include/time.h                                  250
        /usr/include/unistd.h                                233
        /usr/include/xlocale.h                               233
        /usr/include/xlocale/_ctype.h                        233
        /usr/include/xlocale/_inttypes.h                     233
        /usr/include/xlocale/_stdio.h                        233
        /usr/include/xlocale/_stdlib.h                       233
        /usr/include/xlocale/_string.h                       233
        /usr/include/xlocale/_time.h                         233

So it might be likely that to build the SVG module libiconv and libxml could be 
the extra requisites, but  /sw/include/iconv.h is also used for coders/msl.c 
and coders/url.c; /sw/include/libxml2/libxml/HTMLparser.h, 
/sw/include/libxml2/libxml/chvalid.h, 
/sw/include/libxml2/libxml/parserInternals.h for coders/msl.c; etc. The file 
coders/msl.c handles the execution of "Magick Scripting Language Scripts", so 
it's a piece of ImageMagick's core.

IMO there is no extra effort and there are no extra dependencies in building 
ImageMagick's SVG module. They arise when Cairo or librsvg are used as 
delegates to read and write SVG files.

--
Greetings

  Pete

Sending unsolicited commercial eMail to this account incurs a fee of € 500 per 
message and acknowledges the legality of this contract.


------------------------------------------------------------------------------
Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS,
MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current
with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft
MVPs and experts. SALE $99.99 this month only -- learn more at:
http://p.sf.net/sfu/learnmore_122912
_______________________________________________
Fink-users mailing list
[email protected]
List archive:
http://news.gmane.org/gmane.os.macosx.fink.user
Subscription management:
https://lists.sourceforge.net/lists/listinfo/fink-users

Reply via email to