wine & ccache

Mike Hearn mike at theoretic.com
Tue Sep 30 07:16:17 CDT 2003


On Tue, 2003-09-30 at 01:40, Alexandre Julliard wrote:
> One problem is that most makefiles specify different defines, so you
> basically need to have one different rule for each C file. Then there
> are many files that have explicit rules. It could be done, but I don't
> think it's worth it, and the result would be really messy and hard to
> maintain.

Maybe oneday it would be worth porting the Wine build system to SCons
(http://www.scons.org/). From "What makes SCons better":

      * Configuration files are Python scripts--use the power of a real
        programming language to solve build problems.
      * Reliable, automatic dependency analysis built-in for C, C++ and
        Fortran--no more "make depend" or "make clean" to get all of the
        dependencies. Dependency analysis is easily extensible through
        user-defined dependency Scanners for other languages or file
        types.
      * Built-in support for C, C++, Java, Fortran, Yacc, Lex, Qt and
        SWIG, and building TeX and LaTeX documents. Easily extensible
        through user-defined Builders for other languages or file types.
      * Built-in support for fetching source files from SCCS, RCS, CVS,
        BitKeeper and Perforce.
      * Built-in support for Microsoft Visual Studio .NET and past
        Visual Studio versions, including generation of .dsp, .dsw, .sln
        and .vcproj files.
      * Reliable detection of build changes using MD5 signatures;
        optional, configurable support for traditional timestamps.
      * Improved support for parallel builds--like make -j but keeps N
        jobs running simultaneously regardless of directory hierarchy.
      * Integrated Autoconf-like support for finding #include files,
        libraries, functions and typedefs.
      * Global view of all dependencies--no more multiple build passes
        or reordering targets to build everything.
      * Building from central repositories of source code and/or
        pre-built targets.
      * Ability to share built files in a cache to speed up multiple
        builds.
      * Designed from the ground up for cross-platform builds, and known
        to work on Linux, other POSIX systems (including AIX, *BSD
        systems, HP/UX, IRIX and Solaris), Windows NT, Mac OS X, and
        OS/2.




More information about the wine-devel mailing list