diff options
Diffstat (limited to 'dev-embedded/sdcc/files/sdcc-2.9.0-build.patch')
-rw-r--r-- | dev-embedded/sdcc/files/sdcc-2.9.0-build.patch | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/dev-embedded/sdcc/files/sdcc-2.9.0-build.patch b/dev-embedded/sdcc/files/sdcc-2.9.0-build.patch new file mode 100644 index 000000000000..b944b00d83a5 --- /dev/null +++ b/dev-embedded/sdcc/files/sdcc-2.9.0-build.patch @@ -0,0 +1,51 @@ +fix parallel build issues + +--- sdcc/device/lib/Makefile.in ++++ sdcc/device/lib/Makefile.in +@@ -347,37 +347,21 @@ + cp -f $(PORT)/bin/*.* $(SDCCPORTDIR); \ + fi + +-$(LIB_FILES): $(OBJECTS_FLOAT) $(OBJECTS_INT) $(OBJECTS_LONG) $(OBJECTS_SDCC) + ifeq ($(LIB_TYPE), SDCCLIB) +- ../../bin/sdcclib -a $(SDCCPORTDIR)/libfloat.lib $(OBJECTS_FLOAT) +- ../../bin/sdcclib -a $(SDCCPORTDIR)/libint.lib $(OBJECTS_INT) +- ../../bin/sdcclib -a $(SDCCPORTDIR)/liblong.lib $(OBJECTS_LONG) +- ../../bin/sdcclib -a $(SDCCPORTDIR)/libsdcc.lib $(OBJECTS_SDCC) ++mklib = ../../bin/sdcclib -a $@ $^ + else ifeq ($(LIB_TYPE), AR) +- ar -Scq $(SDCCPORTDIR)/libfloat.lib $(OBJECTS_FLOAT) +- ar -Scq $(SDCCPORTDIR)/libint.lib $(OBJECTS_INT) +- ar -Scq $(SDCCPORTDIR)/liblong.lib $(OBJECTS_LONG) +- ar -Scq $(SDCCPORTDIR)/libsdcc.lib $(OBJECTS_SDCC) ++mklib = ar -Scq $@ $^ + else ifeq ($(LIB_TYPE), RANLIB) +- ar -Scq $(SDCCPORTDIR)/libfloat.lib $(OBJECTS_FLOAT); $(top_builddir)/bin/asranlib $(SDCCPORTDIR)/libfloat.lib +- ar -Scq $(SDCCPORTDIR)/libint.lib $(OBJECTS_INT); $(top_builddir)/bin/asranlib $(SDCCPORTDIR)/libint.lib +- ar -Scq $(SDCCPORTDIR)/liblong.lib $(OBJECTS_LONG); $(top_builddir)/bin/asranlib $(SDCCPORTDIR)/liblong.lib +- ar -Scq $(SDCCPORTDIR)/libsdcc.lib $(OBJECTS_SDCC); $(top_builddir)/bin/asranlib $(SDCCPORTDIR)/libsdcc.lib ++mklib = ar -Scq $@ $^ && $(top_builddir)/bin/asranlib $@ + else +- rm -f $(SDCCPORTDIR)/libfloat.lib +- for i in $(notdir $(basename $(OBJECTS_FLOAT))); do echo $$i >> $(SDCCPORTDIR)/libfloat.lib; done +- cp $(OBJECTS_FLOAT) $(SDCCPORTDIR) +- rm -f $(SDCCPORTDIR)/libint.lib +- for i in $(notdir $(basename $(OBJECTS_INT))); do echo $$i >> $(SDCCPORTDIR)/libint.lib; done +- cp $(OBJECTS_INT) $(SDCCPORTDIR) +- rm -f $(SDCCPORTDIR)/liblong.lib +- for i in $(notdir $(basename $(OBJECTS_LONG))); do echo $$i >> $(SDCCPORTDIR)/liblong.lib; done +- cp $(OBJECTS_LONG) $(SDCCPORTDIR) +- rm -f $(SDCCPORTDIR)/libsdcc.lib +- for i in $(notdir $(basename $(OBJECTS_SDCC))); do echo $$i >> $(SDCCPORTDIR)/libsdcc.lib; done +- cp $(OBJECTS_SDCC) $(SDCCPORTDIR) ++mklib = for i in $(notdir $(basename $^)); do echo $$i; done >> $@; cp $^ $(SDCCPORTDIR) + endif + ++$(SDCCPORTDIR)/libfloat.lib: $(OBJECTS_FLOAT); $(mklib) ++$(SDCCPORTDIR)/libint.lib: $(OBJECTS_INT); $(mklib) ++$(SDCCPORTDIR)/liblong.lib: $(OBJECTS_LONG); $(mklib) ++$(SDCCPORTDIR)/libsdcc.lib: $(OBJECTS_SDCC); $(mklib) ++ + clean_intermediate: + rm -f $(SDCCPORTDIR)/*.lst $(SDCCPORTDIR)/*.sym + |