diff --git a/Makefile b/Makefile index bbd51ac8..3d0cef8c 100644 --- a/Makefile +++ b/Makefile @@ -17,6 +17,8 @@ CFLAGS += -std=gnu99 CFLAGS += -MT $@ -MD -MP -MF $(basename $@).d NEED_DUMMY_PIC_IRQ=yes +# do nothing default so sed on rtems-bsd-config.h always works. +SED_PATTERN += -e 's/^//' GENERATED_FILES = rtemsbsd/freebsd/machine/rtems-bsd-config.h C_FILES = @@ -92,7 +94,6 @@ C_FILES += freebsd/net/if_media.c C_FILES += freebsd/net/if_mib.c C_FILES += freebsd/net/if_spppfr.c C_FILES += freebsd/net/if_spppsubr.c -C_FILES += freebsd/net/if_stf.c C_FILES += freebsd/net/if_tap.c C_FILES += freebsd/net/if_tun.c C_FILES += freebsd/net/if_vlan.c @@ -196,6 +197,7 @@ C_FILES += freebsd/netinet/libalias/alias.c C_FILES += freebsd/netinet/libalias/alias_skinny.c C_FILES += freebsd/netinet/libalias/alias_sctp.c ifneq ($(DISABLE_IPV6),yes) +C_FILES += freebsd/net/if_stf.c C_FILES += freebsd/netinet6/dest6.c C_FILES += freebsd/netinet6/frag6.c C_FILES += freebsd/netinet6/icmp6.c @@ -646,9 +648,9 @@ C_D_FILES = $(C_FILES:%.c=%.d) LIB = libbsd.a -all: $(GENERATED_FILES) $(LIB) lib_user +all: $(LIB) lib_user -$(LIB): $(C_O_FILES) +$(LIB): $(GENERATED_FILES) $(C_O_FILES) $(AR) rcu $@ $^ lib_user: $(LIB) install_bsd @@ -1000,6 +1002,8 @@ install_bsd: $(LIB) install -c -m 644 $(LIB) $(INSTALL_BASE) cd rtemsbsd; for i in `find freebsd -name '*.h'` ; do \ install -c -m 644 -D "$$i" "$(INSTALL_BASE)/include/$$i" ; done + cd contrib/altq ; for i in `find freebsd -name '*.h'` ; do \ + install -c -m 644 -D "$$i" "$(INSTALL_BASE)/include/$$i" ; done for i in `find freebsd -name '*.h' | $(CPU_SED)` ; do \ install -c -m 644 -D "$$i" "$(INSTALL_BASE)/include/$$i" ; done -cd freebsd/$(RTEMS_CPU)/include && for i in `find . -name '*.h'` ; do \ diff --git a/freebsd-to-rtems.py b/freebsd-to-rtems.py index 8a7d88ca..af09ad91 100755 --- a/freebsd-to-rtems.py +++ b/freebsd-to-rtems.py @@ -382,6 +382,8 @@ class ModuleManager: 'CFLAGS += -MT $@ -MD -MP -MF $(basename $@).d\n' \ 'NEED_DUMMY_PIC_IRQ=yes\n' \ '\n' \ + '# do nothing default so sed on rtems-bsd-config.h always works.\n' \ + 'SED_PATTERN += -e \'s/^//\'\n' \ 'GENERATED_FILES = rtemsbsd/freebsd/machine/rtems-bsd-config.h\n' \ '\n' data += 'C_FILES =\n' @@ -427,9 +429,9 @@ class ModuleManager: '\n' \ 'LIB = libbsd.a\n' \ '\n' \ - 'all: $(GENERATED_FILES) $(LIB) lib_user\n' \ + 'all: $(LIB) lib_user\n' \ '\n' \ - '$(LIB): $(C_O_FILES)\n' \ + '$(LIB): $(GENERATED_FILES) $(C_O_FILES)\n' \ '\t$(AR) rcu $@ $^\n' \ '\n' \ 'lib_user: $(LIB) install_bsd\n' \ @@ -491,6 +493,8 @@ class ModuleManager: '\tinstall -c -m 644 $(LIB) $(INSTALL_BASE)\n' \ '\tcd rtemsbsd; for i in `find freebsd -name \'*.h\'` ; do \\\n' \ '\t install -c -m 644 -D "$$i" "$(INSTALL_BASE)/include/$$i" ; done\n' \ + '\tcd contrib/altq; for i in `find freebsd -name \'*.h\'` ; do \\\n' \ + '\t install -c -m 644 -D "$$i" "$(INSTALL_BASE)/include/$$i" ; done\n' \ '\tfor i in `find freebsd -name \'*.h\' | $(CPU_SED)` ; do \\\n' \ '\t install -c -m 644 -D "$$i" "$(INSTALL_BASE)/include/$$i" ; done\n' \ '\t-cd freebsd/$(RTEMS_CPU)/include && for i in `find . -name \'*.h\'` ; do \\\n' \ @@ -1174,7 +1178,8 @@ devUsbBase.addHeaderFiles( 'sys/file.h', 'sys/filio.h', 'sys/ioccom.h', - 'sys/_iovec.h', + # FreeBSD version is in RTEMS since used by readv/writev + # 'sys/_iovec.h', 'sys/kernel.h', 'sys/kobj.h', 'sys/kthread.h', @@ -1229,7 +1234,8 @@ devUsbBase.addHeaderFiles( 'sys/types.h', 'sys/ucontext.h', 'sys/ucred.h', - 'sys/uio.h', + # FreeBSD version is in RTEMS since used by readv/writev + # 'sys/uio.h', 'sys/aio.h', 'sys/unistd.h', 'sys/vmmeter.h', @@ -1648,7 +1654,6 @@ net.addSourceFiles( 'net/if_mib.c', 'net/if_spppfr.c', 'net/if_spppsubr.c', - 'net/if_stf.c', 'net/if_tap.c', 'net/if_tun.c', 'net/if_vlan.c', @@ -1869,6 +1874,7 @@ netinet6.addHeaderFiles( ) netinet6.addSourceFiles( [ + 'net/if_stf.c', 'netinet6/dest6.c', 'netinet6/frag6.c', 'netinet6/icmp6.c',