# x86-mingw32-build.sh.conf -*- sh -*- vim: filetype=sh
# $Id: x86-mingw32-build.sh.conf,v 1.10 2010/03/10 22:16:55 keithmarshall Exp $
#
# Define user configurable parameters for mingw32 cross-compiler build.
#
# This file is a component of the x86-mingw32-build script; it is not
# intended for stand alone use.
# 
# x86-mingw32-build is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by the
# Free Software Foundation; either version 2, or (at your option) any later
# version.
# 
# x86-mingw32-build is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
# or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
# for further details.
# 
# You should have received a copy of the GNU General Public License along
# with x86-mingw32-build; see the file COPYING.  If not, write to the Free
# Software Foundation, 51 Franklin St - Fifth Floor, Boston, MA 02110-1301,
# USA.
#
#
# 1) Whether the build script should run interactively, or unattended;
#    change this ONLY if you wish to PERMANENTLY disable interactive
#    operation; it may be overridden on a per-invocation basis, by
#    invoking the script with the `--unattended' option.
#
     assume BUILD_METHOD                  interactive
#
# 2) The preferred host, from which to download source packages.
#    Note that this will not resolve to an acceptable host, without
#    modification; substitute one of the host names selected from
#    the `x86-mingw32-build.sh.hosts' file for the `mirror' field
#    in the following URL, to establish a default download host.
#
     assume DOWNLOAD_HOST     http://prdownloads.sourceforge.net/mingw
     assume DOWNLOAD_OPTIONS  '?download&use_mirror=mirror'
#
# 3) Directories to use for temporary working space, package storage,
#    and ultimate compiler installation.  You should adjust these to
#    match your own host configuration; note that you MUST have WRITE
#    permission for each directory specified.
#
     assume WORKING_DIR                   //tmp/SBo/x86-mingw32-build/mingw32
     assume PACKAGE_DIR                   /home/gizzmo/build/stage1/x86-mingw32-build
     assume INSTALL_DIR                   /tmp/SBo/package-x86-mingw32-build/usr/share/mingw32
#
# 4) Package versions, from which the compiler will be built.
#
     assume GCC_VERSION                   3.4.5-20060117-2
     assume BINUTILS_VERSION              2.20.1
     assume RUNTIME_VERSION               3.18
     assume W32API_VERSION                3.14
#
# 5) Automatic patching of downloaded packages: if any appropriately
#    named patch sets are placed in the nominated patches directory,
#    they will be automatically applied, when the package archive is
#    expanded.  Patches are associated with their related package by
#    naming convention; i.e. `binutils-<version>-patch-<nn>' will be
#    associated with the `binutils-<version>-src' package.  Multiple
#    patches may be associated with any single source package; they
#    will be applied in increasing order of the <nn> serialisation
#    suffix, (which should ideally be a two digit number).
#
#    All patches should be prepared consistently, assuming that they
#    will be applied with the current working directory being that in
#    which the package archive is expanded, using a patch command of
#    the form `patch $PATCHFLAGS < $PATCHES_DIR/<patch-file>'.
#
     assume PATCHFLAGS                   -p0
     assume PATCHES_DIR                   $PACKAGE_DIR/patches
#
# 6) Components to be built.  These are listed in the order they
#    should be built; DO NOT CHANGE IT!  If you wish to omit any
#    component, you may comment it out.
#
     option BUILD_COMPONENTS              headers
     option BUILD_COMPONENTS              binutils
     option BUILD_COMPONENTS              gcc
     option BUILD_COMPONENTS              w32api
     option BUILD_COMPONENTS              mingw-runtime
#
# 7) GCC language options.  The compiler MUST be built to support
#    at least `C' language.
#
     assume GCC_LANGUAGE_SET              c
#
#    Support for other languages is available at the user's option;
#    for interactive use, any of the following may be selected at
#    run time; for batch use, ALL listed here will be selected, if
#    the corresponding package is available in the PACKAGE_DIR, or
#    if it is selected for download.
#
#     option GCC_LANGUAGE_OPTIONS          ada
     option GCC_LANGUAGE_OPTIONS          c++
     option GCC_LANGUAGE_OPTIONS          f77
     option GCC_LANGUAGE_OPTIONS          java
     option GCC_LANGUAGE_OPTIONS          objc
#
# 8) User preferences for configuration options.  These have been
#    preconfigured to match the setup of the prebuilt compiler suite,
#    as distributed by the MinGW Project, for native use on MS-Win32
#    hosts; comment out any which you do not want to apply, for your
#    cross-compiler build.
#
#    Note: DO NOT add `--enable-languages=...' to any `USER' or `BASE'
#    options class; this is properly defined by `GCC_LANGUAGE_OPTIONS',
#    as specified above.
#
#    Caution: DO NOT add `--with-sysroot=...' to any `USER' or `BASE'
#    options class.  `--with-sysroot=$INSTALL_DIR' is hardwired in the
#    build script; tampering with it here may damage the build.
#
     option GLOBAL_USER_OPTIONS         --disable-nls
     option GLOBAL_USER_OPTIONS         --disable-shared
     option GLOBAL_USER_OPTIONS         --disable-debug
#
     option GCC_USER_OPTIONS            --enable-sjlj-exceptions
#
# 9) Standard settings, as used for the prebuilt Win32 native compiler
#    suite.  Only advanced users should tinker with these settings.
#
     option GLOBAL_BASE_OPTIONS         --with-gcc
     option GLOBAL_BASE_OPTIONS         --with-gnu-as
     option GLOBAL_BASE_OPTIONS         --with-gnu-ld
#
     option GCC_BASE_OPTIONS            --enable-threads=win32
     option GCC_BASE_OPTIONS            --disable-win32-registry
#
     option GCC_JAVA_BASE_OPTIONS       --enable-libgcj
     option GCC_JAVA_BASE_OPTIONS       --disable-libgcj-debug
     option GCC_JAVA_BASE_OPTIONS       --disable-java-awt
     option GCC_JAVA_BASE_OPTIONS       --enable-java-gc=boehm
     option GCC_JAVA_BASE_OPTIONS       --enable-interpreter
     option GCC_JAVA_BASE_OPTIONS       --enable-hash-synchronization
     option GCC_JAVA_BASE_OPTIONS       --without-x
#
     option CFLAGS_FOR_BINUTILS          -O2
     option CFLAGS_FOR_BINUTILS          -fno-exceptions
#
     option LDFLAGS_FOR_BINUTILS         -s
#
     option CFLAGS_FOR_GCC               -O2
     option CFLAGS_FOR_GCC               -fomit-frame-pointer
#
     option LDFLAGS_FOR_GCC              -s
#
# CFLAGS_FOR_RUNTIME and LDFLAGS_FOR_RUNTIME are applied when building
# both the mingw-runtime and the w32api libraries:--
#
     option CFLAGS_FOR_RUNTIME           -O2
     option CFLAGS_FOR_RUNTIME           -mms-bitfields
     option CFLAGS_FOR_RUNTIME           -march=${TARGET_CPU-i386}
#
     option LDFLAGS_FOR_RUNTIME          -s
#
# $RCSfile: x86-mingw32-build.sh.conf,v $Revision: 1.10 $: end of file
