source: trunk/dports/lang/gnat-gcc/Portfile

Last change on this file was 114325, checked in by ryandesign@…, 4 years ago

use eq and ne instead of == and != when comparing ${os.platform} and ${os.subplatform}

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
File size: 21.2 KB
Line 
1# -*- coding: utf-8; mode: tcl; tab-width: 4; truncate-lines: t; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:et:sw=4:ts=8:sts=4
2# $Id: Portfile 114325 2013-12-05 09:20:31Z ryandesign@macports.org $
3
4PortSystem 1.0
5
6name                    gnat-gcc
7epoch                   1
8version                 4.4.2
9revision                1
10platforms               darwin
11categories              lang
12maintainers             krischik
13license                 GPL-3
14description             The GNU compiler collection with GNAT
15long_description        The GNU compiler collection, including front ends for \
16                        C, C++, Ada, Objective-C, Objective-C++, Java and Fortran95.
17
18homepage                http://gcc.gnu.org/
19master_sites    ftp://ftp.funet.fi/pub/mirrors/sources.redhat.com/pub/gcc/releases/gcc-${version}/ \
20                ftp://ftp.gwdg.de/pub/linux/gcc/releases/gcc-${version}/ \
21                ftp://gcc.ftp.nluug.nl/mirror/languages/gcc/releases/gcc-${version}/ \
22                ftp://gcc.gnu.org/pub/gcc/releases/gcc-${version}/ \
23                gnu:/gcc/gcc-${version}
24
25set dcore               gcc-core-${version}.tar.bz2
26set dada                gcc-ada-${version}.tar.bz2
27set dfort               gcc-fortran-${version}.tar.bz2
28set dcxx                gcc-g++-${version}.tar.bz2
29set djava               gcc-java-${version}.tar.bz2
30set dobjc               gcc-objc-${version}.tar.bz2
31distfiles               ${dcore} ${dada} ${dfort} ${dcxx} ${djava} ${dobjc}
32
33checksums               ${dcore} sha1 929d560e07082d790de5cdc46a78008f7a742241 \
34                        ${dada}  sha1 75d6789299b582f043454ae70ae1aec76c1f5eb1 \
35                        ${dfort} sha1 bce411a96682627416311cd42134b449bdee6d81 \
36                        ${dcxx} sha1 e73c1dcfdefb0972a4c91c656980bdc009196ae4 \
37                        ${djava} sha1 f9ab2f157bd11ed56dddfc683fe022474ac11217 \
38                        ${dobjc} sha1 b3129d55058960d4c20fc9a2e96254e1c8c9debf
39
40use_bzip2               yes
41
42# gmp and mpfr are not universal
43universal_variant       no
44
45depends_lib             port:gmp port:mpfr port:libiconv
46depends_run             port:gcc_select
47
48patch.dir       ${workpath}/gcc-${version}
49
50set major               4.4
51
52worksrcdir              build
53dist_subdir             gcc44
54
55# the generated compiler doesn't accept -arch
56if {[info exists build_arch] && ${os.platform} eq "darwin"} {
57    configure.cc_archflags
58    configure.cxx_archflags
59    configure.objc_archflags
60    configure.pre_args-append --build=${build_arch}-apple-darwin${os.major}
61}
62
63post-extract {
64        file mkdir ${worksrcpath}
65}
66
67configure.cmd   ../gcc-${version}/configure
68configure.args  --enable-languages=c,c++,ada,objc,obj-c++,java,fortran \
69                --libdir=${prefix}/lib/${name} \
70                --includedir=${prefix}/include/${name} \
71                --infodir=${prefix}/share/info \
72                --mandir=${prefix}/share/man \
73                --with-local-prefix=${prefix} \
74                --with-system-zlib \
75                --disable-nls \
76                --program-suffix=-gnat-${major} \
77                --with-gxx-include-dir=${prefix}/include/${name}/c++/ \
78                --with-gmp=${prefix} \
79                --with-mpfr=${prefix}
80# do NOT use MacPorts binutils -- they do not work
81configure.env-append    AR_FOR_TARGET=/usr/bin/ar \
82                        AS_FOR_TARGET=/usr/bin/as \
83                        LD_FOR_TARGET=/usr/bin/ld \
84                        NM_FOR_TARGET=/usr/bin/nm \
85                        OBJDUMP_FOR_TARGET=/usr/bin/objdump \
86                        RANLIB_FOR_TARGET=/usr/bin/ranlib \
87                        STRIP_FOR_TARGET=/usr/bin/strip
88
89build.target    bootstrap
90use_parallel_build      yes
91
92destroot.target install install-info-host
93
94post-destroot {
95        file delete -force ${destroot}${prefix}/share/man/man7 \
96                ${destroot}${prefix}/share/info
97        # install/copy ffitarget.h only if we have it
98        if {![catch {set ffitarget.h [glob ${destroot}${prefix}/lib/${name}/gcc/*/${version}/include/ffitarget.h]} result]} {
99                file copy ${ffitarget.h} ${destroot}${prefix}/include/${name}/
100        }
101        # install select file for gcc_select
102        xinstall -m 755 -d ${destroot}${prefix}/etc/select/gcc
103        xinstall -m 444 ${filespath}/gnat-gcc ${destroot}${prefix}/etc/select/gcc/
104
105    set dest_src_dir    ${destroot}${prefix}/src/gnat
106    set src_ada_dir     ${workpath}/gcc-${version}/gcc/ada
107    set src_c_dir       ${workpath}/gcc-${version}/gcc
108    set target_ada_dir  ${workpath}/${worksrcdir}/gcc/ada;
109
110    xinstall -m 775 -d                                                  ${dest_src_dir}
111    xinstall -m 664 -W ${src_ada_dir}    ali.adb                        ${dest_src_dir}
112    xinstall -m 664 -W ${src_ada_dir}    ali.ads                        ${dest_src_dir}
113    xinstall -m 664 -W ${src_ada_dir}    alloc.ads                      ${dest_src_dir}
114    xinstall -m 664 -W ${src_ada_dir}    atree.adb                      ${dest_src_dir}
115    xinstall -m 664 -W ${src_ada_dir}    atree.ads                      ${dest_src_dir}
116    xinstall -m 664 -W ${src_ada_dir}    butil.adb                      ${dest_src_dir}
117    xinstall -m 664 -W ${src_ada_dir}    butil.ads                      ${dest_src_dir}
118    xinstall -m 664 -W ${src_ada_dir}    casing.adb                     ${dest_src_dir}
119    xinstall -m 664 -W ${src_ada_dir}    casing.ads                     ${dest_src_dir}
120    xinstall -m 664 -W ${src_ada_dir}    csets.adb                      ${dest_src_dir}
121    xinstall -m 664 -W ${src_ada_dir}    csets.ads                      ${dest_src_dir}
122    xinstall -m 664 -W ${src_ada_dir}    debug.adb                      ${dest_src_dir}
123    xinstall -m 664 -W ${src_ada_dir}    debug.ads                      ${dest_src_dir}
124    xinstall -m 664 -W ${src_ada_dir}    einfo.adb                      ${dest_src_dir}
125    xinstall -m 664 -W ${src_ada_dir}    einfo.ads                      ${dest_src_dir}
126    xinstall -m 664 -W ${src_ada_dir}    elists.adb                     ${dest_src_dir}
127    xinstall -m 664 -W ${src_ada_dir}    elists.ads                     ${dest_src_dir}
128    xinstall -m 664 -W ${src_ada_dir}    err_vars.ads                   ${dest_src_dir}
129    xinstall -m 664 -W ${src_ada_dir}    errout.adb                     ${dest_src_dir}
130    xinstall -m 664 -W ${src_ada_dir}    errout.ads                     ${dest_src_dir}
131    xinstall -m 664 -W ${src_ada_dir}    erroutc.adb                    ${dest_src_dir}
132    xinstall -m 664 -W ${src_ada_dir}    erroutc.ads                    ${dest_src_dir}
133    xinstall -m 664 -W ${src_ada_dir}    errutil.adb                    ${dest_src_dir}
134    xinstall -m 664 -W ${src_ada_dir}    errutil.ads                    ${dest_src_dir}
135    xinstall -m 664 -W ${src_ada_dir}    fmap.adb                       ${dest_src_dir}
136    xinstall -m 664 -W ${src_ada_dir}    fmap.ads                       ${dest_src_dir}
137    xinstall -m 664 -W ${src_ada_dir}    fname.adb                      ${dest_src_dir}
138    xinstall -m 664 -W ${src_ada_dir}    fname.ads                      ${dest_src_dir}
139    xinstall -m 664 -W ${src_ada_dir}    g-string.adb                   ${dest_src_dir}
140    xinstall -m 664 -W ${src_ada_dir}    g-string.ads                   ${dest_src_dir}
141    xinstall -m 664 -W ${src_ada_dir}    gnatvsn.adb                    ${dest_src_dir}
142    xinstall -m 664 -W ${src_ada_dir}    gnatvsn.ads                    ${dest_src_dir}
143    #xinstall -m 664 -W ${src_ada_dir}   gprmake.adb                    ${dest_src_dir}
144    xinstall -m 664 -W ${src_ada_dir}    hostparm.ads                   ${dest_src_dir}
145    xinstall -m 664 -W ${src_ada_dir}    impunit.adb                    ${dest_src_dir}
146    xinstall -m 664 -W ${src_ada_dir}    krunch.adb                     ${dest_src_dir}
147    xinstall -m 664 -W ${src_ada_dir}    krunch.ads                     ${dest_src_dir}
148    xinstall -m 664 -W ${src_ada_dir}    lib-list.adb                   ${dest_src_dir}
149    xinstall -m 664 -W ${src_ada_dir}    lib-sort.adb                   ${dest_src_dir}
150    xinstall -m 664 -W ${src_ada_dir}    lib.adb                        ${dest_src_dir}
151    xinstall -m 664 -W ${src_ada_dir}    lib.ads                        ${dest_src_dir}
152    #xinstall -m 664 -W ${src_ada_dir}   makegpr.adb                    ${dest_src_dir}
153    #xinstall -m 664 -W ${src_ada_dir}   makegpr.ads                    ${dest_src_dir}
154    xinstall -m 664 -W ${src_ada_dir}    makeutl.adb                    ${dest_src_dir}
155    xinstall -m 664 -W ${src_ada_dir}    makeutl.ads                    ${dest_src_dir}
156    xinstall -m 664 -W ${src_ada_dir}    mlib-fil.adb                   ${dest_src_dir}
157    xinstall -m 664 -W ${src_ada_dir}    mlib-fil.ads                   ${dest_src_dir}
158    xinstall -m 664 -W ${src_ada_dir}    mlib-tgt-specific-darwin.adb   ${dest_src_dir}
159    xinstall -m 664 -W ${src_ada_dir}    mlib-tgt-specific-linux.adb    ${dest_src_dir}
160    xinstall -m 664 -W ${src_ada_dir}    mlib-tgt-specific-mingw.adb    ${dest_src_dir}
161    xinstall -m 664 -W ${src_ada_dir}    mlib-tgt-specific.adb          ${dest_src_dir}
162    xinstall -m 664 -W ${src_ada_dir}    mlib-tgt-specific.ads          ${dest_src_dir}
163    xinstall -m 664 -W ${src_ada_dir}    mlib-tgt.adb                   ${dest_src_dir}
164    xinstall -m 664 -W ${src_ada_dir}    mlib-tgt.ads                   ${dest_src_dir}
165    xinstall -m 664 -W ${src_ada_dir}    mlib-utl.adb                   ${dest_src_dir}
166    xinstall -m 664 -W ${src_ada_dir}    mlib-utl.ads                   ${dest_src_dir}
167    xinstall -m 664 -W ${src_ada_dir}    mlib.adb                       ${dest_src_dir}
168    xinstall -m 664 -W ${src_ada_dir}    mlib.ads                       ${dest_src_dir}
169    xinstall -m 664 -W ${src_ada_dir}    namet.adb                      ${dest_src_dir}
170    xinstall -m 664 -W ${src_ada_dir}    namet.ads                      ${dest_src_dir}
171    xinstall -m 664 -W ${src_ada_dir}    nlists.adb                     ${dest_src_dir}
172    xinstall -m 664 -W ${src_ada_dir}    nlists.ads                     ${dest_src_dir}
173    xinstall -m 664 -W ${src_ada_dir}    opt.adb                        ${dest_src_dir}
174    xinstall -m 664 -W ${src_ada_dir}    opt.ads                        ${dest_src_dir}
175    xinstall -m 664 -W ${src_ada_dir}    osint.adb                      ${dest_src_dir}
176    xinstall -m 664 -W ${src_ada_dir}    osint.ads                      ${dest_src_dir}
177    xinstall -m 664 -W ${src_ada_dir}    output.adb                     ${dest_src_dir}
178    xinstall -m 664 -W ${src_ada_dir}    output.ads                     ${dest_src_dir}
179    xinstall -m 664 -W ${src_ada_dir}    prj-attr-pm.adb                ${dest_src_dir}
180    xinstall -m 664 -W ${src_ada_dir}    prj-attr-pm.ads                ${dest_src_dir}
181    xinstall -m 664 -W ${src_ada_dir}    prj-attr.adb                   ${dest_src_dir}
182    xinstall -m 664 -W ${src_ada_dir}    prj-attr.ads                   ${dest_src_dir}
183    xinstall -m 664 -W ${src_ada_dir}    prj-com.ads                    ${dest_src_dir}
184    xinstall -m 664 -W ${src_ada_dir}    prj-dect.adb                   ${dest_src_dir}
185    xinstall -m 664 -W ${src_ada_dir}    prj-dect.ads                   ${dest_src_dir}
186    xinstall -m 664 -W ${src_ada_dir}    prj-env.adb                    ${dest_src_dir}
187    xinstall -m 664 -W ${src_ada_dir}    prj-env.ads                    ${dest_src_dir}
188    xinstall -m 664 -W ${src_ada_dir}    prj-err.adb                    ${dest_src_dir}
189    xinstall -m 664 -W ${src_ada_dir}    prj-err.ads                    ${dest_src_dir}
190    xinstall -m 664 -W ${src_ada_dir}    prj-ext.adb                    ${dest_src_dir}
191    xinstall -m 664 -W ${src_ada_dir}    prj-ext.ads                    ${dest_src_dir}
192    xinstall -m 664 -W ${src_ada_dir}    prj-nmsc.adb                   ${dest_src_dir}
193    xinstall -m 664 -W ${src_ada_dir}    prj-nmsc.ads                   ${dest_src_dir}
194    xinstall -m 664 -W ${src_ada_dir}    prj-pars.adb                   ${dest_src_dir}
195    xinstall -m 664 -W ${src_ada_dir}    prj-pars.ads                   ${dest_src_dir}
196    xinstall -m 664 -W ${src_ada_dir}    prj-part.adb                   ${dest_src_dir}
197    xinstall -m 664 -W ${src_ada_dir}    prj-part.ads                   ${dest_src_dir}
198    xinstall -m 664 -W ${src_ada_dir}    prj-pp.adb                     ${dest_src_dir}
199    xinstall -m 664 -W ${src_ada_dir}    prj-pp.ads                     ${dest_src_dir}
200    xinstall -m 664 -W ${src_ada_dir}    prj-proc.adb                   ${dest_src_dir}
201    xinstall -m 664 -W ${src_ada_dir}    prj-proc.ads                   ${dest_src_dir}
202    xinstall -m 664 -W ${src_ada_dir}    prj-strt.adb                   ${dest_src_dir}
203    xinstall -m 664 -W ${src_ada_dir}    prj-strt.ads                   ${dest_src_dir}
204    xinstall -m 664 -W ${src_ada_dir}    prj-tree.adb                   ${dest_src_dir}
205    xinstall -m 664 -W ${src_ada_dir}    prj-tree.ads                   ${dest_src_dir}
206    xinstall -m 664 -W ${src_ada_dir}    prj-util.adb                   ${dest_src_dir}
207    xinstall -m 664 -W ${src_ada_dir}    prj-util.ads                   ${dest_src_dir}
208    xinstall -m 664 -W ${src_ada_dir}    prj.adb                        ${dest_src_dir}
209    xinstall -m 664 -W ${src_ada_dir}    prj.ads                        ${dest_src_dir}
210    xinstall -m 664 -W ${src_ada_dir}    repinfo.adb                    ${dest_src_dir}
211    xinstall -m 664 -W ${src_ada_dir}    repinfo.ads                    ${dest_src_dir}
212    xinstall -m 664 -W ${src_ada_dir}    rident.ads                     ${dest_src_dir}
213    xinstall -m 664 -W ${src_ada_dir}    scans.adb                      ${dest_src_dir}
214    xinstall -m 664 -W ${src_ada_dir}    scans.ads                      ${dest_src_dir}
215    xinstall -m 664 -W ${src_ada_dir}    scng.adb                       ${dest_src_dir}
216    xinstall -m 664 -W ${src_ada_dir}    scng.ads                       ${dest_src_dir}
217    xinstall -m 664 -W ${src_ada_dir}    sdefault.ads                   ${dest_src_dir}
218    xinstall -m 664 -W ${src_ada_dir}    sinfo-cn.adb                   ${dest_src_dir}
219    xinstall -m 664 -W ${src_ada_dir}    sinfo-cn.ads                   ${dest_src_dir}
220    xinstall -m 664 -W ${src_ada_dir}    sinfo.adb                      ${dest_src_dir}
221    xinstall -m 664 -W ${src_ada_dir}    sinfo.ads                      ${dest_src_dir}
222    xinstall -m 664 -W ${src_ada_dir}    sinput-c.adb                   ${dest_src_dir}
223    xinstall -m 664 -W ${src_ada_dir}    sinput-c.ads                   ${dest_src_dir}
224    xinstall -m 664 -W ${src_ada_dir}    sinput-p.adb                   ${dest_src_dir}
225    xinstall -m 664 -W ${src_ada_dir}    sinput-p.ads                   ${dest_src_dir}
226    xinstall -m 664 -W ${src_ada_dir}    sinput.adb                     ${dest_src_dir}
227    xinstall -m 664 -W ${src_ada_dir}    sinput.ads                     ${dest_src_dir}
228    xinstall -m 664 -W ${src_ada_dir}    snames.adb                     ${dest_src_dir}
229    xinstall -m 664 -W ${src_ada_dir}    snames.ads                     ${dest_src_dir}
230    xinstall -m 664 -W ${src_ada_dir}    stand.adb                      ${dest_src_dir}
231    xinstall -m 664 -W ${src_ada_dir}    stand.ads                      ${dest_src_dir}
232    xinstall -m 664 -W ${src_ada_dir}    stringt.adb                    ${dest_src_dir}
233    xinstall -m 664 -W ${src_ada_dir}    stringt.ads                    ${dest_src_dir}
234    xinstall -m 664 -W ${src_ada_dir}    style.ads                      ${dest_src_dir}
235    xinstall -m 664 -W ${src_ada_dir}    styleg-c.adb                   ${dest_src_dir}
236    xinstall -m 664 -W ${src_ada_dir}    styleg-c.ads                   ${dest_src_dir}
237    xinstall -m 664 -W ${src_ada_dir}    styleg.adb                     ${dest_src_dir}
238    xinstall -m 664 -W ${src_ada_dir}    styleg.ads                     ${dest_src_dir}
239    xinstall -m 664 -W ${src_ada_dir}    stylesw.adb                    ${dest_src_dir}
240    xinstall -m 664 -W ${src_ada_dir}    stylesw.ads                    ${dest_src_dir}
241    xinstall -m 664 -W ${src_ada_dir}    switch-m.adb                   ${dest_src_dir}
242    xinstall -m 664 -W ${src_ada_dir}    switch-m.ads                   ${dest_src_dir}
243    xinstall -m 664 -W ${src_ada_dir}    switch.adb                     ${dest_src_dir}
244    xinstall -m 664 -W ${src_ada_dir}    switch.ads                     ${dest_src_dir}
245    xinstall -m 664 -W ${src_ada_dir}    table.adb                      ${dest_src_dir}
246    xinstall -m 664 -W ${src_ada_dir}    table.ads                      ${dest_src_dir}
247    xinstall -m 664 -W ${src_ada_dir}    targparm.adb                   ${dest_src_dir}
248    xinstall -m 664 -W ${src_ada_dir}    targparm.ads                   ${dest_src_dir}
249    xinstall -m 664 -W ${src_ada_dir}    tempdir.adb                    ${dest_src_dir}
250    xinstall -m 664 -W ${src_ada_dir}    tempdir.ads                    ${dest_src_dir}
251    xinstall -m 664 -W ${src_ada_dir}    tree_in.adb                    ${dest_src_dir}
252    xinstall -m 664 -W ${src_ada_dir}    tree_in.ads                    ${dest_src_dir}
253    xinstall -m 664 -W ${src_ada_dir}    tree_io.adb                    ${dest_src_dir}
254    xinstall -m 664 -W ${src_ada_dir}    tree_io.ads                    ${dest_src_dir}
255    xinstall -m 664 -W ${src_ada_dir}    types.adb                      ${dest_src_dir}
256    xinstall -m 664 -W ${src_ada_dir}    types.ads                      ${dest_src_dir}
257    xinstall -m 664 -W ${src_ada_dir}    uintp.adb                      ${dest_src_dir}
258    xinstall -m 664 -W ${src_ada_dir}    uintp.ads                      ${dest_src_dir}
259    xinstall -m 664 -W ${src_ada_dir}    uname.adb                      ${dest_src_dir}
260    xinstall -m 664 -W ${src_ada_dir}    uname.ads                      ${dest_src_dir}
261    xinstall -m 664 -W ${src_ada_dir}    urealp.adb                     ${dest_src_dir}
262    xinstall -m 664 -W ${src_ada_dir}    urealp.ads                     ${dest_src_dir}
263    xinstall -m 664 -W ${src_ada_dir}    widechar.adb                   ${dest_src_dir}
264    xinstall -m 664 -W ${src_ada_dir}    widechar.ads                   ${dest_src_dir}
265    xinstall -m 664 -W ${src_ada_dir}    g-comlin.ads                   ${dest_src_dir}
266    xinstall -m 664 -W ${src_ada_dir}    g-comlin.adb                   ${dest_src_dir}
267    xinstall -m 664 -W ${src_c_dir}      version.c                      ${dest_src_dir}
268    xinstall -m 664 -W ${src_c_dir}      version.h                      ${dest_src_dir}
269    xinstall -m 664 -W ${target_ada_dir} sdefault.adb                   ${dest_src_dir}
270}
271
272platform powerpc {
273        configure.args-append --disable-multilib
274}
275
276# odcctools currently do not compile for x64 - move to variant for the time being
277variant odcctools \
278        description "Use the odcctools instead of the system provided ones - does not work for x64 currently!" {
279        depends_lib-append      port:odcctools
280        post-patch {
281                reinplace "s|/usr/bin/libtool|${prefix}/bin/odlibtool|g" \
282                        ${workpath}/gcc-${version}/gcc/config/darwin.h
283        }
284        configure.args-append   --with-as=${prefix}/bin/odas \
285                                --with-ld=${prefix}/bin/odld \
286                                --with-ar=${prefix}/bin/odar
287}
288
289#variant x86_64                                                                         \
290        #description "Create an Intel 64 bit compiler." {
291        #configure.args-append                          \
292                #--build=i386-apple-darwin9             \
293                #--host=i386-apple-darwin9              \
294                #--target=x86_64-apple-darwin9
295                ##APXSLDFLAGS='-arch x86_64'            \
296                ##--with-apxs=/usr/sbin/apxs
297                ##CFLAGS='-arch x86_64'                 \
298#}
299
300#
301# Ada is the only language apart from C which is self hosted - meaning: you need
302# an ada compiler to compile ada. hence it is just a variant.
303#
304variant macada                                                                  \
305    description "Uses MacAda compiler (http://www.macada.org) to bootstrap!"    {
306    set bootprefix /usr/local/ada-4.3
307    if {![file executable ${bootprefix}/bin/gnat]} {
308        ui_msg "####################################################################"
309        ui_msg "#  Ada is self hosted (http://en.wikipedia.org/wiki/Self-hosting)  #"
310        ui_msg "#                                                                  #"
311        ui_msg "#  Bootstrap compiler not found. Please download and install from  #"
312        ui_msg "#  http://www.macada.org                                           #"
313        ui_msg "####################################################################"
314    }
315    configure.cc                ${bootprefix}/bin/gcc
316    configure.cpp               ${bootprefix}/bin/cpp
317    configure.cxx               ${bootprefix}/bin/g++
318    configure.objc              ${bootprefix}/bin/gcc
319    configure.env-append        PATH=${bootprefix}/bin:$env(PATH)
320    configure.env-append        GNATMAKE=${bootprefix}/bin/gnatmake
321    configure.env-append        GNATBIND=${bootprefix}/bin/gnatbind
322}
323
324variant gnatgpl                                                                         \
325    description "Uses GNAT/GPL compiler (http://libre.adacore.com) to bootstrap!"       {
326    set bootprefix /opt/gnat-2009-x86_64-apple-darwin9.6.0-bin
327    if {![file executable ${bootprefix}/bin/gnat]} {
328        ui_msg "####################################################################"
329        ui_msg "#  Ada is self hosted (http://en.wikipedia.org/wiki/Self-hosting)  #"
330        ui_msg "#                                                                  #"
331        ui_msg "#  Bootstrap compiler not found. Please download and install from  #"
332        ui_msg "#  http://libre.adacore.com                                        #"
333        ui_msg "####################################################################"
334    }
335    configure.cc                ${bootprefix}/bin/gcc
336    configure.cpp               ${bootprefix}/bin/cpp
337    configure.cxx               ${bootprefix}/bin/g++
338    configure.objc              ${bootprefix}/bin/gcc
339    configure.env-append        PATH=${bootprefix}/bin:$env(PATH)
340    configure.env-append        GNATMAKE=${bootprefix}/bin/gnatmake
341    configure.env-append        GNATBIND=${bootprefix}/bin/gnatbind
342}
343
344variant gnuada                                                                                  \
345    description "Uses the GnuAda (http://gnuada.sourceforge.net/) compiler to bootstrap!"       {
346    set bootprefix /opt/local
347    if {![file executable ${bootprefix}/bin/gnat]} {
348        ui_msg "####################################################################"
349        ui_msg "#  Ada is self hosted (http://en.wikipedia.org/wiki/Self-hosting)  #"
350        ui_msg "#                                                                  #"
351        ui_msg "#  Bootstrap compiler not found. Please download and install from  #"
352        ui_msg "#  http://gnuada.sourceforge.net                                   #"
353        ui_msg "####################################################################"
354    }
355    configure.cc                ${bootprefix}/bin/gcc-gnat-4.4
356    configure.cpp               ${bootprefix}/bin/cpp-gnat-4.4
357    configure.cxx               ${bootprefix}/bin/g++-gnat-4.4
358    configure.objc              ${bootprefix}/bin/gcc-gnat-4.4
359    configure.env-append        PATH=${bootprefix}/bin:$env(PATH)
360    configure.env-append        GNATMAKE=${bootprefix}/bin/gnatmake
361    configure.env-append        GNATBIND=${bootprefix}/bin/gnatbind
362}
363
364variant ada                                                                                     \
365    description "Uses the MacPorts Ada (http://www.macports.org/) compiler to bootstrap!"       {
366    if {![file executable ${prefix}/bin/gnat]} {
367        ui_msg "####################################################################"
368        ui_msg "#  Ada is self hosted (http://en.wikipedia.org/wiki/Self-hosting)  #"
369        ui_msg "#                                                                  #"
370        ui_msg "#  For the first intital installation you need to choose one       #"
371        ui_msg "#  one of the other variants                                       #"
372        ui_msg "####################################################################"
373    } else {
374        ui_msg "######################################################################"
375        ui_msg "#  To use this variant you need activate the existing compiler with: #"
376        ui_msg "#                                                                    #"
377        ui_msg "#  sudo port select --set gcc gnat-gcc                               #"
378        ui_msg "######################################################################"
379    }
380    configure.cc                ${prefix}/bin/gcc
381    configure.cpp               ${prefix}/bin/cpp
382    configure.cxx               ${prefix}/bin/g++
383    configure.objc              ${prefix}/bin/gcc
384    configure.env-append        PATH=${prefix}/bin:$env(PATH)
385    configure.env-append        GNATMAKE=${prefix}/bin/gnatmake
386    configure.env-append        GNATBIND=${prefix}/bin/gnatbind
387}
388
389pre-configure {
390    if {![variant_isset macada] &&  ![variant_isset gnatgpl] &&  ![variant_isset gnuada]  &&  ![variant_isset ada]} {
391        ui_msg "####################################################################"
392        ui_msg "#  Ada is self hosted (http://en.wikipedia.org/wiki/Self-hosting)  #"
393        ui_msg "#                                                                  #"
394        ui_msg "#  You need to install an existing Ada compiler and then choose    #"
395        ui_msg "#  an appropiate variant. For more info use:                       #"
396        ui_msg "#                                                                  #"
397        ui_msg "#  port variants gnat-gcc                                          #"
398        ui_msg "####################################################################"
399    }
400}
401
402post-activate {
403    ui_msg "######################################################"
404    ui_msg "#  Remember to activate the compiler with:           #"
405    ui_msg "#                                                    #"
406    ui_msg "#  sudo port select --set gcc gnat-gcc               #"
407    ui_msg "######################################################"
408}
409
410livecheck.type  regex
411livecheck.url   http://gcc.gnu.org/gcc-4.4/
412livecheck.regex GCC (4\\.4\\.\[0-9\])
413
Note: See TracBrowser for help on using the repository browser.