freetype-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[freetype2] gsoc-anurag-docs-2023 c0ceb0541 1/6: [docs] Migrate docs/INS


From: Werner Lemberg
Subject: [freetype2] gsoc-anurag-docs-2023 c0ceb0541 1/6: [docs] Migrate docs/INSTALL to Markdown
Date: Tue, 1 Aug 2023 10:51:42 -0400 (EDT)

branch: gsoc-anurag-docs-2023
commit c0ceb0541ae9931031bbf9ae682c942810d7f0b3
Author: Anurag Thakur <anurag105csec21@bpitindia.edu.in>
Commit: Anurag Thakur <anurag105csec21@bpitindia.edu.in>

    [docs] Migrate docs/INSTALL to Markdown
---
 README.md       |   2 +-
 docs/.gitignore |   2 +
 docs/INSTALL    | 114 ---------------------------------------
 docs/INSTALL.md | 164 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 4 files changed, 167 insertions(+), 115 deletions(-)

diff --git a/README.md b/README.md
index 16659ad88..e2ab58442 100644
--- a/README.md
+++ b/README.md
@@ -153,7 +153,7 @@ and accept it fully.
 [Releases]: https://download.savannah.gnu.org/releases/freetype/
 [API]: https://freetype.org/freetype2/docs/reference/index.html
 
-[INSTALL]: ./docs/INSTALL
+[INSTALL]: ./docs/INSTALL.md
 [CHANGES]: ./docs/CHANGES
 [LICENSE]: ./LICENSE.TXT
 [DOCGUIDE]: ./docs/DOCGUIDE
diff --git a/docs/.gitignore b/docs/.gitignore
index b8d05d11a..24dffcbc7 100644
--- a/docs/.gitignore
+++ b/docs/.gitignore
@@ -5,6 +5,8 @@ reference/
 *.html
 *.md
 
+!INSTALL.md
+
 # MkDocs Config file
 mkdocs.yml
 
diff --git a/docs/INSTALL b/docs/INSTALL
deleted file mode 100644
index 49ab112e4..000000000
--- a/docs/INSTALL
+++ /dev/null
@@ -1,114 +0,0 @@
-
-There are  several ways  to build the  FreeType library,  depending on
-your system and the level of  customization you need.  Here is a short
-overview of the documentation available:
-
-
-I. Prerequisites and dependencies
-=================================
-
-  FreeType is a low level C library  that only depends on the standard
-  C library with very few platform-dependent optimizations utilized at
-  build time.  Any  C99-compliant compiler  should be able  to compile
-  FreeType.  System libraries,  such as  zlib,  Gzip,  bzip2,  Brotli,
-  and libpng,  might  be  used  to handle  compressed fonts  or decode
-  embedded PNG glyphs.
-
-  FreeType  auto-configuration scripts  should be  able to detect  the
-  prerequisites if the necessary headers are available  at the default
-  locations.  Otherwise,  modify  `include/freetype/config/ftoption.h`
-  to control how the FreeType library gets built.  Normally, you don't
-  need to change anything.
-
-  Applications have very limited control over FreeType's behaviour  at
-  run-time;  look at the documentation of function `FT_Property_Set`.
-
-
-II. Normal installation and upgrades
-====================================
-
-  1. Unix and Unix-like systems
-
-    This also includes MacOS, Cygwin, MinGW + MSYS, Mingw-w64 + MSYS2,
-    and possibly other, similar environments.
-
-    Please read `INSTALL.UNIX` to install or upgrade FreeType  2 on  a
-    Unix system.   Note  that  you  *need*  GNU  Make   for  automatic
-    compilation,  since other make tools won't work (this includes BSD
-    Make).
-
-    GNU Make VERSION 3.81 OR NEWER IS NEEDED!
-
-
-  2. Other systems using GNU Make
-
-    On some  non-Unix platforms, it  is possible to build  the library
-    using only  the GNU Make utility.   Note that *NO OTHER  MAKE TOOL
-    WILL  WORK*[1]!   This  methods   supports  several  compilers  on
-    Windows, OS/2, and BeOS,  including MinGW* (without MSYS*), Visual
-    C++, Borland C++, and more.
-
-    Instructions are provided in the file `INSTALL.GNU`.
-
-
-  3. Other build tools and platforms.
-
-    A few other tools  can be used  to build FreeType.  You  can  find
-    the  corresponding instruction files  in  the FreeType root folder
-    or the builds/ sub-folder.
-
-      CMake   :: see `CMakeLists.txt` for more information
-      Meson   :: see `meson.build` for more information
-      MSBuild :: see `builds/windows/vc2010/freetype.vcxproj`
-      MMS     :: see `vms_make.com` and `docs/INSTALL.VMS`
-
-
-  4. With an IDE Project File (e.g., for Visual Studio or CodeWarrior)
-
-    We provide a  small number of 'project files'  for various IDEs to
-    automatically build  the library as  well.  Note that  these files
-    are not actively supported by FreeType developers,  they can break
-    or become obsolete.
-
-    To find them, have a  look at the content of the `builds/<system>`
-    directory, where <system> stands for your OS or environment.
-
-
-  5. From you own IDE, or own Makefiles
-
-    If  you  want  to  create   your  own  project  file,  follow  the
-    instructions   given  in  the   `INSTALL.ANY`  document   of  this
-    directory.
-
-
-III. Custom builds of the library
-=================================
-
-  Customizing the compilation  of FreeType is easy, and  allows you to
-  select only the components of  the font engine that you really need.
-  For more details read the file `CUSTOMIZE`.
-
-
-----------------------------------------------------------------------
-
-[1] make++, a make tool written in Perl, has sufficient support of GNU
-    make extensions to build FreeType.  See
-
-      https://makepp.sourceforge.net
-
-    for more information;  you need version 2.0 or newer, and you must
-    pass option `--norc-substitution`.
-
-----------------------------------------------------------------------
-
-Copyright (C) 2000-2023 by
-David Turner, Robert Wilhelm, and Werner Lemberg.
-
-This  file is  part of  the FreeType  project, and  may only  be used,
-modified,  and distributed  under the  terms of  the  FreeType project
-license,  LICENSE.TXT.  By  continuing to  use, modify,  or distribute
-this file you  indicate that you have read  the license and understand
-and accept it fully.
-
-
---- end of INSTALL ---
diff --git a/docs/INSTALL.md b/docs/INSTALL.md
new file mode 100644
index 000000000..7b11cdda4
--- /dev/null
+++ b/docs/INSTALL.md
@@ -0,0 +1,164 @@
+# Building FreeType
+
+There are several ways to build the FreeType library, depending on
+your system and the level of customization you need. Here is a short
+overview of the documentation available:
+
+
+## A. Prerequisites and dependencies
+
+FreeType is a low level C library that only depends on the standard
+C library with very few platform-dependent optimizations utilized at
+build time. Any C99-compliant compiler should be able to compile
+FreeType. System libraries, such as zlib, Gzip, bzip2, Brotli,
+and libpng, might be used to handle compressed fonts or decode
+embedded PNG glyphs.
+
+FreeType auto-configuration scripts should be able to detect the
+prerequisites if the necessary headers are available at the default
+locations. Otherwise, modify `include/freetype/config/ftoption.h`
+to control how the FreeType library gets built. Normally, you don't
+need to change anything.
+
+Applications have very limited control over FreeType's behaviour at
+run-time; look at the documentation of function `FT_Property_Set`.
+
+
+## B. Normal installation and upgrades
+
+1. Unix and Unix-like systems
+
+   This also includes MacOS, Cygwin, MinGW + MSYS, Mingw-w64 + MSYS2,
+   and possibly other, similar environments.
+
+   Please read [INSTALL.UNIX] to install or upgrade FreeType 2 on a
+   Unix system. Note that you *need* GNU Make for automatic
+   compilation, since other make tools won't work (this includes BSD
+   Make).
+
+   **GNU Make VERSION 3.81 OR NEWER IS NEEDED!**
+
+2. Other systems using GNU Make
+
+   On some non-Unix platforms, it is possible to build the library
+   using only the GNU Make utility. Note that *NO OTHER MAKE TOOL
+   WILL WORK*[1]! This methods supports several compilers on
+   Windows, OS/2, and BeOS, including MinGW* (without MSYS*), Visual
+   C++, Borland C++, and more.
+
+   Instructions are provided in the file [INSTALL.GNU].
+
+3. Other build tools and platforms.
+
+   A few other tools can be used to build FreeType. You can find
+   the corresponding instruction files in the FreeType root folder
+   or the builds/ sub-folder.
+
+   | Build Tool | Details                                   |
+   |------------|-------------------------------------------|
+   | CMake      | see [CMakeLists.txt] for more information |
+   | Meson      | see [meson.build] for more information    |
+   | MSBuild    | see [freetype.vcxproj]                    |
+   | MMS        | see [vms_make.com] and [INSTALL.VMS]      |
+
+4. With an IDE Project File (e.g., for Visual Studio or CodeWarrior)
+
+   We provide a small number of 'project files' for various IDEs to
+   automatically build the library as well. Note that these files
+   are not actively supported by FreeType developers, they can break
+   or become obsolete.
+
+   To find them, have a look at the content of the `builds/<system>`
+   directory, where <system> stands for your OS or environment.
+
+5. From you own IDE, or own Makefiles
+
+   If you want to create your own project file, follow the
+   instructions given in the [INSTALL.ANY] document of this
+   directory.
+
+
+## C. Custom builds of the library
+
+Customizing the compilation of FreeType is easy, and allows you to
+select only the components of the font engine that you really need.
+For more details read the file [docs/CUSTOMIZE][CUSTOMIZE].
+
+
+## D. Standard builds with `configure`
+
+The git repository doesn't contain pre-built configuration scripts for
+UNIXish platforms. To generate them say
+
+    sh autogen.sh
+
+which in turn depends on the following packages:
+
+    automake (1.10.1)
+    libtool (2.2.4)
+    autoconf (2.62)
+
+The versions given in parentheses are known to work. Newer versions
+should work too, of course. Note that `autogen.sh` also sets up
+proper file permissions for the `configure` and auxiliary scripts.
+
+The `autogen.sh` script checks whether the versions of the above three
+tools match the numbers above. Otherwise it will complain and suggest
+either upgrading or using environment variables to point to more
+recent versions of the required tools.
+
+Note that `aclocal` is provided by the 'automake' package on Linux,
+and that `libtoolize` is called `glibtoolize` on Darwin (OS X).
+
+
+## E. Alternative build methods
+
+For static builds that don't use platform-specific optimizations, no
+configure script is necessary at all; saying
+
+    make setup ansi
+    make
+
+should work on all platforms that have GNU `make` (or `makepp`).
+
+A build with `cmake` or `meson` can be done directly from the git
+repository. However, if you want to use the `FT_DEBUG_LOGGING` macro
+(see file [docs/DEBUG][DEBUG] for more information) it is currently mandatory
+to execute `autogen.sh` in advance; this script clones the 'dlg' git
+submodule and copies some files into FreeType's source tree.
+
+
+---
+
+[1] make++, a make tool written in Perl, has sufficient support of GNU
+   make extensions to build FreeType. See
+
+    https://makepp.sourceforge.net
+
+   for more information; you need version 2.0 or newer, and you must
+   pass option `--norc-substitution`.
+
+---
+```
+Copyright (C) 2000-2023 by
+David Turner, Robert Wilhelm, and Werner Lemberg.
+
+This file is part of the FreeType project, and may only be used,
+modified, and distributed under the terms of the FreeType project
+license, LICENSE.TXT. By continuing to use, modify, or distribute
+this file you indicate that you have read the license and understand
+and accept it fully.
+```
+
+<!--------------------------------------------------------------------------->
+
+[CMakeLists.txt]: ../CMakeLists.txt
+[meson.build]: ../meson.build
+[freetype.vcxproj]: ../builds/windows/vc2010/freetype.vcxproj
+[vms_make.com]: ../vms_make.com
+[INSTALL.VMS]: ./INSTALL.VMS
+[INSTALL.ANY]: ./INSTALL.ANY
+[INSTALL.GNU]: ./INSTALL.GNU
+[INSTALL.UNIX]: ./INSTALL.UNIX
+[CUSTOMIZE]: ./CUSTOMIZE
+[DEBUG]: ./DEBUG



reply via email to

[Prev in Thread] Current Thread [Next in Thread]