def write(self):
     try:
         out = tempfile.NamedTemporaryFile(delete = False)
         out.write(self.script)
         out.close()
         wscript = builder.RTEMS_DIR + '/wscript'
         builder.processIfDifferent(out.name, wscript, "wscript")
     finally:
         try:
             os.remove(out.name)
         except:
             pass
Exemple #2
0
 def write(self):
     try:
         out = tempfile.NamedTemporaryFile(delete=False)
         out.write(self.script)
         out.close()
         wscript = builder.RTEMS_DIR + '/wscript'
         builder.processIfDifferent(out.name, wscript, "wscript")
     finally:
         try:
             os.remove(out.name)
         except:
             pass
Exemple #3
0
 def generate(self):
     data = 'include config.inc\n' \
            '\n' \
            'RTEMS_MAKEFILE_PATH = $(PREFIX)/$(TARGET)/$(BSP)\n' \
            'include $(RTEMS_MAKEFILE_PATH)/Makefile.inc\n' \
            'include $(RTEMS_CUSTOM)\n' \
            'include $(PROJECT_ROOT)/make/leaf.cfg\n' \
            '\n' \
            'COMMON_FLAGS += -fno-strict-aliasing\n' \
            'COMMON_FLAGS += -ffreestanding\n' \
            'COMMON_FLAGS += -fno-common\n' \
            'COMMON_FLAGS += -Irtemsbsd/include\n' \
            'COMMON_FLAGS += -Irtemsbsd/$(RTEMS_CPU)/include\n' \
            'COMMON_FLAGS += -Ifreebsd/sys\n' \
            'COMMON_FLAGS += -Ifreebsd/sys/$(RTEMS_CPU)/include\n' \
            'COMMON_FLAGS += -Ifreebsd/sys/contrib/altq\n' \
            'COMMON_FLAGS += -Ifreebsd/sys/contrib/pf\n' \
            'COMMON_FLAGS += -Ifreebsd/include\n' \
            'COMMON_FLAGS += -Ifreebsd/lib/libc/include\n' \
            'COMMON_FLAGS += -Ifreebsd/lib/libc/isc/include\n' \
            'COMMON_FLAGS += -Ifreebsd/lib/libc/resolv\n' \
            'COMMON_FLAGS += -Ifreebsd/lib/libutil\n' \
            'COMMON_FLAGS += -Ifreebsd/lib/libkvm\n' \
            'COMMON_FLAGS += -Ifreebsd/lib/libmemstat\n' \
            'COMMON_FLAGS += -Ifreebsd/lib/libipsec\n' \
            'COMMON_FLAGS += -Irtemsbsd/sys\n' \
            'COMMON_FLAGS += -ImDNSResponder/mDNSCore\n' \
            'COMMON_FLAGS += -ImDNSResponder/mDNSShared\n' \
            'COMMON_FLAGS += -ImDNSResponder/mDNSPosix\n' \
            'COMMON_FLAGS += -Itestsuite/include\n' \
            'COMMON_FLAGS += -DHAVE_RTEMS_PCI_H=1\n' \
            'COMMON_FLAGS += -Wall\n' \
            'COMMON_FLAGS += -Wno-format\n' \
            'COMMON_FLAGS += -MT $@ -MD -MP -MF $(basename $@).d\n' \
            'CFLAGS += $(COMMON_FLAGS)\n' \
            'CFLAGS += -std=gnu11\n' \
            'CXXFLAGS += $(COMMON_FLAGS)\n' \
            'CXXFLAGS += -std=gnu++11\n' \
            'NEED_DUMMY_PIC_IRQ=yes\n' \
            '\n' \
            'TEST_NETWORK_CONFIG = testsuite/include/rtems/bsd/test/network-config.h\n' \
            '\n' \
            'TESTS =\n' \
            'RUN_TESTS =\n' \
            '\n' \
            'NET_TESTS =\n' \
            'RUN_NET_TESTS =\n' \
            '\n' \
            'O_FILES =\n' \
            'D_FILES =\n' \
            '\n' \
            'LIB = libbsd.a\n' \
            'LIB_GEN_FILES =\n' \
            'LIB_C_FILES =\n' \
            'LIB_CXX_FILES =\n' \
            'LIB_CXX_FILES += rtemsbsd/rtems/rtems-bsd-cxx.cc\n'
     for mn in self.getModules():
         m = self[mn]
         if m.conditionalOn != "none":
             data += 'ifneq ($(' + m.conditionalOn + '),yes)\n'
         for f in m.files:
             data += f.getFragment()
         for cpu, files in sorted(m.cpuDependentSourceFiles.items()):
             data += 'ifeq ($(RTEMS_CPU), ' + cpu + ')\n'
             for f in files:
                 data += f.getFragment()
             if cpu in ("arm", "i386", "lm32", "mips", "powerpc", "sparc",
                        "m68k"):
                 data += 'NEED_DUMMY_PIC_IRQ=no\n'
             data += 'endif\n'
             if m.conditionalOn != "none":
                 data += 'endif # ' + m.conditionalOn + '\n'
     data += '\n' \
             'ifeq ($(NEED_DUMMY_PIC_IRQ),yes)\n' \
             'CFLAGS += -I rtems-dummy-pic-irq/include\n' \
             'endif\n' \
             'LIB_O_FILES = $(LIB_C_FILES:%.c=%.o) $(LIB_CXX_FILES:%.cc=%.o)\n' \
             'O_FILES += $(LIB_O_FILES)\n' \
             'D_FILES += $(LIB_C_FILES:%.c=%.d) $(LIB_CXX_FILES:%.cc=%.d)\n' \
             '\n' \
             'all: $(LIB) $(TESTS) $(TEST_NETWORK_CONFIG) $(NET_TESTS)\n' \
             '\n' \
             '$(LIB): $(LIB_GEN_FILES) $(LIB_O_FILES)\n' \
             '\trm -f $@\n' \
             '\t$(AR) rcu $@ $^\n' \
             '\n' \
             'run_tests: $(RUN_TESTS)\n' \
             '\t$(TEST_RUNNER) $^\n' \
             '\tcheck_endof\n' \
             '\n' \
             'run_net_tests: $(RUN_NET_TESTS)\n' \
             '\t$(TEST_RUNNER) -N -T $(NET_TAP_INTERFACE) $^\n' \
             '\tcheck_endof\n' \
             '\n' \
             '$(TEST_NETWORK_CONFIG): $(TEST_NETWORK_CONFIG).in config.inc\n' \
             '\tsed -e \'s/@NET_CFG_SELF_IP@/$(NET_CFG_SELF_IP)/\' \\\n' \
             '\t-e \'s/@NET_CFG_NETMASK@/$(NET_CFG_NETMASK)/\' \\\n' \
             '\t-e \'s/@NET_CFG_PEER_IP@/$(NET_CFG_PEER_IP)/\' \\\n' \
             '\t-e \'s/@NET_CFG_GATEWAY_IP@/$(NET_CFG_GATEWAY_IP)/\' \\\n' \
             '\t< $< > $@\n' \
             '\n' \
             'CPU_SED  = sed\n' \
             'CPU_SED += -e \'/arm/d\'\n' \
             'CPU_SED += -e \'/i386/d\'\n' \
             'CPU_SED += -e \'/powerpc/d\'\n' \
             'CPU_SED += -e \'/mips/d\'\n' \
             'CPU_SED += -e \'/sparc64/d\'\n' \
             '\n' \
             'LIB_DIR = $(INSTALL_BASE)/lib\n' \
             'INCLUDE_DIR = $(INSTALL_BASE)/lib/include\n' \
             '\n' \
             'install: $(LIB)\n' \
             '\tinstall -d $(LIB_DIR)\n' \
             '\tinstall -m 644 $(LIB) $(LIB_DIR)\n' \
             '\tcd rtemsbsd/include ; for i in `find . -type d` ; do \\\n' \
             '\t  install -d $(INCLUDE_DIR)/$$i ; \\\n' \
             '\t  install -m 644 $$i/*.h $(INCLUDE_DIR)/$$i ; done\n' \
             '\tinstall -d $(INCLUDE_DIR)/mghttpd\n' \
             '\tinstall -m 644 rtemsbsd/mghttpd/mongoose.h $(INCLUDE_DIR)/mghttpd\n' \
             '\tcd freebsd/include ; for i in `find . -type d` ; do \\\n' \
             '\t  install -d $(INCLUDE_DIR)/$$i ; \\\n' \
             '\t  install -m 644 $$i/*.h $(INCLUDE_DIR)/$$i ; done\n' \
             '\tcd freebsd/sys/contrib/altq ; \\\n' \
             '\t  install -d $(INCLUDE_DIR)/altq ; \\\n' \
             '\t  install -m 644 altq/*.h $(INCLUDE_DIR)/altq\n' \
             '\tfor i in bsm cam net net80211 netatalk netinet netinet6 netipsec sys vm ; do \\\n' \
             '\t  install -d $(INCLUDE_DIR)/$$i ; \\\n' \
             '\t  install -m 644 freebsd/sys/$$i/*.h $(INCLUDE_DIR)/$$i ; done\n' \
             '\tcd freebsd/sys/dev/mii ; \\\n' \
             '\t  install -d $(INCLUDE_DIR)/dev/mii ; \\\n' \
             '\t  install -m 644 *.h $(INCLUDE_DIR)/dev/mii\n' \
             '\tinstall -m 644 mDNSResponder/mDNSCore/mDNSDebug.h $(INCLUDE_DIR)\n' \
             '\tinstall -m 644 mDNSResponder/mDNSCore/mDNSEmbeddedAPI.h $(INCLUDE_DIR)\n' \
             '\tinstall -m 644 mDNSResponder/mDNSShared/dns_sd.h $(INCLUDE_DIR)\n' \
             '\tinstall -m 644 mDNSResponder/mDNSPosix/mDNSPosix.h $(INCLUDE_DIR)\n' \
             '\n' \
             'clean:\n' \
             '\trm -f $(LIB_GEN_FILES) $(LIB) $(TESTS) $(O_FILES) $(D_FILES)\n' \
             '\trm -f libbsd.html\n' \
             '\n' \
             '-include $(D_FILES)\n' \
             '\n' \
             'doc: libbsd.html\n' \
             '\n' \
             'libbsd.html: libbsd.txt\n' \
             '\tasciidoc -o libbsd.html libbsd.txt\n'
     try:
         out = tempfile.NamedTemporaryFile(delete=False)
         out.write(data)
         out.close()
         makefile = builder.RTEMS_DIR + '/Makefile'
         builder.processIfDifferent(out.name, makefile, "Makefile")
     finally:
         try:
             os.remove(out.name)
         except:
             pass
 def generate(self):
     data = 'include config.inc\n' \
            '\n' \
            'RTEMS_MAKEFILE_PATH = $(PREFIX)/$(TARGET)/$(BSP)\n' \
            'include $(RTEMS_MAKEFILE_PATH)/Makefile.inc\n' \
            'include $(RTEMS_CUSTOM)\n' \
            'include $(PROJECT_ROOT)/make/leaf.cfg\n' \
            '\n' \
            'COMMON_FLAGS += -fno-strict-aliasing\n' \
            'COMMON_FLAGS += -ffreestanding\n' \
            'COMMON_FLAGS += -fno-common\n' \
            'COMMON_FLAGS += -Irtemsbsd/include\n' \
            'COMMON_FLAGS += -Irtemsbsd/$(RTEMS_CPU)/include\n' \
            'COMMON_FLAGS += -Ifreebsd/sys\n' \
            'COMMON_FLAGS += -Ifreebsd/sys/$(RTEMS_CPU)/include\n' \
            'COMMON_FLAGS += -Ifreebsd/sys/contrib/altq\n' \
            'COMMON_FLAGS += -Ifreebsd/sys/contrib/pf\n' \
            'COMMON_FLAGS += -Ifreebsd/include\n' \
            'COMMON_FLAGS += -Ifreebsd/lib/libc/include\n' \
            'COMMON_FLAGS += -Ifreebsd/lib/libc/isc/include\n' \
            'COMMON_FLAGS += -Ifreebsd/lib/libc/resolv\n' \
            'COMMON_FLAGS += -Ifreebsd/lib/libutil\n' \
            'COMMON_FLAGS += -Ifreebsd/lib/libkvm\n' \
            'COMMON_FLAGS += -Ifreebsd/lib/libmemstat\n' \
            'COMMON_FLAGS += -Ifreebsd/lib/libipsec\n' \
            'COMMON_FLAGS += -Irtemsbsd/sys\n' \
            'COMMON_FLAGS += -ImDNSResponder/mDNSCore\n' \
            'COMMON_FLAGS += -ImDNSResponder/mDNSShared\n' \
            'COMMON_FLAGS += -ImDNSResponder/mDNSPosix\n' \
            'COMMON_FLAGS += -Itestsuite/include\n' \
            'COMMON_FLAGS += -DHAVE_RTEMS_PCI_H=1\n' \
            'COMMON_FLAGS += -Wall\n' \
            'COMMON_FLAGS += -Wno-format\n' \
            'COMMON_FLAGS += -MT $@ -MD -MP -MF $(basename $@).d\n' \
            'CFLAGS += $(COMMON_FLAGS)\n' \
            'CFLAGS += -std=gnu11\n' \
            'CXXFLAGS += $(COMMON_FLAGS)\n' \
            'CXXFLAGS += -std=gnu++11\n' \
            'NEED_DUMMY_PIC_IRQ=yes\n' \
            '\n' \
            'TEST_NETWORK_CONFIG = testsuite/include/rtems/bsd/test/network-config.h\n' \
            '\n' \
            'TESTS =\n' \
            'RUN_TESTS =\n' \
            '\n' \
            'NET_TESTS =\n' \
            'RUN_NET_TESTS =\n' \
            '\n' \
            'O_FILES =\n' \
            'D_FILES =\n' \
            '\n' \
            'LIB = libbsd.a\n' \
            'LIB_GEN_FILES =\n' \
            'LIB_C_FILES =\n' \
            'LIB_CXX_FILES =\n' \
            'LIB_CXX_FILES += rtemsbsd/rtems/rtems-bsd-cxx.cc\n'
     for mn in self.getModules():
         m = self[mn]
         if m.conditionalOn != "none":
             data += 'ifneq ($(' + m.conditionalOn + '),yes)\n'
         for f in m.files:
             data += f.getFragment()
         for cpu, files in sorted(m.cpuDependentSourceFiles.items()):
             data += 'ifeq ($(RTEMS_CPU), ' + cpu + ')\n'
             for f in files:
                 data += f.getFragment()
             if cpu in ("arm", "i386", "lm32", "mips", "powerpc", "sparc", "m68k"):
                 data += 'NEED_DUMMY_PIC_IRQ=no\n'
             data += 'endif\n'
             if m.conditionalOn != "none":
                 data += 'endif # ' + m.conditionalOn +'\n'
     data += '\n' \
             'ifeq ($(NEED_DUMMY_PIC_IRQ),yes)\n' \
             'CFLAGS += -I rtems-dummy-pic-irq/include\n' \
             'endif\n' \
             'LIB_O_FILES = $(LIB_C_FILES:%.c=%.o) $(LIB_CXX_FILES:%.cc=%.o)\n' \
             'O_FILES += $(LIB_O_FILES)\n' \
             'D_FILES += $(LIB_C_FILES:%.c=%.d) $(LIB_CXX_FILES:%.cc=%.d)\n' \
             '\n' \
             'all: $(LIB) $(TESTS) $(TEST_NETWORK_CONFIG) $(NET_TESTS)\n' \
             '\n' \
             '$(LIB): $(LIB_GEN_FILES) $(LIB_O_FILES)\n' \
             '\trm -f $@\n' \
             '\t$(AR) rcu $@ $^\n' \
             '\n' \
             'run_tests: $(RUN_TESTS)\n' \
             '\t$(TEST_RUNNER) $^\n' \
             '\tcheck_endof\n' \
             '\n' \
             'run_net_tests: $(RUN_NET_TESTS)\n' \
             '\t$(TEST_RUNNER) -N -T $(NET_TAP_INTERFACE) $^\n' \
             '\tcheck_endof\n' \
             '\n' \
             '$(TEST_NETWORK_CONFIG): $(TEST_NETWORK_CONFIG).in config.inc\n' \
             '\tsed -e \'s/@NET_CFG_SELF_IP@/$(NET_CFG_SELF_IP)/\' \\\n' \
             '\t-e \'s/@NET_CFG_NETMASK@/$(NET_CFG_NETMASK)/\' \\\n' \
             '\t-e \'s/@NET_CFG_PEER_IP@/$(NET_CFG_PEER_IP)/\' \\\n' \
             '\t-e \'s/@NET_CFG_GATEWAY_IP@/$(NET_CFG_GATEWAY_IP)/\' \\\n' \
             '\t< $< > $@\n' \
             '\n' \
             'CPU_SED  = sed\n' \
             'CPU_SED += -e \'/arm/d\'\n' \
             'CPU_SED += -e \'/i386/d\'\n' \
             'CPU_SED += -e \'/powerpc/d\'\n' \
             'CPU_SED += -e \'/mips/d\'\n' \
             'CPU_SED += -e \'/sparc64/d\'\n' \
             '\n' \
             'LIB_DIR = $(INSTALL_BASE)/lib\n' \
             'INCLUDE_DIR = $(INSTALL_BASE)/lib/include\n' \
             '\n' \
             'install: $(LIB)\n' \
             '\tinstall -d $(LIB_DIR)\n' \
             '\tinstall -m 644 $(LIB) $(LIB_DIR)\n' \
             '\tcd rtemsbsd/include ; for i in `find . -type d` ; do \\\n' \
             '\t  install -d $(INCLUDE_DIR)/$$i ; \\\n' \
             '\t  install -m 644 $$i/*.h $(INCLUDE_DIR)/$$i ; done\n' \
             '\tinstall -d $(INCLUDE_DIR)/mghttpd\n' \
             '\tinstall -m 644 rtemsbsd/mghttpd/mongoose.h $(INCLUDE_DIR)/mghttpd\n' \
             '\tcd freebsd/include ; for i in `find . -type d` ; do \\\n' \
             '\t  install -d $(INCLUDE_DIR)/$$i ; \\\n' \
             '\t  install -m 644 $$i/*.h $(INCLUDE_DIR)/$$i ; done\n' \
             '\tcd freebsd/sys/contrib/altq ; \\\n' \
             '\t  install -d $(INCLUDE_DIR)/altq ; \\\n' \
             '\t  install -m 644 altq/*.h $(INCLUDE_DIR)/altq\n' \
             '\tfor i in bsm cam net net80211 netatalk netinet netinet6 netipsec sys vm ; do \\\n' \
             '\t  install -d $(INCLUDE_DIR)/$$i ; \\\n' \
             '\t  install -m 644 freebsd/sys/$$i/*.h $(INCLUDE_DIR)/$$i ; done\n' \
             '\tcd freebsd/sys/dev/mii ; \\\n' \
             '\t  install -d $(INCLUDE_DIR)/dev/mii ; \\\n' \
             '\t  install -m 644 *.h $(INCLUDE_DIR)/dev/mii\n' \
             '\tinstall -m 644 mDNSResponder/mDNSCore/mDNSDebug.h $(INCLUDE_DIR)\n' \
             '\tinstall -m 644 mDNSResponder/mDNSCore/mDNSEmbeddedAPI.h $(INCLUDE_DIR)\n' \
             '\tinstall -m 644 mDNSResponder/mDNSShared/dns_sd.h $(INCLUDE_DIR)\n' \
             '\tinstall -m 644 mDNSResponder/mDNSPosix/mDNSPosix.h $(INCLUDE_DIR)\n' \
             '\n' \
             'clean:\n' \
             '\trm -f $(LIB_GEN_FILES) $(LIB) $(TESTS) $(O_FILES) $(D_FILES)\n' \
             '\trm -f libbsd.html\n' \
             '\n' \
             '-include $(D_FILES)\n' \
             '\n' \
             'doc: libbsd.html\n' \
             '\n' \
             'libbsd.html: libbsd.txt\n' \
             '\tasciidoc -o libbsd.html libbsd.txt\n'
     try:
         out = tempfile.NamedTemporaryFile(delete = False)
         out.write(data)
         out.close()
         makefile = builder.RTEMS_DIR + '/Makefile'
         builder.processIfDifferent(out.name, makefile, "Makefile")
     finally:
         try:
             os.remove(out.name)
         except:
             pass