summaryrefslogtreecommitdiff
path: root/development/x86-mingw32-build/x86-mingw32-build.sh.conf
blob: 1a69eacec9f25dcd3493cc9cddf2e0c533d61bfa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
# 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