source: trunk/dports/cross/arm-elf-gdb/Portfile

Last change on this file was 153561, checked in by mf2k@…, 12 months ago

arm-elf-gdb: Fix build error. (#39916)

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
File size: 4.6 KB
Line 
1# $Id: Portfile 153561 2016-10-04 13:29:07Z ryandesign@macports.org $
2
3PortSystem              1.0
4
5name                    arm-elf-gdb
6version                 7.1
7revision                1
8categories              cross devel
9maintainers             nomaintainer
10license                 GPL-3+
11description             GDB for the ARM processors
12long_description        arm-elf-gdb is a version of the GNU Debugger \
13                        for the arm-elf toolchain.
14homepage                http://www.gnu.org/software/gdb/gdb.html
15platforms               darwin
16master_sites            gnu:gdb
17distname                gdb-${version}
18dist_subdir             gdb
19use_bzip2               yes
20checksums               md5 21dce610476c054687b52770d2ddc657 \
21                        sha1 417e2e637a296ea0e1cdddf56233311b8708fa19 \
22                        rmd160 800d224496240a360c996e588490f2d87367c4e3
23
24set crossgdb-target arm-elf
25
26patchfiles              patch-armsupp.c.diff
27
28# Build in a different directory, as advised in the README file.
29pre-configure   {
30        file mkdir "${workpath}/build"
31}
32configure.dir           ${workpath}/build
33configure.cmd           ${workpath}/gdb-${version}/configure
34
35configure.args          --mandir=${prefix}/share/man \
36                        --infodir=${prefix}/share/info \
37                        --target=${crossgdb-target} \
38                        --enable-interwork \
39                        --enable-multilib \
40                        --disable-werror
41
42build.dir               ${workpath}/build
43
44post-patch {
45        namespace eval crossgdb {}
46
47        # Fix the info pages and related stuff.
48        #
49        # path: path to the doc directory (e.g. gas/doc/)
50        # makefile: path to Makefile.in (e.g. gas/doc/Makefile.in)
51        # name: name of the info page (e.g. as)
52        # suffix: suffix of the souce page (texinfo or texi)
53                proc crossgdb::fixinfo { path makefile name suffix } {
54                        global crossgdb-target worksrcpath
55
56                        # Fix the source
57                        reinplace "s|setfilename ${name}.info|setfilename ${crossgdb-target}-${name}.info|g" \
58                                ${worksrcpath}/${path}/${name}.${suffix}
59                        reinplace "s|(${name})|(${crossgdb-target}-${name})|g" \
60                                ${worksrcpath}/${path}/${name}.${suffix}
61                        reinplace "s|@file{${name}}|@file{${crossgdb-target}-${name}}|g" \
62                                ${worksrcpath}/${path}/${name}.${suffix}
63
64                        # Fix the Makefile
65                        reinplace "s| ${name}.info| ${crossgdb-target}-${name}.info|g" \
66                                ${worksrcpath}/${makefile}
67                        reinplace "s|/${name}.info|/${crossgdb-target}-${name}.info|g" \
68                                ${worksrcpath}/${makefile}
69                        reinplace "s|^${name}.info|${crossgdb-target}-${name}.info|g" \
70                                ${worksrcpath}/${makefile}
71                        reinplace "s| ${name}.pod| ${crossgdb-target}-${name}.pod|g" \
72                                ${worksrcpath}/${makefile}
73                        reinplace "s|/${name}.pod|/${crossgdb-target}-${name}.pod|g" \
74                                ${worksrcpath}/${makefile}
75                        reinplace "s|^${name}.pod|${crossgdb-target}-${name}.pod|g" \
76                                ${worksrcpath}/${makefile}
77                        reinplace "s| ${name}.${suffix}| ${crossgdb-target}-${name}.${suffix}|g" \
78                                ${worksrcpath}/${makefile}
79                        reinplace "s|/${name}.${suffix}|/${crossgdb-target}-${name}.${suffix}|g" \
80                                ${worksrcpath}/${makefile}
81                        reinplace "s|^${name}.${suffix}|${crossgdb-target}-${name}.${suffix}|g" \
82                                ${worksrcpath}/${makefile}
83
84                        # Rename the source
85                        file rename ${worksrcpath}/${path}/${name}.${suffix} \
86                                ${worksrcpath}/${path}/${crossgdb-target}-${name}.${suffix}
87
88                        # Fix install-info's dir.
89                        # (note: this may be effectless if there was no info dir to be fixed)
90                        reinplace "s|--info-dir=\$(DESTDIR)\$(infodir)|--dir-file=\$(DESTDIR)\$(infodir)/${crossgdb-target}-gdb-dir|g" \
91                                "${worksrcpath}/${makefile}"
92                }
93        # etc/standards.info
94        crossgdb::fixinfo etc/ etc/Makefile.in standards info
95
96}
97
98post-destroot {
99        # Don't overwrite libiberty installed by gcc.
100        file delete "${destroot}/${prefix}/lib/${build_arch}/libiberty.a"
101}
Note: See TracBrowser for help on using the repository browser.