@@ -23,7 +23,7 @@ BUILDDIR=$(CROSSDIR)/build
2323
2424# BINUTILS for IA16
2525
26- BINUTILS_VER =cc5f1a9d7437051c3aae6ec16fca27c3b2d31f6c
26+ BINUTILS_VER =69e12ea2c125ff830580abbe4699d35ba002148b
2727BINUTILS_DIST =binutils-ia16-$(BINUTILS_VER )
2828
2929$(DISTDIR ) /$(BINUTILS_DIST ) .tar.gz :
@@ -45,6 +45,13 @@ $(BUILDDIR)/.binutils.src: $(DISTDIR)/$(BINUTILS_DIST).tar.gz
4545 cd $(BUILDDIR ) && tar -xzf $(DISTDIR ) /$(BINUTILS_DIST ) .tar.gz
4646 rm -rf $(BUILDDIR ) /binutils-src
4747 cd $(BUILDDIR ) && mv $(BINUTILS_DIST ) binutils-src
48+ case ` uname -s` in Darwin) \
49+ cd $(BUILDDIR ) /binutils-src/zlib && \
50+ sed -i.bak ' s/defined(MACOS) || defined(TARGET_OS_MAC)/defined(MACOS)/' zutil.h && \
51+ rm -f zutil.h.bak ;; esac
52+ cd $(BUILDDIR ) /binutils-src/bfd && \
53+ sed -i.bak ' s/development=.*/development=false/' development.sh && \
54+ rm -f development.sh.bak
4855 touch $(BUILDDIR ) /.binutils.src
4956
5057$(BUILDDIR ) /.binutils.build : $(BUILDDIR ) /.binutils.src
@@ -99,7 +106,7 @@ $(DISTDIR)/$(MPC_DIST).tar.gz:
99106
100107# GCC for IA16
101108
102- GCC_VER =43408af9d4127b884ab39dcff6a829e86008e587
109+ GCC_VER =ca893320926dc93552390b892a202e9373d040c0
103110GCC_DIST =gcc-ia16-$(GCC_VER )
104111
105112$(DISTDIR ) /$(GCC_DIST ) .tar.gz :
@@ -130,12 +137,30 @@ $(BUILDDIR)/.gcc.src: $(DISTDIR)/$(GCC_DIST).tar.gz \
130137 cd $(BUILDDIR ) /gcc-src && ln -s $(MPFR_DIST ) mpfr
131138 cd $(BUILDDIR ) /gcc-src && tar -xzf $(DISTDIR ) /$(MPC_DIST ) .tar.gz
132139 cd $(BUILDDIR ) /gcc-src && ln -s $(MPC_DIST ) mpc
140+ case ` uname -s` in Darwin) \
141+ cd $(BUILDDIR ) /gcc-src/zlib && \
142+ sed -i.bak ' s/defined(MACOS) || defined(TARGET_OS_MAC)/defined(MACOS)/' zutil.h && \
143+ rm -f zutil.h.bak ;; esac
144+ cd $(BUILDDIR ) /gcc-src/gcc && \
145+ sed -i.bak ' s/heapb->min->compare (heapa->min)/heapb->m_min->compare (heapa->m_min)/' fibonacci_heap.h && \
146+ rm -f fibonacci_heap.h.bak
147+ case ` uname -s` -` uname -m` in Darwin-arm64) \
148+ cd $(BUILDDIR ) /gcc-src/gcc/config && \
149+ sed -i.bak ' s/aligned (4096)/aligned (16384)/' host-darwin.c && \
150+ rm -f host-darwin.c.bak && \
151+ cd $(BUILDDIR ) /gcc-src/gcc && \
152+ awk ' /i\[34567\]86-\*-darwin\* \| x86_64-\*-darwin\*\)/{print " aarch64-*-darwin* | arm-*-darwin*)"; print " out_host_hook_obj=\"$${out_host_hook_obj} host-aarch64-darwin.o\""; print " host_xmake_file=\"$${host_xmake_file} aarch64/x-darwin\""; print " ;;"} {print}' config.host > config.host.tmp && \
153+ mv config.host.tmp config.host && \
154+ printf ' host-aarch64-darwin.o : $$(srcdir)/config/aarch64/host-aarch64-darwin.c\n\t$$(COMPILE) $$<\n\t$$(POSTCOMPILE)\n' \
155+ > $(BUILDDIR ) /gcc-src/gcc/config/aarch64/x-darwin && \
156+ printf ' /* aarch64-darwin host-specific hook definitions. */\n#include "config.h"\n#include "system.h"\n#include "coretypes.h"\n#include "hosthooks.h"\n#include "hosthooks-def.h"\n#include "config/host-darwin.h"\nconst struct host_hooks host_hooks = HOST_HOOKS_INITIALIZER;\n' \
157+ > $(BUILDDIR ) /gcc-src/gcc/config/aarch64/host-aarch64-darwin.c ;; esac
133158 touch $(BUILDDIR ) /.gcc.src
134159
135160$(BUILDDIR ) /.gcc.build : $(BUILDDIR ) /.gcc.src $(BUILDDIR ) /.binutils.build
136161 cd $(BUILDDIR ) && rm -rf gcc-build
137162 mkdir $(BUILDDIR ) /gcc-build
138- cd $(BUILDDIR ) /gcc-build && ../gcc-src/configure --target=ia16-elf --prefix=" $( CROSSDIR) " --without-headers --enable-languages=c --disable-libssp --without-isl
163+ cd $(BUILDDIR ) /gcc-build && LC_ALL=C ../gcc-src/configure --target=ia16-elf --prefix=" $( CROSSDIR) " --without-headers --enable-languages=c --disable-libssp --without-isl --disable-nls
139164 # If there are any obsolete multilib directories (which are no longer
140165 # used) in the installation directory, remove them, so that they do
141166 # not clutter up the installation directory. This is a bit of a hack.
@@ -145,7 +170,7 @@ $(BUILDDIR)/.gcc.build: $(BUILDDIR)/.gcc.src $(BUILDDIR)/.binutils.build
145170 $(CROSSDIR ) /lib/gcc/ia16-elf/6.3.0/regparmcall/size \
146171 $(CROSSDIR ) /lib/gcc/ia16-elf/6.3.0/regparmcall/any_186/size
147172 # Now build.
148- $(MAKE ) -C $(BUILDDIR ) /gcc-build $(PARALLEL )
173+ LC_ALL=C $(MAKE ) -C $(BUILDDIR ) /gcc-build $(PARALLEL )
149174 touch $(BUILDDIR ) /.gcc.build
150175
151176$(CROSSDIR ) /.gcc.install : $(BUILDDIR ) /.gcc.build
0 commit comments