Skip to content

Commit 1f6d5c3

Browse files
committed
Use submodules instead of cloned repositories.
1 parent 7d4e0c7 commit 1f6d5c3

File tree

7 files changed

+49
-107
lines changed

7 files changed

+49
-107
lines changed

common.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -391,7 +391,8 @@ def fetch(name, url):
391391
@recipe('unpack', 1)
392392
def unpack(name, work_dir='{sources}', top_dir=None, dst_dir=None):
393393
try:
394-
src = glob(path.join('{archives}', name) + '*')[0]
394+
src = (glob(path.join('{archives}', name) + '*') +
395+
glob(path.join('{submodules}', name) + '*'))[0]
395396
except IndexError:
396397
panic('Missing files for "%s".', name)
397398

patches/fd2sfd/Makefile.in.diff

Lines changed: 0 additions & 54 deletions
This file was deleted.

submodules/binutils-2.9.1

Submodule binutils-2.9.1 updated from 2cae48a to c2cfcf3

submodules/fd2sfd

Submodule fd2sfd updated from 7303d05 to ce23972

submodules/gcc-2.95.3

Submodule gcc-2.95.3 updated from a85cd38 to d6e0655

submodules/libdebug

Submodule libdebug updated from 0587516 to bf9ca8c

toolchain-m68k

Lines changed: 43 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -14,29 +14,21 @@ import string
1414
import sys
1515

1616
URLS = \
17-
['git://github.com/FrodeSolheim/python-lhafile',
18-
'ftp://ftp.gnu.org/gnu/m4/m4-1.4.17.tar.gz',
17+
['ftp://ftp.gnu.org/gnu/m4/m4-1.4.17.tar.gz',
1918
'ftp://ftp.gnu.org/gnu/gawk/gawk-3.1.8.tar.gz',
2019
'ftp://ftp.gnu.org/gnu/autoconf/autoconf-2.13.tar.gz',
2120
'ftp://ftp.gnu.org/gnu/bison/bison-1.35.tar.gz',
2221
'ftp://ftp.gnu.org/gnu/texinfo/texinfo-4.12.tar.gz',
23-
'git://git.savannah.gnu.org/automake',
24-
('git://github.com/cahirwpz/amigaos-binutils-2.9.1', 'binutils-2.9.1'),
25-
('git://github.com/cahirwpz/amigaos-gcc-2.95.3', 'gcc-2.95.3'),
26-
('http://downloads.sourceforge.net/project/flex/flex/2.5.4.a/flex-2.5.4a.tar.gz',
22+
'ftp://ftp.gnu.org/gnu/automake/automake-1.15.tar.gz',
23+
('http://downloads.sf.net/project/flex/flex/2.5.4.a/flex-2.5.4a.tar.gz',
2724
'flex-2.5.4.tar.gz'),
28-
'git://github.com/adtools/clib2',
29-
'git://github.com/cahirwpz/libnix',
30-
'git://github.com/cahirwpz/fd2sfd',
31-
'git://github.com/adtools/sfdc',
32-
'git://github.com/cahirwpz/libdebug',
3325
('http://www.haage-partner.de/download/AmigaOS/NDK39.lha', 'NDK_3.9.lha'),
3426
('ftp://ftp.exotica.org.uk/mirrors/geekgadgets/amiga/m68k/snapshots/' +
3527
'990529/bin/libamiga-bin.tgz', 'libamiga.tar.gz'),
3628
('ftp://ftp.exotica.org.uk/mirrors/geekgadgets/amiga/m68k/snapshots/' +
3729
'990529/src/libm-5.4-src.tgz', 'libm-5.4.tar.gz'),
38-
('http://sourceforge.net/projects/amiga/files/ixemul.library/48.2/' +
39-
'ixemul-src.lha/download', 'ixemul-48.2.lha'),
30+
('http://downloads.sf.net/project/amiga/ixemul.library/48.2/ixemul-src.lha',
31+
'ixemul-48.2.lha'),
4032
'http://sun.hasenbraten.de/vasm/release/vasm.tar.gz',
4133
'http://sun.hasenbraten.de/vlink/release/vlink.tar.gz',
4234
'http://www.ibaug.de/vbcc/vbcc.tar.gz',
@@ -105,20 +97,20 @@ def install_tools():
10597
copy('{build}/ira/ira', '{target}/bin')
10698

10799

108-
@recipe('libamiga-install')
100+
@recipe('{libamiga}-install')
109101
def install_libamiga():
110102
info('installing libamiga')
111103

112-
copytree('{sources}/libamiga/lib', '{target}/m68k-amigaos/libnix/lib')
104+
copytree('{sources}/{libamiga}/lib', '{target}/m68k-amigaos/libnix/lib')
113105

114106

115-
@recipe('clib2-install')
107+
@recipe('{clib2}-install')
116108
def install_clib2():
117109
info('installing clib2')
118110

119111
with cwd('{target}/m68k-amigaos/clib2'):
120-
copytree('{build}/clib2/lib', 'lib')
121-
copytree('{build}/clib2/include', 'include')
112+
copytree('{build}/{clib2}/lib', 'lib')
113+
copytree('{build}/{clib2}/include', 'include')
122114

123115

124116
@recipe('vbcc-build')
@@ -204,8 +196,8 @@ def install_vbcc_toolchain():
204196

205197

206198
def update_autotools(dst):
207-
copy('{archives}/automake/lib/config.guess', path.join(dst, 'config.guess'))
208-
copy('{archives}/automake/lib/config.sub', path.join(dst, 'config.sub'))
199+
copy('{sources}/{automake}/lib/config.guess', path.join(dst, 'config.guess'))
200+
copy('{sources}/{automake}/lib/config.sub', path.join(dst, 'config.sub'))
209201

210202

211203
def touch_genfiles(dst):
@@ -244,6 +236,9 @@ def build():
244236
name = path.basename(url)
245237
fetch(name, url)
246238

239+
execute('git', 'submodule', 'init');
240+
execute('git', 'submodule', 'update');
241+
247242
add_site_dir('{host}')
248243

249244
"""
@@ -283,6 +278,8 @@ def build():
283278
require_header(['ncurses.h', 'ncurses/ncurses.h'],
284279
lang='c', errmsg='libncurses-dev package missing')
285280

281+
unpack('{automake}')
282+
286283
py_ver = 'python%d.%d' % (sys.version_info.major, sys.version_info.minor)
287284
with env(CC=CC, CXX=CXX):
288285
require_header([path.join(py_ver, 'Python.h')],
@@ -341,10 +338,9 @@ def build():
341338

342339
install_vbcc_toolchain()
343340

344-
unpack('fd2sfd')
345-
patch('fd2sfd')
346-
update_autotools('{sources}/fd2sfd')
347-
configure('fd2sfd', '--prefix={target}', copy_source=True)
341+
update_autotools('{submodules}/fd2sfd')
342+
unpack('fd2sfd', work_dir='{build}')
343+
configure('fd2sfd', '--prefix={target}', from_dir='{build}/fd2sfd')
348344
make('fd2sfd')
349345
make('fd2sfd', 'install')
350346

@@ -378,28 +374,22 @@ def build():
378374
config.guess script knows nothing about x86-64 or darwin.
379375
"""
380376

381-
unpack('{binutils}')
382-
update_autotools('{sources}/{binutils}')
383-
touch_genfiles('{sources}/{binutils}')
384377
with env(CC=environ['CC'] + ' -std=gnu11',
385378
CXX=environ['CXX'] + ' -std=gnu++11',
386379
CFLAGS='-g -O2 -Wall',
387380
CXXFLAGS='-g -O2 -Wall'):
388381
configure('{binutils}',
389382
'--prefix={target}',
390383
'--host=i686-linux-gnu',
391-
'--target=m68k-amigaos')
384+
'--target=m68k-amigaos',
385+
from_dir='{submodules}/{binutils}')
386+
touch_genfiles('{submodules}/{binutils}')
392387
make('{binutils}')
393388
make('{binutils}', 'install')
394389

395390
unpack('{ixemul}', top_dir='ixemul')
396391
patch('{ixemul}')
397392

398-
unpack('{gcc}')
399-
update_autotools('{sources}/{gcc}')
400-
update_autotools('{sources}/{gcc}/gcc')
401-
update_autotools('{sources}/{gcc}/texinfo')
402-
touch_genfiles('{sources}/{gcc}')
403393
with env(CC=environ['CC'] + ' -std=gnu11',
404394
CXX=environ['CXX'] + ' -std=gnu++11',
405395
CFLAGS='-g -O2 -Wall',
@@ -411,33 +401,34 @@ def build():
411401
'--target=m68k-amigaos',
412402
'--enable-languages=c,c++',
413403
'--enable-version-specific-runtime-libs',
414-
'--with-headers={sources}/{ixemul}/include')
415-
touch('{sources}/{gcc}/gcc/c-parse.in')
404+
'--with-headers={sources}/{ixemul}/include',
405+
from_dir='{submodules}/{gcc}')
406+
touch_genfiles('{submodules}/{gcc}')
416407
make('{gcc}', 'all-gcc',
417408
MAKEINFO='makeinfo', CFLAGS_FOR_TARGET='-noixemul')
418409
make('{gcc}', 'install-gcc',
419410
MAKEINFO='makeinfo', CFLAGS_FOR_TARGET='-noixemul')
420411

421412
headers_install()
422413

423-
unpack('libamiga', top_dir='.')
414+
unpack('{libamiga}', top_dir='.')
424415
install_libamiga()
425416

426-
unpack('libnix')
427-
configure('libnix',
417+
configure('{libnix}',
428418
'--prefix={target}/m68k-amigaos/libnix',
429419
'--host=i686-linux-gnu',
430-
'--target=m68k-amigaos')
431-
make('libnix',
420+
'--target=m68k-amigaos',
421+
from_dir='{submodules}/{libnix}')
422+
make('{libnix}',
432423
CC='m68k-amigaos-gcc',
433424
CPP='m68k-amigaos-gcc -E',
434425
AR='m68k-amigaos-ar',
435426
AS='m68k-amigaos-as',
436427
RANLIB='m68k-amigaos-ranlib',
437428
LD='m68k-amigaos-ld')
438-
make('libnix', 'install')
429+
make('{libnix}', 'install')
439430

440-
copy('{sources}/libnix/sources/headers/stabs.h',
431+
copy('{submodules}/{libnix}/sources/headers/stabs.h',
441432
'{target}/m68k-amigaos/libnix/include')
442433

443434
unpack('{libm}', top_dir='contrib/libm')
@@ -452,19 +443,18 @@ def build():
452443
make('{libm}')
453444
make('{libm}', 'install')
454445

455-
unpack('{libdebug}')
456-
update_autotools('{sources}/{libdebug}')
457446
with env(CC='m68k-amigaos-gcc -noixemul',
458447
AR='m68k-amigaos-ar',
459448
RANLIB='m68k-amigaos-ranlib'):
460449
configure('{libdebug}',
461450
'--prefix={target}/m68k-amigaos/libnix',
462-
'--host=m68k-amigaos')
451+
'--host=m68k-amigaos',
452+
from_dir='{submodules}/{libdebug}')
463453
make('{libdebug}')
464454
make('{libdebug}', 'install')
465455

466-
unpack('clib2', work_dir='{build}', top_dir='library')
467-
make('clib2', makefile='GNUmakefile.68k')
456+
unpack('{clib2}', work_dir='{build}', top_dir='library')
457+
make('{clib2}', makefile='GNUmakefile.68k')
468458
install_clib2()
469459

470460
make('{gcc}', MAKEINFO='makeinfo', CFLAGS_FOR_TARGET='-noixemul')
@@ -693,11 +683,15 @@ if __name__ == "__main__":
693683
gawk='gawk-3.1.8',
694684
flex='flex-2.5.4',
695685
bison='bison-1.35',
686+
automake='automake-1.15',
696687
autoconf='autoconf-2.13',
697688
texinfo='texinfo-4.12',
698689
NDK='NDK_3.9',
699690
ixemul='ixemul-48.2',
691+
clib2='clib2',
700692
libm='libm-5.4',
693+
libnix='libnix',
694+
libamiga='libamiga',
701695
libdebug='libdebug',
702696
binutils='binutils-{binutils_ver}',
703697
gcc='gcc-{gcc_ver}',
@@ -709,7 +703,8 @@ if __name__ == "__main__":
709703
host=path.join('{top}', '.build-m68k', 'host'),
710704
tmpdir=path.join('{top}', '.build-m68k', 'tmp'),
711705
target=path.join('{top}', 'm68k-amigaos'),
712-
archives=path.join('{top}', '.build-m68k', 'archives'))
706+
archives=path.join('{top}', '.build-m68k', 'archives'),
707+
submodules=path.join('{top}', 'submodules'))
713708

714709
if args.prefix is not None:
715710
setvar(target=args.prefix)

0 commit comments

Comments
 (0)