diff options
Diffstat (limited to 'Build/source/libs/gd/libgd-src/docs')
12 files changed, 1041 insertions, 0 deletions
diff --git a/Build/source/libs/gd/libgd-src/docs/INSTALL b/Build/source/libs/gd/libgd-src/docs/INSTALL new file mode 100644 index 00000000000..a1e89e18ad2 --- /dev/null +++ b/Build/source/libs/gd/libgd-src/docs/INSTALL @@ -0,0 +1,370 @@ +Installation Instructions +************************* + +Copyright (C) 1994-1996, 1999-2002, 2004-2011 Free Software Foundation, +Inc. + + Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. This file is offered as-is, +without warranty of any kind. + +Basic Installation +================== + + Briefly, the shell commands `./configure; make; make install' should +configure, build, and install this package. The following +more-detailed instructions are generic; see the `README' file for +instructions specific to this package. Some packages provide this +`INSTALL' file but do not implement all of the features documented +below. The lack of an optional feature in a given package is not +necessarily a bug. More recommendations for GNU packages can be found +in *note Makefile Conventions: (standards)Makefile Conventions. + + The `configure' shell script attempts to guess correct values for +various system-dependent variables used during compilation. It uses +those values to create a `Makefile' in each directory of the package. +It may also create one or more `.h' files containing system-dependent +definitions. Finally, it creates a shell script `config.status' that +you can run in the future to recreate the current configuration, and a +file `config.log' containing compiler output (useful mainly for +debugging `configure'). + + It can also use an optional file (typically called `config.cache' +and enabled with `--cache-file=config.cache' or simply `-C') that saves +the results of its tests to speed up reconfiguring. Caching is +disabled by default to prevent problems with accidental use of stale +cache files. + + If you need to do unusual things to compile the package, please try +to figure out how `configure' could check whether to do them, and mail +diffs or instructions to the address given in the `README' so they can +be considered for the next release. If you are using the cache, and at +some point `config.cache' contains results you don't want to keep, you +may remove or edit it. + + The file `configure.ac' (or `configure.in') is used to create +`configure' by a program called `autoconf'. You need `configure.ac' if +you want to change it or regenerate `configure' using a newer version +of `autoconf'. + + The simplest way to compile this package is: + + 1. `cd' to the directory containing the package's source code and type + `./configure' to configure the package for your system. + + Running `configure' might take a while. While running, it prints + some messages telling which features it is checking for. + + 2. Type `make' to compile the package. + + 3. Optionally, type `make check' to run any self-tests that come with + the package, generally using the just-built uninstalled binaries. + + 4. Type `make install' to install the programs and any data files and + documentation. When installing into a prefix owned by root, it is + recommended that the package be configured and built as a regular + user, and only the `make install' phase executed with root + privileges. + + 5. Optionally, type `make installcheck' to repeat any self-tests, but + this time using the binaries in their final installed location. + This target does not install anything. Running this target as a + regular user, particularly if the prior `make install' required + root privileges, verifies that the installation completed + correctly. + + 6. You can remove the program binaries and object files from the + source code directory by typing `make clean'. To also remove the + files that `configure' created (so you can compile the package for + a different kind of computer), type `make distclean'. There is + also a `make maintainer-clean' target, but that is intended mainly + for the package's developers. If you use it, you may have to get + all sorts of other programs in order to regenerate files that came + with the distribution. + + 7. Often, you can also type `make uninstall' to remove the installed + files again. In practice, not all packages have tested that + uninstallation works correctly, even though it is required by the + GNU Coding Standards. + + 8. Some packages, particularly those that use Automake, provide `make + distcheck', which can by used by developers to test that all other + targets like `make install' and `make uninstall' work correctly. + This target is generally not run by end users. + +Compilers and Options +===================== + + Some systems require unusual options for compilation or linking that +the `configure' script does not know about. Run `./configure --help' +for details on some of the pertinent environment variables. + + You can give `configure' initial values for configuration parameters +by setting variables in the command line or in the environment. Here +is an example: + + ./configure CC=c99 CFLAGS=-g LIBS=-lposix + + *Note Defining Variables::, for more details. + +Compiling For Multiple Architectures +==================================== + + You can compile the package for more than one kind of computer at the +same time, by placing the object files for each architecture in their +own directory. To do this, you can use GNU `make'. `cd' to the +directory where you want the object files and executables to go and run +the `configure' script. `configure' automatically checks for the +source code in the directory that `configure' is in and in `..'. This +is known as a "VPATH" build. + + With a non-GNU `make', it is safer to compile the package for one +architecture at a time in the source code directory. After you have +installed the package for one architecture, use `make distclean' before +reconfiguring for another architecture. + + On MacOS X 10.5 and later systems, you can create libraries and +executables that work on multiple system types--known as "fat" or +"universal" binaries--by specifying multiple `-arch' options to the +compiler but only a single `-arch' option to the preprocessor. Like +this: + + ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ + CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ + CPP="gcc -E" CXXCPP="g++ -E" + + This is not guaranteed to produce working output in all cases, you +may have to build one architecture at a time and combine the results +using the `lipo' tool if you have problems. + +Installation Names +================== + + By default, `make install' installs the package's commands under +`/usr/local/bin', include files under `/usr/local/include', etc. You +can specify an installation prefix other than `/usr/local' by giving +`configure' the option `--prefix=PREFIX', where PREFIX must be an +absolute file name. + + You can specify separate installation prefixes for +architecture-specific files and architecture-independent files. If you +pass the option `--exec-prefix=PREFIX' to `configure', the package uses +PREFIX as the prefix for installing programs and libraries. +Documentation and other data files still use the regular prefix. + + In addition, if you use an unusual directory layout you can give +options like `--bindir=DIR' to specify different values for particular +kinds of files. Run `configure --help' for a list of the directories +you can set and what kinds of files go in them. In general, the +default for these options is expressed in terms of `${prefix}', so that +specifying just `--prefix' will affect all of the other directory +specifications that were not explicitly provided. + + The most portable way to affect installation locations is to pass the +correct locations to `configure'; however, many packages provide one or +both of the following shortcuts of passing variable assignments to the +`make install' command line to change installation locations without +having to reconfigure or recompile. + + The first method involves providing an override variable for each +affected directory. For example, `make install +prefix=/alternate/directory' will choose an alternate location for all +directory configuration variables that were expressed in terms of +`${prefix}'. Any directories that were specified during `configure', +but not in terms of `${prefix}', must each be overridden at install +time for the entire installation to be relocated. The approach of +makefile variable overrides for each directory variable is required by +the GNU Coding Standards, and ideally causes no recompilation. +However, some platforms have known limitations with the semantics of +shared libraries that end up requiring recompilation when using this +method, particularly noticeable in packages that use GNU Libtool. + + The second method involves providing the `DESTDIR' variable. For +example, `make install DESTDIR=/alternate/directory' will prepend +`/alternate/directory' before all installation names. The approach of +`DESTDIR' overrides is not required by the GNU Coding Standards, and +does not work on platforms that have drive letters. On the other hand, +it does better at avoiding recompilation issues, and works well even +when some directory options were not specified in terms of `${prefix}' +at `configure' time. + +Optional Features +================= + + If the package supports it, you can cause programs to be installed +with an extra prefix or suffix on their names by giving `configure' the +option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. + + Some packages pay attention to `--enable-FEATURE' options to +`configure', where FEATURE indicates an optional part of the package. +They may also pay attention to `--with-PACKAGE' options, where PACKAGE +is something like `gnu-as' or `x' (for the X Window System). The +`README' should mention any `--enable-' and `--with-' options that the +package recognizes. + + For packages that use the X Window System, `configure' can usually +find the X include and library files automatically, but if it doesn't, +you can use the `configure' options `--x-includes=DIR' and +`--x-libraries=DIR' to specify their locations. + + Some packages offer the ability to configure how verbose the +execution of `make' will be. For these packages, running `./configure +--enable-silent-rules' sets the default to minimal output, which can be +overridden with `make V=1'; while running `./configure +--disable-silent-rules' sets the default to verbose, which can be +overridden with `make V=0'. + +Particular systems +================== + + On HP-UX, the default C compiler is not ANSI C compatible. If GNU +CC is not installed, it is recommended to use the following options in +order to use an ANSI C compiler: + + ./configure CC="cc -Ae -D_XOPEN_SOURCE=500" + +and if that doesn't work, install pre-built binaries of GCC for HP-UX. + + HP-UX `make' updates targets which have the same time stamps as +their prerequisites, which makes it generally unusable when shipped +generated files such as `configure' are involved. Use GNU `make' +instead. + + On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot +parse its `<wchar.h>' header file. The option `-nodtk' can be used as +a workaround. If GNU CC is not installed, it is therefore recommended +to try + + ./configure CC="cc" + +and if that doesn't work, try + + ./configure CC="cc -nodtk" + + On Solaris, don't put `/usr/ucb' early in your `PATH'. This +directory contains several dysfunctional programs; working variants of +these programs are available in `/usr/bin'. So, if you need `/usr/ucb' +in your `PATH', put it _after_ `/usr/bin'. + + On Haiku, software installed for all users goes in `/boot/common', +not `/usr/local'. It is recommended to use the following options: + + ./configure --prefix=/boot/common + +Specifying the System Type +========================== + + There may be some features `configure' cannot figure out +automatically, but needs to determine by the type of machine the package +will run on. Usually, assuming the package is built to be run on the +_same_ architectures, `configure' can figure that out, but if it prints +a message saying it cannot guess the machine type, give it the +`--build=TYPE' option. TYPE can either be a short name for the system +type, such as `sun4', or a canonical name which has the form: + + CPU-COMPANY-SYSTEM + +where SYSTEM can have one of these forms: + + OS + KERNEL-OS + + See the file `config.sub' for the possible values of each field. If +`config.sub' isn't included in this package, then this package doesn't +need to know the machine type. + + If you are _building_ compiler tools for cross-compiling, you should +use the option `--target=TYPE' to select the type of system they will +produce code for. + + If you want to _use_ a cross compiler, that generates code for a +platform different from the build platform, you should specify the +"host" platform (i.e., that on which the generated programs will +eventually be run) with `--host=TYPE'. + +Sharing Defaults +================ + + If you want to set default values for `configure' scripts to share, +you can create a site shell script called `config.site' that gives +default values for variables like `CC', `cache_file', and `prefix'. +`configure' looks for `PREFIX/share/config.site' if it exists, then +`PREFIX/etc/config.site' if it exists. Or, you can set the +`CONFIG_SITE' environment variable to the location of the site script. +A warning: not all `configure' scripts look for a site script. + +Defining Variables +================== + + Variables not defined in a site shell script can be set in the +environment passed to `configure'. However, some packages may run +configure again during the build, and the customized values of these +variables may be lost. In order to avoid this problem, you should set +them in the `configure' command line, using `VAR=value'. For example: + + ./configure CC=/usr/local2/bin/gcc + +causes the specified `gcc' to be used as the C compiler (unless it is +overridden in the site shell script). + +Unfortunately, this technique does not work for `CONFIG_SHELL' due to +an Autoconf bug. Until the bug is fixed you can use this workaround: + + CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash + +`configure' Invocation +====================== + + `configure' recognizes the following options to control how it +operates. + +`--help' +`-h' + Print a summary of all of the options to `configure', and exit. + +`--help=short' +`--help=recursive' + Print a summary of the options unique to this package's + `configure', and exit. The `short' variant lists options used + only in the top level, while the `recursive' variant lists options + also present in any nested packages. + +`--version' +`-V' + Print the version of Autoconf used to generate the `configure' + script, and exit. + +`--cache-file=FILE' + Enable the cache: use and save the results of the tests in FILE, + traditionally `config.cache'. FILE defaults to `/dev/null' to + disable caching. + +`--config-cache' +`-C' + Alias for `--cache-file=config.cache'. + +`--quiet' +`--silent' +`-q' + Do not print messages saying which checks are being made. To + suppress all normal output, redirect it to `/dev/null' (any error + messages will still be shown). + +`--srcdir=DIR' + Look for the package's source code in directory DIR. Usually + `configure' can determine that directory automatically. + +`--prefix=DIR' + Use DIR as the installation prefix. *note Installation Names:: + for more details, including other options available for fine-tuning + the installation locations. + +`--no-create' +`-n' + Run the configure checks, but stop before creating any output + files. + +`configure' also accepts some other, not widely useful, options. Run +`configure --help' for more details. + diff --git a/Build/source/libs/gd/libgd-src/docs/INSTALL.Solaris b/Build/source/libs/gd/libgd-src/docs/INSTALL.Solaris new file mode 100644 index 00000000000..d6b5bd1adac --- /dev/null +++ b/Build/source/libs/gd/libgd-src/docs/INSTALL.Solaris @@ -0,0 +1,16 @@ +Solaris CAVEATS +=============== + +If you are using GNU iconv library installed in f.e. /opt, you will +need to add the header location to CMAKE= in configure invokation to +ensure that the system iconv.h header is not used when searching for +iconv library. + +The resulting ./configure invokation would look something like this: + +MAKE=gmake CC="gcc -m64" ./configure --prefix=/opt/local \ +CFLAGS="-I/opt/local/include -DHAVE_ICONV -O2 -fomit-frame-pointer -pipe -m64" \ +--with-png=/usr --with-freetype=/opt/local + +For more information and discussion see: +https://bitbucket.org/libgd/gd-libgd/issue/76 diff --git a/Build/source/libs/gd/libgd-src/docs/README.CMAKE b/Build/source/libs/gd/libgd-src/docs/README.CMAKE new file mode 100644 index 00000000000..884f6b2bf1b --- /dev/null +++ b/Build/source/libs/gd/libgd-src/docs/README.CMAKE @@ -0,0 +1,39 @@ +|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+$Id$
+Tobuild GD using CMake, all you need is (add the cmake options if you need any
+or if the default libs and include paths are not the default) :
+
+In a sub directory:
+$ mkdir bld
+$ cd bld
+$ cmake -DBUILD_TEST=1 <options>
+
+The available options are:
+ENABLE_PNG=1
+ENABLE_JPEG=1
+ENABLE_TIFF=1
+ENABLE_FREETYPE=1
+ENABLE_FONTCONFIG=1
+ENABLE_XPM=1
+
+You can optionnally run our tests suite using:
+$ ctest .
+
+Or if you like to build in the source tree:
+$ cmake -DBUILD_TEST=1 .
+$ ctest .
+
+Add "-DCMAKE_BUILD_TYPE=DEBUG" if you like to have a debug version.
+
+
+Typical usage with only PNG enabled:
+
+This command generates VS7 project files and add some custom libraries and includes directories (libpng in this case):
+
+cmake -DCMAKE_GENERATOR="Visual Studio 7 .NET 2003" -DENABLE_PNG=1 -DCMAKE_LIBRARY_PATH=c:\gd_build\gd_deps\lib -DCMAKE_INCLUDE_PATH=c:\gd_build\gd_deps\include c:\libgd_src
+
+A typical CMake call to build using the MinGW tools:
+
+cmake -G"MinGW Makefiles" -DCMAKE_LIBRARY_PATH=c:\mingw\lib -DCMAKE_INCLUDE_PATH=c:\MinGW\include -DENABLE_JPEG=On -DBUILD_TEST=On -DCMAKE_RELEASE_TYPE=DEBUG ..\libgd_head
+
+Given that your MinGW install is under c:\mingw and that you install all libraries using the /usr prefix
diff --git a/Build/source/libs/gd/libgd-src/docs/README.JPN b/Build/source/libs/gd/libgd-src/docs/README.JPN new file mode 100644 index 00000000000..ed7a2a8285c --- /dev/null +++ b/Build/source/libs/gd/libgd-src/docs/README.JPN @@ -0,0 +1,39 @@ + gd $B%i%$%V%i%j$GF|K\8lJ8;zNs$r;H$&>e$G$NCm0U;v9`(B
+
+ $B;32l@5?M(B (ma@yama-ga.com)
+
+
+gd-1.7.0 $B$+$i$O$=$N$^$^$G(B gdImageStringTTF() $B$KBP$7$F(B
+SJIS encoding $B$N%U%)%s%H$,;HMQ$G$-$^$9!#(B
+
+ $B"((B Unicode encoding $B$N%U%)%s%H$KBP$7$F$OF|K\8lJ8;zNs$r(B UTF-8 $B$G(B
+ $B;XDj$9$l$PF|K\8l$,I=<($G$-$^$9!#(B
+
+$B$D$^$j(B gdImageStringTTF() $B$G(B SJIS encoding $B$N%U%)%s%H$r;XDj$9$k$H(B
+$BJ8;zNs$OL5>r7o$KF|K\8l$G$"$k$H2r<a$5$l!"4A;z%3!<%I(B (EUC, SJIS, 7bit JIS)
+$B$,<+F0H=JL$5$l$FE,@Z$K=hM}$5$l$^$9!#(B
+
+$B99$K(B UNICODE encoding $B$N%U%)%s%H$KBP$7$F$b(B JIS $B7O$NF|K\8l(B (EUC, SJIS, 7bit JIS)
+$B$r;HMQ$9$k>l9g$O!"%3%s%Q%$%k;~$K(B -DJISX0208 $B$rIU$1$F%3%s%Q%$%k$7$F$/$@$5$$!#(B
+$B$3$&$9$k$H(B gdImageStringTTF() $B$G;XDj$5$l$?J8;zNs$K(B ASCII $B0J30$NJ8;z$,$"$k$H(B
+$BL5>r7o$KF|K\8lJ8;zNs$G$"$k$H2r<a$5$l!"4A;z%3!<%I$r<+F0H=JL8e$K(B
+$BE,@Z$K=hM}$5$l$^$9!#(B
+
+$B$?$@$7$3$N>l9g$O(B UTF-8 $B$NF|K\8lJ8;zNs$r07$($J$/$J$j$^$9$N$G!"(B
+$B$4MxMQ$N4D6-Ey$K1~$8$F(B -DJISX0208 $B$rIU$1$k$+H]$+$r7h$a$F$/$@$5$$!#(B
+
+$B4A;z%3!<%I$NJQ49$K(B OS $BIUB0$N(B iconv() $B$r;H$&>l9g$O(B
+CFLAGS $B$K(B -DHAVE_ICONV $B$rIU$1$F%3%s%Q%$%k$7$F$/$@$5$$!#(B
+$B$3$N>l9g$K(B -DHAVE_STDARG_H $B$H(B -DHAVE_ERRNO_H $B$bIU$1$F$*$/$H(B
+$B4A;z%3!<%IJQ49$N:]$K%(%i!<$,H/@8$7$?>l9g$KE,@Z$J%a%C%;!<%8$r(B
+$BI=<($9$k$h$&$K$J$j$^$9!#(B
+
+
+$B!y(B EUC $B$+(B SJIS $B$+H=JL$G$-$J$+$C$?>l9g$N4A;z%3!<%I$NH=JLJ}K!(B
+
+ (1) $B4D6-JQ?t(B LC_ALL, LC_CTYPE, LANG $B$r$3$N=gHV$G%A%'%C%/$9$k(B
+ (2) $B4D6-JQ?t$+$i$bH=JL$G$-$J$+$C$?>l9g$O(B UNIX $B$J$i$P(B EUC$B!"(B
+ Win32 $B$J$i$P(B SJIS $B$H8+$J$9(B
+
+$B%3%s%Q%$%k;~$K(B -DSJISPRE $B$rIU$1$F%3%s%Q%$%k$9$l$P!"(BUNIX $B$G$"$C$F$b(B
+SJIS $B$rM%@h$9$k$h$&$K$J$j$^$9!#(B
diff --git a/Build/source/libs/gd/libgd-src/docs/README.TESTING b/Build/source/libs/gd/libgd-src/docs/README.TESTING new file mode 100644 index 00000000000..506ea4249ea --- /dev/null +++ b/Build/source/libs/gd/libgd-src/docs/README.TESTING @@ -0,0 +1,62 @@ +|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+
+To run the tests suite, all you need is (add the cmake options if you need any
+or if the default libs and include paths are not the default) :
+
+In a sub directory:
+$ mkdir bld
+$ cd bld
+$ cmake -DBUILD_TEST=1 ..
+$ ctest .
+
+Or if you like to build in the source tree:
+$ cmake -DBUILD_TEST=1 .
+$ ctest .
+
+Add "-DCMAKE_BUILD_TYPE=DEBUG" if you like to have a debug version.
+
+If you like to run the tests against a installed GD library, set the following
+environment variables:
+
+export CMAKE_INCLUDE_PATH=/path/to/the/gd/include
+export CMAKE_LIBRARY_PATH=/path/to/the/gd/lib
+
+then call cmake using:
+
+$ cmake -DUSE_EXT_GD=1 -DBUILD_TEST=1
+$ make
+and finally:
+
+$ ctest .
+
+I will certainly add a nice CMake option to give prefix later.
+
+What to do if tests fail on your platform and you use the last GD release?
+either from your favourite distributions or from http://www.libgd.org or git?
+
+If you use a packaged version of the GD Library (installed from RPM, deb or
+ports, gentoo packages or any other packages format or distribution), please try
+to run the tests using the source releases available at:
+
+http://www.libgd.org/Downloads
+
+If the tests fail using our source release, please report a bug here:
+
+http://bugs.libgd.org
+
+You can attach the two files available in:
+
+./Testing/Temporary
+
+Later versions will have an automatic post mode.
+
+If the tests run successfully, please report a bug to the maintainer of the
+packages (debian, bsd, ubuntu or whoever is responsible for the packages).
+
+Reasons of failures:
+Exception: SegFault: self explaining
+Failed test failed, check the log to know where
+timeout the default timeout is 5 seconds. Some test may
+ have infinite loops when compiled against old versions
+ of the GD library (esp. 2.0.33 or earlier)
+
diff --git a/Build/source/libs/gd/libgd-src/docs/README.TXT b/Build/source/libs/gd/libgd-src/docs/README.TXT new file mode 100644 index 00000000000..39725dd62c1 --- /dev/null +++ b/Build/source/libs/gd/libgd-src/docs/README.TXT @@ -0,0 +1,61 @@ +For documentation, browse index.html. + +Quick install guide: + +If the sources have been fetched from git, run bootstrap.sh [options]. + +From a released source, use: +1. Type './configure' +2. Type 'make install' + +Generic configuration instructions are in the file INSTALL. + +The following 3rd-party libraries will be used by gd if found by configure. +While gd will compile and install even without these, we suggest that at +least zlib and libpng are installed, and recommend that freetype and jpeg +are installed as well: + +1. zlib, available from http://www.gzip.org/zlib/ + Data compression library + +2. libpng, available from http://www.libpng.org/pub/png/ + Portable Network Graphics library; requires zlib + +3. FreeType 2.x, available from http://www.freetype.org/ + Free, high-quality, and portable font engine + +4. JPEG library, available from http://www.ijg.org/ + Portable JPEG compression/decompression library + +5. XPM, available from http://koala.ilog.fr/lehors/xpm.html + X Pixmap library + +If any of these libraries are installed, but not detected by configure, +you can use the following command line options: + +--with-png=DIR + + Without the DIR argument, configure will check for png header files and + libraries in a default location. To switch off png support, use + --without-png, or --with-png=no. + + If the DIR argument is specified, configure tries to find the png header + files in DIR/include, and the libraries in DIR/lib. To accommodate + OpenBSD ports, DIR/include/libpng is also checked if necessary. + +--with-freetype=DIR + + Dto. for freetype 2.x library. The search path for include files is + DIR/include/freetype2. + +--with-jpeg=DIR + + Dto. for jpeg library. + +--with-xpm=DIR + + Dto. for xpm library. + + --with-tiff=DIR + +Dto. for TIFF library. diff --git a/Build/source/libs/gd/libgd-src/docs/naturaldocs/license.txt b/Build/source/libs/gd/libgd-src/docs/naturaldocs/license.txt new file mode 100644 index 00000000000..4164bce4bc7 --- /dev/null +++ b/Build/source/libs/gd/libgd-src/docs/naturaldocs/license.txt @@ -0,0 +1,74 @@ +Title: License + +Credits and license terms: + +> In order to resolve any possible confusion regarding the authorship of +> gd, the following copyright statement covers all of the authors who +> have required such a statement. If you are aware of any oversights in +> this copyright notice, please contact Pierre-A. Joye who will be +> pleased to correct them. +> +> Portions copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, +> 2002, 2003, 2004 by Cold Spring Harbor Laboratory. Funded under +> Grant P41-RR02188 by the National Institutes of Health. +> +> Portions copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, +> 2004 by Boutell.Com, Inc. +> +> Portions relating to GD2 format copyright 1999, 2000, 2001, 2002, +> 2003, 2004 Philip Warner. +> +> Portions relating to PNG copyright 1999, 2000, 2001, 2002, 2003, +> 2004 Greg Roelofs. +> +> Portions relating to gdttf.c copyright 1999, 2000, 2001, 2002, +> 2003, 2004 John Ellson (ellson@graphviz.org). +> +> Portions relating to gdft.c copyright 2001, 2002, 2003, 2004 John +> Ellson (ellson@graphviz.org). +> +> Portions copyright 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 +> Pierre-Alain Joye (pierre@libgd.org). +> +> Portions relating to JPEG and to color quantization copyright +> 2000, 2001, 2002, 2003, 2004, Doug Becker and copyright (C) 1994, +> 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 Thomas +> G. Lane. This software is based in part on the work of the +> Independent JPEG Group. See the file README-JPEG.TXT for more +> information. +> +> Portions relating to GIF compression copyright 1989 by Jef +> Poskanzer and David Rowley, with modifications for thread safety +> by Thomas Boutell. +> +> Portions relating to GIF decompression copyright 1990, 1991, 1993 +> by David Koblas, with modifications for thread safety by Thomas +> Boutell. +> +> Portions relating to WBMP copyright 2000, 2001, 2002, 2003, 2004 +> Maurice Szmurlo and Johan Van den Brande. +> +> Portions relating to GIF animations copyright 2004 Jaakko Hyvätti +> (jaakko.hyvatti@iki.fi) +> +> Permission has been granted to copy, distribute and modify gd in +> any context without fee, including a commercial application, +> provided that this notice is present in user-accessible supporting +> documentation. +> +> This does not affect your ownership of the derived work itself, +> and the intent is to assure proper credit for the authors of gd, +> not to interfere with your productive use of gd. If you have +> questions, ask. "Derived works" includes all programs that utilize +> the library. Credit must be given in user-accessible +> documentation. +> +> This software is provided "AS IS." The copyright holders disclaim +> all warranties, either express or implied, including but not +> limited to implied warranties of merchantability and fitness for a +> particular purpose, with respect to this code and accompanying +> documentation. +> +> Although their code does not appear in the current release, the +> authors also wish to thank Hutchison Avenue Software Corporation +> for their prior contributions. diff --git a/Build/source/libs/gd/libgd-src/docs/naturaldocs/nobgd.pl b/Build/source/libs/gd/libgd-src/docs/naturaldocs/nobgd.pl new file mode 100644 index 00000000000..bcccabe8929 --- /dev/null +++ b/Build/source/libs/gd/libgd-src/docs/naturaldocs/nobgd.pl @@ -0,0 +1,58 @@ +#!/usr/bin/env perl
+
+# Copy C source files (i.e. *.[ch]) from $src to $dest, first
+# stripping out uses of the macro BGD_DECLARE(<type>). A line must
+# begin with 'BGD_DECLARE' for it to be considered a use.
+
+use strict;
+use warnings;
+
+use File::Basename;
+
+my ($src, $dest) = @ARGV;
+
+die "Invalid arguments: nobgd.pl <src-dir> <dest-dir>\n"
+ unless ($src && $dest && -d $src && -d $dest);
+
+for my $file (glob("$src/*.c"), glob("$src/*.h")) {
+ do {local $| = 1; print "."};
+ fixup($file, $dest);
+}
+print "\n";
+
+sub fixup {
+ my ($src, $destDir) = @_;
+ my $dest = $destDir . "/" . basename($src);
+
+ my $content = slurp($src);
+ $content =~ s{^ BGD_DECLARE \( ([^)]+) \)}{$1}gmx;
+ unslurp($dest, $content);
+}
+
+
+sub slurp {
+ my ($filename) = @_;
+ local $/; # no file separator
+ my $data;
+
+ open my $fh, "<", $filename
+ or die "Unable to read file '$filename'.\n";
+ $data = <$fh>;
+ close($fh);
+
+ return $data;
+}
+
+
+sub unslurp {
+ my ($filename, $data) = @_;
+
+ die "Refusing to overwrite file '$filename'\n" if -f $filename;
+
+ open my $fh, ">", $filename
+ or die "Unable to open '$filename' for writing.\n";
+ print {$fh} $data
+ or die "Error writing file '$filename'\n";
+ close ($fh);
+}
+
diff --git a/Build/source/libs/gd/libgd-src/docs/naturaldocs/preamble.txt b/Build/source/libs/gd/libgd-src/docs/naturaldocs/preamble.txt new file mode 100644 index 00000000000..ca2e43f9db1 --- /dev/null +++ b/Build/source/libs/gd/libgd-src/docs/naturaldocs/preamble.txt @@ -0,0 +1,95 @@ +Title: About LibGD @VERSION@ + +What is gd?: + +gd is a graphics library. It allows your code to quickly draw images +complete with lines, arcs, text, multiple colors, cut and paste from +other images, and flood fills, and write out the result as a PNG or +JPEG file. This is particularly useful in World Wide Web applications, +where PNG and JPEG are two of the formats accepted for inline images +by most browsers. + +gd is not a paint program. If you are looking for a paint program, you +are looking in the wrong place. If you are not a programmer, you are +looking in the wrong place, unless you are installing a required +library in order to run an application. + +gd does not provide for every possible desirable graphics +operation. It is not necessary or desirable for gd to become a +kitchen-sink graphics package, but version 2.0 does include most +frequently requested features, including both truecolor and palette +images, resampling (smooth resizing of truecolor images) and so forth. + +gd basics: using gd in your program: + +gd lets you create PNG or JPEG images on the fly. To use gd in your +program, include the file gd.h, and link with the gd library and the +other required libraries; the syntax for most Unix flavors is: + +> -lgd -lpng -lz -ljpeg -lfreetype -lm + +Assuming that all of these libraries are available. + +If you want to use the provided simple fonts, include gdfontt.h, +gdfonts.h, gdfontmb.h, gdfontl.h and/or gdfontg.h. For more impressive +results, install FreeType 2.x and use the gdImageStringFT function. If +you are not using the provided Makefile and/or a library-based +approach, be sure to include the source modules as well in your +project. + +Here is a short example program. (For a more advanced example, see +gddemo.c, included in the distribution. gddemo.c is NOT the same +program; it demonstrates additional features!) + +>/* Bring in gd library functions */ +>#include "gd.h" +> +>/* Bring in standard I/O so we can output the PNG to a file */ +>#include <stdio.h> +> +>int main() { +> /* Declare the image */ +> gdImagePtr im; +> /* Declare output files */ +> FILE *pngout, *jpegout; +> /* Declare color indexes */ +> int black; +> int white; +> +> /* Allocate the image: 64 pixels across by 64 pixels tall */ +> im = gdImageCreate(64, 64); +> +> /* Allocate the color black (red, green and blue all minimum). +> Since this is the first color in a new image, it will +> be the background color. */ +> black = gdImageColorAllocate(im, 0, 0, 0); +> +> /* Allocate the color white (red, green and blue all maximum). */ +> white = gdImageColorAllocate(im, 255, 255, 255); +> +> /* Draw a line from the upper left to the lower right, +> using white color index. */ +> gdImageLine(im, 0, 0, 63, 63, white); +> +> /* Open a file for writing. "wb" means "write binary", important +> under MSDOS, harmless under Unix. */ +> pngout = fopen("test.png", "wb"); +> +> /* Do the same for a JPEG-format file. */ +> jpegout = fopen("test.jpg", "wb"); +> +> /* Output the image to the disk file in PNG format. */ +> gdImagePng(im, pngout); +> +> /* Output the same image in JPEG format, using the default +> JPEG quality setting. */ +> gdImageJpeg(im, jpegout, -1); +> +> /* Close the files. */ +> fclose(pngout); +> fclose(jpegout); +> +> /* Destroy the image in memory. */ +> gdImageDestroy(im); +>} +> diff --git a/Build/source/libs/gd/libgd-src/docs/naturaldocs/project/Languages.txt b/Build/source/libs/gd/libgd-src/docs/naturaldocs/project/Languages.txt new file mode 100644 index 00000000000..85d5fde477b --- /dev/null +++ b/Build/source/libs/gd/libgd-src/docs/naturaldocs/project/Languages.txt @@ -0,0 +1,113 @@ +Format: 1.51 + +# This is the Natural Docs languages file for this project. If you change +# anything here, it will apply to THIS PROJECT ONLY. If you'd like to change +# something for all your projects, edit the Languages.txt in Natural Docs' +# Config directory instead. + + +# You can prevent certain file extensions from being scanned like this: +# Ignore Extensions: [extension] [extension] ... + + +#------------------------------------------------------------------------------- +# SYNTAX: +# +# Unlike other Natural Docs configuration files, in this file all comments +# MUST be alone on a line. Some languages deal with the # character, so you +# cannot put comments on the same line as content. +# +# Also, all lists are separated with spaces, not commas, again because some +# languages may need to use them. +# +# Language: [name] +# Alter Language: [name] +# Defines a new language or alters an existing one. Its name can use any +# characters. If any of the properties below have an add/replace form, you +# must use that when using Alter Language. +# +# The language Shebang Script is special. It's entry is only used for +# extensions, and files with those extensions have their shebang (#!) lines +# read to determine the real language of the file. Extensionless files are +# always treated this way. +# +# The language Text File is also special. It's treated as one big comment +# so you can put Natural Docs content in them without special symbols. Also, +# if you don't specify a package separator, ignored prefixes, or enum value +# behavior, it will copy those settings from the language that is used most +# in the source tree. +# +# Extensions: [extension] [extension] ... +# [Add/Replace] Extensions: [extension] [extension] ... +# Defines the file extensions of the language's source files. You can +# redefine extensions found in the main languages file. You can use * to +# mean any undefined extension. +# +# Shebang Strings: [string] [string] ... +# [Add/Replace] Shebang Strings: [string] [string] ... +# Defines a list of strings that can appear in the shebang (#!) line to +# designate that it's part of the language. You can redefine strings found +# in the main languages file. +# +# Ignore Prefixes in Index: [prefix] [prefix] ... +# [Add/Replace] Ignored Prefixes in Index: [prefix] [prefix] ... +# +# Ignore [Topic Type] Prefixes in Index: [prefix] [prefix] ... +# [Add/Replace] Ignored [Topic Type] Prefixes in Index: [prefix] [prefix] ... +# Specifies prefixes that should be ignored when sorting symbols in an +# index. Can be specified in general or for a specific topic type. +# +#------------------------------------------------------------------------------ +# For basic language support only: +# +# Line Comments: [symbol] [symbol] ... +# Defines a space-separated list of symbols that are used for line comments, +# if any. +# +# Block Comments: [opening sym] [closing sym] [opening sym] [closing sym] ... +# Defines a space-separated list of symbol pairs that are used for block +# comments, if any. +# +# Package Separator: [symbol] +# Defines the default package separator symbol. The default is a dot. +# +# [Topic Type] Prototype Enders: [symbol] [symbol] ... +# When defined, Natural Docs will attempt to get a prototype from the code +# immediately following the topic type. It stops when it reaches one of +# these symbols. Use \n for line breaks. +# +# Line Extender: [symbol] +# Defines the symbol that allows a prototype to span multiple lines if +# normally a line break would end it. +# +# Enum Values: [global|under type|under parent] +# Defines how enum values are referenced. The default is global. +# global - Values are always global, referenced as 'value'. +# under type - Values are under the enum type, referenced as +# 'package.enum.value'. +# under parent - Values are under the enum's parent, referenced as +# 'package.value'. +# +# Perl Package: [perl package] +# Specifies the Perl package used to fine-tune the language behavior in ways +# too complex to do in this file. +# +#------------------------------------------------------------------------------ +# For full language support only: +# +# Full Language Support: [perl package] +# Specifies the Perl package that has the parsing routines necessary for full +# language support. +# +#------------------------------------------------------------------------------- + +# The following languages are defined in the main file, if you'd like to alter +# them: +# +# Text File, Shebang Script, C/C++, C#, Java, JavaScript, Perl, Python, +# PHP, SQL, Visual Basic, Pascal, Assembly, Ada, Tcl, Ruby, Makefile, +# ActionScript, ColdFusion, R, Fortran + +# If you add a language that you think would be useful to other developers +# and should be included in Natural Docs by default, please e-mail it to +# languages [at] naturaldocs [dot] org. diff --git a/Build/source/libs/gd/libgd-src/docs/naturaldocs/project/Topics.txt b/Build/source/libs/gd/libgd-src/docs/naturaldocs/project/Topics.txt new file mode 100644 index 00000000000..21530908d76 --- /dev/null +++ b/Build/source/libs/gd/libgd-src/docs/naturaldocs/project/Topics.txt @@ -0,0 +1,81 @@ +Format: 1.51 + +# This is the Natural Docs topics file for this project. If you change anything +# here, it will apply to THIS PROJECT ONLY. If you'd like to change something +# for all your projects, edit the Topics.txt in Natural Docs' Config directory +# instead. + + +# If you'd like to prevent keywords from being recognized by Natural Docs, you +# can do it like this: +# Ignore Keywords: [keyword], [keyword], ... +# +# Or you can use the list syntax like how they are defined: +# Ignore Keywords: +# [keyword] +# [keyword], [plural keyword] +# ... + + +#------------------------------------------------------------------------------- +# SYNTAX: +# +# Topic Type: [name] +# Alter Topic Type: [name] +# Creates a new topic type or alters one from the main file. Each type gets +# its own index and behavior settings. Its name can have letters, numbers, +# spaces, and these charaters: - / . ' +# +# Plural: [name] +# Sets the plural name of the topic type, if different. +# +# Keywords: +# [keyword] +# [keyword], [plural keyword] +# ... +# Defines or adds to the list of keywords for the topic type. They may only +# contain letters, numbers, and spaces and are not case sensitive. Plural +# keywords are used for list topics. You can redefine keywords found in the +# main topics file. +# +# Index: [yes|no] +# Whether the topics get their own index. Defaults to yes. Everything is +# included in the general index regardless of this setting. +# +# Scope: [normal|start|end|always global] +# How the topics affects scope. Defaults to normal. +# normal - Topics stay within the current scope. +# start - Topics start a new scope for all the topics beneath it, +# like class topics. +# end - Topics reset the scope back to global for all the topics +# beneath it. +# always global - Topics are defined as global, but do not change the scope +# for any other topics. +# +# Class Hierarchy: [yes|no] +# Whether the topics are part of the class hierarchy. Defaults to no. +# +# Page Title If First: [yes|no] +# Whether the topic's title becomes the page title if it's the first one in +# a file. Defaults to no. +# +# Break Lists: [yes|no] +# Whether list topics should be broken into individual topics in the output. +# Defaults to no. +# +# Can Group With: [type], [type], ... +# Defines a list of topic types that this one can possibly be grouped with. +# Defaults to none. +#------------------------------------------------------------------------------- + +# The following topics are defined in the main file, if you'd like to alter +# their behavior or add keywords: +# +# Generic, Class, Interface, Section, File, Group, Function, Variable, +# Property, Type, Constant, Enumeration, Event, Delegate, Macro, +# Database, Database Table, Database View, Database Index, Database +# Cursor, Database Trigger, Cookie, Build Target + +# If you add something that you think would be useful to other developers +# and should be included in Natural Docs by default, please e-mail it to +# topics [at] naturaldocs [dot] org. diff --git a/Build/source/libs/gd/libgd-src/docs/naturaldocs/run_docs.sh b/Build/source/libs/gd/libgd-src/docs/naturaldocs/run_docs.sh new file mode 100755 index 00000000000..dfe1e62ebf8 --- /dev/null +++ b/Build/source/libs/gd/libgd-src/docs/naturaldocs/run_docs.sh @@ -0,0 +1,33 @@ +#!/bin/bash + +set -e + +# Version number +VERSION=`(cd ../../; perl config/getver.pl)` + +# Clear away old docs and ensure the doc dir. is present. +[ -d html ] && rm -rf html +mkdir html + +# Create a lightly-processed copy of the source to use as input. This +# file skips all non-C code in src/ and removes the BGD_DECLARE() +# macro from definitions so they don't show up in the docs. +[ -d tmp ] && rm -rf tmp +mkdir tmp +perl nobgd.pl ../../src/ tmp/ + +# Add the external docs. +cp license.txt tmp/ +sed -e "s/@VERSION@/$VERSION/g" preamble.txt > tmp/preamble.txt +# ^^^ hack to get the version number in the docs. + +# Run naturaldocs to create the manual. +naturaldocs --rebuild --rebuild-output --documented-only \ + -i tmp/ \ + -o html html \ + --project project/ + +# And cleanup the temp files. +rm -rf Data tmp + + |