2000-09-16 00:42:06 +02:00
|
|
|
#
|
2000-10-17 05:38:43 +02:00
|
|
|
# FreeType 2 installation instructions for Unix systems
|
2000-09-16 00:42:06 +02:00
|
|
|
#
|
|
|
|
|
2000-10-17 05:38:43 +02:00
|
|
|
|
2021-01-17 07:18:48 +01:00
|
|
|
# Copyright (C) 1996-2021 by
|
2000-10-17 05:38:43 +02:00
|
|
|
# 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.
|
|
|
|
|
2002-08-19 04:25:43 +02:00
|
|
|
# If you say
|
|
|
|
#
|
|
|
|
# make install DESTDIR=/tmp/somewhere/
|
|
|
|
#
|
|
|
|
# don't forget the final backslash (this command is mainly for package
|
|
|
|
# maintainers).
|
|
|
|
|
2000-10-17 05:38:43 +02:00
|
|
|
|
2002-02-20 01:55:59 +01:00
|
|
|
.PHONY: install uninstall check
|
2000-12-20 23:09:41 +01:00
|
|
|
|
2000-09-22 23:23:29 +02:00
|
|
|
# Unix installation and deinstallation targets.
|
2006-01-27 17:42:32 +01:00
|
|
|
#
|
Another adjustment to header locations.
This change is a result of a discussion thread on freetype-devel
http://lists.nongnu.org/archive/html/freetype-devel/2015-06/msg00041.html
Re-introduce the `freetype2' subdirectory for all FreeType header
files after installation, and rename the `freetype2' subdirectory in
the git repository to `freetype'.
* include/freetype2: Renamed to...
* include/freetype: This.
* CMakeLists.txt (PUBLIC_HEADERS, PUBLIC_CONFIG_HEADERS,
PRIVATE_HEADERS): Updated.
Update creation of `ftconfig.h'.
Install generated `ftconfig.h'.
* Jamfile (HDRMACRO, RefDoc), autogen.sh: Updated.
* builds/amiga/include/config/ftconfig.h, builds/freetype.mk
(PUBLIC_DIR), builds/symbian/bld.inf, builds/toplevel.mk (work),
builds/unix/freetype2.in: Updated.
* builds/unix/freetype-config.in: Updated.
* builds/unix/configure.raw: Don't check for `rmdir'.
* builds/unix/unix-def.in (DELDIR): Use `rm -rf', which is portable
according to the autoconf info manual.
* builds/unix/install.mk (install, uninstall,
distclean_project_unix): Update and simplify.
* builds/wince/*, builds/windows/*: Updated.
* devel/ft2build.h, include/ft2build.h: Updated.
* include/freetype2/config/ftheader.h,
include/freetype2/internal/ftserv.h,
include/freetype2/internal/internal.h: Update all header file
macros.
* src/tools/chktrcmp.py (TRACE_DEF_FILES): Updated.
* docs/*: Updated.
2015-06-25 13:04:57 +02:00
|
|
|
# Note that we remove any data found in `$(includedir)/freetype2' before
|
|
|
|
# installing new files to avoid interferences with files installed by
|
|
|
|
# previous FreeType versions (which use slightly different locations).
|
2006-01-27 17:42:32 +01:00
|
|
|
#
|
2015-12-03 07:49:46 +01:00
|
|
|
# We also remove `$(includedir)/ft2build.h' for the same reason.
|
|
|
|
#
|
2017-11-24 10:34:09 +01:00
|
|
|
# Note that some header files get handled twice for simplicity; a special,
|
|
|
|
# configured version overwrites the generic one.
|
|
|
|
#
|
2000-09-22 23:23:29 +02:00
|
|
|
install: $(PROJECT_LIBRARY)
|
Another adjustment to header locations.
This change is a result of a discussion thread on freetype-devel
http://lists.nongnu.org/archive/html/freetype-devel/2015-06/msg00041.html
Re-introduce the `freetype2' subdirectory for all FreeType header
files after installation, and rename the `freetype2' subdirectory in
the git repository to `freetype'.
* include/freetype2: Renamed to...
* include/freetype: This.
* CMakeLists.txt (PUBLIC_HEADERS, PUBLIC_CONFIG_HEADERS,
PRIVATE_HEADERS): Updated.
Update creation of `ftconfig.h'.
Install generated `ftconfig.h'.
* Jamfile (HDRMACRO, RefDoc), autogen.sh: Updated.
* builds/amiga/include/config/ftconfig.h, builds/freetype.mk
(PUBLIC_DIR), builds/symbian/bld.inf, builds/toplevel.mk (work),
builds/unix/freetype2.in: Updated.
* builds/unix/freetype-config.in: Updated.
* builds/unix/configure.raw: Don't check for `rmdir'.
* builds/unix/unix-def.in (DELDIR): Use `rm -rf', which is portable
according to the autoconf info manual.
* builds/unix/install.mk (install, uninstall,
distclean_project_unix): Update and simplify.
* builds/wince/*, builds/windows/*: Updated.
* devel/ft2build.h, include/ft2build.h: Updated.
* include/freetype2/config/ftheader.h,
include/freetype2/internal/ftserv.h,
include/freetype2/internal/internal.h: Update all header file
macros.
* src/tools/chktrcmp.py (TRACE_DEF_FILES): Updated.
* docs/*: Updated.
2015-06-25 13:04:57 +02:00
|
|
|
-$(DELDIR) $(DESTDIR)$(includedir)/freetype2
|
2015-12-03 07:49:46 +01:00
|
|
|
-$(DELETE) $(DESTDIR)$(includedir)/ft2build.h
|
Another adjustment to header locations.
This change is a result of a discussion thread on freetype-devel
http://lists.nongnu.org/archive/html/freetype-devel/2015-06/msg00041.html
Re-introduce the `freetype2' subdirectory for all FreeType header
files after installation, and rename the `freetype2' subdirectory in
the git repository to `freetype'.
* include/freetype2: Renamed to...
* include/freetype: This.
* CMakeLists.txt (PUBLIC_HEADERS, PUBLIC_CONFIG_HEADERS,
PRIVATE_HEADERS): Updated.
Update creation of `ftconfig.h'.
Install generated `ftconfig.h'.
* Jamfile (HDRMACRO, RefDoc), autogen.sh: Updated.
* builds/amiga/include/config/ftconfig.h, builds/freetype.mk
(PUBLIC_DIR), builds/symbian/bld.inf, builds/toplevel.mk (work),
builds/unix/freetype2.in: Updated.
* builds/unix/freetype-config.in: Updated.
* builds/unix/configure.raw: Don't check for `rmdir'.
* builds/unix/unix-def.in (DELDIR): Use `rm -rf', which is portable
according to the autoconf info manual.
* builds/unix/install.mk (install, uninstall,
distclean_project_unix): Update and simplify.
* builds/wince/*, builds/windows/*: Updated.
* devel/ft2build.h, include/ft2build.h: Updated.
* include/freetype2/config/ftheader.h,
include/freetype2/internal/ftserv.h,
include/freetype2/internal/internal.h: Update all header file
macros.
* src/tools/chktrcmp.py (TRACE_DEF_FILES): Updated.
* docs/*: Updated.
2015-06-25 13:04:57 +02:00
|
|
|
$(MKINSTALLDIRS) $(DESTDIR)$(libdir) \
|
|
|
|
$(DESTDIR)$(libdir)/pkgconfig \
|
|
|
|
$(DESTDIR)$(includedir)/freetype2/freetype/config \
|
2018-03-07 12:23:54 +01:00
|
|
|
$(DESTDIR)$(datadir)/aclocal
|
|
|
|
ifeq ($(INSTALL_FT2_CONFIG),TRUE)
|
|
|
|
$(MKINSTALLDIRS) $(DESTDIR)$(bindir) \
|
2014-01-09 07:26:06 +01:00
|
|
|
$(DESTDIR)$(mandir)/man1
|
2018-03-07 12:23:54 +01:00
|
|
|
endif
|
Implement new, simplified module selection. With GNU make it is now
sufficient to modify a single file, `modules.cfg', to control the
inclusion of modules and base extension files.
This change also fixes the creation of ftmodule.h; it now depends on
`modules.cfg' and thus is rebuilt only if necessary.
Finally, a version of `ftoption.h' in OBJ_DIR is preferred over the
default location.
* modules.cfg: New file.
* builds/freetype.mk: Don't include `modules.mk'.
Include all `rules.mk' files as specified in `modules.cfg'.
(FTOPTION_FLAG, FTOPTION_H): New variables.
(FT_CFLAGS): Add macro definition for FT_CONFIG_MODULES_H.
Add FTOPTION_FLAG.
($(FT_INIT_OBJ)): Don't use FT_MODULE_LIST.
(CONFIG_H): Add FTMODULE_H and FTOPTION_H.
(INCLUDES): Add DEVEL_DIR.
(INCLUDE_FLAGS, FTSYS_SRC, FTSYS_OBJ, FTDEBUG_SRC, FTDEBUG_OBJ,
OBJ_M, OBJ_S): Use `:=', not `='.
(remove_ftmodule_h): New phony target to delete `ftmodule.h'.
(distclean): Add remove_ftmodule_h.
* builds/modules.mk: (MODULE_LIST): Removed.
(make_module_list, clean_module_list): Replace targets
with...
(FTMODULE_H_INIT, FTMODULE_H_CREATE, FTMODULE_H_DONE): New
variables. Reason for the change is that it is not possible to have
a phony prerequisite which is run only if the target file must be
rebuilt (phony prerequisites act like subroutines and are *always*
executed). We only want to rebuild `ftmodule.h' if `module.cfg' is
changed.
Update all callers.
($FTMODULE_H)): Rule to create `ftmodule.h', depending on
`modules.cfg'.
* builds/toplevel.mk: Rewrite and simplify module handling.
(MODULES_CFG, FTMODULE_H): New variables.
Include MODULES_CFG.
(MODULES): New variable to include all `module.mk' and `rules.mk'
files. We no longer use make's `wildcard' function for this.
* Makefile (USE_MODULES): Remove. Update all users.
(OBJ_DIR): Define it here.
* src/*/module.mk: Change
make_module_list: foo
foo: ...
to
FTMODULE_H_COMMANDS += FOO
define FOO
...
endef
in all files. `FTMODULE_H_COMMANDS' is used in `FTMODULE_H_CREATE'.
* src/base/rules.mk (BASE_EXT_SRC): Use BASE_EXTENSIONS.
* builds/unix/detect.mk (setup): Always execute `configure' script.
(have_mk): Rename to...
(have_Makefile): This.
Don't use `strip' function.
* builds/unix/unix.mk: Include `install.mk' only if BUILD_PROJECT is
defined.
(have_mk): Don't use `strip' function.
Test for unix-def.mk in OBJ_DIR, not BUILD_DIR (and invert the test
accordingly).
* builds/unix/install.mk (install, uninstall): Handle `ftmodule.h'.
* builds/os2/os2-dev.mk, builds/unix/unix-dev.mk,
builds/win32/w32-bccd.mk, builds/win32/w32-dev.mk: Don't define
BUILD_DIR but DEVEL_DIR for development header files.
* builds/ansi/ansi-def.mk (TOP_DIR, OBJ_DIR),
builds/beos/beos-def.mk (TOP_DIR, OBJ_DIR), builds/unix/unix-def.in
(TOP_DIR, OBJ_DIR): Removed. Defined elsewhere.
* builds/dos/dos-def.mk (OBJ_DIR), builds/os2/os2-def.mk (OBJ_DIR),
builds/win32/win32-def.mk (OBJ_DIR): Removed. Defined elsewhere.
* builds/unix/unixddef.mk: Don't define BUILD_DIR but DEVEL_DIR for
development header files.
Don't define PLATFORM.
* configure: Copy `modules.cfg' to builddir if builddir != srcdir.
Update snippet taken from autoconf's m4sh.m4 to current CVS version.
Be more verbose.
* include/freetype/config/ftmodule.h: Add comments -- this file is
no longer used if FreeType is built with GNU make.
* docs/CHANGES, docs/CUSTOMIZE, docs/INSTALL, docs/INSTALL.ANY,
docs/INSTALL.GNU, docs/INSTALL.UNX: Document new build mechanism.
Other minor updates.
* modules.txt: Removed. Contents included in `modules.cfg'.
* include/freetype/internal/ftmemory.h (FT_QAlloc_Debug,
FT_Free_Debug) [FT_STRICT_ALIASING]: Fix typos.
* src/base/ftdbgmem.c (FT_Alloc_Debug, FT_Realloc_Debug,
FT_QAlloc_Debug, FT_QRealloc_Debug, FT_Free_Debug)
[FT_STRICT_ALIASING]: Implement.
2006-01-31 21:17:42 +01:00
|
|
|
$(LIBTOOL) --mode=install $(INSTALL) \
|
2002-08-19 04:25:43 +02:00
|
|
|
$(PROJECT_LIBRARY) $(DESTDIR)$(libdir)
|
Another adjustment to header locations.
This change is a result of a discussion thread on freetype-devel
http://lists.nongnu.org/archive/html/freetype-devel/2015-06/msg00041.html
Re-introduce the `freetype2' subdirectory for all FreeType header
files after installation, and rename the `freetype2' subdirectory in
the git repository to `freetype'.
* include/freetype2: Renamed to...
* include/freetype: This.
* CMakeLists.txt (PUBLIC_HEADERS, PUBLIC_CONFIG_HEADERS,
PRIVATE_HEADERS): Updated.
Update creation of `ftconfig.h'.
Install generated `ftconfig.h'.
* Jamfile (HDRMACRO, RefDoc), autogen.sh: Updated.
* builds/amiga/include/config/ftconfig.h, builds/freetype.mk
(PUBLIC_DIR), builds/symbian/bld.inf, builds/toplevel.mk (work),
builds/unix/freetype2.in: Updated.
* builds/unix/freetype-config.in: Updated.
* builds/unix/configure.raw: Don't check for `rmdir'.
* builds/unix/unix-def.in (DELDIR): Use `rm -rf', which is portable
according to the autoconf info manual.
* builds/unix/install.mk (install, uninstall,
distclean_project_unix): Update and simplify.
* builds/wince/*, builds/windows/*: Updated.
* devel/ft2build.h, include/ft2build.h: Updated.
* include/freetype2/config/ftheader.h,
include/freetype2/internal/ftserv.h,
include/freetype2/internal/internal.h: Update all header file
macros.
* src/tools/chktrcmp.py (TRACE_DEF_FILES): Updated.
* docs/*: Updated.
2015-06-25 13:04:57 +02:00
|
|
|
-for P in $(PUBLIC_H) ; do \
|
|
|
|
$(INSTALL_DATA) \
|
|
|
|
$$P $(DESTDIR)$(includedir)/freetype2/freetype ; \
|
2000-09-22 23:23:29 +02:00
|
|
|
done
|
Another adjustment to header locations.
This change is a result of a discussion thread on freetype-devel
http://lists.nongnu.org/archive/html/freetype-devel/2015-06/msg00041.html
Re-introduce the `freetype2' subdirectory for all FreeType header
files after installation, and rename the `freetype2' subdirectory in
the git repository to `freetype'.
* include/freetype2: Renamed to...
* include/freetype: This.
* CMakeLists.txt (PUBLIC_HEADERS, PUBLIC_CONFIG_HEADERS,
PRIVATE_HEADERS): Updated.
Update creation of `ftconfig.h'.
Install generated `ftconfig.h'.
* Jamfile (HDRMACRO, RefDoc), autogen.sh: Updated.
* builds/amiga/include/config/ftconfig.h, builds/freetype.mk
(PUBLIC_DIR), builds/symbian/bld.inf, builds/toplevel.mk (work),
builds/unix/freetype2.in: Updated.
* builds/unix/freetype-config.in: Updated.
* builds/unix/configure.raw: Don't check for `rmdir'.
* builds/unix/unix-def.in (DELDIR): Use `rm -rf', which is portable
according to the autoconf info manual.
* builds/unix/install.mk (install, uninstall,
distclean_project_unix): Update and simplify.
* builds/wince/*, builds/windows/*: Updated.
* devel/ft2build.h, include/ft2build.h: Updated.
* include/freetype2/config/ftheader.h,
include/freetype2/internal/ftserv.h,
include/freetype2/internal/internal.h: Update all header file
macros.
* src/tools/chktrcmp.py (TRACE_DEF_FILES): Updated.
* docs/*: Updated.
2015-06-25 13:04:57 +02:00
|
|
|
-for P in $(CONFIG_H) ; do \
|
|
|
|
$(INSTALL_DATA) \
|
|
|
|
$$P $(DESTDIR)$(includedir)/freetype2/freetype/config ; \
|
2000-09-22 23:23:29 +02:00
|
|
|
done
|
2018-03-07 12:23:54 +01:00
|
|
|
$(INSTALL_DATA) $(TOP_DIR)/include/ft2build.h \
|
Another adjustment to header locations.
This change is a result of a discussion thread on freetype-devel
http://lists.nongnu.org/archive/html/freetype-devel/2015-06/msg00041.html
Re-introduce the `freetype2' subdirectory for all FreeType header
files after installation, and rename the `freetype2' subdirectory in
the git repository to `freetype'.
* include/freetype2: Renamed to...
* include/freetype: This.
* CMakeLists.txt (PUBLIC_HEADERS, PUBLIC_CONFIG_HEADERS,
PRIVATE_HEADERS): Updated.
Update creation of `ftconfig.h'.
Install generated `ftconfig.h'.
* Jamfile (HDRMACRO, RefDoc), autogen.sh: Updated.
* builds/amiga/include/config/ftconfig.h, builds/freetype.mk
(PUBLIC_DIR), builds/symbian/bld.inf, builds/toplevel.mk (work),
builds/unix/freetype2.in: Updated.
* builds/unix/freetype-config.in: Updated.
* builds/unix/configure.raw: Don't check for `rmdir'.
* builds/unix/unix-def.in (DELDIR): Use `rm -rf', which is portable
according to the autoconf info manual.
* builds/unix/install.mk (install, uninstall,
distclean_project_unix): Update and simplify.
* builds/wince/*, builds/windows/*: Updated.
* devel/ft2build.h, include/ft2build.h: Updated.
* include/freetype2/config/ftheader.h,
include/freetype2/internal/ftserv.h,
include/freetype2/internal/internal.h: Update all header file
macros.
* src/tools/chktrcmp.py (TRACE_DEF_FILES): Updated.
* docs/*: Updated.
2015-06-25 13:04:57 +02:00
|
|
|
$(DESTDIR)$(includedir)/freetype2/ft2build.h
|
|
|
|
$(INSTALL_DATA) $(OBJ_BUILD)/ftconfig.h \
|
|
|
|
$(DESTDIR)$(includedir)/freetype2/freetype/config/ftconfig.h
|
|
|
|
$(INSTALL_DATA) $(OBJ_DIR)/ftmodule.h \
|
|
|
|
$(DESTDIR)$(includedir)/freetype2/freetype/config/ftmodule.h
|
2017-11-24 10:34:09 +01:00
|
|
|
$(INSTALL_DATA) $(OBJ_BUILD)/ftoption.h \
|
|
|
|
$(DESTDIR)$(includedir)/freetype2/freetype/config/ftoption.h
|
2021-01-10 15:34:46 +01:00
|
|
|
$(INSTALL_SCRIPT) -m 644 $(PLATFORM_DIR)/freetype2.m4 \
|
2002-08-19 04:25:43 +02:00
|
|
|
$(DESTDIR)$(datadir)/aclocal/freetype2.m4
|
2018-03-07 12:23:54 +01:00
|
|
|
$(INSTALL_SCRIPT) -m 644 $(OBJ_BUILD)/freetype2.pc \
|
2003-04-28 11:43:32 +02:00
|
|
|
$(DESTDIR)$(libdir)/pkgconfig/freetype2.pc
|
2018-03-07 12:23:54 +01:00
|
|
|
ifeq ($(INSTALL_FT2_CONFIG),TRUE)
|
|
|
|
$(INSTALL_SCRIPT) -m 755 $(OBJ_BUILD)/freetype-config \
|
|
|
|
$(DESTDIR)$(bindir)/freetype-config
|
|
|
|
$(INSTALL_DATA) $(TOP_DIR)/docs/freetype-config.1 \
|
2014-01-06 07:53:10 +01:00
|
|
|
$(DESTDIR)$(mandir)/man1/freetype-config.1
|
2018-03-07 12:23:54 +01:00
|
|
|
endif
|
2000-11-09 19:23:30 +01:00
|
|
|
|
2000-09-22 23:23:29 +02:00
|
|
|
|
|
|
|
uninstall:
|
2002-08-19 04:25:43 +02:00
|
|
|
-$(LIBTOOL) --mode=uninstall $(RM) $(DESTDIR)$(libdir)/$(LIBRARY).$A
|
|
|
|
-$(DELDIR) $(DESTDIR)$(includedir)/freetype2
|
|
|
|
-$(DELETE) $(DESTDIR)$(bindir)/freetype-config
|
|
|
|
-$(DELETE) $(DESTDIR)$(datadir)/aclocal/freetype2.m4
|
2003-04-28 11:43:32 +02:00
|
|
|
-$(DELETE) $(DESTDIR)$(libdir)/pkgconfig/freetype2.pc
|
2014-01-06 07:53:10 +01:00
|
|
|
-$(DELETE) $(DESTDIR)$(mandir)/man1/freetype-config.1
|
2000-09-22 23:23:29 +02:00
|
|
|
|
|
|
|
|
2002-02-20 01:55:59 +01:00
|
|
|
check:
|
2018-04-15 22:27:10 +02:00
|
|
|
$(info There is no validation suite for this package.)
|
2002-02-20 01:55:59 +01:00
|
|
|
|
|
|
|
|
2000-12-20 23:09:41 +01:00
|
|
|
.PHONY: clean_project_unix distclean_project_unix
|
|
|
|
|
2000-09-22 23:23:29 +02:00
|
|
|
# Unix cleaning and distclean rules.
|
|
|
|
#
|
|
|
|
clean_project_unix:
|
2018-01-21 20:29:58 +01:00
|
|
|
-$(LIBTOOL) --mode=clean $(RM) $(OBJECTS_LIST)
|
|
|
|
-$(DELETE) $(CLEAN)
|
2000-09-22 23:23:29 +02:00
|
|
|
|
|
|
|
distclean_project_unix: clean_project_unix
|
2018-01-21 20:29:58 +01:00
|
|
|
-$(LIBTOOL) --mode=clean $(RM) $(PROJECT_LIBRARY)
|
2000-09-22 23:23:29 +02:00
|
|
|
-$(DELETE) *.orig *~ core *.core $(DISTCLEAN)
|
2000-09-16 00:42:06 +02:00
|
|
|
|
|
|
|
# EOF
|