• Show log

    Commit

  • Hash : 59939244
    Author : Werner Lemberg
    Date : 2006-01-31T20:17:42

    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.
    

  • Properties

  • Git HTTP https://git.kmx.io/kc3-lang/freetype.git
    Git SSH git@git.kmx.io:kc3-lang/freetype.git
    Public access ? public
    Description
    Users
    thodg_m kc3_lang_org thodg_w www_kmx_io thodg thodg_l
    Tags

  • README

  •   Special notes to Unix users
      ===========================
    
      Please  read  the file  `docs/UPGRADE.UNX'.   It contains  important
      information regarding the installation  of FreeType on Unix systems,
      especially GNU based operating systems like GNU/Linux.
    
      FreeType 2's  library is called `libfreetype',  FreeType 1's library
      is called `libttf'.  They are *not* compatible!
    
    
      FreeType 2.1.10
      ===============
    
      Please   read   the  docs/CHANGES   file,   it  contains   IMPORTANT
      INFORMATION.
    
      Read the files `docs/INSTALL' for installation instructions.
    
      Note  that  the FreeType  2  documentation  is  now available  as  a
      separate package from our sites.  See:
    
        ftp://ftp.freetype.org/freetype/freetype2/ftdocs-2.1.10.tar.bz2
        ftp://ftp.freetype.org/freetype/freetype2/ftdocs-2.1.10.tar.gz
        ftp://ftp.freetype.org/freetype/freetype2/ftdoc2110.zip
    
    
      Bugs
      ====
    
      Please report bugs  by e-mail to `freetype-devel@nongnu.org'.  Don't
      forget to  send a  detailed explanation of  the problem --  there is
      nothing  worse than  receiving a  terse message  that only  says `it
      doesn't work'.
    
      Alternatively, you may submit a bug report at
    
        https://savannah.nongnu.org/bugs/?group=freetype
    
    
      Enjoy!
    
    
        The FreeType Team
    
    ----------------------------------------------------------------------
    
    Copyright 2001, 2002, 2003, 2004, 2006 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 README ---